{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sonner",
  "title": "Sonner",
  "description": "Displays toast notifications.",
  "dependencies": [
    "sonner",
    "next-themes"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/sonner.tsx",
      "content": "\"use client\";\n\nimport {\n  CircleCheckIcon,\n  InfoIcon,\n  Loader2Icon,\n  OctagonXIcon,\n  TriangleAlertIcon,\n} from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\nimport type * as React from \"react\";\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n  const { theme = \"dark\" } = useTheme();\n\n  return (\n    <Sonner\n      aria-atomic=\"true\"\n      aria-live=\"polite\"\n      className=\"toaster group touch-manipulation\"\n      icons={{\n        success: <CircleCheckIcon aria-hidden=\"true\" className=\"size-4\" />,\n        info: <InfoIcon aria-hidden=\"true\" className=\"size-4\" />,\n        warning: <TriangleAlertIcon aria-hidden=\"true\" className=\"size-4\" />,\n        error: <OctagonXIcon aria-hidden=\"true\" className=\"size-4\" />,\n        loading: (\n          <Loader2Icon aria-hidden=\"true\" className=\"size-4 animate-spin\" />\n        ),\n      }}\n      style={\n        {\n          \"--normal-bg\": \"var(--popover)\",\n          \"--normal-text\": \"var(--popover-foreground)\",\n          \"--normal-border\": \"var(--border)\",\n          \"--border-radius\": \"var(--radius)\",\n        } as React.CSSProperties\n      }\n      theme={theme as ToasterProps[\"theme\"]}\n      {...props}\n    />\n  );\n};\n\nexport { Toaster };\n",
      "type": "registry:ui"
    }
  ],
  "docs": "https://sonner.emilkowal.ski/",
  "categories": [
    "component"
  ],
  "type": "registry:ui"
}