banners: Add new redesigned banner component.

This commit adds the redesigned banner component to the codebase along
with a storybook-style page in /devtools/banners to view and test the
redesigned banner component.

Any banner using the new redesigned styles, requires two classes,
- First, the base `banner` class which defines the structure and
    behavior of the banner.
- Second, a modifier class like `banner-info` which defines the styles
    for the particular banner type.

The navbar alert banners also have a custom class `navbar-alert-banner`
which is used to define the specific style and structure for these
banner types.

This commit also makes the `banner`, `action-button` and `icon-button`
components into handlebar templates to maintain consistency in their
usage in the codebase.
This commit is contained in:
Sayam Samal
2024-12-31 13:18:20 +05:30
committed by Tim Abbott
parent c406060bb2
commit 6dabfa02cb
16 changed files with 1155 additions and 36 deletions

View File

@@ -0,0 +1,6 @@
<button class="{{#if custom_classes}}{{custom_classes}} {{/if}}action-button action-button-{{type}}-{{intent}}" tabindex="0">
{{#if icon}}
<i class="zulip-icon zulip-icon-{{icon}}"></i>
{{/if}}
<span class="action-button-label">{{label}}</span>
</button>

View File

@@ -0,0 +1,13 @@
<div {{#if process}}data-process="{{process}}"{{/if}} class="{{#if custom_classes}}{{custom_classes}} {{/if}}banner banner-{{intent}}">
<span class="banner-label">
{{label}}
</span>
<span class="banner-action-buttons">
{{#each buttons}}
{{> action-button .}}
{{/each}}
</span>
{{#if close_button}}
{{> icon-button custom_classes="banner-close-button" icon="close" intent=intent}}
{{/if}}
</div>

View File

@@ -0,0 +1,3 @@
<button class="{{#if custom_classes}}{{custom_classes}} {{/if}}icon-button icon-button-{{intent}}" tabindex="0">
<i class="zulip-icon zulip-icon-{{icon}}"></i>
</button>