{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "confirmation-dialog",
  "type": "registry:block",
  "title": "Confirmation Dialog",
  "description": "A dialog for confirming user actions.",
  "files": [
    {
      "path": "src/components/deso/confirmation-dialog.tsx",
      "content": "import * as React from 'react';\nimport {\n  AlertDialog,\n  AlertDialogAction,\n  AlertDialogCancel,\n  AlertDialogContent,\n  AlertDialogDescription,\n  AlertDialogFooter,\n  AlertDialogHeader,\n  AlertDialogTitle,\n  AlertDialogTrigger,\n} from '@/components/ui/alert-dialog';\nimport { buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/lib/utils/deso';\n\nexport interface ConfirmationDialogProps {\n  trigger: React.ReactNode;\n  title: React.ReactNode;\n  description?: React.ReactNode;\n  onConfirm: () => void;\n  onCancel?: () => void;\n  variant?: 'default' | 'success' | 'destructive';\n  confirmText?: string;\n  cancelText?: string;\n  open?: boolean;\n  onOpenChange?: (open: boolean) => void;\n}\n\nexport function ConfirmationDialog({\n  trigger,\n  title,\n  description,\n  onConfirm,\n  onCancel,\n  variant = 'default',\n  confirmText = 'Confirm',\n  cancelText = 'Cancel',\n  open,\n  onOpenChange,\n}: ConfirmationDialogProps) {\n  const confirmButtonVariant = variant === 'default' ? 'default' : variant;\n\n  return (\n    <AlertDialog open={open} onOpenChange={onOpenChange}>\n      <AlertDialogTrigger asChild>{trigger}</AlertDialogTrigger>\n      <AlertDialogContent className=\"border border-border\">\n        <AlertDialogHeader>\n          <AlertDialogTitle>{title}</AlertDialogTitle>\n          {description && (\n            <AlertDialogDescription>{description}</AlertDialogDescription>\n          )}\n        </AlertDialogHeader>\n        <AlertDialogFooter>\n          <AlertDialogCancel onClick={onCancel}>{cancelText}</AlertDialogCancel>\n          <AlertDialogAction\n            onClick={onConfirm}\n            className={cn(buttonVariants({ variant: confirmButtonVariant }))}\n          >\n            {confirmText}\n          </AlertDialogAction>\n        </AlertDialogFooter>\n      </AlertDialogContent>\n    </AlertDialog>\n  );\n} ",
      "type": "registry:component",
      "target": "src/components/deso-ui/confirmation-dialog.tsx"
    }
  ]
}