1.0.0 • Published 4 years ago
@miraidesigns/snackbar v1.0.0
Snackbars
Snackbars show a quick message at the bottom of the screen.
HTML
Make sure to put this as high in your <body>
element as possible.
<div class="mdf-snackbar" role="status" aria-live="polite">
<span class="mdf-snackbar__text">This is a preview text message</span>
<div class="mdf-snackbar__actions">
<button class="mdf-button" data-snackbar-action="action">Action</button>
<button class="mdf-snackbar__close" data-snackbar-action="close" aria-label="Dismiss snackbar">
<svg class="mdf-icon" viewBox="0 0 24 24" aria-hidden="true">
<use href="icons.svg#clear"></use>
</svg>
</button>
</div>
</div>
Sass
// Include default styles without configuration
@forward '@miraidesigns/snackbar/styles';
// Configure appearance
@use '@miraidesigns/snackbar' with (
$variable: value
);
@include snackbar.styles();
TypeScript
import { MDFSnackbar } from '@miraidesigns/snackbar';
const snackbar = new MDFSnackbar(document.querySelector('.mdf-snackbar'));
snackbar.showSnackbar();
Implementation
Attributes
Please see the WAI-ARIA page for attributes and best practices regarding status messages.
Name | Element | Description |
---|---|---|
data-snackbar-action="action" | <button> | Will execute the onAction function when this button is clicked |
data-snackbar-action="close" | <button> | Will execute the onClose function when this button is clicked |
Classes
Name | Type | Description |
---|---|---|
mdf-snackbar | Parent | Contains the snackbar elements |
mdf-snackbar--active | Modifier | Fades-in and moves the snackbar on-screen |
mdf-snackbar__text | Child | Holds the snackbar text message. Child to .mdf-snackbar |
mdf-snackbar__actions | Parent / Child | Holds the action and close button. Child to .mdf-snackbar |
mdf-snackbar__action | Child | Executes the supplied action. Child to .mdf-snackbar__actions |
mdf-snackbar__close | Child | Dismisses the snackbar. Child to .mdf-snackbar__actions |
Events
Name | Data | Description |
---|---|---|
MDFSnackbar:opened | null | Fires when the snackbar opens |
MDFSnackbar:closed | null | Fires when the snackbar closes |
Properties
Name | Type | Description |
---|---|---|
.message | string | Get or set the snackbar text message |
.snackbar | HTMLElement | Returns the snackbar element |
.isActive() | (): boolean | Returns wether or not the sidebar is active |
.snowSnackbar(message?) | (string): void | Show the snackbar, optionally with the given message |
Options
Name | Type | Default | Description |
---|---|---|---|
delay | number | 5000 | The amount of time that has to pass before the snackbar disappears (in ms) |
onOpen | () => void | null | Function will run when the snackbar is opened |
onAction | () => void | null | Function will run when the action button is activated |
onClose | () => void | null | Function will run when the snackbar is closed by the user |
hideOnESC | boolean | true | Hide the snackbar when the ESC key is pressed |
1.0.0
4 years ago