Introduction
Toastflow is a toast notification system with a typed core (toastflow-core), a Vue 3 renderer (vue-toastflow), and a Nuxt module wrapper (nuxt-toastflow).
⚡ Key Features
Seamless Setup
Install the plugin, render one <ToastContainer />, and start calling toast.* from anywhere.
Customizable
Tune layout, behavior, timers, queueing, and rendering with typed options and per-toast overrides.
Deterministic Runtime
Predictable rules for duplicates, timer reset, queue processing, and clear-all transitions.
CSS-First Theming
Control the look with CSS variables and animation class names without rewriting runtime logic.
📦 Package Overview
| Package | What it gives you |
|---|---|
toastflow-core | createToastStore, all core types, loading helper, state subscriptions, event subscriptions |
vue-toastflow | createToastflow, toast helper, <ToastContainer />, <Toast />, <ToastProgress />, icon components, default CSS |
nuxt-toastflow | Nuxt module wrapper for vue-toastflow, auto-registered ToastContainer, auto-imported toast and optional useToast |
🔍 Runtime Model
- A toast is created with
show(or typed helpers liketoast.success). - It enters state with
phase: "enter". - A timer is scheduled for finite durations.
- Dismiss sets
phase: "leaving"(or"clear-all") and removes the toast after leave delay. - Queue processing fills empty visible slots when
queue: true.
🧰 Additional Components
📦ToastContainer: stack renderer and slot entry-point.🃏Toast: card UI with progress, actions, and accessibility logic.📈ToastProgress: animated progress strip.🧭Icons: default type icon set.
Read Next
- Setup and first toast: Getting Started
- Live interactive snippets: Live Examples
- Compare with other Vue toast options: Comparisons
- Full runtime options: Configuration