1.0.0 • Published 11 months ago

@element-public/react-snackbar v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

Snackbar

Description

Snackbars provide brief messages about app processes at the bottom of the screen. Snackbar works differently than Modal, the user must press tab to navigate to the Snackbar to focus on it.

See live demos on storybook

Storybook Snackbar Demos

Install bundle from npm-e

npm i @element-public/react-components @element-public/themes

Optional: install the component individually

npm i @element-public/react-snackbar @element-public/themes

Open ~/.npmrc in an editor and add the following line to enable the @element-public scope:

@element-public:registry=https://npm.platforms.engineering

Troubleshooting

See below if you have never installed a package from Bayer's npm-enterprise or run into the following error:

npm ERR! code E401
npm ERR! Unable to authenticate, your authentication token seems to be invalid.
npm ERR! To correct this please trying logging in again with:
npm ERR!     npm login

Setup an access token

See the devtools npm-e guide to learn how to create an access token if this is the first time you are using a npm-e package at Bayer or you do not have a line that starts with the following in your ~/.npmrc file:

//npm.platforms.engineering/:_authToken=

Notes

Leading

By default, Snackbars are centered horizontally within the viewport.

On larger screens, they can optionally be displayed on the leading edge of the screen (the left side in LTR, or the right side in RTL) by setting the leading prop to true to the root element:

Stacked

Action buttons with long text should be positioned below the label instead of alongside it. This can be accomplished by setting the stacked prop to true to the root element:

Dismiss Button

Snackbars are intended to dismiss on their own after a few seconds, but a dedicated dismiss button may be optionally included as well for accessibility purposes.

NOTE: Snackbars can disable the auto-timer dismiss in later Material versions.

Dismiss Key

Pressing the ESC key while one of the Snackbar's child elements has focus (e.g., the action button) will dismiss the Snackbar.

To disable this behavior, set closeOnEscape to false.

Snackbar Props

NameTypeDefaultRequiredDescription
actionLabelstringnullfalseOptional action button label. If set, an action button will be shown.
classNamestringundefinedfalseThe css class name to be passed through to the component markup.
closeOnEscapebooleantruefalseSets whether the Snackbar closes when it is focused and the user presses the ESC key.
dismissLabelstringnullfalseOptional dismiss button label. If set, an button button will be shown.
labelstringnullfalseThe snackbar text. If label and children are both set, label will take priority.
leadingbooleanfalsefalsePositions the Snackbar on the leading edge of the screen (left in LTR, right in RTL) instead of centered.
openbooleanfalsefalseIndicates that the Snackbar is open and visible.
stackedbooleanfalsefalsePositions the action button/icon below the label instead of alongside it.
timeoutnumber5000falseThe time the snackbar will remain visible. The value must be between 4000 and 10000 or set to -1 to disable the timeout.

Snackbar Render Props

NameTypeDefaultRequiredDescription
childrenReact.ReactNodenullfalseMost commonly a string, but will accept any valid components or markup. If label and children are both set, label will take priority.

Snackbar Events

NameDefaultRequiredParamsDescription
onClicknullfalseFired when the Snackbar action button is clicked.
onClosenullfalseFired when the Snackbar finishes its closing animation.
onClosingnullfalseFired when the Snackbar begins it's closing animation.
onOpennullfalseFired when the Snackbar finishes its opening animation.
onOpeningnullfalseFired when the Snackbar begins it's opening animation.