Data and utilities · stable · MIT

Sonner

Polite or urgent toast workflows with actions, promises, and swipe dismissal.

Install editable source

Add Sonner

Base UI / canonicalnpx shadcn@latest add https://gummyui.dev/r/gummy-sonner.json
Radix UI counterpartnpx shadcn@latest add https://gummyui.dev/r/gummy-radix-sonner.json

Canonical dependency: @base-ui/react. Radix counterpart: @radix-ui/react-toast. Registry dependencies are resolved automatically.

Behavior contract

Semantics before surface

Semantics

Base UI notification region and non-modal toast dialogs.

Keyboard

Focus interaction pauses timeout; action and close remain native buttons.

System support

Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.

Source-derived reference

Anatomy and public API

Exported anatomy

These public React parts are read directly from the canonical source during the documentation build.

  • GummySonnerProvider
  • GummyToaster
  • useGummyToast hook

Prop contracts

GummySonnerProviderProps

Composes Toast.Provider.Props

GummyToasterProps

Composes Omit<Toast.Viewport.Props, "children"> & { position?: "top-left" | "top-right" | "bottom-left" | "bottom-right"; closeLabel?: string; }

Troubleshooting

Check behavior before surface.

Live product source

Inspect the canonical states

The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.

Open the live Component Lab

Interactive inspection

Try Sonner in context

Resize the canvas, switch its theme, or reverse its reading direction without changing the rest of the page.

Width
Theme
Direction

Sonner preview: fluid width, light theme, left to right.

Radix UI counterpart

Try Sonner with Radix UI

This is the real separately installable Radix source using the same Gummy material and behavior contract.

    Editable source

    Read before you install

    Canonical Base UI or native source

    Loading editable source…

    Radix UI counterpart

    Loading editable source…