Toast Region
Stacks toasts bottom-right in one column; each entry keeps the declarative Toast API. Empty list renders nothing.
Previewlive — edit controls below
Invoice saved
INV-2041 is now in the books.
Card expiring
Save + warn
Push toasts into state; onOpenChange removes them.
import { ToastRegion } from "@loom/muslin-react";
<ToastRegion
toasts={[
{ id: "saved", title: "Invoice saved", description: "INV-2041 is now in the books.", variant: "success", open: true, onOpenChange: dismiss("saved") },
{ id: "card", title: "Card expiring", variant: "warning", open: true, onOpenChange: dismiss("card") },
]}
/>