{
  "name": "alert-dialog",
  "displayName": "Alert dialog",
  "type": "shadow",
  "isCustomElement": true,
  "tag": "l-alert-dialog",
  "nativeTag": null,
  "selector": "l-alert-dialog",
  "subItemOf": null,
  "summary": "An interruptive confirmation dialog built on `<l-dialog>`. Renders its own\ncancel/confirm actions and exposes `role=\"alertdialog\"`. Use it to confirm a\nconsequential action (delete, publish, discard) — not for generic content.\n\nOpen and close by toggling the `open` property (or the `--show` / `--hide`\nInvoker commands). The dialog closes automatically when the user picks an\naction, unless the matching `confirm` / `cancel` event is canceled.",
  "status": "stable",
  "appearances": [],
  "import": {
    "css": null,
    "js": "luxen-ui/alert-dialog"
  },
  "properties": [
    {
      "name": "confirmText",
      "attribute": "confirm-text",
      "type": "string",
      "default": "'Confirm'",
      "reflects": false,
      "description": "Label for the confirm action."
    },
    {
      "name": "cancelText",
      "attribute": "cancel-text",
      "type": "string",
      "default": "'Cancel'",
      "reflects": false,
      "description": "Label for the cancel action."
    },
    {
      "name": "tone",
      "attribute": "tone",
      "type": "'danger' | undefined",
      "default": null,
      "reflects": true,
      "description": "Visual tone. `danger` renders the confirm action as destructive."
    },
    {
      "name": "loading",
      "attribute": "loading",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Show a busy state on the confirm action (spinner + `aria-disabled`); the\ncancel action stays operable as an escape hatch."
    },
    {
      "name": "title",
      "attribute": "title",
      "type": "string",
      "default": "''",
      "reflects": false,
      "description": "Dialog title rendered in the header and used as the dialog's accessible name."
    },
    {
      "name": "open",
      "attribute": "open",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Whether the dialog is open."
    },
    {
      "name": "lightDismiss",
      "attribute": "light-dismiss",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Close when the backdrop is clicked."
    },
    {
      "name": "withoutHeader",
      "attribute": "without-header",
      "type": "boolean",
      "default": "false",
      "reflects": true,
      "description": "Hide the header entirely (title and close slot)."
    }
  ],
  "attributes": [],
  "events": [
    {
      "name": "confirm",
      "description": "Fired when the user accepts. Cancelable — `preventDefault()` keeps it open for async work.",
      "cancelable": true
    },
    {
      "name": "cancel",
      "description": "Fired when the user dismisses (cancel action, Escape). Cancelable — `preventDefault()` keeps it open.",
      "cancelable": true
    },
    {
      "name": "show",
      "description": "Fired when the dialog is about to open. Cancelable.",
      "cancelable": true
    },
    {
      "name": "hide",
      "description": "Fired when the dialog is about to close via the `open` property. Cancelable. (The confirm, cancel, and Escape paths close natively and emit `confirm`/`cancel` instead of `hide`.)",
      "cancelable": true
    },
    {
      "name": "after-show",
      "description": "Fired after the open animation completes. Not cancelable.",
      "cancelable": false
    },
    {
      "name": "after-hide",
      "description": "Fired after the close animation completes. Not cancelable.",
      "cancelable": false
    }
  ],
  "methods": [],
  "slots": [
    {
      "name": "",
      "description": "Description text. Provides the dialog's accessible description."
    },
    {
      "name": "title",
      "description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property. Also provides the dialog's accessible name."
    },
    {
      "name": "cancel",
      "description": "Replaces the built-in cancel action (e.g. a link). Keep it focusable."
    },
    {
      "name": "confirm",
      "description": "Replaces the built-in confirm action."
    },
    {
      "name": "close",
      "description": "Close button (typically `<button class=\"l-close\">`)."
    },
    {
      "name": "footer",
      "description": "Footer actions."
    }
  ],
  "cssClasses": [],
  "cssParts": [
    {
      "name": "dialog",
      "description": "The native `<dialog>` element."
    },
    {
      "name": "header",
      "description": "The header wrapper containing the title."
    },
    {
      "name": "title",
      "description": "The dialog title heading."
    },
    {
      "name": "body",
      "description": "The body wrapper around the description."
    },
    {
      "name": "footer",
      "description": "The footer wrapper around the actions."
    },
    {
      "name": "button",
      "description": "Both built-in action buttons."
    },
    {
      "name": "cancel",
      "description": "The built-in cancel button."
    },
    {
      "name": "confirm",
      "description": "The built-in confirm button."
    }
  ],
  "cssProperties": [
    {
      "name": "--width",
      "default": "31rem",
      "description": "Dialog width."
    },
    {
      "name": "--border-radius",
      "default": "6px",
      "description": "Dialog border radius."
    },
    {
      "name": "--padding",
      "default": "1.5rem",
      "description": "Padding applied to the header, footer, and inline-padding of the body."
    },
    {
      "name": "--show-duration",
      "default": "200ms",
      "description": "Open transition duration."
    },
    {
      "name": "--hide-duration",
      "default": "200ms",
      "description": "Close transition duration."
    },
    {
      "name": "--backdrop",
      "default": null,
      "description": "Backdrop color."
    },
    {
      "name": "--backdrop-blur",
      "default": "0",
      "description": "Backdrop blur amount (any CSS length)."
    }
  ],
  "commands": [
    {
      "name": "--show",
      "description": "Sets `open = true`."
    },
    {
      "name": "--hide",
      "description": "Sets `open = false`."
    }
  ],
  "examples": []
}
