{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "alert",
  "title": "Alert",
  "description": "Awaitable acknowledgement built on react-call and alert-dialog.",
  "dependencies": [
    "react-call"
  ],
  "registryDependencies": [
    "alert-dialog"
  ],
  "files": [
    {
      "path": "ui/alert.tsx",
      "content": "'use client'\n\n\nimport { createCallable } from 'react-call'\n\nimport {\n  AlertDialog,\n  AlertDialogAction,\n  AlertDialogContent,\n  AlertDialogDescription,\n  AlertDialogFooter,\n  AlertDialogHeader,\n  AlertDialogTitle,\n} from '@/components/ui/alert-dialog'\n\nexport interface AlertProps {\n  title: string\n  description?: string\n  confirmLabel?: string\n}\n\nexport const Alert = createCallable<AlertProps, void>(\n  ({ call, title, description, confirmLabel = 'OK' }) => (\n    <AlertDialog open={!call.ended} onOpenChange={(open) => !open && call.end()}>\n      <AlertDialogContent>\n        <AlertDialogHeader>\n          <AlertDialogTitle>{title}</AlertDialogTitle>\n          {description && <AlertDialogDescription>{description}</AlertDialogDescription>}\n        </AlertDialogHeader>\n        <AlertDialogFooter>\n          <AlertDialogAction onClick={() => call.end()}>{confirmLabel}</AlertDialogAction>\n        </AlertDialogFooter>\n      </AlertDialogContent>\n    </AlertDialog>\n  ),\n  200,\n)\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:component"
}
