Sonner
poyraz/sonnerFreeComponent
Poyraz Soft Glass sonner with semantic states and composable variants.
Install it
npx shadcn@latest add https://ui.poyrazavsever.com/r/sonner.jsonSource
1"use client";23import { Toaster as Sonner, toast } from "sonner";45import { cn } from "@/lib/utils";6import { toastMotion } from "@/components/ui/recipes";78/* ------------------------------------------------------------------ */9/* Toaster – Provider component (place once in layout.tsx) */10/* ------------------------------------------------------------------ */1112export type ToasterProps = React.ComponentProps<typeof Sonner> & {13 surface?: "solid" | "soft" | "glass";14 radius?: "sm" | "md" | "lg" | "xl";15 motion?: "spring" | "slide" | "fade";16};1718const Toaster = ({19 className,20 motion = "spring",21 radius = "xl",22 surface = "glass",23 ...props24}: ToasterProps) => {25 return (26 <Sonner27 className={cn("toaster group", className)}28 toastOptions={{29 unstyled: true,30 classNames: {31 toast: cn(32 "poyraz-toast relative flex min-h-16 w-full items-start gap-3 overflow-hidden p-4",33 toastMotion,34 "border border-border text-foreground shadow-lg",35 surface === "solid" && "bg-surface",36 surface === "soft" && "bg-surface-subtle/95",37 surface === "glass" && "border-glass-border-outer bg-glass backdrop-blur-xl",38 radius === "sm" && "rounded-sm",39 radius === "md" && "rounded-md",40 radius === "lg" && "rounded-lg",41 radius === "xl" && "rounded-xl",42 motion === "spring" && "ease-[var(--poyraz-motion-ease-spring)]",43 motion === "slide" && "ease-[var(--poyraz-motion-ease-out)]",44 motion === "fade" &&45 "data-[mounted=false]:translate-y-0 data-[removed=true]:translate-y-0",46 "text-sm font-medium",47 ),48 content: "min-w-0 flex-1 pt-0.5",49 icon: "relative mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground [&>svg]:size-4",50 loader: "text-primary",51 loading: "!border-primary/20",52 title: "text-sm font-semibold leading-5",53 description: "mt-0.5 text-sm leading-5 text-muted-foreground",54 actionButton: cn(55 "inline-flex items-center justify-center",56 "px-3 py-1.5 text-xs font-semibold",57 "rounded-md border border-primary/20 shadow-none",58 "bg-primary text-primary-foreground",59 "hover:bg-primary-hover transition-colors",60 "cursor-pointer",61 ),62 cancelButton: cn(63// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from poyraz
All 71 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | poyraz | Components | Free | 2 deps | |
| Alertalert | poyraz | Components | Free | 2 deps | |
| Announcement Barannouncement-bar | poyraz | Components | Free | 2 deps | |
| Autocompleteautocomplete | poyraz | Components | Free | 1 dep | |
| Avataravatar | poyraz | Components | Free | 2 deps | |
| Badgebadge | poyraz | Components | Free | 1 dep | |
| Bg Patternbg-pattern | poyraz | Components | Free | no deps | |
| Breadcrumbbreadcrumb | poyraz | Components | Free | 1 dep |
