{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/html/elements/alert/alert.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Alert",
          "cssProperties": [
            {
              "description": "Gap between the icon, content, and close button.",
              "name": "--gap",
              "default": "0.75rem"
            },
            {
              "description": "Inner padding.",
              "name": "--padding",
              "default": "1rem"
            },
            {
              "description": "Corner radius.",
              "name": "--border-radius",
              "default": "8px"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "AlertVariant | undefined"
              },
              "description": "Semantic variant: `info`, `success`, `warning`, or `danger`. Default is neutral.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string | undefined"
              },
              "description": "Iconify icon name (e.g. `lucide:bell`) overriding the variant's default icon.",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "withoutIcon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the leading icon entirely.",
              "attribute": "without-icon"
            },
            {
              "kind": "field",
              "name": "dismissible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a close button that dismisses the alert when clicked.",
              "attribute": "dismissible",
              "reflects": true
            }
          ],
          "events": [
            {
              "name": "hide",
              "description": "Emitted when a dismissible alert is about to close. Cancelable — call `event.preventDefault()` to keep it open.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Emitted after the dismiss animation completes and the alert is removed from the DOM. Not cancelable.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "AlertVariant | undefined"
              },
              "description": "Semantic variant: `info`, `success`, `warning`, or `danger`. Default is neutral.",
              "fieldName": "variant"
            },
            {
              "name": "icon",
              "type": {
                "text": "string | undefined"
              },
              "description": "Iconify icon name (e.g. `lucide:bell`) overriding the variant's default icon.",
              "fieldName": "icon"
            },
            {
              "name": "without-icon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the leading icon entirely.",
              "fieldName": "withoutIcon"
            },
            {
              "name": "dismissible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a close button that dismisses the alert when clicked.",
              "fieldName": "dismissible"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-alert",
          "customElement": true,
          "summary": "A callout box that highlights contextual information with a semantic color and a leading icon.",
          "examples": [
            {
              "language": "html",
              "code": "<l-alert variant=\"warning\" dismissible>\n  <span class=\"l-alert-title\">Heads up</span>\n  This action cannot be undone.\n</l-alert>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-alert-icon",
              "description": "The leading icon, colored by variant (auto-injected)."
            },
            {
              "name": ".l-alert-content",
              "description": "Wrapper the authored children are moved into; stacks them vertically (auto-injected)."
            },
            {
              "name": ".l-alert-title",
              "description": "Optional bold heading placed above the body content. Use a real heading element (e.g. `<h3 class=\"l-alert-title\">`) when the alert is a section callout so it is reachable by heading navigation."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Alert",
          "declaration": {
            "name": "Alert",
            "module": "src/html/elements/alert/alert.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/alert/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/alert/alert.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/avatar/avatar.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Avatar",
          "cssProperties": [
            {
              "description": "Box size (any length). Set it inline (e.g. `style=\"--size: 20px\"`) for an arbitrary size beyond the `size` token scale; the font then follows proportionally. The `size` attribute sets it to the matching token.",
              "name": "--size",
              "default": "40px"
            },
            {
              "description": "Background fill color for initials and the default icon.",
              "name": "--color"
            },
            {
              "description": "Initials/icon color over `--color`. Defaults to an auto-derived readable color; set it to enforce a specific brand color (overrides the automatic choice).",
              "name": "--text-color"
            },
            {
              "description": "Set to `circle` for a fully circular avatar (default is a rounded square).",
              "name": "--appearance"
            }
          ],
          "cssParts": [
            {
              "description": "The avatar container that paints `--color`; style it (e.g. `color`) to override the auto-derived text color.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Image URL. Falls back to initials (then the default icon) if it fails to load.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Name used as the accessible label and to derive the initials fallback.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "string"
              },
              "default": "'md'",
              "description": "Avatar size: `xs`, `sm`, `md` (default), `lg`, or `xl`.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "badge",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Count shown in the corner badge. `0` hides the badge.",
              "attribute": "badge"
            },
            {
              "kind": "field",
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Render as a `<button>` with focus ring and hover states.",
              "attribute": "interactive",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Image URL. Falls back to initials (then the default icon) if it fails to load.",
              "fieldName": "src"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Name used as the accessible label and to derive the initials fallback.",
              "fieldName": "name"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "default": "'md'",
              "description": "Avatar size: `xs`, `sm`, `md` (default), `lg`, or `xl`.",
              "fieldName": "size"
            },
            {
              "name": "badge",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Count shown in the corner badge. `0` hides the badge.",
              "fieldName": "badge"
            },
            {
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Render as a `<button>` with focus ring and hover states.",
              "fieldName": "interactive"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-avatar",
          "customElement": true,
          "summary": "An avatar component for displaying user images, initials, or a default icon.",
          "_cssClasses": [
            {
              "name": ".l-avatar-group",
              "description": "Flex wrapper that overlaps a row of stacked avatars."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Avatar",
          "declaration": {
            "name": "Avatar",
            "module": "src/html/elements/avatar/avatar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/avatar/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/avatar/avatar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/alert-dialog/alert-dialog.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the user accepts an alert dialog (the confirm action). Cancelable —\ncall `event.preventDefault()` to keep the dialog open (e.g. to await an async\ntask); close it yourself afterwards by setting `open = false`.\n\nDoes not bubble and is not composed: listen on the element itself.",
          "name": "ConfirmEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/alert-dialog/alert-dialog.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the user dismisses an alert dialog (the cancel action, Escape, or a\nclose request). Cancelable — call `event.preventDefault()` to keep it open.\n\nDoes not bubble and is not composed: listen on the element itself.",
          "name": "CancelEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/alert-dialog/alert-dialog.ts"
          }
        },
        {
          "kind": "class",
          "description": "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.",
          "name": "AlertDialog",
          "cssProperties": [
            {
              "description": "Dialog width.",
              "name": "--width",
              "default": "31rem",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Dialog border radius.",
              "name": "--border-radius",
              "default": "6px",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Padding applied to the header, footer, and inline-padding of the body.",
              "name": "--padding",
              "default": "1.5rem",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Open transition duration.",
              "name": "--show-duration",
              "default": "200ms",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Close transition duration.",
              "name": "--hide-duration",
              "default": "200ms",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Backdrop color.",
              "name": "--backdrop",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Backdrop blur amount (any CSS length).",
              "name": "--backdrop-blur",
              "default": "0",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "cssParts": [
            {
              "description": "The native `<dialog>` element.",
              "name": "dialog",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The header wrapper containing the title.",
              "name": "header",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The dialog title heading.",
              "name": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The body wrapper around the description.",
              "name": "body",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The footer wrapper around the actions.",
              "name": "footer",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Both built-in action buttons.",
              "name": "button"
            },
            {
              "description": "The built-in cancel button.",
              "name": "cancel"
            },
            {
              "description": "The built-in confirm button.",
              "name": "confirm"
            }
          ],
          "slots": [
            {
              "description": "Description text. Provides the dialog's accessible description.",
              "name": "",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property. Also provides the dialog's accessible name.",
              "name": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Replaces the built-in cancel action (e.g. a link). Keep it focusable.",
              "name": "cancel"
            },
            {
              "description": "Replaces the built-in confirm action.",
              "name": "confirm"
            },
            {
              "description": "Close button (typically `<button class=\"l-close\">`).",
              "name": "close",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Footer actions.",
              "name": "footer",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "confirmText",
              "type": {
                "text": "string"
              },
              "default": "'Confirm'",
              "description": "Label for the confirm action.",
              "attribute": "confirm-text"
            },
            {
              "kind": "field",
              "name": "cancelText",
              "type": {
                "text": "string"
              },
              "default": "'Cancel'",
              "description": "Label for the cancel action.",
              "attribute": "cancel-text"
            },
            {
              "kind": "field",
              "name": "tone",
              "type": {
                "text": "'danger' | undefined"
              },
              "description": "Visual tone. `danger` renders the confirm action as destructive.",
              "attribute": "tone",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a busy state on the confirm action (spinner + `aria-disabled`); the\ncancel action stays operable as an escape hatch.",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "attribute": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "attribute": "light-dismiss",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "attribute": "without-header",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              },
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "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
            }
          ],
          "attributes": [
            {
              "name": "confirm-text",
              "type": {
                "text": "string"
              },
              "default": "'Confirm'",
              "description": "Label for the confirm action.",
              "fieldName": "confirmText"
            },
            {
              "name": "cancel-text",
              "type": {
                "text": "string"
              },
              "default": "'Cancel'",
              "description": "Label for the cancel action.",
              "fieldName": "cancelText"
            },
            {
              "name": "tone",
              "type": {
                "text": "'danger' | undefined"
              },
              "description": "Visual tone. `danger` renders the confirm action as destructive.",
              "fieldName": "tone"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a busy state on the confirm action (spinner + `aria-disabled`); the\ncancel action stays operable as an escape hatch.",
              "fieldName": "loading"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "fieldName": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "fieldName": "lightDismiss",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "fieldName": "withoutHeader",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "superclass": {
            "name": "Dialog",
            "module": "/src/html/elements/dialog/dialog.js"
          },
          "tagName": "l-alert-dialog",
          "customElement": true,
          "commands": [
            {
              "name": "--show",
              "description": "Sets `open = true`."
            },
            {
              "name": "--hide",
              "description": "Sets `open = false`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ConfirmEvent",
          "declaration": {
            "name": "ConfirmEvent",
            "module": "src/html/elements/alert-dialog/alert-dialog.ts"
          }
        },
        {
          "kind": "js",
          "name": "CancelEvent",
          "declaration": {
            "name": "CancelEvent",
            "module": "src/html/elements/alert-dialog/alert-dialog.ts"
          }
        },
        {
          "kind": "js",
          "name": "AlertDialog",
          "declaration": {
            "name": "AlertDialog",
            "module": "src/html/elements/alert-dialog/alert-dialog.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/alert-dialog/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/alert-dialog/alert-dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/badge/badge.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Badge",
          "members": [
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "BadgeVariant | undefined"
              },
              "description": "Style variant: `info`, `success`, `warning`, `danger`, or `neutral` (default)",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Display as pill shape",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "BadgeSize | undefined"
              },
              "description": "Badge size: `sm`, `lg`. Default is md.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "BadgeAppearance | undefined"
              },
              "description": "Visual appearance: `filled`, `filled-outlined`, `accent`. Default is outlined.",
              "attribute": "appearance",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "BadgeVariant | undefined"
              },
              "description": "Style variant: `info`, `success`, `warning`, `danger`, or `neutral` (default)",
              "fieldName": "variant"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Display as pill shape",
              "fieldName": "pill"
            },
            {
              "name": "size",
              "type": {
                "text": "BadgeSize | undefined"
              },
              "description": "Badge size: `sm`, `lg`. Default is md.",
              "fieldName": "size"
            },
            {
              "name": "appearance",
              "type": {
                "text": "BadgeAppearance | undefined"
              },
              "description": "Visual appearance: `filled`, `filled-outlined`, `accent`. Default is outlined.",
              "fieldName": "appearance"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-badge",
          "customElement": true,
          "summary": "A badge component for displaying small status indicators."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Badge",
          "declaration": {
            "name": "Badge",
            "module": "src/html/elements/badge/badge.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/badge/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/badge/badge.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/breadcrumb/breadcrumb.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "BreadcrumbMeta",
          "cssProperties": [
            {
              "description": "Space between crumbs and around the separator.",
              "name": "--gap",
              "default": "0.5rem"
            },
            {
              "description": "Separator glyph color.",
              "name": "--separator-color",
              "default": "var(--l-color-text-tertiary)"
            },
            {
              "description": "Divider glyph; any character (e.g. `'›'`) or a `url()` image.",
              "name": "--separator",
              "default": "'/'"
            }
          ],
          "attributes": [
            {
              "description": "Names the navigation landmark (use `\"Breadcrumb\"`).",
              "name": "aria-label"
            },
            {
              "description": "Set to `page` on the current crumb's `<a>`.",
              "name": "aria-current"
            },
            {
              "description": "Opt out of Luxen's link theming (color, underline, hover) so you can apply your own link class. Layout, separators, scroll, and current-page behavior stay.",
              "name": "data-unstyled-links"
            }
          ],
          "summary": "A navigation trail showing the current page's position in the site hierarchy. Built on a native `<nav><ol>` per the WAI-ARIA APG pattern.",
          "examples": [
            {
              "title": "Basic",
              "language": "html",
              "code": "<nav class=\"l-breadcrumb\" aria-label=\"Breadcrumb\">\n<ol>\n<li><a href=\"/\">Home</a></li>\n<li><a href=\"/products\">Products</a></li>\n<li><a href=\"/products/bags\" aria-current=\"page\">Bags</a></li>\n</ol>\n</nav>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-breadcrumb",
              "description": "Breadcrumb navigation on a `<nav>` wrapping an `<ol>` of `<li><a>` crumbs."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "nav",
          "selector": ".l-breadcrumb",
          "_attributes": [
            {
              "name": "aria-label",
              "description": "Names the navigation landmark (use `\"Breadcrumb\"`)."
            },
            {
              "name": "aria-current",
              "description": "Set to `page` on the current crumb's `<a>`."
            },
            {
              "name": "data-unstyled-links",
              "description": "Opt out of Luxen's link theming (color, underline, hover) so you can apply your own link class. Layout, separators, scroll, and current-page behavior stay."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BreadcrumbMeta",
          "declaration": {
            "name": "BreadcrumbMeta",
            "module": "src/html/elements/breadcrumb/breadcrumb.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/button-group/button-group.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ButtonGroup",
          "members": [
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Accessible label announced for the group. Not displayed on screen.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "ButtonGroupOrientation"
              },
              "default": "'horizontal'",
              "description": "Layout direction of the buttons. Visual only (drives the CSS via the\nreflected attribute): ARIA 1.2 does not allow `aria-orientation` on\n`role=\"group\"`, so no ARIA attribute is set.",
              "attribute": "orientation",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Accessible label announced for the group. Not displayed on screen.",
              "fieldName": "label"
            },
            {
              "name": "orientation",
              "type": {
                "text": "ButtonGroupOrientation"
              },
              "default": "'horizontal'",
              "description": "Layout direction of the buttons. Visual only (drives the CSS via the\nreflected attribute): ARIA 1.2 does not allow `aria-orientation` on\n`role=\"group\"`, so no ARIA attribute is set.",
              "fieldName": "orientation"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-button-group",
          "customElement": true,
          "summary": "Visually joins related `.l-button` elements into a single segmented\ncontrol. The joined appearance is pure CSS; this element adds the group\nsemantics (`role=\"group\"`, `aria-label`).",
          "examples": [
            {
              "language": "html",
              "code": "<l-button-group label=\"Alignment\">\n  <button class=\"l-button\">Left</button>\n  <button class=\"l-button\">Center</button>\n  <button class=\"l-button\">Right</button>\n</l-button-group>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ButtonGroup",
          "declaration": {
            "name": "ButtonGroup",
            "module": "src/html/elements/button-group/button-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/button-group/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/button-group/button-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/button/button.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ButtonMeta",
          "cssProperties": [
            {
              "description": "Button height (md size).",
              "name": "--height",
              "default": "36px"
            },
            {
              "description": "Horizontal padding.",
              "name": "--padding-inline",
              "default": "0.625rem"
            },
            {
              "description": "Background color.",
              "name": "--background-color"
            },
            {
              "description": "Background color on hover.",
              "name": "--background-color-hover"
            },
            {
              "description": "Background color on press.",
              "name": "--background-color-active"
            },
            {
              "description": "Text color.",
              "name": "--text-color"
            },
            {
              "description": "Text color on hover.",
              "name": "--text-color-hover"
            },
            {
              "description": "Border color.",
              "name": "--border-color"
            },
            {
              "description": "Border color on hover.",
              "name": "--border-color-hover"
            },
            {
              "description": "Label font size. Stays 14px across all sizes; override to opt into a larger label.",
              "name": "--font-size",
              "default": "0.875rem"
            }
          ],
          "attributes": [
            {
              "description": "Disables the button.",
              "name": "disabled"
            },
            {
              "description": "Invoker command (`show-modal`, `close`, `show-popover`, etc.).",
              "name": "command"
            },
            {
              "description": "ID of the target element for `command`.",
              "name": "commandfor"
            },
            {
              "description": "primary | destructive — Visual variant. Default is the secondary style.",
              "name": "data-variant"
            },
            {
              "description": "sm | lg | xl — Control size. Default is md.",
              "name": "data-size"
            },
            {
              "description": "Icon-only mode (square button, width equals height). Auto-detected for a single icon child.",
              "name": "data-icon-only"
            },
            {
              "description": "Press effect (scale + translate on active).",
              "name": "data-press-effect"
            }
          ],
          "summary": "Buttons trigger actions such as submitting forms, confirming dialogs, or navigating.",
          "examples": [
            {
              "title": "Primary",
              "language": "html",
              "code": "<button class=\"l-button\" data-variant=\"primary\">Save</button>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-button",
              "description": "Base button style."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "button",
          "selector": ".l-button",
          "_attributes": [
            {
              "name": "disabled",
              "description": "Disables the button."
            },
            {
              "name": "command",
              "description": "Invoker command (`show-modal`, `close`, `show-popover`, etc.)."
            },
            {
              "name": "commandfor",
              "description": "ID of the target element for `command`."
            },
            {
              "name": "data-variant",
              "values": [
                "primary",
                "destructive"
              ],
              "description": "Visual variant. Default is the secondary style."
            },
            {
              "name": "data-size",
              "values": [
                "sm",
                "lg",
                "xl"
              ],
              "description": "Control size. Default is md."
            },
            {
              "name": "data-icon-only",
              "description": "Icon-only mode (square button, width equals height). Auto-detected for a single icon child."
            },
            {
              "name": "data-press-effect",
              "description": "Press effect (scale + translate on active)."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ButtonMeta",
          "declaration": {
            "name": "ButtonMeta",
            "module": "src/html/elements/button/button.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/carousel/carousel.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the active slide changes. Bubbles; not composed.",
          "name": "CarouselSelectEvent",
          "members": [
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "index"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the set of slides in view changes.",
          "name": "SlidesInViewEvent",
          "members": [
            {
              "kind": "field",
              "name": "indexes",
              "type": {
                "text": "number[]"
              },
              "readonly": true,
              "default": "indexes"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the fullscreen button is activated.",
          "name": "FullscreenToggleEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "class",
          "description": "Carousel custom element based on Embla Carousel.",
          "name": "Carousel",
          "cssProperties": [
            {
              "description": "Height of slides in vertical axis mode.",
              "name": "--slide-height"
            },
            {
              "description": "Width of each slide (e.g. `100%`, `calc(100% / 3)`).",
              "name": "--slide-size"
            },
            {
              "description": "Gap between slides.",
              "name": "--slide-gap"
            },
            {
              "description": "Size of navigation buttons.",
              "name": "--button-size"
            },
            {
              "description": "Size of arrow icons inside buttons.",
              "name": "--button-arrow-size"
            },
            {
              "description": "Color of arrow icons.",
              "name": "--button-arrow-color"
            },
            {
              "description": "Offset of inside-positioned buttons from edges.",
              "name": "--button-offset"
            },
            {
              "description": "Border color of buttons.",
              "name": "--button-border-color"
            },
            {
              "description": "Border radius of buttons.",
              "name": "--button-border-radius"
            },
            {
              "description": "Background color of buttons.",
              "name": "--button-bg"
            },
            {
              "description": "Text/icon color of buttons.",
              "name": "--button-color"
            },
            {
              "description": "Color of inactive dots.",
              "name": "--dot-color"
            },
            {
              "description": "Color of active dot.",
              "name": "--dot-color-active"
            },
            {
              "description": "Margin around dots container.",
              "name": "--dot-margin"
            },
            {
              "description": "Scale factor applied to edge dots that signal more dots exist beyond the visible window (default `0.5`).",
              "name": "--dot-edge-scale"
            }
          ],
          "cssParts": [
            {
              "description": "The carousel viewport container.",
              "name": "viewport"
            },
            {
              "description": "The slides container slot.",
              "name": "container"
            },
            {
              "description": "The scroll buttons wrapper.",
              "name": "scroll-buttons"
            },
            {
              "description": "Any navigation button.",
              "name": "button"
            },
            {
              "description": "The previous slide navigation button.",
              "name": "button-previous"
            },
            {
              "description": "The next slide navigation button.",
              "name": "button-next"
            },
            {
              "description": "Any dot navigation button.",
              "name": "button-dot"
            },
            {
              "description": "The dots navigation wrapper.",
              "name": "dots"
            },
            {
              "description": "The fullscreen button.",
              "name": "button-fullscreen"
            },
            {
              "description": "Any button icon SVG.",
              "name": "button-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "embla",
              "type": {
                "text": "EmblaCarouselType"
              }
            },
            {
              "kind": "field",
              "name": "autoplay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Choose a delay between transitions in milliseconds (default: 4000).",
              "attribute": "autoplay",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoplayOptions",
              "type": {
                "text": "any"
              },
              "description": "Configure autoplay options.",
              "attribute": "autoplay-options"
            },
            {
              "kind": "field",
              "name": "axis",
              "type": {
                "text": "AxisOptionType"
              },
              "default": "'x'",
              "description": "Choose scroll axis between x and y.",
              "attribute": "axis"
            },
            {
              "kind": "field",
              "name": "align",
              "type": {
                "text": "AlignmentOptionType"
              },
              "default": "'start'",
              "description": "Align the slides relative to the carousel viewport.",
              "attribute": "align"
            },
            {
              "kind": "field",
              "name": "breakpoints",
              "type": {
                "text": "any"
              },
              "default": "{}",
              "description": "Breakpoint overrides for options.",
              "attribute": "breakpoints",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables infinite looping.",
              "attribute": "loop"
            },
            {
              "kind": "field",
              "name": "dragFree",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables momentum scrolling (drag free).",
              "attribute": "drag-free"
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "20",
              "description": "Set scroll duration when triggered by API methods.",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "skipSnaps",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow skipping scroll snaps on vigorous drag.",
              "attribute": "skip-snaps"
            },
            {
              "kind": "field",
              "name": "slidesToScroll",
              "type": {
                "text": "SlidesToScrollOptionType"
              },
              "default": "1",
              "description": "Group slides together for navigation.",
              "attribute": "slides-to-scroll"
            },
            {
              "kind": "field",
              "name": "startIndex",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Set the initial scroll snap index.",
              "attribute": "start-index"
            },
            {
              "kind": "field",
              "name": "containScroll",
              "type": {
                "text": "ScrollContainOptionType"
              },
              "default": "'trimSnaps'",
              "description": "Clear leading and trailing empty space.",
              "attribute": "contain-scroll"
            },
            {
              "kind": "field",
              "name": "single",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "single"
            },
            {
              "kind": "field",
              "name": "withDots",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "with-dots"
            },
            {
              "kind": "field",
              "name": "withScrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "with-scrollbar"
            },
            {
              "kind": "field",
              "name": "withFullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "with-fullscreen"
            },
            {
              "kind": "field",
              "name": "dotAppearance",
              "type": {
                "text": "'circle' | 'bar'"
              },
              "default": "'bar'",
              "attribute": "dot-appearance"
            },
            {
              "kind": "field",
              "name": "maxVisibleDots",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Maximum number of dots rendered at once. When the snap count exceeds this,\na sliding window keeps the active dot in view and shrinks the edge dot(s)\non the side where dots are hidden. `0` (default) renders all dots.",
              "attribute": "max-visible-dots"
            },
            {
              "kind": "field",
              "name": "scrollButtonsPosition",
              "type": {
                "text": "'inside' | 'outside'"
              },
              "default": "'inside'",
              "attribute": "scroll-buttons-position"
            },
            {
              "kind": "field",
              "name": "scrollButtons",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "previousBtn",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "nextBtn",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "container",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "method",
              "name": "options",
              "return": {
                "type": {
                  "text": "EmblaOptionsType"
                }
              }
            },
            {
              "kind": "field",
              "name": "next"
            },
            {
              "kind": "field",
              "name": "previous"
            },
            {
              "kind": "method",
              "name": "goToSlide",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "jump",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "slideNodes"
            },
            {
              "kind": "method",
              "name": "slidesInView"
            },
            {
              "kind": "method",
              "name": "isActive"
            },
            {
              "kind": "method",
              "name": "renderFullscreenButton"
            },
            {
              "kind": "method",
              "name": "renderNextPreviousButtons"
            }
          ],
          "events": [
            {
              "name": "select",
              "description": "Fired when the active slide changes. Bubbles. Properties: `index: number`.",
              "cancelable": false
            },
            {
              "name": "slides-in-view",
              "description": "Fired when the set of slides in view changes. Properties: `indexes: number[]`.",
              "cancelable": false
            },
            {
              "name": "fullscreen",
              "description": "Fired when the fullscreen button is activated.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "autoplay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Choose a delay between transitions in milliseconds (default: 4000).",
              "fieldName": "autoplay"
            },
            {
              "name": "autoplay-options",
              "type": {
                "text": "any"
              },
              "description": "Configure autoplay options.",
              "fieldName": "autoplayOptions"
            },
            {
              "name": "axis",
              "type": {
                "text": "AxisOptionType"
              },
              "default": "'x'",
              "description": "Choose scroll axis between x and y.",
              "fieldName": "axis"
            },
            {
              "name": "align",
              "type": {
                "text": "AlignmentOptionType"
              },
              "default": "'start'",
              "description": "Align the slides relative to the carousel viewport.",
              "fieldName": "align"
            },
            {
              "name": "breakpoints",
              "type": {
                "text": "any"
              },
              "default": "{}",
              "description": "Breakpoint overrides for options.",
              "fieldName": "breakpoints"
            },
            {
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables infinite looping.",
              "fieldName": "loop"
            },
            {
              "name": "drag-free",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables momentum scrolling (drag free).",
              "fieldName": "dragFree"
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "20",
              "description": "Set scroll duration when triggered by API methods.",
              "fieldName": "duration"
            },
            {
              "name": "skip-snaps",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow skipping scroll snaps on vigorous drag.",
              "fieldName": "skipSnaps"
            },
            {
              "name": "slides-to-scroll",
              "type": {
                "text": "SlidesToScrollOptionType"
              },
              "default": "1",
              "description": "Group slides together for navigation.",
              "fieldName": "slidesToScroll"
            },
            {
              "name": "start-index",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Set the initial scroll snap index.",
              "fieldName": "startIndex"
            },
            {
              "name": "contain-scroll",
              "type": {
                "text": "ScrollContainOptionType"
              },
              "default": "'trimSnaps'",
              "description": "Clear leading and trailing empty space.",
              "fieldName": "containScroll"
            },
            {
              "name": "single",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "single"
            },
            {
              "name": "with-dots",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "withDots"
            },
            {
              "name": "with-scrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "withScrollbar"
            },
            {
              "name": "with-fullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "withFullscreen"
            },
            {
              "name": "dot-appearance",
              "type": {
                "text": "'circle' | 'bar'"
              },
              "default": "'bar'",
              "fieldName": "dotAppearance"
            },
            {
              "name": "max-visible-dots",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Maximum number of dots rendered at once. When the snap count exceeds this,\na sliding window keeps the active dot in view and shrinks the edge dot(s)\non the side where dots are hidden. `0` (default) renders all dots.",
              "fieldName": "maxVisibleDots"
            },
            {
              "name": "scroll-buttons-position",
              "type": {
                "text": "'inside' | 'outside'"
              },
              "default": "'inside'",
              "fieldName": "scrollButtonsPosition"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-carousel",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CarouselSelectEvent",
          "declaration": {
            "name": "CarouselSelectEvent",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "js",
          "name": "SlidesInViewEvent",
          "declaration": {
            "name": "SlidesInViewEvent",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "js",
          "name": "FullscreenToggleEvent",
          "declaration": {
            "name": "FullscreenToggleEvent",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        },
        {
          "kind": "js",
          "name": "Carousel",
          "declaration": {
            "name": "Carousel",
            "module": "src/html/elements/carousel/carousel.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/carousel/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/carousel/carousel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/carousel-item/carousel-item.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A single slide inside an `<l-carousel>`.",
          "name": "CarouselItem",
          "cssProperties": [
            {
              "description": "Aspect ratio of the slide.",
              "name": "--aspect-ratio"
            }
          ],
          "members": [],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-carousel-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CarouselItem",
          "declaration": {
            "name": "CarouselItem",
            "module": "src/html/elements/carousel-item/carousel-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/carousel-item/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/carousel-item/carousel-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/checkbox/checkbox.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CheckboxMeta",
          "cssProperties": [
            {
              "description": "Box size. Defaults to `--l-form-control-toggle-size`.",
              "name": "--size",
              "default": "1.25em"
            },
            {
              "description": "Checked/indeterminate fill color.",
              "name": "--accent",
              "default": "var(--l-form-control-activated-color)"
            },
            {
              "description": "Checkmark icon as a `url()`. Override to swap the SVG (color is baked into the image).",
              "name": "--checkmark"
            }
          ],
          "attributes": [
            {
              "description": "Whether the checkbox is checked.",
              "name": "checked"
            },
            {
              "description": "Disables the checkbox.",
              "name": "disabled"
            },
            {
              "description": "Marks the checkbox as required for form submission.",
              "name": "required"
            },
            {
              "description": "Indeterminate state (DOM property `el.indeterminate = true`; renders a dash). Typically the parent of a group.",
              "name": "indeterminate"
            },
            {
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically.",
              "name": "aria-invalid"
            }
          ],
          "summary": "Checkboxes let users select one or more options, or toggle a single setting on or off.",
          "examples": [
            {
              "title": "Default",
              "language": "html",
              "code": "<input type=\"checkbox\" class=\"l-checkbox\" checked />"
            },
            {
              "title": "In a field (no class needed)",
              "language": "html",
              "code": "<l-form-field>\n<label>Subscribe to the newsletter</label>\n<input type=\"checkbox\" />\n<l-hint>One email a month.</l-hint>\n</l-form-field>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-checkbox",
              "description": "Base checkbox style, applied to `<input type=\"checkbox\">`. Inside `l-form-field` a bare checkbox is auto-styled, so the class is optional there."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "input",
          "selector": ".l-checkbox",
          "_attributes": [
            {
              "name": "checked",
              "description": "Whether the checkbox is checked."
            },
            {
              "name": "disabled",
              "description": "Disables the checkbox."
            },
            {
              "name": "required",
              "description": "Marks the checkbox as required for form submission."
            },
            {
              "name": "indeterminate",
              "description": "Indeterminate state (DOM property `el.indeterminate = true`; renders a dash). Typically the parent of a group."
            },
            {
              "name": "aria-invalid",
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CheckboxMeta",
          "declaration": {
            "name": "CheckboxMeta",
            "module": "src/html/elements/checkbox/checkbox.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/close-button/close-button.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CloseButtonMeta",
          "cssProperties": [
            {
              "description": "Button size.",
              "name": "--size",
              "default": "36px"
            },
            {
              "description": "Icon color.",
              "name": "--icon-color"
            },
            {
              "description": "Icon size.",
              "name": "--icon-size",
              "default": "24px"
            },
            {
              "description": "Hover ring color (`ring` appearance only).",
              "name": "--ring-color"
            },
            {
              "description": "Hover ring thickness (`ring` appearance only).",
              "name": "--ring-tickness"
            }
          ],
          "attributes": [
            {
              "description": "ring | square | circle — Visual appearance (matches the imported appearance CSS).",
              "name": "data-appearance"
            },
            {
              "description": "Invoker command (typically `close`).",
              "name": "command"
            },
            {
              "description": "ID of the target element to close.",
              "name": "commandfor"
            }
          ],
          "summary": "A circular/square icon button that renders an X via CSS mask, for dismissing dialogs and panels.",
          "examples": [
            {
              "title": "Ring appearance",
              "language": "html",
              "code": "<button class=\"l-close\" data-appearance=\"ring\" aria-label=\"Close\"></button>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-close",
              "description": "Base close button with X icon via CSS mask."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "button",
          "selector": ".l-close",
          "_attributes": [
            {
              "name": "data-appearance",
              "values": [
                "ring",
                "square",
                "circle"
              ],
              "description": "Visual appearance (matches the imported appearance CSS)."
            },
            {
              "name": "command",
              "description": "Invoker command (typically `close`)."
            },
            {
              "name": "commandfor",
              "description": "ID of the target element to close."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CloseButtonMeta",
          "declaration": {
            "name": "CloseButtonMeta",
            "module": "src/html/elements/close-button/close-button.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/combobox/combobox.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when an option is committed (selected). Bubbles; not composed.",
          "name": "ComboboxChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "readonly": true,
              "default": "value"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/combobox/combobox.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired as the user types (filter query changes). Bubbles; not composed.",
          "name": "ComboboxInputEvent",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "readonly": true,
              "description": "The current query text.",
              "default": "value"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/combobox/combobox.ts"
          }
        },
        {
          "kind": "class",
          "description": "A text input paired with a filterable list of options (the ARIA combobox\npattern). Options are authored as a native `<datalist>` of `<option>` —\nthe same authoring surface as `l-select`. Form-associated.",
          "name": "Combobox",
          "cssProperties": [
            {
              "description": "Control height. Defaults to the form-control height.",
              "name": "--height"
            },
            {
              "description": "Control + panel radius.",
              "name": "--border-radius"
            },
            {
              "description": "Panel background.",
              "name": "--background"
            }
          ],
          "cssParts": [
            {
              "description": "The host wrapper.",
              "name": "base"
            },
            {
              "description": "The input control row (input + clear + chevron).",
              "name": "control"
            },
            {
              "description": "The text input.",
              "name": "input"
            },
            {
              "description": "The floating popover panel.",
              "name": "panel"
            },
            {
              "description": "The options container.",
              "name": "listbox"
            },
            {
              "description": "Each option row.",
              "name": "option"
            },
            {
              "description": "The \"no results\" message.",
              "name": "empty"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Selected value (the chosen option's `value`).",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text in the input.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible label for the input.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "ComboboxSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a button to clear the value.",
              "attribute": "with-clear",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "allowCustom",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Accept a typed value that matches no option.",
              "attribute": "allow-custom",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "highlight",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Wrap the matching substring of each option in `<mark>`.",
              "attribute": "highlight"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "Panel placement relative to the control.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "ComboboxFilter"
              },
              "default": "defaultFilter",
              "description": "Override the option filter. `(item, query) => boolean`."
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fired when an option is selected. Bubbles. Not cancelable. Properties: `value: string`.",
              "cancelable": false
            },
            {
              "name": "input",
              "description": "Fired as the user types. Bubbles. Not cancelable. Properties: `value: string` (the query).",
              "cancelable": false
            },
            {
              "name": "show",
              "description": "Fired before the list opens. Cancelable.",
              "cancelable": true
            },
            {
              "name": "hide",
              "description": "Fired before the list closes. Cancelable.",
              "cancelable": true
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Selected value (the chosen option's `value`).",
              "fieldName": "value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text in the input.",
              "fieldName": "placeholder"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible label for the input.",
              "fieldName": "label"
            },
            {
              "name": "size",
              "type": {
                "text": "ComboboxSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "fieldName": "size"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a button to clear the value.",
              "fieldName": "withClear"
            },
            {
              "name": "allow-custom",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Accept a typed value that matches no option.",
              "fieldName": "allowCustom"
            },
            {
              "name": "highlight",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Wrap the matching substring of each option in `<mark>`.",
              "fieldName": "highlight"
            },
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "Panel placement relative to the control.",
              "fieldName": "placement"
            }
          ],
          "superclass": {
            "name": "LuxenFormAssociatedElement",
            "module": "/src/html/shared/luxen-form-associated-element.js"
          },
          "tagName": "l-combobox",
          "customElement": true,
          "summary": "A searchable text input with a filtered list of options.",
          "examples": [
            {
              "language": "html",
              "code": "<l-combobox label=\"Country\" name=\"country\" placeholder=\"Search…\">\n  <datalist>\n    <option value=\"us\">United States</option>\n    <option value=\"fr\">France</option>\n  </datalist>\n</l-combobox>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ComboboxChangeEvent",
          "declaration": {
            "name": "ComboboxChangeEvent",
            "module": "src/html/elements/combobox/combobox.ts"
          }
        },
        {
          "kind": "js",
          "name": "ComboboxInputEvent",
          "declaration": {
            "name": "ComboboxInputEvent",
            "module": "src/html/elements/combobox/combobox.ts"
          }
        },
        {
          "kind": "js",
          "name": "Combobox",
          "declaration": {
            "name": "Combobox",
            "module": "src/html/elements/combobox/combobox.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/combobox/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/combobox/combobox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dialog/dialog.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A modal dialog rendered in the top layer via the native `<dialog>` element.\n\nOpen and close by toggling the `open` property (or the `--show` / `--hide`\nInvoker commands). There are no public `show()` / `close()` methods.",
          "name": "Dialog",
          "cssProperties": [
            {
              "description": "Dialog width.",
              "name": "--width",
              "default": "31rem"
            },
            {
              "description": "Dialog border radius.",
              "name": "--border-radius",
              "default": "6px"
            },
            {
              "description": "Padding applied to the header, footer, and inline-padding of the body. Set to `0` to remove all internal spacing (e.g. for edge-to-edge media).",
              "name": "--padding",
              "default": "1.5rem"
            },
            {
              "description": "Open transition duration.",
              "name": "--show-duration",
              "default": "200ms"
            },
            {
              "description": "Close transition duration.",
              "name": "--hide-duration",
              "default": "200ms"
            },
            {
              "description": "Backdrop color.",
              "name": "--backdrop"
            },
            {
              "description": "Backdrop blur amount (any CSS length). `0` means no blur; set e.g. `4px` for a subtle frost.",
              "name": "--backdrop-blur",
              "default": "0"
            }
          ],
          "cssParts": [
            {
              "description": "The native `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The header wrapper containing the title and close slot.",
              "name": "header"
            },
            {
              "description": "The dialog title heading.",
              "name": "title"
            },
            {
              "description": "The body wrapper around the default slot.",
              "name": "body"
            },
            {
              "description": "The footer wrapper around the footer slot.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "Body content.",
              "name": ""
            },
            {
              "description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property. Also provides the dialog's accessible name.",
              "name": "title"
            },
            {
              "description": "Close button (typically `<button class=\"l-close\">`).",
              "name": "close"
            },
            {
              "description": "Footer actions.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "attribute": "light-dismiss",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "attribute": "without-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Fired when the dialog is about to open. Cancelable — call `event.preventDefault()` to keep it closed.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Fired after the open animation completes. Not cancelable.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Fired when the dialog is about to close. Cancelable — call `event.preventDefault()` to keep it open.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Fired after the close animation completes. Not cancelable.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "fieldName": "title"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "fieldName": "open"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "fieldName": "lightDismiss"
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "fieldName": "withoutHeader"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-dialog",
          "customElement": true,
          "commands": [
            {
              "name": "--show",
              "description": "Sets `open = true`."
            },
            {
              "name": "--hide",
              "description": "Sets `open = false`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Dialog",
          "declaration": {
            "name": "Dialog",
            "module": "src/html/elements/dialog/dialog.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dialog/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/dialog/dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/disclosure/disclosure.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "DisclosureMeta",
          "cssProperties": [
            {
              "description": "Marker icon size.",
              "name": "--marker-size",
              "default": "20px"
            },
            {
              "description": "Marker icon color (default `var(--l-color-text-tertiary)`).",
              "name": "--marker-color"
            }
          ],
          "events": [
            {
              "name": "toggle",
              "description": "Fires when the disclosure opens or closes (`e.newState` is `\"open\"` or `\"closed\"`).",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "description": "Native attribute — starts the disclosure expanded.",
              "name": "open"
            },
            {
              "description": "Native attribute — groups disclosures into an exclusive accordion.",
              "name": "name"
            },
            {
              "description": "arrow | plus — Marker icon: `arrow` rotates 180° when open; `plus` rotates 45° into a cross.",
              "name": "data-marker"
            },
            {
              "description": "bordered — Adds border, background, and border-radius.",
              "name": "data-variant"
            },
            {
              "description": "Disables interaction (set on `<details>` or `<summary>`).",
              "name": "disabled"
            }
          ],
          "summary": "A headless, animated disclosure built on native `<details>`/`<summary>`.",
          "examples": [
            {
              "title": "Bordered with arrow marker",
              "language": "html",
              "code": "<details class=\"l-disclosure\" data-variant=\"bordered\" data-marker=\"arrow\">\n<summary>Details</summary>\n<div>Content</div>\n</details>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-disclosure",
              "description": "Headless base — layout, animation, and marker behavior only."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "details",
          "selector": ".l-disclosure",
          "_attributes": [
            {
              "name": "open",
              "description": "Native attribute — starts the disclosure expanded."
            },
            {
              "name": "name",
              "description": "Native attribute — groups disclosures into an exclusive accordion."
            },
            {
              "name": "data-marker",
              "values": [
                "arrow",
                "plus"
              ],
              "description": "Marker icon: `arrow` rotates 180° when open; `plus` rotates 45° into a cross."
            },
            {
              "name": "data-variant",
              "description": "bordered — Adds border, background, and border-radius."
            },
            {
              "name": "disabled",
              "description": "Disables interaction (set on `<details>` or `<summary>`)."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DisclosureMeta",
          "declaration": {
            "name": "DisclosureMeta",
            "module": "src/html/elements/disclosure/disclosure.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/divider/divider.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Divider",
          "cssProperties": [
            {
              "description": "The color of the divider line.",
              "name": "--color"
            },
            {
              "description": "The thickness of the divider line.",
              "name": "--thickness"
            },
            {
              "description": "The spacing between the divider and its neighboring elements.",
              "name": "--spacing"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "DividerOrientation"
              },
              "default": "'horizontal'",
              "description": "The divider's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional text label displayed over the divider line.",
              "attribute": "label",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "DividerOrientation"
              },
              "default": "'horizontal'",
              "description": "The divider's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional text label displayed over the divider line.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-divider",
          "customElement": true,
          "summary": "Dividers visually separate or group elements.",
          "examples": [
            {
              "language": "html",
              "code": "<l-divider></l-divider>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Divider",
          "declaration": {
            "name": "Divider",
            "module": "src/html/elements/divider/divider.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/divider/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/divider/divider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/drawer/drawer.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A drawer that slides in from a screen edge. Extends `<l-dialog>`.\n\nOpen and close by toggling the `open` property (or the `--show` / `--hide`\nInvoker commands). Always opens as modal.",
          "name": "Drawer",
          "cssProperties": [
            {
              "description": "Drawer size on the axis perpendicular to its edge (width for `start`/`end`, height for `top`/`bottom`). Default `320px`.",
              "name": "--size"
            },
            {
              "description": "Drawer border radius on the inner edges (all corners when `inset`). Default `0.375rem`.",
              "name": "--border-radius",
              "default": "6px",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Gap between the drawer and the viewport edges when `inset` is set. Default `1rem`.",
              "name": "--inset-gap"
            },
            {
              "description": "Drop shadow applied to the floating panel when `inset` is set. Set to `none` to remove it.",
              "name": "--shadow"
            },
            {
              "description": "Open transition duration. Default `200ms`.",
              "name": "--show-duration",
              "default": "200ms",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Close transition duration. Default `200ms`.",
              "name": "--hide-duration",
              "default": "200ms",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Backdrop color.",
              "name": "--backdrop",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Dialog width.",
              "name": "--width",
              "default": "31rem",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Padding applied to the header, footer, and inline-padding of the body. Set to `0` to remove all internal spacing (e.g. for edge-to-edge media).",
              "name": "--padding",
              "default": "1.5rem",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Backdrop blur amount (any CSS length). `0` means no blur; set e.g. `4px` for a subtle frost.",
              "name": "--backdrop-blur",
              "default": "0",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "cssParts": [
            {
              "description": "The native `<dialog>` element.",
              "name": "dialog",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The header wrapper containing the title and close slot.",
              "name": "header",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The drawer title heading.",
              "name": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The body wrapper around the default slot.",
              "name": "body",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "The footer wrapper around the footer slot.",
              "name": "footer",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "slots": [
            {
              "description": "Body content.",
              "name": "",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property. Also provides the dialog's accessible name.",
              "name": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Close button (typically `<button class=\"l-close\">`).",
              "name": "close",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "description": "Footer actions.",
              "name": "footer",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'start' | 'end' | 'top' | 'bottom' | undefined"
              },
              "description": "Edge the drawer slides in from. Defaults to the start (inline-start) edge.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Detach the drawer from the viewport edges, floating it with a uniform gap and rounded corners.",
              "attribute": "inset",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "attribute": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "attribute": "light-dismiss",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "attribute": "without-header",
              "reflects": true,
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              },
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Fired when the drawer is about to open. Cancelable — call `event.preventDefault()` to keep it closed.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Fired after the open animation completes. Not cancelable.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Fired when the drawer is about to close. Cancelable — call `event.preventDefault()` to keep it open.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Fired after the close animation completes. Not cancelable.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "'start' | 'end' | 'top' | 'bottom' | undefined"
              },
              "description": "Edge the drawer slides in from. Defaults to the start (inline-start) edge.",
              "fieldName": "placement"
            },
            {
              "name": "inset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Detach the drawer from the viewport edges, floating it with a uniform gap and rounded corners.",
              "fieldName": "inset"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Dialog title rendered in the header and used as the dialog's accessible name.",
              "fieldName": "title",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dialog is open.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Close when the backdrop is clicked.",
              "fieldName": "lightDismiss",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the header entirely (title and close slot).",
              "fieldName": "withoutHeader",
              "inheritedFrom": {
                "name": "Dialog",
                "module": "src/html/elements/dialog/dialog.ts"
              }
            }
          ],
          "superclass": {
            "name": "Dialog",
            "module": "/src/html/elements/dialog/dialog.js"
          },
          "tagName": "l-drawer",
          "customElement": true,
          "commands": [
            {
              "name": "--show",
              "description": "Sets `open = true`."
            },
            {
              "name": "--hide",
              "description": "Sets `open = false`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Drawer",
          "declaration": {
            "name": "Drawer",
            "module": "src/html/elements/drawer/drawer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/drawer/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/drawer/drawer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown/dropdown.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when a dropdown item is selected. Bubbles; not composed.",
          "name": "DropdownSelectEvent",
          "members": [
            {
              "kind": "field",
              "name": "item",
              "type": {
                "text": "DropdownItem"
              },
              "readonly": true,
              "default": "item"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/dropdown/dropdown.ts"
          }
        },
        {
          "kind": "class",
          "description": "A dropdown menu anchored to a trigger element.",
          "name": "Dropdown",
          "cssProperties": [
            {
              "description": "Panel background color.",
              "name": "--background"
            },
            {
              "description": "Panel border radius. Default `8px`.",
              "name": "--border-radius"
            },
            {
              "description": "Panel inner padding. Default `0.25rem`. Slotted `<l-divider>` elements bleed by this amount on each side to span the panel edges.",
              "name": "--padding"
            },
            {
              "description": "Panel box shadow.",
              "name": "--shadow"
            },
            {
              "description": "Show animation duration in ms. Default `150`.",
              "name": "--show-duration"
            },
            {
              "description": "Hide animation duration in ms. Default `150`.",
              "name": "--hide-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The floating menu container.",
              "name": "panel"
            }
          ],
          "slots": [
            {
              "description": "The element that triggers the dropdown.",
              "name": "trigger"
            },
            {
              "description": "Optional content rendered above the menu items (e.g. a user profile row). Use an `<l-divider>` (or `<hr>`) after it to separate from items.",
              "name": "header"
            },
            {
              "description": "Menu content (`l-dropdown-item` elements). Drop an `<l-divider>` (or `<hr>`) between items to render a section separator, or an `<l-dropdown-label>` to caption a group of items. Nest items with `slot=\"submenu\"` inside an item to create a submenu.",
              "name": ""
            },
            {
              "description": "Optional content rendered below the menu items (e.g. a version label or shortcut row). Use an `<l-divider>` (or `<hr>`) before it to separate from items.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dropdown is open.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "Preferred placement of the panel.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "Distance in pixels from the trigger.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown trigger.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minWidth",
              "type": {
                "text": "'trigger' | undefined"
              },
              "description": "Floor the panel's width at the trigger's width. Set to `trigger` so the\npanel is never narrower than the trigger; it still grows with its content.\nUseful for select-like triggers (a date-range or filter button) where the\npanel should line up with the control. Re-applies if the trigger resizes\nwhile open.",
              "attribute": "min-width"
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            },
            {
              "kind": "method",
              "name": "toggle"
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Fired before the dropdown opens. Cancelable.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Fired after the open animation completes.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Fired before the dropdown closes. Cancelable.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Fired after the close animation completes.",
              "cancelable": false
            },
            {
              "name": "select",
              "description": "Fired when an item is selected, including items nested in submenus. Bubbles. Properties: `item: DropdownItem`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the dropdown is open.",
              "fieldName": "open"
            },
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "Preferred placement of the panel.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "Distance in pixels from the trigger.",
              "fieldName": "distance"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown trigger.",
              "fieldName": "disabled"
            },
            {
              "name": "min-width",
              "type": {
                "text": "'trigger' | undefined"
              },
              "description": "Floor the panel's width at the trigger's width. Set to `trigger` so the\npanel is never narrower than the trigger; it still grows with its content.\nUseful for select-like triggers (a date-range or filter button) where the\npanel should line up with the control. Re-applies if the trigger resizes\nwhile open.",
              "fieldName": "minWidth"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-dropdown",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DropdownSelectEvent",
          "declaration": {
            "name": "DropdownSelectEvent",
            "module": "src/html/elements/dropdown/dropdown.ts"
          }
        },
        {
          "kind": "js",
          "name": "Dropdown",
          "declaration": {
            "name": "Dropdown",
            "module": "src/html/elements/dropdown/dropdown.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/dropdown/dropdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown-item/dropdown-item.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A menu item for use inside `<l-dropdown>`.",
          "name": "DropdownItem",
          "cssProperties": [
            {
              "description": "Text color.",
              "name": "--color"
            }
          ],
          "cssParts": [
            {
              "description": "The floating submenu panel.",
              "name": "submenu"
            }
          ],
          "slots": [
            {
              "description": "Label text.",
              "name": ""
            },
            {
              "description": "Leading content (e.g. icon).",
              "name": "prefix"
            },
            {
              "description": "Trailing content.",
              "name": "suffix"
            },
            {
              "description": "Nested `l-dropdown-item` elements rendered in a submenu panel anchored to this item. Drop an `<hr>` between them for a separator.",
              "name": "submenu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value associated with this item.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "The type of item: `normal` or `checkbox`.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the checkbox item is checked.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "submenuOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this item's submenu is open. Managed by the parent `l-dropdown`.",
              "attribute": "submenu-open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSubmenu",
              "type": {
                "text": "boolean"
              },
              "description": "Whether this item has nested `slot=\"submenu\"` items.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getTextLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "Returns the text label of this item (excludes nested submenu items)."
            },
            {
              "kind": "method",
              "name": "getSubmenuItems",
              "return": {
                "type": {
                  "text": "DropdownItem[]"
                }
              },
              "description": "Returns the enabled `l-dropdown-item` elements slotted into this item's submenu."
            },
            {
              "kind": "method",
              "name": "openSubmenu",
              "description": "Opens this item's submenu panel. No-op without submenu items."
            },
            {
              "kind": "method",
              "name": "closeSubmenu",
              "description": "Closes this item's submenu panel, including any open nested submenus."
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value associated with this item.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "fieldName": "disabled"
            },
            {
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "The type of item: `normal` or `checkbox`.",
              "fieldName": "type"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the checkbox item is checked.",
              "fieldName": "checked"
            },
            {
              "name": "submenu-open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this item's submenu is open. Managed by the parent `l-dropdown`.",
              "fieldName": "submenuOpen"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-dropdown-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DropdownItem",
          "declaration": {
            "name": "DropdownItem",
            "module": "src/html/elements/dropdown-item/dropdown-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown-item/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/dropdown-item/dropdown-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown-label/dropdown-label.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A non-interactive section label for grouping items inside `<l-dropdown>`.",
          "name": "DropdownLabel",
          "cssProperties": [
            {
              "description": "Text color. Defaults to `var(--l-color-text-tertiary)`.",
              "name": "--color"
            }
          ],
          "slots": [
            {
              "description": "Label text.",
              "name": ""
            }
          ],
          "members": [],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-dropdown-label",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DropdownLabel",
          "declaration": {
            "name": "DropdownLabel",
            "module": "src/html/elements/dropdown-label/dropdown-label.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/dropdown-label/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/dropdown-label/dropdown-label.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/form-field/form-field.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "FormField",
          "slots": [
            {
              "description": "A `<label>`, one form control (a native `input` / `select` / `textarea`, or a form-associated custom element such as `l-slider`), and optional `.l-hint` / `.l-error` message elements, in any order.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "layout",
              "type": {
                "text": "'inline' | 'stacked' | undefined"
              },
              "description": "Layout, derived from the control type (`inline` for checkbox/radio/switch, otherwise `stacked`). Set one to force it.",
              "attribute": "layout",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected when the control is required. Drives the label marker.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "optional",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected when the control is not required.",
              "attribute": "optional",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected once the control is invalid after interaction (or set to force the invalid state).",
              "attribute": "invalid",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "unstyled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opt out of auto-styling the control; the ARIA wiring is preserved.",
              "attribute": "unstyled",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "layout",
              "type": {
                "text": "'inline' | 'stacked' | undefined"
              },
              "description": "Layout, derived from the control type (`inline` for checkbox/radio/switch, otherwise `stacked`). Set one to force it.",
              "fieldName": "layout"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected when the control is required. Drives the label marker.",
              "fieldName": "required"
            },
            {
              "name": "optional",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected when the control is not required.",
              "fieldName": "optional"
            },
            {
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflected once the control is invalid after interaction (or set to force the invalid state).",
              "fieldName": "invalid"
            },
            {
              "name": "unstyled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opt out of auto-styling the control; the ARIA wiring is preserved.",
              "fieldName": "unstyled"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-form-field",
          "customElement": true,
          "summary": "Progressively enhances a label + control + messages group: wires the\naccessibility plumbing (`id`/`for`, `aria-describedby`, `aria-invalid`,\nrequired marker) and picks an inline or stacked layout from the control type.\n\nStyling stays on the control (`.l-checkbox`, …); inside a field a bare control\nis auto-styled by the element CSS. Add `unstyled` to keep the ARIA wiring while\nopting out of that auto-styling (e.g. for a third-party control).",
          "examples": [
            {
              "language": "html",
              "code": "<l-form-field>\n  <label>Subscribe to the newsletter</label>\n  <input type=\"checkbox\" />\n  <p class=\"l-hint\">One email a month, unsubscribe anytime.</p>\n  <p class=\"l-error\">Please make a choice to continue.</p>\n</l-form-field>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-hint",
              "description": "Helper text element. Always visible; linked via `aria-describedby`."
            },
            {
              "name": ".l-error",
              "description": "Error message element. Hidden until invalid, then revealed with `role=\"alert\"` and linked via `aria-describedby`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FormField",
          "declaration": {
            "name": "FormField",
            "module": "src/html/elements/form-field/form-field.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/form-field/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/form-field/form-field.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/icon/icon.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Icon",
          "cssProperties": [
            {
              "description": "The color of the icon. Defaults to `currentColor`.",
              "name": "--color"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon name in Iconify format (e.g. `mdi:home`, `lucide:check`).",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Accessible label. When set, the icon becomes meaningful (`role=\"img\"` + `aria-label`). When absent, the icon is decorative.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon name in Iconify format (e.g. `mdi:home`, `lucide:check`).",
              "fieldName": "name"
            },
            {
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "Accessible label. When set, the icon becomes meaningful (`role=\"img\"` + `aria-label`). When absent, the icon is decorative.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-icon",
          "customElement": true,
          "summary": "An icon component that renders icons from any Iconify icon set. Decorative by default. Set `label` for meaningful icons."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Icon",
          "declaration": {
            "name": "Icon",
            "module": "src/html/elements/icon/icon.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/icon/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/icon/icon.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input/input.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "InputMeta",
          "cssProperties": [
            {
              "description": "Control height.",
              "name": "--height",
              "default": "var(--l-form-control-height)"
            },
            {
              "description": "Control border radius.",
              "name": "--border-radius",
              "default": "var(--l-form-control-border-radius)"
            },
            {
              "description": "Date picker glyph as a `url()`. Masked, so color is taken from the control, not the image.",
              "name": "--calendar-icon"
            },
            {
              "description": "Time picker glyph as a `url()`.",
              "name": "--clock-icon"
            },
            {
              "description": "Search clear glyph as a `url()`.",
              "name": "--clear-icon"
            }
          ],
          "attributes": [
            {
              "description": "text | search | number | password | email | url | tel | date | time — Native input type. `date`/`time` get custom picker icons; `search` gets a custom clear button.",
              "name": "type"
            },
            {
              "description": "xs | sm | md | lg | xl — Control height on the shared `--l-size-control-*` scale (default `md`). Affects only the height, not the label or hint/error.",
              "name": "data-size"
            },
            {
              "description": "Native placeholder text.",
              "name": "placeholder"
            },
            {
              "description": "Disables the input.",
              "name": "disabled"
            },
            {
              "description": "Marks the input as required for form submission.",
              "name": "required"
            },
            {
              "description": "Makes the input read-only.",
              "name": "readonly"
            },
            {
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically.",
              "name": "aria-invalid"
            }
          ],
          "summary": "Inputs let users enter and edit text, numbers, dates, and other single-line values.",
          "examples": [
            {
              "title": "Default",
              "language": "html",
              "code": "<input type=\"text\" class=\"l-input\" placeholder=\"Placeholder text\" />"
            },
            {
              "title": "With a trailing unit",
              "language": "html",
              "code": "<l-input-group>\n<input type=\"number\" placeholder=\"Placeholder text\" />\n<span>cm</span>\n</l-input-group>"
            },
            {
              "title": "With a leading icon",
              "language": "html",
              "code": "<l-input-group>\n<l-icon name=\"lucide:search\"></l-icon>\n<input type=\"search\" placeholder=\"Search\" />\n</l-input-group>"
            },
            {
              "title": "Password with a show/hide toggle",
              "language": "html",
              "code": "<l-input-group password-toggle>\n<input type=\"password\" autocomplete=\"current-password\" />\n</l-input-group>"
            },
            {
              "title": "In a field (no class needed)",
              "language": "html",
              "code": "<l-form-field>\n<label>Email</label>\n<input type=\"email\" />\n<l-hint>We'll never share it.</l-hint>\n</l-form-field>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-input",
              "description": "Base input style, applied to a text-like `<input>` (text, search, number, password, email, url, tel, date, time, …). Inside `l-form-field` or `l-input-group` a bare text input is auto-styled, so the class is optional there."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "input",
          "selector": ".l-input",
          "_attributes": [
            {
              "name": "type",
              "values": [
                "text",
                "search",
                "number",
                "password",
                "email",
                "url",
                "tel",
                "date",
                "time"
              ],
              "description": "Native input type. `date`/`time` get custom picker icons; `search` gets a custom clear button."
            },
            {
              "name": "data-size",
              "values": [
                "xs",
                "sm",
                "md",
                "lg",
                "xl"
              ],
              "description": "Control height on the shared `--l-size-control-*` scale (default `md`). Affects only the height, not the label or hint/error."
            },
            {
              "name": "placeholder",
              "description": "Native placeholder text."
            },
            {
              "name": "disabled",
              "description": "Disables the input."
            },
            {
              "name": "required",
              "description": "Marks the input as required for form submission."
            },
            {
              "name": "readonly",
              "description": "Makes the input read-only."
            },
            {
              "name": "aria-invalid",
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "InputMeta",
          "declaration": {
            "name": "InputMeta",
            "module": "src/html/elements/input/input.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-group/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/input-group/input-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-group/input-group.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "InputGroup",
          "cssProperties": [
            {
              "description": "Control height.",
              "name": "--height",
              "default": "var(--l-form-control-height)"
            },
            {
              "description": "Corner radius.",
              "name": "--border-radius",
              "default": "var(--l-form-control-border-radius)"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "passwordToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Inject a show/hide toggle button after the inner `input[type=\"password\"]`.",
              "attribute": "password-toggle",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined"
              },
              "description": "Control size — maps the height to the shared `--l-size-control-*` scale (default `md`).",
              "attribute": "size",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "password-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Inject a show/hide toggle button after the inner `input[type=\"password\"]`.",
              "fieldName": "passwordToggle"
            },
            {
              "name": "size",
              "type": {
                "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined"
              },
              "description": "Control size — maps the height to the shared `--l-size-control-*` scale (default `md`).",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-input-group",
          "customElement": true,
          "summary": "Groups a text input with leading or trailing adornments — icons, units, buttons — inside one bordered field.\n\nLayout is pure CSS: children render in DOM order, so an `<l-icon>` placed\nbefore the `<input>` is a leading adornment and a `<span>` after it is a\ntrailing one. JavaScript only layers behavior on top: `password-toggle`\ninjects a show/hide button at upgrade time (without JS the field stays a\nplain password input — no dead button), and clicking the group's empty area\nfocuses the input.",
          "examples": [
            {
              "language": "html",
              "code": "<l-input-group password-toggle>\n  <input type=\"password\" autocomplete=\"current-password\" />\n</l-input-group>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-input-group-toggle",
              "description": "The injected show/hide password button."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "InputGroup",
          "declaration": {
            "name": "InputGroup",
            "module": "src/html/elements/input-group/input-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-otp/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/input-otp/input-otp.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-otp/input-otp.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Enhances a child `<input>` with visual digit cells (Stripe-style OTP input).\n\nA single hidden `<input>` handles keyboard, paste, and autocomplete.\nVisual cells are rendered as real DOM elements with individual borders and focus ring.",
          "name": "InputOtp",
          "cssProperties": [
            {
              "description": "Number of digit boxes (default: 6). Must match input's maxlength.",
              "name": "--digits"
            },
            {
              "description": "Cell width and height (default: 2.75rem). Font size scales automatically.",
              "name": "--cell-size"
            },
            {
              "description": "Space between cells (default: 0.5rem).",
              "name": "--cell-gap"
            },
            {
              "description": "Cell background color.",
              "name": "--cell-bg-color"
            },
            {
              "description": "Cell border color.",
              "name": "--cell-border-color"
            },
            {
              "description": "Cell border-radius.",
              "name": "--cell-border-radius"
            },
            {
              "description": "Border + ring color of the active (focused) cell.",
              "name": "--cell-focus-color"
            },
            {
              "description": "`box-shadow` of the active cell ring (defaults to a 1px solid ring; set to `none` to disable).",
              "name": "--cell-focus-ring"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "separatorAfter",
              "type": {
                "text": "number | undefined"
              },
              "description": "Position after which to insert a visual separator (e.g., 3 for a 3-3 grouping).",
              "attribute": "separator-after",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "description": "sm | lg — Cell size. Default is md.",
              "name": "size"
            },
            {
              "name": "separator-after",
              "type": {
                "text": "number | undefined"
              },
              "description": "Position after which to insert a visual separator (e.g., 3 for a 3-3 grouping).",
              "fieldName": "separatorAfter"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-input-otp",
          "customElement": true,
          "summary": "Stripe-style OTP input with visual digit cells over a hidden native input.",
          "_attributes": [
            {
              "name": "size",
              "values": [
                "sm",
                "lg"
              ],
              "description": "Cell size. Default is md."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "InputOtp",
          "declaration": {
            "name": "InputOtp",
            "module": "src/html/elements/input-otp/input-otp.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-stepper/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/input-stepper/input-stepper.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/input-stepper/input-stepper.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the stepper value changes. Bubbles; not composed.",
          "name": "StepperChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "value"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/input-stepper/input-stepper.ts"
          }
        },
        {
          "kind": "class",
          "description": "A stepper control that enhances a native `<input type=\"number\">` with\ndecrement/increment buttons and an optional animated number track.",
          "name": "InputStepper",
          "cssProperties": [
            {
              "description": "Border color of the stepper container (default appearance) and of each button (rounded appearance). Defaults to `--l-color-border`.",
              "name": "--border-color"
            },
            {
              "description": "Border radius of the stepper container (default appearance). Defaults to `--radius-md`.",
              "name": "--border-radius"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number | undefined"
              },
              "description": "Minimum allowed value. Falls back to the input's `min` attribute.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number | undefined"
              },
              "description": "Maximum allowed value. Falls back to the input's `max` attribute.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | undefined"
              },
              "description": "Step increment. Falls back to the input's `step` attribute.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "InputStepperSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withRoller",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable the animated number roller overlay.",
              "attribute": "with-roller",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "decrementIcon",
              "type": {
                "text": "string"
              },
              "default": "'lucide:minus'",
              "description": "Icon name for the decrement button.",
              "attribute": "decrement-icon"
            },
            {
              "kind": "field",
              "name": "incrementIcon",
              "type": {
                "text": "string"
              },
              "default": "'lucide:plus'",
              "description": "Icon name for the increment button.",
              "attribute": "increment-icon"
            },
            {
              "kind": "method",
              "name": "decrement",
              "description": "Decrease the value by one step."
            },
            {
              "kind": "method",
              "name": "increment",
              "description": "Increase the value by one step."
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fired when the value changes. Bubbles. Properties: `value: number`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "min",
              "type": {
                "text": "number | undefined"
              },
              "description": "Minimum allowed value. Falls back to the input's `min` attribute.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number | undefined"
              },
              "description": "Maximum allowed value. Falls back to the input's `max` attribute.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | undefined"
              },
              "description": "Step increment. Falls back to the input's `step` attribute.",
              "fieldName": "step"
            },
            {
              "name": "size",
              "type": {
                "text": "InputStepperSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "fieldName": "size"
            },
            {
              "name": "with-roller",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable the animated number roller overlay.",
              "fieldName": "withRoller"
            },
            {
              "name": "decrement-icon",
              "type": {
                "text": "string"
              },
              "default": "'lucide:minus'",
              "description": "Icon name for the decrement button.",
              "fieldName": "decrementIcon"
            },
            {
              "name": "increment-icon",
              "type": {
                "text": "string"
              },
              "default": "'lucide:plus'",
              "description": "Icon name for the increment button.",
              "fieldName": "incrementIcon"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-input-stepper",
          "customElement": true,
          "examples": [
            {
              "language": "html",
              "code": "<l-input-stepper>\n  <input type=\"number\" min=\"0\" max=\"10\" value=\"5\" />\n</l-input-stepper>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StepperChangeEvent",
          "declaration": {
            "name": "StepperChangeEvent",
            "module": "src/html/elements/input-stepper/input-stepper.ts"
          }
        },
        {
          "kind": "js",
          "name": "InputStepper",
          "declaration": {
            "name": "InputStepper",
            "module": "src/html/elements/input-stepper/input-stepper.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/kbd/kbd.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "KbdMeta",
          "summary": "Displays keyboard keys or shortcuts inline with text.",
          "examples": [
            {
              "title": "Single key",
              "language": "html",
              "code": "<kbd class=\"l-kbd\">Esc</kbd>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-kbd",
              "description": "Base class for keyboard key styling on `<kbd>` elements."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "kbd",
          "selector": ".l-kbd"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "KbdMeta",
          "declaration": {
            "name": "KbdMeta",
            "module": "src/html/elements/kbd/kbd.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/popover/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/popover/popover.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/popover/popover.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Popover",
          "cssProperties": [
            {
              "description": "Background color. Default: `Canvas`.",
              "name": "--background"
            },
            {
              "description": "Text color. Default: inherited.",
              "name": "--color"
            },
            {
              "description": "Border radius. Default `8px`.",
              "name": "--border-radius"
            },
            {
              "description": "Maximum width. Default `320px`.",
              "name": "--max-width"
            },
            {
              "description": "Box shadow.",
              "name": "--shadow"
            },
            {
              "description": "Arrow size. Default `8px`.",
              "name": "--arrow-size"
            },
            {
              "description": "Show animation duration. Default `150ms`.",
              "name": "--show-duration"
            },
            {
              "description": "Hide animation duration. Default `150ms`.",
              "name": "--hide-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The popover container.",
              "name": "body"
            },
            {
              "description": "The directional arrow element.",
              "name": "arrow"
            }
          ],
          "slots": [
            {
              "description": "Popover content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The HTML id of the element triggering the popover.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the popover.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from the target element.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not the popover is visible.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the directional arrow.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Stretch the popover to the viewport width. Useful for mega menus.",
              "attribute": "full-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'click'",
              "description": "Space-separated list of trigger modes: `click`, `hover`, `focus`, `manual`.",
              "attribute": "trigger"
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            },
            {
              "kind": "method",
              "name": "toggle"
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The HTML id of the element triggering the popover.",
              "fieldName": "for"
            },
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the popover.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from the target element.",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not the popover is visible.",
              "fieldName": "open"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the directional arrow.",
              "fieldName": "withoutArrow"
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Stretch the popover to the viewport width. Useful for mega menus.",
              "fieldName": "fullWidth"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'click'",
              "description": "Space-separated list of trigger modes: `click`, `hover`, `focus`, `manual`.",
              "fieldName": "trigger"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-popover",
          "customElement": true,
          "summary": "A popover that displays interactive content anchored to a trigger."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Popover",
          "declaration": {
            "name": "Popover",
            "module": "src/html/elements/popover/popover.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/progress/progress.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ProgressMeta",
          "cssProperties": [
            {
              "description": "Bar thickness.",
              "name": "--size",
              "default": "4px"
            },
            {
              "description": "Track background color.",
              "name": "--track-color"
            },
            {
              "description": "Fill/indicator color.",
              "name": "--indicator-color"
            },
            {
              "description": "Animation name for the indeterminate state.",
              "name": "--indeterminate-animation"
            }
          ],
          "attributes": [
            {
              "description": "Current progress between `0` and `1` (omit for indeterminate).",
              "name": "value"
            },
            {
              "description": "vertical — Vertical orientation.",
              "name": "data-orientation"
            }
          ],
          "summary": "A progress bar built on the native `<progress>` element.",
          "examples": [
            {
              "title": "Determinate",
              "language": "html",
              "code": "<progress class=\"l-progress\" value=\"0.5\"></progress>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-progress",
              "description": "Base progress bar style."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "progress",
          "selector": ".l-progress",
          "_attributes": [
            {
              "name": "value",
              "description": "Current progress between `0` and `1` (omit for indeterminate)."
            },
            {
              "name": "data-orientation",
              "description": "vertical — Vertical orientation."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ProgressMeta",
          "declaration": {
            "name": "ProgressMeta",
            "module": "src/html/elements/progress/progress.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/prose-editor/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/prose-editor/prose-editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/prose-editor/prose-editor.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the editor content changes. Bubbles; not composed.",
          "name": "EditorChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "html",
              "type": {
                "text": "string"
              },
              "readonly": true,
              "default": "htmlValue"
            },
            {
              "kind": "field",
              "name": "json",
              "type": {
                "text": "JSONContent"
              },
              "readonly": true,
              "default": "json"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/prose-editor/prose-editor.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the attachment toolbar button is clicked.",
          "name": "AddFileEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/prose-editor/prose-editor.ts"
          }
        },
        {
          "kind": "class",
          "description": "",
          "name": "ProseEditor",
          "cssProperties": [
            {
              "description": "Color of the editor frame border.",
              "name": "--border-color"
            },
            {
              "description": "Width of the editor frame border.",
              "name": "--border-width"
            },
            {
              "description": "Corner radius of the editor frame.",
              "name": "--border-radius"
            },
            {
              "description": "Background color of the editor.",
              "name": "--background"
            },
            {
              "description": "Text color of the editor.",
              "name": "--color"
            },
            {
              "description": "Background color of the toolbar.",
              "name": "--toolbar-background"
            },
            {
              "description": "Padding around the toolbar.",
              "name": "--toolbar-padding"
            },
            {
              "description": "Gap between toolbar buttons.",
              "name": "--toolbar-gap"
            },
            {
              "description": "Color of toolbar dividers.",
              "name": "--toolbar-divider-color"
            },
            {
              "description": "Size of toolbar buttons.",
              "name": "--toolbar-button-size"
            },
            {
              "description": "Corner radius of toolbar buttons.",
              "name": "--toolbar-button-radius"
            },
            {
              "description": "Icon color of inactive toolbar buttons.",
              "name": "--toolbar-button-color"
            },
            {
              "description": "Icon color of hovered/active toolbar buttons.",
              "name": "--toolbar-button-color-active"
            },
            {
              "description": "Background of hovered toolbar buttons.",
              "name": "--toolbar-button-background-hover"
            },
            {
              "description": "Background of active toolbar buttons.",
              "name": "--toolbar-button-background-active"
            },
            {
              "description": "Padding inside the editable content region. Default `0.75rem 1rem`.",
              "name": "--content-padding"
            },
            {
              "description": "Minimum height of the editable content region. Default `8rem`.",
              "name": "--content-min-height"
            },
            {
              "description": "Placeholder text color.",
              "name": "--placeholder-color"
            }
          ],
          "cssParts": [
            {
              "description": "The editor frame wrapping the toolbar and content.",
              "name": "wrapper"
            },
            {
              "description": "The toolbar row.",
              "name": "toolbar"
            },
            {
              "description": "Any toolbar button.",
              "name": "toolbar-button"
            },
            {
              "description": "A toolbar divider.",
              "name": "divider"
            },
            {
              "description": "The container around the editable content.",
              "name": "editor"
            }
          ],
          "slots": [
            {
              "description": "Content placed before the generated toolbar buttons.",
              "name": "toolbar-start"
            },
            {
              "description": "Content placed after the generated toolbar buttons.",
              "name": "toolbar-end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "editor",
              "type": {
                "text": "Editor"
              },
              "description": "The Tiptap editor instance. Available after the first render."
            },
            {
              "kind": "field",
              "name": "initialHtml",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initial HTML content.",
              "attribute": "initial-html"
            },
            {
              "kind": "field",
              "name": "initialJson",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initial content as a serialized ProseMirror JSON string.",
              "attribute": "initial-json"
            },
            {
              "kind": "field",
              "name": "editorClass",
              "type": {
                "text": "string"
              },
              "default": "'prose'",
              "description": "Class applied to the `.ProseMirror` editable element (e.g. for Tailwind Typography `prose`).",
              "attribute": "editor-class"
            },
            {
              "kind": "field",
              "name": "toolbar",
              "type": {
                "text": "ToolbarCommandName[]"
              },
              "default": "[]",
              "description": "Explicit list of toolbar commands. Overrides `toolbar-preset` when set.",
              "attribute": "toolbar"
            },
            {
              "kind": "field",
              "name": "toolbarPreset",
              "type": {
                "text": "'default' | 'minimal'"
              },
              "default": "'default'",
              "description": "Built-in toolbar layout used when `toolbar` is not set.",
              "attribute": "toolbar-preset"
            },
            {
              "kind": "field",
              "name": "toolbarPlacement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'top'",
              "description": "Where the toolbar sits relative to the content.",
              "attribute": "toolbar-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Focus the editor on creation.",
              "attribute": "autofocus",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder shown when the editor is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "emojiDataSource",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL the emoji picker fetches its data from. Point this at a locally served\n`emojibase-data` JSON to run fully offline (no CDN). Defaults to the\npicker's bundled CDN source.",
              "attribute": "emoji-data-source"
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getHTML",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "Get the current content as an HTML string. Empty paragraph resolves to `''`."
            },
            {
              "kind": "method",
              "name": "getJSON",
              "return": {
                "type": {
                  "text": "JSONContent"
                }
              },
              "description": "Get the current content as ProseMirror JSON."
            },
            {
              "kind": "method",
              "name": "clear",
              "description": "Remove all content."
            },
            {
              "kind": "method",
              "name": "focus"
            },
            {
              "kind": "method",
              "name": "blur"
            },
            {
              "kind": "method",
              "name": "toggleBold"
            },
            {
              "kind": "method",
              "name": "toggleItalic"
            },
            {
              "kind": "method",
              "name": "toggleUnderline"
            },
            {
              "kind": "method",
              "name": "toggleStrike"
            },
            {
              "kind": "method",
              "name": "toggleHighlight"
            },
            {
              "kind": "method",
              "name": "toggleHeading",
              "parameters": [
                {
                  "name": "level",
                  "type": {
                    "text": "1 | 2 | 3"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleBulletList"
            },
            {
              "kind": "method",
              "name": "toggleOrderedList"
            },
            {
              "kind": "method",
              "name": "toggleBlockquote"
            },
            {
              "kind": "method",
              "name": "toggleCodeBlock"
            },
            {
              "kind": "method",
              "name": "setHorizontalRule"
            },
            {
              "kind": "method",
              "name": "undo"
            },
            {
              "kind": "method",
              "name": "redo"
            },
            {
              "kind": "method",
              "name": "toggleLink"
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fired when the content changes. Bubbles. Properties: `html: string`, `json: JSONContent`.",
              "cancelable": false
            },
            {
              "name": "add-file",
              "description": "Fired when the attachment toolbar button is clicked.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "initial-html",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initial HTML content.",
              "fieldName": "initialHtml"
            },
            {
              "name": "initial-json",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initial content as a serialized ProseMirror JSON string.",
              "fieldName": "initialJson"
            },
            {
              "name": "editor-class",
              "type": {
                "text": "string"
              },
              "default": "'prose'",
              "description": "Class applied to the `.ProseMirror` editable element (e.g. for Tailwind Typography `prose`).",
              "fieldName": "editorClass"
            },
            {
              "name": "toolbar",
              "type": {
                "text": "ToolbarCommandName[]"
              },
              "default": "[]",
              "description": "Explicit list of toolbar commands. Overrides `toolbar-preset` when set.",
              "fieldName": "toolbar"
            },
            {
              "name": "toolbar-preset",
              "type": {
                "text": "'default' | 'minimal'"
              },
              "default": "'default'",
              "description": "Built-in toolbar layout used when `toolbar` is not set.",
              "fieldName": "toolbarPreset"
            },
            {
              "name": "toolbar-placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'top'",
              "description": "Where the toolbar sits relative to the content.",
              "fieldName": "toolbarPlacement"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Focus the editor on creation.",
              "fieldName": "autofocus"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder shown when the editor is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "emoji-data-source",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL the emoji picker fetches its data from. Point this at a locally served\n`emojibase-data` JSON to run fully offline (no CDN). Defaults to the\npicker's bundled CDN source.",
              "fieldName": "emojiDataSource"
            }
          ],
          "superclass": {
            "name": "LuxenFormAssociatedElement",
            "module": "/src/html/shared/luxen-form-associated-element.js"
          },
          "tagName": "l-prose-editor",
          "customElement": true,
          "summary": "A rich text editor built on Tiptap (ProseMirror). Form-associated: its value is the editor HTML.\n\n### Keyboard — APG Toolbar pattern\nThe generated toolbar buttons follow the\n[APG Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/):\nexactly one button holds `tabindex=\"0\"` at a time (roving tabindex).\n**ArrowRight** / **ArrowLeft** move focus to the next / previous button,\nwrapping around. **Home** / **End** jump to the first / last button.\nA single Tab enters and leaves the toolbar without stepping through every\nbutton. Slotted `toolbar-start` / `toolbar-end` focusables are excluded\nfrom roving management — they are consumer-controlled content and their\ntab order is handled by the consumer."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EditorChangeEvent",
          "declaration": {
            "name": "EditorChangeEvent",
            "module": "src/html/elements/prose-editor/prose-editor.ts"
          }
        },
        {
          "kind": "js",
          "name": "AddFileEvent",
          "declaration": {
            "name": "AddFileEvent",
            "module": "src/html/elements/prose-editor/prose-editor.ts"
          }
        },
        {
          "kind": "js",
          "name": "ProseEditor",
          "declaration": {
            "name": "ProseEditor",
            "module": "src/html/elements/prose-editor/prose-editor.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/radio/radio.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "RadioMeta",
          "cssProperties": [
            {
              "description": "Box size. Defaults to `--l-form-control-toggle-size`.",
              "name": "--size",
              "default": "1.25em"
            },
            {
              "description": "Selected fill color.",
              "name": "--accent",
              "default": "var(--l-form-control-activated-color)"
            },
            {
              "description": "Selected dot icon as a `url()`. Override to swap the SVG (color is baked into the image).",
              "name": "--dot"
            }
          ],
          "attributes": [
            {
              "description": "Groups radios so only one can be selected at a time. Every radio in a group shares the same `name`.",
              "name": "name"
            },
            {
              "description": "The value submitted with the form when this radio is the selected one in its group.",
              "name": "value"
            },
            {
              "description": "Whether the radio is selected.",
              "name": "checked"
            },
            {
              "description": "Disables the radio.",
              "name": "disabled"
            },
            {
              "description": "Marks the group as required for form submission.",
              "name": "required"
            },
            {
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically.",
              "name": "aria-invalid"
            }
          ],
          "summary": "Radios let users pick a single option from a set of mutually exclusive choices.",
          "examples": [
            {
              "title": "Default",
              "language": "html",
              "code": "<input type=\"radio\" class=\"l-radio\" name=\"plan\" value=\"free\" checked />"
            },
            {
              "title": "In a field (no class needed)",
              "language": "html",
              "code": "<l-form-field>\n<label>Free</label>\n<input type=\"radio\" name=\"plan\" value=\"free\" />\n</l-form-field>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-radio",
              "description": "Base radio style, applied to `<input type=\"radio\">`. Inside `l-form-field` a bare radio is auto-styled, so the class is optional there."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "input",
          "selector": ".l-radio",
          "_attributes": [
            {
              "name": "name",
              "description": "Groups radios so only one can be selected at a time. Every radio in a group shares the same `name`."
            },
            {
              "name": "value",
              "description": "The value submitted with the form when this radio is the selected one in its group."
            },
            {
              "name": "checked",
              "description": "Whether the radio is selected."
            },
            {
              "name": "disabled",
              "description": "Disables the radio."
            },
            {
              "name": "required",
              "description": "Marks the group as required for form submission."
            },
            {
              "name": "aria-invalid",
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RadioMeta",
          "declaration": {
            "name": "RadioMeta",
            "module": "src/html/elements/radio/radio.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/rating/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/rating/rating.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/rating/rating.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the rating value changes in edit mode. Bubbles; not composed.",
          "name": "RatingChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "sourceEvent",
              "type": {
                "text": "Event"
              },
              "readonly": true
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/rating/rating.ts"
          }
        },
        {
          "kind": "class",
          "description": "A star rating component using CSS mask-image.",
          "name": "Rating",
          "cssProperties": [
            {
              "description": "The size of each icon. Defaults to `20px`.",
              "name": "--icon-size"
            },
            {
              "description": "The fill color for rated icons. Defaults to `gold`.",
              "name": "--active-color"
            },
            {
              "description": "The fill color for empty icons. Defaults to `#ddd`.",
              "name": "--inactive-color"
            },
            {
              "description": "The spacing between icons. Defaults to `0px`.",
              "name": "--spacing"
            },
            {
              "description": "Custom SVG shape as a `url()`. Defaults to a 5-pointed star.",
              "name": "--icon"
            }
          ],
          "cssParts": [
            {
              "description": "The label element shown in edit mode.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "editMode",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "edit-mode",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "attribute": "labels",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "length",
              "type": {
                "text": "number"
              },
              "default": "5",
              "attribute": "length",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "getIcon",
              "type": {
                "text": "(value: number) => string | undefined"
              },
              "description": "Optional callback returning a CSS `url()` string for a given position (1-based)."
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "_mode",
                  "type": {
                    "text": "'restore' | 'autocomplete'"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when the rating value changes in edit mode. Bubbles. Properties: `name: string`, `value: string`, `checked: boolean`, `sourceEvent: Event`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "edit-mode",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "editMode"
            },
            {
              "name": "labels",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "fieldName": "labels"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "value"
            },
            {
              "name": "length",
              "type": {
                "text": "number"
              },
              "default": "5",
              "fieldName": "length"
            }
          ],
          "superclass": {
            "name": "LuxenFormAssociatedElement",
            "module": "/src/html/shared/luxen-form-associated-element.js"
          },
          "tagName": "l-rating",
          "customElement": true,
          "summary": "Displays a star rating, optionally interactive."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RatingChangeEvent",
          "declaration": {
            "name": "RatingChangeEvent",
            "module": "src/html/elements/rating/rating.ts"
          }
        },
        {
          "kind": "js",
          "name": "Rating",
          "declaration": {
            "name": "Rating",
            "module": "src/html/elements/rating/rating.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/select/select.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SelectMeta",
          "cssProperties": [
            {
              "description": "Control height (set via `data-size` or directly).",
              "name": "--height",
              "default": "var(--l-form-control-height)"
            },
            {
              "description": "Trigger border radius.",
              "name": "--border-radius",
              "default": "var(--l-form-control-border-radius)"
            },
            {
              "description": "Chevron color.",
              "name": "--caret-color",
              "default": "var(--l-form-control-placeholder-color)"
            },
            {
              "description": "Chevron mask image; override with any `url()` to re-skin.",
              "name": "--caret-icon",
              "default": "mdi:chevron-down"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fires when an option is selected.",
              "cancelable": false
            },
            {
              "name": "input",
              "description": "Fires when the value changes.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "description": "xs | sm | md | lg | xl — Control height on the shared `--l-size-control-*` scale (default `md`).",
              "name": "data-size"
            },
            {
              "description": "Disables the select.",
              "name": "disabled"
            },
            {
              "description": "Marks the field as required.",
              "name": "required"
            },
            {
              "description": "Allows multiple selections.",
              "name": "multiple"
            }
          ],
          "summary": "A styled native `<select>` using the customizable `base-select` appearance.",
          "examples": [
            {
              "title": "Basic",
              "language": "html",
              "code": "<select class=\"l-select\">\n<option class=\"l-select-item\">One</option>\n<option class=\"l-select-item\">Two</option>\n</select>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-select",
              "description": "Base select element with `appearance: base-select`."
            },
            {
              "name": ".l-select-item",
              "description": "Option styling with checkmark indicator."
            },
            {
              "name": ".l-select-item-media",
              "description": "Leading image/icon inside a rich option."
            },
            {
              "name": ".l-select-item-text",
              "description": "Column wrapper stacking title + description."
            },
            {
              "name": ".l-select-item-title",
              "description": "Primary label of a rich option."
            },
            {
              "name": ".l-select-item-description",
              "description": "Secondary line of a rich option (hidden in the trigger)."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "select",
          "selector": ".l-select",
          "_attributes": [
            {
              "name": "data-size",
              "values": [
                "xs",
                "sm",
                "md",
                "lg",
                "xl"
              ],
              "description": "Control height on the shared `--l-size-control-*` scale (default `md`)."
            },
            {
              "name": "disabled",
              "description": "Disables the select."
            },
            {
              "name": "required",
              "description": "Marks the field as required."
            },
            {
              "name": "multiple",
              "description": "Allows multiple selections."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectMeta",
          "declaration": {
            "name": "SelectMeta",
            "module": "src/html/elements/select/select.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/skeleton/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/skeleton/skeleton.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/skeleton/skeleton.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Skeleton",
          "cssProperties": [
            {
              "description": "Width of the skeleton",
              "name": "--width"
            },
            {
              "description": "Height of the skeleton",
              "name": "--height"
            }
          ],
          "members": [],
          "attributes": [
            {
              "description": "circle | text — Placeholder shape. Default is a block.",
              "name": "shape"
            },
            {
              "description": "pulse | wave — Loading animation. Default is `pulse`.",
              "name": "animation"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-skeleton",
          "customElement": true,
          "summary": "A skeleton loading placeholder.",
          "_attributes": [
            {
              "name": "shape",
              "values": [
                "circle",
                "text"
              ],
              "description": "Placeholder shape. Default is a block."
            },
            {
              "name": "animation",
              "values": [
                "pulse",
                "wave"
              ],
              "description": "Loading animation. Default is `pulse`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Skeleton",
          "declaration": {
            "name": "Skeleton",
            "module": "src/html/elements/skeleton/skeleton.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/slider/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/slider/slider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/slider/slider.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired continuously while a thumb is dragged or stepped. Bubbles; not composed.",
          "name": "SliderInputEvent",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "description": "Value of the (first) thumb."
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "number[]"
              },
              "readonly": true,
              "description": "All thumb values, low to high. One entry in single mode, two in range mode.",
              "default": "values"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/slider/slider.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when a thumb is released after a change. Bubbles; not composed.",
          "name": "SliderChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "description": "Value of the (first) thumb."
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "number[]"
              },
              "readonly": true,
              "description": "All thumb values, low to high. One entry in single mode, two in range mode.",
              "default": "values"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/slider/slider.ts"
          }
        },
        {
          "kind": "class",
          "description": "A single- or dual-thumb range slider. Pick a numeric value, or a min–max\nrange with `range`. Form-associated: the value is submitted under `name`\n(range mode submits the low and high values as two entries).",
          "name": "Slider",
          "cssProperties": [
            {
              "description": "Thickness of the rail.",
              "name": "--track-size"
            },
            {
              "description": "Diameter of each thumb.",
              "name": "--thumb-size"
            },
            {
              "description": "Color of the unfilled rail.",
              "name": "--track-color"
            },
            {
              "description": "Color of the filled portion.",
              "name": "--indicator-color"
            },
            {
              "description": "Background color of the thumbs.",
              "name": "--thumb-color"
            }
          ],
          "cssParts": [
            {
              "description": "The slider container.",
              "name": "base"
            },
            {
              "description": "The full-width rail.",
              "name": "track"
            },
            {
              "description": "The filled portion of the rail.",
              "name": "indicator"
            },
            {
              "description": "Each draggable thumb.",
              "name": "thumb"
            },
            {
              "description": "The value tooltip shown above a thumb when `with-tooltip` is set.",
              "name": "tooltip"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Minimum value.",
              "attribute": "min",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "Maximum value.",
              "attribute": "max",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Step increment.",
              "attribute": "step",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Single-thumb value.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable a two-thumb min–max range.",
              "attribute": "range",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minValue",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Lower value (range mode).",
              "attribute": "min-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxValue",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "Upper value (range mode).",
              "attribute": "max-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible label for the slider (and base for the range thumbs' names).",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "SliderSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "SliderOrientation"
              },
              "default": "'horizontal'",
              "description": "Layout axis. Vertical sliders increase upward.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withTooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a tooltip with the current value while a thumb is focused or dragged.",
              "attribute": "with-tooltip",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "valueFormatter",
              "type": {
                "text": "(value: number) => string | undefined"
              },
              "description": "Formats a value for the tooltip and the `aria-valuetext` announcement.\nAssign a function `(value: number) => string`, e.g. to add a unit or currency."
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "number[]"
              },
              "description": "Current thumb values, low to high.",
              "readonly": true
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired continuously while a thumb moves. Bubbles. Not cancelable. Properties: `value: number`, `values: number[]`.",
              "cancelable": false
            },
            {
              "name": "change",
              "description": "Fired when a thumb is released. Bubbles. Not cancelable. Properties: `value: number`, `values: number[]`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Minimum value.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "Maximum value.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Step increment.",
              "fieldName": "step"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Single-thumb value.",
              "fieldName": "value"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable a two-thumb min–max range.",
              "fieldName": "range"
            },
            {
              "name": "min-value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Lower value (range mode).",
              "fieldName": "minValue"
            },
            {
              "name": "max-value",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "Upper value (range mode).",
              "fieldName": "maxValue"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible label for the slider (and base for the range thumbs' names).",
              "fieldName": "label"
            },
            {
              "name": "size",
              "type": {
                "text": "SliderSize"
              },
              "default": "'md'",
              "description": "Control size.",
              "fieldName": "size"
            },
            {
              "name": "orientation",
              "type": {
                "text": "SliderOrientation"
              },
              "default": "'horizontal'",
              "description": "Layout axis. Vertical sliders increase upward.",
              "fieldName": "orientation"
            },
            {
              "name": "with-tooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a tooltip with the current value while a thumb is focused or dragged.",
              "fieldName": "withTooltip"
            }
          ],
          "superclass": {
            "name": "LuxenFormAssociatedElement",
            "module": "/src/html/shared/luxen-form-associated-element.js"
          },
          "tagName": "l-slider",
          "customElement": true,
          "summary": "Pick a numeric value or a min–max range by dragging a thumb.",
          "examples": [
            {
              "language": "html",
              "code": "<l-slider label=\"Volume\" min=\"0\" max=\"100\" value=\"40\" name=\"volume\"></l-slider>"
            },
            {
              "title": "Range (min–max)",
              "language": "html",
              "code": "```html\n<l-slider label=\"Price\" range min=\"0\" max=\"100\" min-value=\"20\" max-value=\"70\" name=\"price\"></l-slider>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SliderInputEvent",
          "declaration": {
            "name": "SliderInputEvent",
            "module": "src/html/elements/slider/slider.ts"
          }
        },
        {
          "kind": "js",
          "name": "SliderChangeEvent",
          "declaration": {
            "name": "SliderChangeEvent",
            "module": "src/html/elements/slider/slider.ts"
          }
        },
        {
          "kind": "js",
          "name": "Slider",
          "declaration": {
            "name": "Slider",
            "module": "src/html/elements/slider/slider.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/spinner/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/spinner/spinner.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/spinner/spinner.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Spinner",
          "cssProperties": [
            {
              "description": "The size of the spinner (width and height). Defaults to `1em`.",
              "name": "--size"
            },
            {
              "description": "The color of the spinner.",
              "name": "--indicator-color"
            },
            {
              "description": "The duration of one full spin cycle.",
              "name": "--speed"
            }
          ],
          "cssParts": [
            {
              "description": "The SVG container element.",
              "name": "base"
            }
          ],
          "members": [],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-spinner",
          "customElement": true,
          "summary": "A spinner component for indicating loading state."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Spinner",
          "declaration": {
            "name": "Spinner",
            "module": "src/html/elements/spinner/spinner.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/sticky-bar/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/sticky-bar/sticky-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/sticky-bar/sticky-bar.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "StickyBar",
          "cssProperties": [
            {
              "description": "Reveal animation duration. Default `200ms`.",
              "name": "--show-duration"
            },
            {
              "description": "Dismiss animation duration. Default `200ms`.",
              "name": "--hide-duration"
            },
            {
              "description": "Distance from the active edge. Default `0px`. Use to clear a sticky header when `placement=\"top\"`.",
              "name": "--offset"
            }
          ],
          "slots": [
            {
              "description": "Bar content. Owns its own background, padding, and typography.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "HTML id of the element to track. When that element leaves the viewport, the bar reveals. Omit for a permanently visible bar.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "root",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "HTML id of the scrolling ancestor used as the IntersectionObserver root. Omit to use the viewport. Useful for nested scroll containers (CMS preview panes, modals).",
              "attribute": "root"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'bottom' | 'top'"
              },
              "default": "'bottom'",
              "description": "Edge to dock against.",
              "attribute": "placement",
              "reflects": true
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Fired before the bar reveals. Cancelable.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Fired after the reveal animation completes. Not cancelable.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Fired before the bar hides. Cancelable.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Fired after the hide animation completes. Not cancelable.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "HTML id of the element to track. When that element leaves the viewport, the bar reveals. Omit for a permanently visible bar.",
              "fieldName": "for"
            },
            {
              "name": "root",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "HTML id of the scrolling ancestor used as the IntersectionObserver root. Omit to use the viewport. Useful for nested scroll containers (CMS preview panes, modals).",
              "fieldName": "root"
            },
            {
              "name": "placement",
              "type": {
                "text": "'bottom' | 'top'"
              },
              "default": "'bottom'",
              "description": "Edge to dock against.",
              "fieldName": "placement"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-sticky-bar",
          "customElement": true,
          "summary": "A bar docked to the viewport edge, revealed in the top layer when a referenced element scrolls out of view."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StickyBar",
          "declaration": {
            "name": "StickyBar",
            "module": "src/html/elements/sticky-bar/sticky-bar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/stories/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/stories/stories.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/stories/stories.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the linked stories viewer opens.",
          "name": "StoryOpenEvent",
          "members": [
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "index"
            },
            {
              "kind": "field",
              "name": "story",
              "type": {
                "text": "LuxenStory"
              },
              "readonly": true,
              "default": "story"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/stories/stories.ts"
          }
        },
        {
          "kind": "class",
          "description": "",
          "name": "LuxenStories",
          "cssProperties": [
            {
              "description": "Thumbnail size (width). Default per appearance.",
              "name": "--size"
            },
            {
              "description": "Thumbnail border radius. Default per appearance (`--radius-full` for rounded, `1rem` for portrait).",
              "name": "--radius"
            },
            {
              "description": "Gap between thumbnails. Default `1rem`.",
              "name": "--gap"
            },
            {
              "description": "Ring color around fresh thumbnails.",
              "name": "--ring-color"
            },
            {
              "description": "Ring color for `[seen]` thumbnails.",
              "name": "--ring-color-seen"
            },
            {
              "description": "Ring width. Default `2px`.",
              "name": "--ring-width"
            },
            {
              "description": "Label text color.",
              "name": "--label-color"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "ID of the linked `<l-stories-viewer>`.",
              "attribute": "for",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "StoriesAppearance"
              },
              "default": "'rounded'",
              "description": "Visual appearance of the thumbnails.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "open",
              "parameters": [
                {
                  "name": "index",
                  "default": "0"
                }
              ],
              "description": "Open the linked viewer at the given index."
            },
            {
              "kind": "method",
              "name": "stories",
              "return": {
                "type": {
                  "text": "LuxenStory[]"
                }
              },
              "description": "All `<l-story>` children."
            }
          ],
          "events": [
            {
              "name": "story-open",
              "description": "Fired when the viewer opens. Properties: `index: number`, `story: LuxenStory`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "ID of the linked `<l-stories-viewer>`.",
              "fieldName": "for"
            },
            {
              "name": "appearance",
              "type": {
                "text": "StoriesAppearance"
              },
              "default": "'rounded'",
              "description": "Visual appearance of the thumbnails.",
              "fieldName": "appearance"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-stories",
          "customElement": true,
          "summary": "A horizontal row of `<l-story>` thumbnails. Click opens the linked\n`<l-stories-viewer>` (matched by `for` → `id`). If `for` is omitted and no\nviewer exists, a singleton viewer is appended to `<body>` on first click.",
          "examples": [
            {
              "language": "html",
              "code": "<l-stories for=\"brand\">\n  <l-story src=\"…video.mp4\" poster=\"…jpg\" label=\"Notre concept\"></l-story>\n  <l-story src=\"…video2.mp4\" label=\"Collant Essentiel\"></l-story>\n</l-stories>\n<l-stories-viewer id=\"brand\"></l-stories-viewer>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StoryOpenEvent",
          "declaration": {
            "name": "StoryOpenEvent",
            "module": "src/html/elements/stories/stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "LuxenStories",
          "declaration": {
            "name": "LuxenStories",
            "module": "src/html/elements/stories/stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/stories-viewer/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/stories-viewer/stories-viewer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/stories-viewer/stories-viewer.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the active story changes.",
          "name": "StoryChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "index"
            },
            {
              "kind": "field",
              "name": "story",
              "type": {
                "text": "LuxenStory"
              },
              "readonly": true,
              "default": "this.stories[this.index]"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the active story finishes playback.",
          "name": "StoryEndEvent",
          "members": [
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "index"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the active chapter (within a story) changes.",
          "name": "ChapterChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "chapter",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "chapter"
            },
            {
              "kind": "field",
              "name": "story",
              "type": {
                "text": "LuxenStory"
              },
              "readonly": true,
              "default": "this.stories[this.index]"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when the mute state changes.",
          "name": "MuteChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "muted",
              "type": {
                "text": "boolean"
              },
              "readonly": true,
              "default": "muted"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "class",
          "description": "",
          "name": "LuxenStoriesViewer",
          "cssProperties": [
            {
              "description": "Frame width. Default `min(420px, 100vw)`.",
              "name": "--width"
            },
            {
              "description": "Active progress fill color. Default `white`.",
              "name": "--progress-color"
            },
            {
              "description": "Inactive progress segment background. Default `rgb(255 255 255 / 35%)`.",
              "name": "--progress-bg"
            },
            {
              "description": "Gap between segments. Default `4px`.",
              "name": "--progress-gap"
            },
            {
              "description": "Open transition duration. Default `200ms`.",
              "name": "--show-duration"
            },
            {
              "description": "Close transition duration. Default `200ms`.",
              "name": "--hide-duration"
            },
            {
              "description": "Backdrop color. Default `var(--l-backdrop-strong)` — darker than `--l-backdrop` to focus attention on the immersive frame, but still translucent so the page stays perceptible.",
              "name": "--backdrop"
            }
          ],
          "cssParts": [
            {
              "description": "The native `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The aspect-ratio video frame.",
              "name": "frame"
            },
            {
              "description": "The progress bar wrapper.",
              "name": "progress"
            },
            {
              "description": "A single progress segment.",
              "name": "progress-segment"
            },
            {
              "description": "The fill element inside an active segment.",
              "name": "progress-fill"
            },
            {
              "description": "The `<video>` element.",
              "name": "video"
            },
            {
              "description": "The overlay wrapper that hosts CTA/header slots.",
              "name": "overlay"
            },
            {
              "description": "The top-left header area (story thumbnail + label fallback, or consumer-supplied content via the `header` slot).",
              "name": "header"
            },
            {
              "description": "The default story label inside the header.",
              "name": "header-label"
            },
            {
              "description": "The top-right vertical button stack (close, play/pause, mute).",
              "name": "actions"
            },
            {
              "description": "The close button.",
              "name": "button-close"
            },
            {
              "description": "The play/pause toggle.",
              "name": "button-pause"
            },
            {
              "description": "The mute toggle.",
              "name": "button-mute"
            },
            {
              "description": "The previous story button.",
              "name": "button-previous"
            },
            {
              "description": "The next story button.",
              "name": "button-next"
            },
            {
              "description": "The loading spinner shown while the current video is buffering.",
              "name": "spinner"
            }
          ],
          "slots": [
            {
              "description": "Default CTA overlay (e.g. shoppable card). Per-story `slot=\"cta\"` inside `<l-story>` overrides this when that story is active.",
              "name": "cta"
            },
            {
              "description": "Default header overlay (e.g. avatar + author). Per-story override available the same way.",
              "name": "header"
            },
            {
              "description": "Override the default close button.",
              "name": "close"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the viewer is open.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Active story index (0-based).",
              "attribute": "index",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "muted",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Whether playback is muted. Defaults to `true` so autoplay always succeeds across browsers. The user can unmute via the dedicated button or the `m` keyboard shortcut.",
              "attribute": "muted",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Loop the active story instead of advancing.",
              "attribute": "loop",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoAdvance",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Move to the next story when the current one ends; close after the last story.",
              "attribute": "auto-advance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Close when the backdrop is clicked.",
              "attribute": "light-dismiss",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "chapter",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Active chapter index within the current story. Reflected.",
              "attribute": "chapter",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stories",
              "type": {
                "text": "LuxenStory[]"
              },
              "default": "[]",
              "description": "Internal: the playlist set by the source `<l-stories>`."
            },
            {
              "kind": "field",
              "name": "source",
              "type": {
                "text": "LuxenStories | null"
              },
              "default": "null",
              "description": "Internal: the source `<l-stories>` element that opened the viewer."
            },
            {
              "kind": "method",
              "name": "openAt",
              "parameters": [
                {
                  "name": "stories",
                  "type": {
                    "text": "LuxenStory[]"
                  }
                },
                {
                  "name": "index",
                  "default": "0"
                },
                {
                  "name": "source",
                  "default": "null",
                  "type": {
                    "text": "LuxenStories | null"
                  }
                }
              ],
              "description": "Open the viewer at the given index with an explicit playlist."
            },
            {
              "kind": "method",
              "name": "close"
            },
            {
              "kind": "method",
              "name": "next",
              "description": "Advance one chapter, or to the next story at the chapter boundary."
            },
            {
              "kind": "method",
              "name": "previous",
              "description": "Retreat one chapter, restart the current chapter past 1s in, or cross into the previous story."
            },
            {
              "kind": "method",
              "name": "nextStory",
              "description": "Jump to the next story, skipping any remaining chapters in the current story."
            },
            {
              "kind": "method",
              "name": "previousStory",
              "description": "Jump to the previous story regardless of current chapter. Lands on chapter 0 of the previous story."
            },
            {
              "kind": "method",
              "name": "play"
            },
            {
              "kind": "method",
              "name": "pause"
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Fired when the viewer is about to open. Cancelable — call `event.preventDefault()` to keep it closed.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Fired after the open transition completes. Not cancelable.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Fired when the viewer is about to close. Cancelable.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Fired after the close transition completes. Not cancelable.",
              "cancelable": false
            },
            {
              "name": "story-change",
              "description": "Fired when the active story changes. Properties: `index: number`, `story: LuxenStory`.",
              "cancelable": false
            },
            {
              "name": "story-end",
              "description": "Fired when the active story finishes playback. Properties: `index: number`.",
              "cancelable": false
            },
            {
              "name": "chapter-change",
              "description": "Fired when the active chapter (within a story) changes. Properties: `chapter: number`, `story: LuxenStory`.",
              "cancelable": false
            },
            {
              "name": "mute-change",
              "description": "Fired when the mute state changes. Properties: `muted: boolean`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the viewer is open.",
              "fieldName": "open"
            },
            {
              "name": "index",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Active story index (0-based).",
              "fieldName": "index"
            },
            {
              "name": "muted",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Whether playback is muted. Defaults to `true` so autoplay always succeeds across browsers. The user can unmute via the dedicated button or the `m` keyboard shortcut.",
              "fieldName": "muted"
            },
            {
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Loop the active story instead of advancing.",
              "fieldName": "loop"
            },
            {
              "name": "auto-advance",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Move to the next story when the current one ends; close after the last story.",
              "fieldName": "autoAdvance"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Close when the backdrop is clicked.",
              "fieldName": "lightDismiss"
            },
            {
              "name": "chapter",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Active chapter index within the current story. Reflected.",
              "fieldName": "chapter"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-stories-viewer",
          "customElement": true,
          "summary": "Fullscreen modal that plays a sequence of `<l-story>` videos with an\nInstagram-style segmented progress bar, previous/next navigation, mute toggle,\nand auto-advance.\n\nLinked to one or more `<l-stories>` rows via matching `id` ↔ `for`. Open\nprogrammatically via `open()` or by clicking a thumbnail in a linked row."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StoryChangeEvent",
          "declaration": {
            "name": "StoryChangeEvent",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "js",
          "name": "StoryEndEvent",
          "declaration": {
            "name": "StoryEndEvent",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "js",
          "name": "ChapterChangeEvent",
          "declaration": {
            "name": "ChapterChangeEvent",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "js",
          "name": "MuteChangeEvent",
          "declaration": {
            "name": "MuteChangeEvent",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        },
        {
          "kind": "js",
          "name": "LuxenStoriesViewer",
          "declaration": {
            "name": "LuxenStoriesViewer",
            "module": "src/html/elements/stories-viewer/stories-viewer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/story/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/story/story.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/story/story.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "LuxenStory",
          "cssProperties": [
            {
              "description": "Color of the attention pulse ring (only with the `pulse` attribute).",
              "name": "--pulse-color"
            },
            {
              "description": "Peak scale of the pulse animation. Default `1.2`.",
              "name": "--pulse-scale"
            },
            {
              "description": "Duration of one pulse cycle. Default `1.6s`.",
              "name": "--pulse-duration"
            }
          ],
          "slots": [
            {
              "description": "Overlay surfaced by the viewer when this story is active (e.g. product card, link).",
              "name": "cta"
            },
            {
              "description": "Header overlay (e.g. avatar + author).",
              "name": "header"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Video URL.",
              "attribute": "src",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "poster",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Thumbnail poster image. Falls back to the first video frame.",
              "attribute": "poster",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "preview",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional short looping preview video (URL of a small dedicated MP4, typically 2-3s, 480p, no audio). When set, the thumbnail renders this video muted+looped+autoplayed in place of `poster`. Gated by an `IntersectionObserver` so off-screen previews don't play.",
              "attribute": "preview",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption shown below the thumbnail (or overlaid, depending on appearance) and used as the trigger `aria-label`.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Override the progress duration in seconds. Defaults to the video's metadata duration.",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "seen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Mark this story as already viewed (faded ring). Reflected.",
              "attribute": "seen",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pulse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pulse the thumbnail with an animated halo + a subtle scale tap to draw attention. Reflected.",
              "attribute": "pulse",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "chapters",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Chapter start times within the video, comma-separated seconds (e.g. `0,5,12,20`). `0` is implicit if omitted. Empty = single chapter spanning the full video.",
              "attribute": "chapters"
            },
            {
              "kind": "field",
              "name": "tracks",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated VTT track URLs for captions.",
              "attribute": "tracks"
            },
            {
              "kind": "method",
              "name": "getChapterStarts",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "Parsed chapter start times. Always begins with `0`, sorted, deduplicated. Empty `chapters` returns `[0]`."
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Video URL.",
              "fieldName": "src"
            },
            {
              "name": "poster",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Thumbnail poster image. Falls back to the first video frame.",
              "fieldName": "poster"
            },
            {
              "name": "preview",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional short looping preview video (URL of a small dedicated MP4, typically 2-3s, 480p, no audio). When set, the thumbnail renders this video muted+looped+autoplayed in place of `poster`. Gated by an `IntersectionObserver` so off-screen previews don't play.",
              "fieldName": "preview"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption shown below the thumbnail (or overlaid, depending on appearance) and used as the trigger `aria-label`.",
              "fieldName": "label"
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Override the progress duration in seconds. Defaults to the video's metadata duration.",
              "fieldName": "duration"
            },
            {
              "name": "seen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Mark this story as already viewed (faded ring). Reflected.",
              "fieldName": "seen"
            },
            {
              "name": "pulse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pulse the thumbnail with an animated halo + a subtle scale tap to draw attention. Reflected.",
              "fieldName": "pulse"
            },
            {
              "name": "chapters",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Chapter start times within the video, comma-separated seconds (e.g. `0,5,12,20`). `0` is implicit if omitted. Empty = single chapter spanning the full video.",
              "fieldName": "chapters"
            },
            {
              "name": "tracks",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated VTT track URLs for captions.",
              "fieldName": "tracks"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-story",
          "customElement": true,
          "summary": "A single story declaration inside an `<l-stories>` row.\n\nRenders the clickable thumbnail (poster image + centered play overlay).\nThe viewer reads `src`, `poster`, `label`, `handle`, `duration`, and\n`tracks` to play this story when opened.",
          "_cssClasses": [
            {
              "name": ".l-story-trigger",
              "description": "The clickable thumbnail button wrapper."
            },
            {
              "name": ".l-story-thumb",
              "description": "The poster/video thumbnail frame (ring + offset)."
            },
            {
              "name": ".l-story-play",
              "description": "The centered play-icon overlay."
            },
            {
              "name": ".l-story-label",
              "description": "The caption text below the thumbnail."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LuxenStory",
          "declaration": {
            "name": "LuxenStory",
            "module": "src/html/elements/story/story.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/switch/switch.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SwitchMeta",
          "cssProperties": [
            {
              "description": "Track height; the whole control scales from it. Defaults to `--l-form-control-toggle-size`.",
              "name": "--size",
              "default": "1.25em"
            },
            {
              "description": "Track fill when on.",
              "name": "--accent",
              "default": "var(--l-form-control-activated-color)"
            }
          ],
          "attributes": [
            {
              "description": "Must be `switch`. Promotes the native checkbox to a switch for assistive tech and triggers the switch skin / inline field layout.",
              "name": "role"
            },
            {
              "description": "Whether the switch is on.",
              "name": "checked"
            },
            {
              "description": "Disables the switch.",
              "name": "disabled"
            },
            {
              "description": "Marks the switch as required for form submission.",
              "name": "required"
            },
            {
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically.",
              "name": "aria-invalid"
            }
          ],
          "summary": "Switches toggle a single setting on or off, taking effect immediately.",
          "examples": [
            {
              "title": "Default",
              "language": "html",
              "code": "<input type=\"checkbox\" role=\"switch\" class=\"l-switch\" checked />"
            },
            {
              "title": "In a field (no class needed)",
              "language": "html",
              "code": "<l-form-field>\n<label>Email notifications</label>\n<input type=\"checkbox\" role=\"switch\" />\n<l-hint>We'll only email you about account activity.</l-hint>\n</l-form-field>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-switch",
              "description": "Base switch style, applied to `<input type=\"checkbox\" role=\"switch\">`. The `role=\"switch\"` is required so assistive tech announces \"on/off\" (not \"checked\") and `l-form-field` lays it out inline. Inside `l-form-field` a bare switch is auto-styled, so the class is optional there."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "input",
          "selector": ".l-switch",
          "_attributes": [
            {
              "name": "role",
              "description": "Must be `switch`. Promotes the native checkbox to a switch for assistive tech and triggers the switch skin / inline field layout."
            },
            {
              "name": "checked",
              "description": "Whether the switch is on."
            },
            {
              "name": "disabled",
              "description": "Disables the switch."
            },
            {
              "name": "required",
              "description": "Marks the switch as required for form submission."
            },
            {
              "name": "aria-invalid",
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SwitchMeta",
          "declaration": {
            "name": "SwitchMeta",
            "module": "src/html/elements/switch/switch.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tabs/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/tabs/tabs.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tabs/tabs.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the active tab changes. Bubbles; not composed.",
          "name": "TabsChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "index",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "index"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "readonly": true,
              "default": "name"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tabs/tabs.ts"
          }
        },
        {
          "kind": "class",
          "description": "",
          "name": "Tabs",
          "cssProperties": [
            {
              "description": "`line` variant: color of the active underline that slides under the selected tab.",
              "name": "--indicator-color",
              "default": "var(--l-color-text-primary)"
            },
            {
              "description": "`line` variant: thickness of the active underline.",
              "name": "--indicator-thickness",
              "default": "2px"
            },
            {
              "description": "`line` variant: color of the static bottom border the tabs sit on.",
              "name": "--track-color",
              "default": "var(--l-color-border)"
            },
            {
              "description": "`line` variant: thickness of the static bottom border.",
              "name": "--track-thickness",
              "default": "1px"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "TabsVariant"
              },
              "default": "'line'",
              "description": "Visual variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "Index of the active tab (0-based).",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Stretch tabs to fill container width.",
              "attribute": "full-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "TabsOrientation"
              },
              "default": "'horizontal'",
              "description": "Tab orientation.",
              "attribute": "orientation",
              "reflects": true
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fired when the active tab changes. Bubbles. Properties: `index: number`, `name: string | null`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "TabsVariant"
              },
              "default": "'line'",
              "description": "Visual variant.",
              "fieldName": "variant"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "Index of the active tab (0-based).",
              "fieldName": "value"
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Stretch tabs to fill container width.",
              "fieldName": "fullWidth"
            },
            {
              "name": "orientation",
              "type": {
                "text": "TabsOrientation"
              },
              "default": "'horizontal'",
              "description": "Tab orientation.",
              "fieldName": "orientation"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-tabs",
          "customElement": true,
          "summary": "A tabs component that progressively enhances light DOM markup\nwith ARIA roles, keyboard navigation, and animated indicators.",
          "examples": [
            {
              "language": "html",
              "code": "<l-tabs variant=\"enclosed\">\n  <div>\n    <button>Tab 1</button>\n    <button>Tab 2</button>\n  </div>\n  <div>Content 1</div>\n  <div>Content 2</div>\n</l-tabs>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TabsChangeEvent",
          "declaration": {
            "name": "TabsChangeEvent",
            "module": "src/html/elements/tabs/tabs.ts"
          }
        },
        {
          "kind": "js",
          "name": "Tabs",
          "declaration": {
            "name": "Tabs",
            "module": "src/html/elements/tabs/tabs.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/textarea/textarea.meta.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TextareaMeta",
          "cssProperties": [
            {
              "description": "Single-line min-height; `rows` grows the control from here.",
              "name": "--height",
              "default": "var(--l-form-control-height)"
            },
            {
              "description": "Control border radius.",
              "name": "--border-radius",
              "default": "var(--l-form-control-border-radius)"
            }
          ],
          "attributes": [
            {
              "description": "Number of visible text lines — sets the initial height.",
              "name": "rows"
            },
            {
              "description": "xs | sm | md | lg | xl — Single-line min-height on the shared `--l-size-control-*` scale (default `md`). Affects only the control, not the label or hint/error.",
              "name": "data-size"
            },
            {
              "description": "vertical | none | both | auto — User resize handle. Defaults to `vertical`. `auto` grows the box with its content via `field-sizing` (progressive: falls back to the `rows` height where unsupported).",
              "name": "data-resize"
            },
            {
              "description": "Native placeholder text.",
              "name": "placeholder"
            },
            {
              "description": "Disables the textarea.",
              "name": "disabled"
            },
            {
              "description": "Marks the textarea as required for form submission.",
              "name": "required"
            },
            {
              "description": "Makes the textarea read-only.",
              "name": "readonly"
            },
            {
              "description": "Native maximum character count.",
              "name": "maxlength"
            },
            {
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically.",
              "name": "aria-invalid"
            }
          ],
          "summary": "Textareas let users enter and edit multi-line text.",
          "examples": [
            {
              "title": "Default",
              "language": "html",
              "code": "<textarea class=\"l-textarea\" rows=\"4\" placeholder=\"Placeholder text\"></textarea>"
            },
            {
              "title": "In a field (no class needed)",
              "language": "html",
              "code": "<l-form-field>\n<label>Message</label>\n<textarea rows=\"4\"></textarea>\n<p class=\"l-hint\">Tell us what's on your mind.</p>\n</l-form-field>"
            },
            {
              "title": "Auto-growing",
              "language": "html",
              "code": "<textarea class=\"l-textarea\" data-resize=\"auto\" rows=\"2\"></textarea>"
            }
          ],
          "_cssClasses": [
            {
              "name": ".l-textarea",
              "description": "Base textarea style, applied to a `<textarea>`. Inside `l-form-field` a bare textarea is auto-styled, so the class is optional there."
            }
          ],
          "customElement": false,
          "_native": true,
          "_nativeTag": "textarea",
          "selector": ".l-textarea",
          "_attributes": [
            {
              "name": "rows",
              "description": "Number of visible text lines — sets the initial height."
            },
            {
              "name": "data-size",
              "values": [
                "xs",
                "sm",
                "md",
                "lg",
                "xl"
              ],
              "description": "Single-line min-height on the shared `--l-size-control-*` scale (default `md`). Affects only the control, not the label or hint/error."
            },
            {
              "name": "data-resize",
              "values": [
                "vertical",
                "none",
                "both",
                "auto"
              ],
              "description": "User resize handle. Defaults to `vertical`. `auto` grows the box with its content via `field-sizing` (progressive: falls back to the `rows` height where unsupported)."
            },
            {
              "name": "placeholder",
              "description": "Native placeholder text."
            },
            {
              "name": "disabled",
              "description": "Disables the textarea."
            },
            {
              "name": "required",
              "description": "Marks the textarea as required for form submission."
            },
            {
              "name": "readonly",
              "description": "Makes the textarea read-only."
            },
            {
              "name": "maxlength",
              "description": "Native maximum character count."
            },
            {
              "name": "aria-invalid",
              "description": "Set to `true` to force the invalid style (otherwise applied via `:user-invalid`). `l-form-field` manages this automatically."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextareaMeta",
          "declaration": {
            "name": "TextareaMeta",
            "module": "src/html/elements/textarea/textarea.meta.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/toast/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/toast/toast.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/toast/toast.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Minimal custom element for toast items — no render, no shadow DOM.",
          "name": "ToastItem",
          "superclass": {
            "name": "HTMLElement"
          },
          "customElement": true
        },
        {
          "kind": "class",
          "description": "Fired when a toast begins to show. Cancelable. `toast` is the toast item.",
          "name": "ToastShowEvent",
          "members": [
            {
              "kind": "field",
              "name": "toast",
              "type": {
                "text": "HTMLElement"
              },
              "readonly": true,
              "default": "toast"
            }
          ],
          "superclass": {
            "name": "ShowEvent",
            "module": "/src/html/events/index.js"
          }
        },
        {
          "kind": "class",
          "description": "Fired after a toast's show animation completes. `toast` is the toast item.",
          "name": "ToastAfterShowEvent",
          "members": [
            {
              "kind": "field",
              "name": "toast",
              "type": {
                "text": "HTMLElement"
              },
              "readonly": true,
              "default": "toast"
            }
          ],
          "superclass": {
            "name": "AfterShowEvent",
            "module": "/src/html/events/index.js"
          }
        },
        {
          "kind": "class",
          "description": "Fired when a toast begins to hide. Cancelable. `toast` is the toast item.",
          "name": "ToastHideEvent",
          "members": [
            {
              "kind": "field",
              "name": "toast",
              "type": {
                "text": "HTMLElement"
              },
              "readonly": true,
              "default": "toast"
            }
          ],
          "superclass": {
            "name": "HideEvent",
            "module": "/src/html/events/index.js"
          }
        },
        {
          "kind": "class",
          "description": "Fired after a toast's hide animation completes and it is removed. `toast` is the toast item.",
          "name": "ToastAfterHideEvent",
          "members": [
            {
              "kind": "field",
              "name": "toast",
              "type": {
                "text": "HTMLElement"
              },
              "readonly": true,
              "default": "toast"
            }
          ],
          "superclass": {
            "name": "AfterHideEvent",
            "module": "/src/html/events/index.js"
          }
        },
        {
          "kind": "class",
          "description": "",
          "name": "Toast",
          "cssProperties": [
            {
              "description": "Gap between stacked toast items.",
              "name": "--gap"
            },
            {
              "description": "Width of the toast stack.",
              "name": "--width"
            },
            {
              "description": "Duration of the show animation.",
              "name": "--show-duration"
            },
            {
              "description": "Duration of the hide animation.",
              "name": "--hide-duration"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "ToastPlacement"
              },
              "default": "'top-end'",
              "description": "Position of the toast stack on the screen.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "5000",
              "description": "Default auto-dismiss delay in milliseconds. 0 disables auto-dismiss.",
              "attribute": "duration",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "ToastVariant | undefined"
              },
              "description": "Default variant for toast items: `info`, `success`, `warning`, `danger`.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "toast",
              "return": {
                "type": {
                  "text": "HTMLElement"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "ToastOptions"
                  }
                }
              ],
              "description": "Create and show a toast notification."
            }
          ],
          "events": [
            {
              "name": "show",
              "description": "Emitted when a toast begins to show. Cancelable. Properties: `toast`.",
              "cancelable": true
            },
            {
              "name": "after-show",
              "description": "Emitted after the show animation completes. Not cancelable. Properties: `toast`.",
              "cancelable": false
            },
            {
              "name": "hide",
              "description": "Emitted when a toast begins to hide. Cancelable. Properties: `toast`.",
              "cancelable": true
            },
            {
              "name": "after-hide",
              "description": "Emitted after the hide animation completes and toast is removed. Properties: `toast`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "ToastPlacement"
              },
              "default": "'top-end'",
              "description": "Position of the toast stack on the screen.",
              "fieldName": "placement"
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "5000",
              "description": "Default auto-dismiss delay in milliseconds. 0 disables auto-dismiss.",
              "fieldName": "duration"
            },
            {
              "name": "variant",
              "type": {
                "text": "ToastVariant | undefined"
              },
              "description": "Default variant for toast items: `info`, `success`, `warning`, `danger`.",
              "fieldName": "variant"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-toast",
          "customElement": true,
          "summary": "A toast notification container that generates toast items internally.",
          "_cssClasses": [
            {
              "name": ".l-toast-accent",
              "description": "The left accent bar, colored by variant."
            },
            {
              "name": ".l-toast-icon",
              "description": "The leading icon, colored by variant (replaces the accent bar)."
            },
            {
              "name": ".l-toast-content",
              "description": "The content column wrapping the heading and message."
            },
            {
              "name": ".l-toast-timer",
              "description": "The countdown progress bar (for timed toasts)."
            }
          ]
        },
        {
          "kind": "variable",
          "name": "toast"
        },
        {
          "kind": "function",
          "name": "toast",
          "return": {
            "type": {
              "text": "HTMLElement"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ToastOptions"
              }
            }
          ],
          "description": "Show a toast notification. Auto-creates `<l-toast>` if none exists in the DOM."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ToastItem",
          "declaration": {
            "name": "ToastItem",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "ToastShowEvent",
          "declaration": {
            "name": "ToastShowEvent",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "ToastAfterShowEvent",
          "declaration": {
            "name": "ToastAfterShowEvent",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "ToastHideEvent",
          "declaration": {
            "name": "ToastHideEvent",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "ToastAfterHideEvent",
          "declaration": {
            "name": "ToastAfterHideEvent",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "Toast",
          "declaration": {
            "name": "Toast",
            "module": "src/html/elements/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "toast",
          "declaration": {
            "name": "toast",
            "module": "src/html/elements/toast/toast.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tooltip/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/tooltip/tooltip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tooltip/tooltip.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Tooltip",
          "cssProperties": [
            {
              "description": "Background color for this tooltip instance. Defaults to the global `--l-tooltip-background-color` token (a neutral inverse surface, dark in light mode / light in dark mode) — override that token to re-skin every tooltip at once.",
              "name": "--background-color"
            },
            {
              "description": "Text color. If unset, auto-derived from `--background-color` luminance.",
              "name": "--text-color"
            },
            {
              "description": "Border radius. Default `4px`.",
              "name": "--border-radius"
            },
            {
              "description": "Maximum width. Default `180px`.",
              "name": "--max-width"
            },
            {
              "description": "Arrow size. Default `6px`.",
              "name": "--arrow-size"
            },
            {
              "description": "Show animation duration. Default `150ms`.",
              "name": "--show-duration"
            },
            {
              "description": "Hide animation duration. Default `150ms`.",
              "name": "--hide-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The tooltip popover container.",
              "name": "body"
            },
            {
              "description": "The directional arrow element.",
              "name": "arrow"
            }
          ],
          "slots": [
            {
              "description": "Tooltip content (text or rich HTML).",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The HTML id of the element triggering the tooltip.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from the target element.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not the tooltip is visible.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the directional arrow.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Space-separated list of trigger modes: `hover`, `focus`, `click`, `manual`.",
              "attribute": "trigger"
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            },
            {
              "kind": "method",
              "name": "toggle"
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The HTML id of the element triggering the tooltip.",
              "fieldName": "for"
            },
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from the target element.",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not the tooltip is visible.",
              "fieldName": "open"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide the directional arrow.",
              "fieldName": "withoutArrow"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Space-separated list of trigger modes: `hover`, `focus`, `click`, `manual`.",
              "fieldName": "trigger"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-tooltip",
          "customElement": true,
          "summary": "A tooltip that displays contextual text on hover or focus."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Tooltip",
          "declaration": {
            "name": "Tooltip",
            "module": "src/html/elements/tooltip/tooltip.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tree/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/tree/tree.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tree/tree.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when the tree's selected items change.",
          "name": "SelectionChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "selection",
              "type": {
                "text": "TreeItem[]"
              },
              "readonly": true,
              "default": "selection"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tree/tree.ts"
          }
        },
        {
          "kind": "class",
          "description": "A hierarchical tree view composed of `<l-tree-item>` children.\n\nThe host carries `role=\"tree\"`, so give it an accessible name with\n`aria-label` or `aria-labelledby` (e.g. `<l-tree aria-label=\"Files\">`).",
          "name": "Tree",
          "cssProperties": [
            {
              "description": "Horizontal indent per depth level. Default `1rem`.",
              "name": "--indent-size"
            },
            {
              "description": "Thickness of the vertical guide line between a parent and its children. Default `1px`. Set to `0` to hide guides.",
              "name": "--indent-guide-width"
            },
            {
              "description": "Line style of the guide (`solid`, `dashed`, `dotted`, `double`…). Default `solid`.",
              "name": "--indent-guide-style"
            },
            {
              "description": "Color of the guide line.",
              "name": "--indent-guide-color"
            },
            {
              "description": "Minimum row height. Default `1.75rem`.",
              "name": "--row-height"
            },
            {
              "description": "Inner inline padding of the row; also drives the content slot left indent and the indent guide column. Default `0.25rem`.",
              "name": "--row-padding-inline"
            },
            {
              "description": "Size of the expand/collapse chevron box. Default `1.125rem`.",
              "name": "--chevron-size"
            },
            {
              "description": "Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent. Default `0.375rem`.",
              "name": "--item-gap"
            }
          ],
          "cssParts": [
            {
              "description": "The root tree container.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more `l-tree-item` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "selection",
              "type": {
                "text": "TreeSelection"
              },
              "default": "'single'",
              "description": "Selection behaviour:\n- `single` (default): at most one item selected via `aria-selected`.\n- `multiple`: any number of items selected. Checkboxes are rendered.\n- `leaf`: only leaf items can be selected (single). Branches just toggle.\n- `none`: purely navigable, no selection state.",
              "attribute": "selection",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "independent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set with `selection=\"multiple\"`, parent and children selection are decoupled:\ntoggling a parent does NOT toggle its descendants and vice versa.\nWithout it, selection cascades both ways and branches may become indeterminate.",
              "attribute": "independent",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getAllItems",
              "return": {
                "type": {
                  "text": "TreeItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}"
                }
              ],
              "description": "Returns all items in document (flat) order, including nested ones."
            },
            {
              "kind": "method",
              "name": "getSelection",
              "return": {
                "type": {
                  "text": "TreeItem[]"
                }
              },
              "description": "Returns currently selected items."
            },
            {
              "kind": "method",
              "name": "expandAll",
              "description": "Expands every item that has children."
            },
            {
              "kind": "method",
              "name": "collapseAll",
              "description": "Collapses every item."
            }
          ],
          "events": [
            {
              "name": "selection-change",
              "description": "Fired when the selected items change. Properties: `selection: TreeItem[]`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "selection",
              "type": {
                "text": "TreeSelection"
              },
              "default": "'single'",
              "description": "Selection behaviour:\n- `single` (default): at most one item selected via `aria-selected`.\n- `multiple`: any number of items selected. Checkboxes are rendered.\n- `leaf`: only leaf items can be selected (single). Branches just toggle.\n- `none`: purely navigable, no selection state.",
              "fieldName": "selection"
            },
            {
              "name": "independent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set with `selection=\"multiple\"`, parent and children selection are decoupled:\ntoggling a parent does NOT toggle its descendants and vice versa.\nWithout it, selection cascades both ways and branches may become indeterminate.",
              "fieldName": "independent"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-tree",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectionChangeEvent",
          "declaration": {
            "name": "SelectionChangeEvent",
            "module": "src/html/elements/tree/tree.ts"
          }
        },
        {
          "kind": "js",
          "name": "Tree",
          "declaration": {
            "name": "Tree",
            "module": "src/html/elements/tree/tree.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tree-item/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/html/elements/tree-item/tree-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/html/elements/tree-item/tree-item.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Fired when a tree item is expanded. Bubbles; not composed.",
          "name": "ExpandEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when a tree item is collapsed. Bubbles; not composed.",
          "name": "CollapseEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "class",
          "description": "Fired when a lazy item is expanded for the first time. Bubbles; not composed.",
          "name": "LazyLoadEvent",
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "class",
          "description": "Internal contract: a tree-item's checkbox toggle, bubbling to its `<l-tree>`.\nNot part of the public API — consumers listen on `<l-tree>` for\n`selection-change` instead.",
          "name": "TreeItemSelectionToggleEvent",
          "members": [
            {
              "kind": "field",
              "name": "item",
              "type": {
                "text": "TreeItem"
              },
              "readonly": true,
              "default": "item"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "readonly": true,
              "default": "checked"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "class",
          "description": "A node inside `<l-tree>`. Nested `<l-tree-item>` children become sub-nodes.",
          "name": "TreeItem",
          "cssProperties": [],
          "cssParts": [
            {
              "description": "The item row.",
              "name": "base"
            },
            {
              "description": "The chevron toggle area.",
              "name": "expand-button"
            },
            {
              "description": "The native checkbox input.",
              "name": "checkbox"
            },
            {
              "description": "The label container.",
              "name": "label"
            },
            {
              "description": "Wrapper around the content and children slots; carries the indent guide.",
              "name": "branch"
            },
            {
              "description": "The content slot wrapper (block area between the row and the children).",
              "name": "content"
            },
            {
              "description": "The nested items container.",
              "name": "children"
            }
          ],
          "slots": [
            {
              "description": "Label content (kept to a single row).",
              "name": ""
            },
            {
              "description": "Leading content before the label (e.g. icon).",
              "name": "prefix"
            },
            {
              "description": "Trailing content.",
              "name": "suffix"
            },
            {
              "description": "Icon shown when the item is collapsed.",
              "name": "expand-icon"
            },
            {
              "description": "Icon shown when the item is expanded.",
              "name": "collapse-icon"
            },
            {
              "description": "Block content that belongs to the item but not to its header row (e.g. comment body, action bar). Hidden when a branch is collapsed.",
              "name": "content"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is expanded.",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is selected.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the checkbox is indeterminate (some descendants selected).",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is disabled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks this item as having children that will be loaded on first expand.",
              "attribute": "lazy",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is currently loading (shows a spinner).",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "showCheckbox",
              "description": "Set by `<l-tree>`: whether a checkbox is shown.",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "depth",
              "description": "Set by `<l-tree>`: depth of the item in the tree (0 = root).",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "method",
              "name": "setPosition",
              "parameters": [
                {
                  "name": "level",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "posInSet",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "setSize",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Set by `<l-tree>`: ARIA position within the tree. `level` is 1-based depth,\n`posInSet`/`setSize` describe the item's rank among its siblings. These let\nscreen readers announce \"level 2, 3 of 5\" even when `lazy` children keep the\nfull set out of the DOM."
            },
            {
              "kind": "field",
              "name": "hasChildren",
              "type": {
                "text": "boolean"
              },
              "description": "Whether this item has nested tree-item children.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getChildrenItems",
              "return": {
                "type": {
                  "text": "TreeItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}"
                }
              ],
              "description": "Returns the child `<l-tree-item>` elements directly under this one."
            },
            {
              "kind": "method",
              "name": "isLeaf",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns true if this item has no expandable children."
            },
            {
              "kind": "method",
              "name": "getTextLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "Returns the text label of this item."
            },
            {
              "kind": "method",
              "name": "toggle",
              "description": "Toggle expand state. Opening a `lazy` item emits `lazy-load` (via `updated`)."
            }
          ],
          "events": [
            {
              "name": "expand",
              "description": "Fired when the item is expanded.",
              "cancelable": false
            },
            {
              "name": "collapse",
              "description": "Fired when the item is collapsed.",
              "cancelable": false
            },
            {
              "name": "lazy-load",
              "description": "Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.",
              "cancelable": false
            }
          ],
          "attributes": [
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is expanded.",
              "fieldName": "expanded"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is selected.",
              "fieldName": "selected"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the checkbox is indeterminate (some descendants selected).",
              "fieldName": "indeterminate"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is disabled.",
              "fieldName": "disabled"
            },
            {
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks this item as having children that will be loaded on first expand.",
              "fieldName": "lazy"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the item is currently loading (shows a spinner).",
              "fieldName": "loading"
            }
          ],
          "superclass": {
            "name": "LuxenElement",
            "module": "/src/html/shared/luxen-element.js"
          },
          "tagName": "l-tree-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ExpandEvent",
          "declaration": {
            "name": "ExpandEvent",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "js",
          "name": "CollapseEvent",
          "declaration": {
            "name": "CollapseEvent",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "js",
          "name": "LazyLoadEvent",
          "declaration": {
            "name": "LazyLoadEvent",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "js",
          "name": "TreeItemSelectionToggleEvent",
          "declaration": {
            "name": "TreeItemSelectionToggleEvent",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        },
        {
          "kind": "js",
          "name": "TreeItem",
          "declaration": {
            "name": "TreeItem",
            "module": "src/html/elements/tree-item/tree-item.ts"
          }
        }
      ]
    }
  ]
}
