Sonner
Toast notification system. Drop Toaster once at the app root and call toast() from anywhere to show a transient message. For a persistent inbox the user can revisit, use Notifications.
Default
Trigger a toast from a Button click.
Variants
Success, error, info, warning.
Types
Each type maps to a method on toast — the plain default plus toast.success, toast.error, toast.warning, and toast.info.
Sound & haptics
Both are off by default. Opt in on the Toaster at the app root with <Toaster sound vibration />, and every toast type gets a short sound plus a very subtle haptic tap. Loading toasts stay silent; a toast.promise plays once when it settles. Sound starts after the first user interaction (browser autoplay policy). These docs run the Toaster on its defaults, so the previews below are silent.
With description
Pass a description in the options object for a secondary line under the title.
Position
A toast can override the Toaster's global anchor per call with the position option. Without it, toasts use the Toaster's position prop (bottom-right by default).