{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "alert-dialog",
  "title": "Alert Dialog",
  "description": "An explicit confirmation for an irreversible action.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "@neumorphism-ui/utils",
    "@neumorphism-ui/button"
  ],
  "files": [
    {
      "path": "src/components/ui/alert-dialog.tsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { AlertDialog as Primitive } from \"@base-ui/react/alert-dialog\";\nimport { Button } from \"./button\";\nimport { cn, mergeClassName } from \"@/lib/utils\";\n\nconst AlertDialog = Primitive.Root;\nconst AlertDialogTrigger = Primitive.Trigger;\n\nfunction AlertDialogContent({ className, ...props }: Primitive.Popup.Props) {\n  return <Primitive.Portal>\n    <Primitive.Backdrop data-slot=\"alert-dialog-overlay\" className=\"fixed inset-0 z-50 bg-[var(--neu-overlay)] backdrop-blur-sm transition-opacity duration-[var(--neu-duration)] motion-reduce:transition-none data-[starting-style]:opacity-0 data-[ending-style]:opacity-0\" />\n    <Primitive.Popup data-slot=\"alert-dialog-content\" className={mergeClassName<Primitive.Popup.State>(\n      \"fixed top-1/2 left-1/2 z-50 grid w-[calc(100%-2rem)] max-w-md max-h-[calc(100dvh-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-[var(--neu-radius-overlay)] border border-[color:var(--neu-edge)] bg-[var(--popover)] [background-image:var(--neu-fill-raised)] p-5 text-[var(--popover-foreground)] [box-shadow:var(--neu-shadow-floating)] outline-none transition-[opacity,transform] duration-[var(--neu-duration)] motion-reduce:transition-none data-[starting-style]:scale-95 data-[starting-style]:opacity-0 data-[ending-style]:scale-95 data-[ending-style]:opacity-0\", className,\n    )} {...props} />\n  </Primitive.Portal>;\n}\nfunction AlertDialogTitle({ className, ...props }: Primitive.Title.Props) {\n  return <Primitive.Title data-slot=\"alert-dialog-title\" className={mergeClassName<Primitive.Title.State>(\"min-w-0 text-base font-semibold leading-6 tracking-tight [overflow-wrap:anywhere]\", className)} {...props} />;\n}\nfunction AlertDialogDescription({ className, ...props }: Primitive.Description.Props) {\n  return <Primitive.Description data-slot=\"alert-dialog-description\" className={mergeClassName<Primitive.Description.State>(\"min-w-0 text-sm leading-relaxed text-[var(--muted-foreground)] [overflow-wrap:anywhere]\", className)} {...props} />;\n}\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return <div data-slot=\"alert-dialog-footer\" className={cn(\"flex min-w-0 flex-col gap-3 sm:flex-row sm:flex-wrap sm:justify-end [&>button]:min-h-10 [&>button[data-size=sm]]:min-h-8 [&>button[data-size=sm]]:py-1 [&>button[data-size=lg]]:min-h-12 [&>button[data-size=icon]]:py-0 [&>button]:h-auto [&>button]:max-w-full [&>button]:whitespace-normal [&>button]:[overflow-wrap:anywhere] [&>button]:py-2\", className)} {...props} />;\n}\nfunction AlertDialogCancel({ render = <Button />, ...props }: Primitive.Close.Props) {\n  return <Primitive.Close data-slot=\"alert-dialog-cancel\" render={render} {...props} />;\n}\nfunction AlertDialogAction({ render = <Button variant=\"destructive\" />, ...props }: Primitive.Close.Props) {\n  return <Primitive.Close data-slot=\"alert-dialog-action\" render={render} {...props} />;\n}\n\nexport { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction };\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "actions-overlays"
  ],
  "type": "registry:ui"
}