{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toast",
  "title": "Toast",
  "description": "A short message that announces itself and goes away.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "https://spotcheckui.com/r/spotcheck-base.json"
  ],
  "files": [
    {
      "path": "registry/spotcheck/components/spotcheck/toast.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Toast } from \"@base-ui/react/toast\"\n\nconst TIMEOUT_MS = 5000\n\n/** Call toast.add({ title, description }) from anywhere. */\nexport const toast = Toast.createToastManager()\n\nfunction ToastList() {\n  const { toasts } = Toast.useToastManager()\n\n  return toasts.map((item) => (\n    <Toast.Root\n      key={item.id}\n      toast={item}\n      className=\"border-ink bg-paper text-ink relative border-(length:--rule) py-2.5 pr-8 pl-3 font-(family-name:--f-body) shadow-[6px_6px_0_var(--ink)] transition-[translate,opacity] duration-200 data-ending-style:opacity-0 data-starting-style:translate-y-2 data-starting-style:opacity-0 motion-reduce:transition-none\"\n    >\n      <Toast.Content>\n        <Toast.Title className=\"spotcheck-heading text-lg leading-tight\" />\n        <Toast.Description className=\"text-mute text-[13.5px]\" />\n      </Toast.Content>\n      <Toast.Close\n        aria-label=\"Dismiss\"\n        className=\"spotcheck-focus absolute top-1.5 right-1.5 cursor-pointer px-1 font-(family-name:--f-mono) text-sm leading-none\"\n      >\n        ×\n      </Toast.Close>\n    </Toast.Root>\n  ))\n}\n\ntype ToastProviderProps = {\n  children: React.ReactNode\n  /** How long a toast stays, in milliseconds. */\n  timeout?: number\n}\n\nexport function ToastProvider({ children, timeout = TIMEOUT_MS }: ToastProviderProps) {\n  return (\n    <Toast.Provider toastManager={toast} timeout={timeout}>\n      {children}\n      <Toast.Portal>\n        <Toast.Viewport className=\"fixed right-4 bottom-4 z-50 flex w-[min(360px,calc(100vw-2rem))] flex-col gap-2\">\n          <ToastList />\n        </Toast.Viewport>\n      </Toast.Portal>\n    </Toast.Provider>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "categories": [
    "core"
  ],
  "type": "registry:component"
}