{
  "code": "import { AlertDialog, toast } from \"@godxjp/ui/feedback\";\n\n// The preset covers a typed challenge: confirm stays disabled until the input equals `slug`.\nexport function DeleteProjectDialog({ open, onOpenChange, slug }: { open: boolean; onOpenChange: (v: boolean) => void; slug: string }) {\n  return (\n    <AlertDialog\n      open={open}\n      onOpenChange={onOpenChange}\n      title=\"プロジェクトを削除\"\n      description={`この操作は取り消せません。確認のためプロジェクト名 \"${slug}\" と入力してください。`}\n      challenge={slug}\n      confirmLabel=\"完全に削除\"\n      onConfirm={() => {\n        toast.success(\"削除しました\");\n        onOpenChange(false);\n      }}\n    />\n  );\n}",
  "name": "confirm-destructive",
  "tagline": "Type-to-confirm destructive dialog — the AlertDialog PRESET with `challenge` (the compound AlertDialog* parts are the older way in; a body the preset does not cover is Dialog variant=\"destructive\").",
  "tags": [
    "dialog",
    "confirm",
    "destructive",
    "delete"
  ]
}
