{
  "id": "delete-modal",
  "name": "NodeDcDeleteModal",
  "kind": "component",
  "status": "draft-stable",
  "summary": "Canonical dark glass confirmation modal for destructive object deletion.",
  "sourceRefs": [
    {
      "project": "nodedc_launcher",
      "file": "src/shared/nodedc-ui/DeleteModal.tsx",
      "exports": ["NodeDcDeleteModal"]
    },
    {
      "project": "nodedc_launcher",
      "file": "src/styles/globals.css",
      "classes": [
        "nodedc-delete-modal-layer",
        "nodedc-delete-modal",
        "nodedc-delete-modal__icon",
        "nodedc-delete-modal__foot"
      ]
    },
    {
      "project": "nodedc_taskmanager",
      "file": "plane-src/packages/ui/src/modals/alert-modal.tsx",
      "exports": ["AlertModalCore"]
    },
    {
      "project": "nodedc_taskmanager",
      "file": "plane-src/apps/web/styles/globals.css",
      "classes": [
        "nodedc-glass-modal",
        "nodedc-modal-alert-icon",
        "nodedc-modal-danger-button",
        "nodedc-modal-secondary-button"
      ]
    }
  ],
  "anatomy": [
    "fixed blurred overlay layer",
    "dark glass shell",
    "round alert icon",
    "title and description copy",
    "footer with secondary cancel and destructive confirm"
  ],
  "visualContract": {
    "width": "min(34rem, viewport - 2.8rem)",
    "radius": "modal",
    "background": "transparent black detail glass, not monocolor fill",
    "blur": "44px detail glass pseudo-layer blur",
    "iconSize": "2.75rem circle",
    "iconColor": "component accent, white in launcher",
    "buttonHeight": "tokens.size.modalButtonHeight through Button surface='modal'",
    "buttonRadius": "control radius",
    "cancelButton": "Button variant='secondary' surface='modal'",
    "destructiveButton": "Button variant='accent' surface='modal' with computed on-accent text"
  },
  "rules": [
    "Use this component for every delete/destructive removal action.",
    "Never delete immediately from a row, footer, dropdown, or editor without this modal.",
    "Do not add visible outlines or hard stroke borders to the modal, icon, or buttons.",
    "The shell uses nodedc-glass-detail-surface so the panel blurs the actual content under it.",
    "The destructive button uses the shared Button accent variant and component-local accent contrast variables, not a hardcoded red fill.",
    "Cancel is secondary and stays left of the destructive confirm action.",
    "The description must name the object and describe dependent data that will also be removed."
  ],
  "launcherBindings": [
    "service showcase deletion",
    "client/company deletion",
    "client membership removal",
    "client group deletion",
    "invite deletion"
  ]
}
