Spring Toast Stack

A toast stack for app feedback. Each result appears as a liquid-glass pill at the bottom-right, with a colored icon, a title, and a short line, and new toasts spring in. Swipe a card sideways to dismiss it. Success, error, and loading are included, and a loading toast can turn into success in the same card. The background is white.
Open the action from a command palette: Spring Command Palette
| Prop | Type | Default | Description |
|---|---|---|---|
| position | "bottom-right" | "bottom-left" | "top-right" | "top-left" | "bottom-right" | Corner the stack anchors to. New toasts enter from that edge. |
| duration | number | 4800 | Milliseconds before a success or error toast dismisses itself. Loading toasts wait until they change tone. |
| maxVisible | number | 3 | How many toasts stay on screen. Older ones wait until a visible toast leaves. |
| onDismiss | (id: string) => void | — | Called with the toast id after a swipe, the close button, the timer, or dismiss(). |
| closeLabel | string | Dismiss notification | Accessible name of the close button. |
| regionLabel | string | Notifications | Accessible name of the stack region. |
| toast() | (options) => string | — | Pushes a toast and returns its id. Pass a title string, or { title, description?, tone?, duration?, id?, actionLabel?, onAction? }. tone is success, error, or loading. |
| useToast() | { toast, update, dismiss } | — | The same push, plus update(id, patch) and dismiss(id). update with the same id morphs a loading toast into success without a new card. |
A toast stack for app feedback. Each result appears as a liquid-glass pill at the bottom-right, with a colored icon, a title, and a short line, and new toasts spring in. Swipe a card sideways to dismiss it. Success, error, and loading are included, and a loading toast can turn into success in the same card. The background is white.
Free: 5 component copies/month & 1 video prompt/month · Unlimited on the 30-Day Pass and Lifetime
Version 1.0.0