import React from "react"; import { PlusToast as PlusToastElement } from "../dist/components/toast/index.js"; export type { PlusToastElement }; export interface PlusToastProps extends Pick< React.AllHTMLAttributes, | "children" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "title" | "translate" | "onClick" | "onFocus" | "onBlur" > { /** Determines if the dismiss button is shown. */ dismiss?: boolean; /** Shows the default status icon. */ statusIcon?: boolean; /** The size of the toast. */ size?: PlusToastElement["size"]; /** The visual style of the toast. */ kind?: PlusToastElement["kind"]; /** The status variant of the toast, controlling color and icon. */ status?: PlusToastElement["status"]; /** undefined */ header?: PlusToastElement["header"]; /** Optional custom icon name (e.g., 'fa-solid fa-star') or SVG string. Overrides the default status icon. Ignored if the 'icon' slot is used. */ icon?: PlusToastElement["icon"]; /** undefined */ message?: PlusToastElement["message"]; /** A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method `Document.getElementsByClassName()`. */ className?: string; /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */ exportparts?: string; /** Used for labels to link them with their inputs (using input id). */ htmlFor?: string; /** Used to help React identify which items have changed, are added, or are removed within a list. */ key?: number | string; /** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */ part?: string; /** A mutable ref object whose `.current` property is initialized to the passed argument (`initialValue`). The returned object will persist for the full lifetime of the component. */ ref?: any; /** Allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the `Tab` key, hence the name) and determine their relative ordering for sequential focus navigation. */ tabIndex?: number; /** Emitted when the toast is closed by the user via the close button. */ onPlusClose?: (event: CustomEvent) => void; } /** * Displays short, temporary messages. * --- * * * ### **Events:** * - **plus-close** - Emitted when the toast is closed by the user via the close button. * * ### **Slots:** * - _default_ - The default slot for the toast message content. If both message and header properties are set, this slot is ignored. * - **header** - Optional header content for the toast. Overrides the header property. * - **icon** - Optional icon content to replace the default status icon. * * ### **CSS Properties:** * - **--toast-border-radius** - Controls the border radius of the toast. _(default: undefined)_ * - **--toast-padding** - Controls the padding of the toast. _(default: undefined)_ * - **--icon-size** - Controls the size of the status icon. _(default: undefined)_ * - **--close-button-size** - Controls the size of the close button. _(default: undefined)_ * * ### **CSS Parts:** * - **base** - The component's base wrapper. * - **container** - The main container for icon, content, and close button. * - **icon** - The container for the status icon. * - **content** - The container for header and message text. * - **header** - The header text element. * - **message** - The message text element. * - **close-button** - The close button container. */ export const PlusToast: React.ForwardRefExoticComponent;