Skip to content

nimble-banner ComponentΒ #305

@m-akinc

Description

@m-akinc

πŸ‘©πŸ½β€πŸ€β€πŸ‘©πŸΌπŸ‘¨πŸ»β€πŸ€β€πŸ‘¨πŸΎ Feature Team

Feature Lead: @m-akinc
Feature Tech Lead: @jattasNI
Feature Manager: @fredvisser
Product Manager: @nate-ni
IxD: @leslieab
ViD: @NIbokeefe

😯 Problem to Solve

We need a banner to provide information to the user.

For ease of use, the banner should be simply configured without requiring knowledge of the Nimble Design token system or the need to hardcode design information into the instance of the component (colors, sizing, etc.).

This feature is for more persistent/static notifications. There is another component (currently called toast) that would be used for a temporary, overlay style notifications.

πŸ’ Proposed solution

In scope

  • The banner will support common design system features (theme awareness, multi-platform support, etc.)
  • The user should be able to easily configure a severity level/variant for the banner - Error, Warning, Info, Neutral/None (Default)
  • The user should be able to easily configure whether or not the banner is dismissible.
  • More than one banner should be able to be displayed at a time.

Out of scope

Supporting arbitrary content in the banner.

Open questions

Question Initial Recommendation Answer Resolved
Do we need to support links or button(s) in the banner or is just text? Unless there are existing needs, No Yes Yes
Do we need to support raw HTML? No No Yes
Do we need to provide a "container" for multiple banners? No No Yes

Banners references from other Design Systems

https://spectrum.adobe.com/page/alert-banner/
https://carbondesignsystem.com/components/notification/usage/
https://atlassian.design/components/banner/examples

Some examples of banner screenshots

Banner-Example-1

image

image

image

SL-Example

Image

image

Visual Design

Accessibility Considerations

Consider ARIA live regions for this component
https://web.dev/learn/accessibility/javascript/#page-level-2
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions

## πŸ“‹ Tasks
- [x] Open questions resolved
- [x] #724
- [ ] #994 
- [x] nimble-banner  custom element
- [x] nimble-banner  unit tests
- [x] nimble-banner  Storybook tests
- [x] nimble-banner  Storybook docs
- [x] nimble-banner  Angular wrapper
- [x] Add to Angular example app
- [x] nimble-banner  Blazor wrapper
- [x] Add to Blazor example app
- [x] Update Component Status table in README
## Related PRs
- [ ] #994
- [ ] #1036 
- [ ] https://github.com/ni/nimble/pull/1063
- [ ] https://github.com/ni/nimble/pull/1062
- [ ] #1065

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestnew componentRequest for a new component

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions