{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toast",
  "title": "Toast",
  "description": "Sonner alerts that blink into place with a border, tint and icon for each tone.",
  "dependencies": [
    "sonner",
    "lucide-react"
  ],
  "registryDependencies": [
    "@afterglow/spinner"
  ],
  "files": [
    {
      "path": "registry/terminal/ui/toast.tsx",
      "content": "\"use client\";\n\nimport {\n  CircleCheckIcon,\n  InfoIcon,\n  OctagonXIcon,\n  TriangleAlertIcon,\n} from \"lucide-react\";\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\";\n\nimport { Spinner } from \"@/registry/terminal/ui/spinner\";\n\nfunction Toaster({ ...props }: ToasterProps) {\n  return (\n    <Sonner\n      className=\"toaster group\"\n      icons={{\n        error: <OctagonXIcon className=\"size-4 text-signal\" />,\n        info: <InfoIcon className=\"size-4 text-info\" />,\n        loading: <Spinner className=\"size-4\" />,\n        success: <CircleCheckIcon className=\"size-4 text-phosphor\" />,\n        warning: <TriangleAlertIcon className=\"size-4 text-warning\" />,\n      }}\n      style={\n        {\n          \"--border-radius\": \"0\",\n          \"--font-family\": \"var(--font-mono)\",\n          \"--normal-bg\": \"var(--popover)\",\n          \"--normal-border\": \"var(--line-strong)\",\n          \"--normal-text\": \"var(--popover-foreground)\",\n        } as React.CSSProperties\n      }\n      toastOptions={{\n        classNames: {\n          actionButton:\n            \"ml-auto flex h-6 shrink-0 cursor-pointer items-center rounded-none border-0 bg-phosphor px-2 font-medium text-void\",\n          cancelButton:\n            \"ml-auto flex h-6 shrink-0 cursor-pointer items-center rounded-none border-0 bg-secondary px-2 font-medium text-phosphor\",\n          content: \"flex min-w-0 flex-1 flex-col gap-0.5\",\n          description: \"text-muted-foreground\",\n          icon: \"flex size-4 shrink-0 items-center\",\n          title: \"font-medium text-[var(--toast-accent)]\",\n          toast:\n            \"[--toast-accent:var(--line-strong)] flex w-[var(--width)] items-center gap-2 rounded-none border border-[var(--toast-accent)] bg-[color-mix(in_oklab,var(--toast-accent)_9%,var(--popover))] p-4 font-mono text-xs text-popover-foreground shadow-panel transition-[opacity,height,box-shadow] data-[mounted=true]:animate-toast-in data-[removed=true]:animate-toast-out data-[type=error]:[--toast-accent:var(--destructive)] data-[type=info]:[--toast-accent:var(--info)] data-[type=success]:[--toast-accent:var(--phosphor)] data-[type=warning]:[--toast-accent:var(--warning)]\",\n        },\n        unstyled: true,\n      }}\n      {...props}\n    />\n  );\n}\n\nexport { toast } from \"sonner\";\nexport { Toaster };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}