Sonner
gymnopedies/sonnerFreeComponent
Sonner — gymnopédies-themed shadcn primitive.
Install it
npx shadcn@latest add https://gymnopedies.shoota.work/r/sonner.jsonSource
1"use client"23import { useTheme } from "next-themes"4import { Toaster as Sonner, type ToasterProps } from "sonner"5import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, Loader2Icon } from "lucide-react"67const Toaster = ({ ...props }: ToasterProps) => {8 const { theme = "system" } = useTheme()910 return (11 <Sonner12 theme={theme as ToasterProps["theme"]}13 className="toaster group"14 icons={{15 success: (16 <CircleCheckIcon className="size-4" />17 ),18 info: (19 <InfoIcon className="size-4" />20 ),21 warning: (22 <TriangleAlertIcon className="size-4" />23 ),24 error: (25 <OctagonXIcon className="size-4" />26 ),27 loading: (28 <Loader2Icon className="size-4 animate-spin" />29 ),30 }}31 style={32 {33 "--normal-bg": "var(--popover)",34 "--normal-text": "var(--popover-foreground)",35 "--normal-border": "var(--border)",36 "--border-radius": "var(--radius)",37 } as React.CSSProperties38 }39 toastOptions={{40 classNames: {41 toast: "cn-toast",42 },43 }}44 {...props}45 />46 )47}4849export { Toaster }
What it pulls in
npm packages
Other registry items
Files it writes
More from gymnopedies
All 49 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | gymnopedies | Components | Free | 2 deps | |
| Alertalert | gymnopedies | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | gymnopedies | Components | Free | 1 dep | |
| Articlearticle | gymnopedies | Components | Free | no deps | |
| Aspect Ratioaspect-ratio | gymnopedies | Components | Free | no deps | |
| Avataravatar | gymnopedies | Components | Free | 1 dep | |
| Badgebadge | gymnopedies | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | gymnopedies | Components | Free | 2 deps |
