UNPKG

@sandlada/mdc

Version:

@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.

99 lines 3.48 kB
/** * @license * Copyright 2026 Kai-Orion & Sandlada * SPDX-License-Identifier: MIT */ import { LitElement, type PropertyValues, type TemplateResult } from 'lit'; import { type ISnackbar, type SnackbarAnimationMode, type SnackbarDuration, type SnackbarVariant } from './snackbar.interface'; declare global { interface HTMLElementTagNameMap { 'mdc-snackbar': MDCSnackbar; } } declare const MDCSnackbar_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object); /** * @element mdc-snackbar * * A brief message displayed at the bottom of the screen. * Can include an optional action button and close icon. * * @slot - The snackbar message text. * @slot icon - Optional leading icon. * @slot action - Optional action button. * @slot close-icon - Optional close icon button. * * @fires snackbar-opening - Dispatched when the snackbar starts opening. * @fires snackbar-opened - Dispatched when the snackbar is fully open. * @fires snackbar-closing - Dispatched when the snackbar starts closing. * @fires snackbar-closed - Dispatched when the snackbar is fully closed. * @fires snackbar-action - Dispatched when the action button is clicked. * * @cssproperty --mdc-snackbar-enabled-container-color * @cssproperty --mdc-snackbar-container-shape-start-start * @cssproperty --mdc-snackbar-container-shape-start-end * @cssproperty --mdc-snackbar-container-shape-end-start * @cssproperty --mdc-snackbar-container-shape-end-end * @cssproperty --mdc-snackbar-enabled-label-color * @cssproperty --mdc-snackbar-enabled-action-text-color * @cssproperty --mdc-snackbar-enabled-close-icon-color * * @version * Material Design 3 * * @link * https://m3.material.io/components/snackbar/overview */ export declare class MDCSnackbar extends MDCSnackbar_base implements ISnackbar { static styles: import("lit").CSSResult[]; open: boolean; duration: SnackbarDuration; animationMode: SnackbarAnimationMode; multiline: boolean; variant: SnackbarVariant; hasAction: boolean; hasCloseIcon: boolean; hasIcon: boolean; protected readonly containerElement: HTMLDivElement | null; protected readonly actionButton: HTMLButtonElement | null; protected readonly closeButton: HTMLButtonElement | null; private autoHideTimer; private animationAbortController; constructor(); connectedCallback(): void; disconnectedCallback(): void; protected willUpdate(changedProperties: PropertyValues<this>): void; protected getRenderClasses(): { [x: string]: boolean; container: boolean; multiline: boolean; 'has-action': boolean; 'has-close-icon': boolean; 'has-icon': boolean; closing: boolean; }; protected render(): TemplateResult; protected renderIcon(): TemplateResult; protected renderLabel(): TemplateResult; protected renderAction(): TemplateResult; protected renderCloseIcon(): TemplateResult; /** * Shows the snackbar. */ show(): Promise<void>; /** * Hides the snackbar. */ hide(): Promise<void>; private handleOpen; private handleClose; private startAutoHideTimer; private clearAutoHideTimer; private handleClick; private handleActionClick; private handleCloseIconClick; private handleActionSlotChange; private handleCloseIconSlotChange; private handleIconSlotChange; } export {}; //# sourceMappingURL=snackbar.d.ts.map