Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nimble-banner Component #305

Closed
17 tasks done
m-akinc opened this issue Jan 28, 2022 · 6 comments
Closed
17 tasks done

nimble-banner Component #305

m-akinc opened this issue Jan 28, 2022 · 6 comments
Assignees
Labels
enhancement New feature or request new component Request for a new component

Comments

@m-akinc
Copy link
Contributor

m-akinc commented Jan 28, 2022

πŸ‘©πŸ½β€πŸ€β€πŸ‘©πŸΌπŸ‘¨πŸ»β€πŸ€β€πŸ‘¨πŸΎ 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

  1. UX-Deprecated
    NIbokeefe

Related PRs

@m-akinc m-akinc added the enhancement New feature or request label Jan 28, 2022
@fredvisser fredvisser added the new component Request for a new component label Aug 10, 2022
@jattasNI
Copy link
Contributor

jattasNI commented Sep 8, 2022

Related: awaiting some UX input from #724

@mollykreis
Copy link
Contributor

mollykreis commented Sep 15, 2022

Whether or not the banner is dismissible should be configurable.

Potential use-case for a non-dismissible banner from azdo feature 1919090: User sees 401 page when unauthorized to view an application:

The landing page shows a persistent error affordance stating the user does not have a role assigned and to contact their SystemLink administrator

@nate-ni nate-ni mentioned this issue Jan 10, 2023
15 tasks
@mollykreis
Copy link
Contributor

@nate-ni, your current recommendation is not supporting arbitrary content in the banner, but my initial reaction is that limiting to purely string content is too prohibited. In fact, most of the screenshots you show as examples have additional content. I think a common use case will be putting a link in the banner to get extra help or more information. Therefore, I think we should let clients put more content, such as anchors, within their banner.

@jattasNI
Copy link
Contributor

Do we need to support links or button(s) in the banner or is just text?

I found one example in SLS where a banner contained a link (source).
image

It would be worth checking with the PM or UX designer for SLE licensing to see if the SLE Licensing feature has a similar requirement.

@nate-ni
Copy link
Contributor

nate-ni commented Jan 12, 2023

It's great to see an example. Translating that to the nimble banner would probably be like:

If we provide a version with link or button for the action.
Text - "The SystemLinkServer - Advanced license...yada...will be archived."
Link or Button - "Learn more"
Close - True (This would take the place of the OK button)

@nate-ni
Copy link
Contributor

nate-ni commented Jan 24, 2023

I think we should let clients put more content, such as anchors, within their banner.

@mollykreis, thanks for the input. We have added the ability to provide a link or command into the banner. From the visual design, urls will get presented as links and commands will get presented as a button. We'll only support one for now, I believe, but can definitely expand on that in the future if needed.

@m-akinc m-akinc mentioned this issue Jan 24, 2023
1 task
m-akinc added a commit that referenced this issue Feb 7, 2023
## 🀨 Rationale

Spec for banner component (see #305)

## πŸ‘©β€πŸ’» Implementation

N/A

## πŸ§ͺ Testing

N/A

## βœ… Checklist

- [x] I have updated the project documentation to reflect my changes or
determined no changes are needed.

---------

Co-authored-by: mollykreis <20542556+mollykreis@users.noreply.github.com>
@m-akinc m-akinc mentioned this issue Feb 7, 2023
1 task
rajsite pushed a commit that referenced this issue Feb 15, 2023
# Pull Request

## 🀨 Rationale

See #305 

## πŸ‘©β€πŸ’» Implementation

- Created new banner component (not based on FAST)
- Added unit tests and visual Storybook tests
- Updated README

## πŸ§ͺ Testing

Unit tests and Storybook testing

## βœ… Checklist

- [x] I have updated the project documentation to reflect my changes or
determined no changes are needed.

---------

Co-authored-by: mollykreis <20542556+mollykreis@users.noreply.github.com>
@nate-ni nate-ni closed this as completed Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new component Request for a new component
Projects
Development

No branches or pull requests

5 participants