{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "alert-dialog",
  "type": "registry:ui",
  "title": "Alert Dialog",
  "description": "Confirmation dialog built on Base UI with seam modal depth.",
  "dependencies": [
    "@base-ui/react",
    "motion"
  ],
  "registryDependencies": [
    "https://seamui.dev/r/utils.json",
    "https://seamui.dev/r/motion.json"
  ],
  "files": [
    {
      "path": "registry/seam/ui/alert-dialog.tsx",
      "content": "\"use client\"\n\nimport type * as React from \"react\"\nimport { AlertDialog as BaseAlertDialog } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"@/lib/utils\"\nimport { condense } from \"@/lib/motion\"\n\nfunction AlertDialog(props: React.ComponentProps<typeof BaseAlertDialog.Root>) {\n  return <BaseAlertDialog.Root {...props} />\n}\n\nfunction AlertDialogTrigger(\n  props: React.ComponentProps<typeof BaseAlertDialog.Trigger>\n) {\n  return <BaseAlertDialog.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogContent({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof BaseAlertDialog.Popup>) {\n  return (\n    <BaseAlertDialog.Portal>\n      <BaseAlertDialog.Backdrop\n        data-slot=\"alert-dialog-backdrop\"\n        // seam condense: the page dims/undims on the same clock as the panel.\n        className={cn(\"fixed inset-0 z-50 bg-black/50\", condense.backdrop)}\n      />\n      <BaseAlertDialog.Popup\n        data-slot=\"alert-dialog-content\"\n        className={cn(\n          \"bg-popover text-popover-foreground fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl squircle border p-6 shadow-modal outline-none\",\n          // seam condense: the modal pops up from center and fades in; on\n          // dismiss it falls back and fades — Base UI awaits the CSS exit.\n          condense.surface,\n          className\n        )}\n        {...props}\n      >\n        {children}\n      </BaseAlertDialog.Popup>\n    </BaseAlertDialog.Portal>\n  )\n}\n\nfunction AlertDialogHeader({\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-dialog-header\"\n      className={cn(\n        \"flex flex-col gap-1.5 text-center sm:text-left\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDialogFooter({\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-dialog-footer\"\n      className={cn(\n        \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDialogTitle({\n  className,\n  ...props\n}: React.ComponentProps<typeof BaseAlertDialog.Title>) {\n  return (\n    <BaseAlertDialog.Title\n      data-slot=\"alert-dialog-title\"\n      className={cn(\"text-lg font-semibold\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDialogDescription({\n  className,\n  ...props\n}: React.ComponentProps<typeof BaseAlertDialog.Description>) {\n  return (\n    <BaseAlertDialog.Description\n      data-slot=\"alert-dialog-description\"\n      className={cn(\"text-muted-foreground text-sm\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDialogAction(\n  props: React.ComponentProps<typeof BaseAlertDialog.Close>\n) {\n  return <BaseAlertDialog.Close data-slot=\"alert-dialog-action\" {...props} />\n}\n\nfunction AlertDialogCancel(\n  props: React.ComponentProps<typeof BaseAlertDialog.Close>\n) {\n  return <BaseAlertDialog.Close data-slot=\"alert-dialog-cancel\" {...props} />\n}\n\nexport {\n  AlertDialog,\n  AlertDialogTrigger,\n  AlertDialogContent,\n  AlertDialogHeader,\n  AlertDialogFooter,\n  AlertDialogTitle,\n  AlertDialogDescription,\n  AlertDialogAction,\n  AlertDialogCancel,\n}\n",
      "type": "registry:ui",
      "target": "components/ui/alert-dialog.tsx"
    }
  ]
}