@element-public/react-snackbar
v1.0.0
Published
Snackbar component for Element React
Downloads
2
Keywords
Readme
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
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
| Name | Type | Default | Required | Description |
| ------------- | ------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| actionLabel | string | null | false | Optional action button label. If set, an action button will be shown. |
| className | string | undefined | false | The css class name to be passed through to the component markup. |
| closeOnEscape | boolean | true | false | Sets whether the Snackbar closes when it is focused and the user presses the ESC key. |
| dismissLabel | string | null | false | Optional dismiss button label. If set, an button button will be shown. |
| label | string | null | false | The snackbar text. If label
and children
are both set, label
will take priority. |
| leading | boolean | false | false | Positions the Snackbar on the leading edge of the screen (left in LTR, right in RTL) instead of centered. |
| open | boolean | false | false | Indicates that the Snackbar is open and visible. |
| stacked | boolean | false | false | Positions the action button/icon below the label instead of alongside it. |
| timeout | number | 5000 | false | The 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
| Name | Type | Default | Required | Description |
| -------- | --------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| children | React.ReactNode | null | false | Most commonly a string, but will accept any valid components or markup. If label
and children
are both set, label
will take priority. |
Snackbar Events
| Name | Default | Required | Params | Description | | --------- | ------- | -------- | ------ | ------------------------------------------------------- | | onClick | null | false | | Fired when the Snackbar action button is clicked. | | onClose | null | false | | Fired when the Snackbar finishes its closing animation. | | onClosing | null | false | | Fired when the Snackbar begins it's closing animation. | | onOpen | null | false | | Fired when the Snackbar finishes its opening animation. | | onOpening | null | false | | Fired when the Snackbar begins it's opening animation. |