{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/_dev.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/errors.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Base class for all refine errors. Use `instanceof RefineError` to catch any refine-originated error.",
          "name": "RefineError",
          "members": [
            {
              "kind": "method",
              "name": "is",
              "static": true,
              "return": {
                "type": {
                  "text": "err is RefineError"
                }
              },
              "parameters": [
                {
                  "name": "err",
                  "type": {
                    "text": "unknown"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "name"
            }
          ],
          "superclass": {
            "name": "Error",
            "module": "src/errors.ts"
          }
        },
        {
          "kind": "class",
          "description": "Thrown when a refine component receives an invalid or unsupported configuration.",
          "name": "RefineConfigError",
          "superclass": {
            "name": "RefineError",
            "module": "src/errors.ts"
          },
          "members": [
            {
              "kind": "method",
              "name": "is",
              "static": true,
              "return": {
                "type": {
                  "text": "err is RefineError"
                }
              },
              "parameters": [
                {
                  "name": "err",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "RefineError",
                "module": "src/errors.ts"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "inheritedFrom": {
                "name": "RefineError",
                "module": "src/errors.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RefineError",
          "declaration": {
            "name": "RefineError",
            "module": "src/errors.ts"
          }
        },
        {
          "kind": "js",
          "name": "RefineConfigError",
          "declaration": {
            "name": "RefineConfigError",
            "module": "src/errors.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/register.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "components",
          "type": {
            "text": "object"
          },
          "default": "{ content, disclosure, feedback, inputs, layout, overlay }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "components",
          "declaration": {
            "name": "components",
            "module": "src/register.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/announcer.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "announce",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "message",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "options",
              "default": "{}",
              "type": {
                "text": "AnnounceOptions"
              }
            }
          ],
          "description": "Announces a message to screen readers via a singleton visually-hidden\nlive region. Safe to call outside a component lifecycle (no cleanup needed).\n\nThe clear-then-set pattern (50 ms delay) forces AT to re-read even when the\nmessage text hasn't changed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "announce",
          "declaration": {
            "name": "announce",
            "module": "src/core/announcer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/aria-reflection.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "setAriaReflection",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "property",
              "type": {
                "text": "AriaReflectionProperty"
              }
            },
            {
              "name": "targets",
              "type": {
                "text": "readonly Element[]"
              }
            }
          ],
          "description": "Associates `el` with `targets` via the given ARIA relationship. Prefers the\ncross-shadow-root-safe element-reflection property; falls back to a plain IDREF attribute\nbuilt from `targets`' own `id`s when the browser doesn't support element reflection yet.\n\nPass an empty array to clear the relationship."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "setAriaReflection",
          "declaration": {
            "name": "setAriaReflection",
            "module": "src/core/aria-reflection.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/auto-resize.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createAutoResize",
          "return": {
            "type": {
              "text": "AutoResizeControl"
            }
          },
          "parameters": [
            {
              "name": "options",
              "default": "{}",
              "type": {
                "text": "AutoResizeOptions"
              }
            }
          ],
          "description": "Grows a `<textarea>`'s height to fit its content, shared by every component that offers\nauto-resize (`ore-textarea`, `ore-message-composer`) instead of each reimplementing it.\n\nOwns only height — manual-resize cursor/direction is a per-component styling concern, not\nshared behavior, so it stays local to whichever component renders a resize handle."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createAutoResize",
          "declaration": {
            "name": "createAutoResize",
            "module": "src/core/auto-resize.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/checkable.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createCheckable",
          "return": {
            "type": {
              "text": "CheckableHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "CheckableOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createCheckable",
          "declaration": {
            "name": "createCheckable",
            "module": "src/core/checkable.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/choice-field.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createChoiceField",
          "return": {
            "type": {
              "text": "ChoiceFieldHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ChoiceFieldOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createChoiceField",
          "declaration": {
            "name": "createChoiceField",
            "module": "src/core/choice-field.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/composer.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createComposerControl",
          "return": {
            "type": {
              "text": "ComposerControl"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ComposerControlOptions"
              }
            }
          ],
          "description": "Send-gesture logic for a message/comment composer — decides *when* a send is allowed\nand *whether* a given keydown counts as one. Owns no DOM, value state, or event dispatch;\nthe component wires `handleKeydown`/`send` and decides what a send actually does."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createComposerControl",
          "declaration": {
            "name": "createComposerControl",
            "module": "src/core/composer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/date-picker.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "parseIso",
          "return": {
            "type": {
              "text": "Temporal.PlainDate | null"
            }
          },
          "parameters": [
            {
              "name": "iso",
              "type": {
                "text": "string | undefined | null"
              }
            }
          ],
          "description": "Parses an ISO 8601 date string (`yyyy-MM-dd`) into a `Temporal.PlainDate`.\nReturns `null` for any invalid / empty input — never throws."
        },
        {
          "kind": "function",
          "name": "toIsoString",
          "return": {
            "type": {
              "text": "string | null"
            }
          },
          "parameters": [
            {
              "name": "date",
              "type": {
                "text": "Temporal.PlainDate | null"
              }
            }
          ],
          "description": "Serialises a `Temporal.PlainDate` (or `null`) to an ISO 8601 string (`yyyy-MM-dd`).\nReturns `null` when the input is `null`."
        },
        {
          "kind": "function",
          "name": "formatDisplayDate",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "date",
              "type": {
                "text": "Temporal.PlainDate"
              }
            },
            {
              "name": "locale",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Formats a `Temporal.PlainDate` for display in a given locale.\ne.g. \"15 Jun 2025\" (default medium pattern)."
        },
        {
          "kind": "function",
          "name": "createDatePickerControl",
          "return": {
            "type": {
              "text": "DatePickerControl"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "DatePickerControlOptions"
              }
            }
          ],
          "description": "Pure, framework-agnostic date-picker state machine backed by `Temporal.PlainDate`.\n\nAll state is held in plain mutable variables — suitable for wrapping in any\nreactive layer (ore `signal`, Vue ref, etc.). The factory returns a stable\nhandle object; callers are responsible for reactivity.\n\nOptions with getter-based live bindings (e.g. `get min() { ... }`) are read\non every call so the control always reflects the latest reactive state."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseIso",
          "declaration": {
            "name": "parseIso",
            "module": "src/core/date-picker.ts"
          }
        },
        {
          "kind": "js",
          "name": "toIsoString",
          "declaration": {
            "name": "toIsoString",
            "module": "src/core/date-picker.ts"
          }
        },
        {
          "kind": "js",
          "name": "formatDisplayDate",
          "declaration": {
            "name": "formatDisplayDate",
            "module": "src/core/date-picker.ts"
          }
        },
        {
          "kind": "js",
          "name": "createDatePickerControl",
          "declaration": {
            "name": "createDatePickerControl",
            "module": "src/core/date-picker.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/direction.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "elementDirection",
          "return": {
            "type": {
              "text": "'ltr' | 'rtl'"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element | null"
              }
            }
          ],
          "description": "Resolves the effective text direction for an element.\n\nThe closest ancestor with an explicit `dir=\"ltr\"` or `dir=\"rtl\"` attribute wins — this\nsupports locally-scoped RTL sections (e.g. a single `dir=\"rtl\"` panel inside an otherwise\nLTR page). When no explicit `dir` attribute is found up the tree, falls back to the\ncomputed `direction` CSS property (e.g. set via a `direction: rtl` style rule with no\n`dir` attribute). Defaults to `'ltr'` when `el` is `null`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "elementDirection",
          "declaration": {
            "name": "elementDirection",
            "module": "src/core/direction.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/field-base.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createErrorHelperState",
          "return": {
            "type": {
              "text": "Readable<ErrorHelperState>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ErrorHelperOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "createCounterState",
          "return": {
            "type": {
              "text": "Readable<CounterState>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "CounterOptions"
              }
            }
          ],
          "description": "Creates a reactive counter state signal for text fields with `maxLength`.\nOnly call this when `maxLength` may be set — the state is genuinely opt-in."
        },
        {
          "kind": "function",
          "name": "counterClassName",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "counter",
              "type": {
                "text": "CounterState | undefined"
              }
            },
            {
              "name": "base",
              "default": "'counter'"
            }
          ],
          "description": "The single implementation of \"which modifier class does this counter state map to\" —\nevery field with a character counter (`ore-input`, `ore-textarea`, `ore-message-composer`)\nrenders the identical near-limit/at-limit styling, so this is the one place that decides it."
        },
        {
          "kind": "function",
          "name": "createDirtyTracker",
          "return": {
            "type": {
              "text": "DirtyTracker"
            }
          }
        },
        {
          "kind": "function",
          "name": "createAssistiveState",
          "return": {
            "type": {
              "text": "AssistiveStateHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "AssistiveStateOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "createLabelState",
          "return": {
            "type": {
              "text": "LabelStateHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "LabelStateOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "createField",
          "return": {
            "type": {
              "text": "FieldHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FieldOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createErrorHelperState",
          "declaration": {
            "name": "createErrorHelperState",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "createCounterState",
          "declaration": {
            "name": "createCounterState",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "counterClassName",
          "declaration": {
            "name": "counterClassName",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "createDirtyTracker",
          "declaration": {
            "name": "createDirtyTracker",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "createAssistiveState",
          "declaration": {
            "name": "createAssistiveState",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "createLabelState",
          "declaration": {
            "name": "createLabelState",
            "module": "src/core/field-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "createField",
          "declaration": {
            "name": "createField",
            "module": "src/core/field-base.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/focus.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createFocusManager",
          "return": {
            "type": {
              "text": "FocusManager"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FocusManagerOptions"
              }
            }
          ],
          "description": "Encapsulates the three-step focus lifecycle used by dialogs and drawers:\n1. Capture the element that triggered the open.\n2. Move focus inside the overlay (optionally to a specific element).\n3. Restore focus when the overlay closes."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createFocusManager",
          "declaration": {
            "name": "createFocusManager",
            "module": "src/core/focus.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/keyboard.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "dispatchKeyboardAction",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "KeyboardEvent"
              }
            },
            {
              "name": "options",
              "type": {
                "text": "KeyboardDispatchOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "createInteraction",
          "return": {
            "type": {
              "text": "Interaction"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "InteractionOptions"
              }
            }
          ],
          "description": "Creates a set of event handlers for an interactive element that responds to\nkeyboard and pointer presses, and optionally focus/blur events."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "dispatchKeyboardAction",
          "declaration": {
            "name": "dispatchKeyboardAction",
            "module": "src/core/keyboard.ts"
          }
        },
        {
          "kind": "js",
          "name": "createInteraction",
          "declaration": {
            "name": "createInteraction",
            "module": "src/core/keyboard.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/light-dom.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "getLightChildrenByTag",
          "return": {
            "type": {
              "text": "HTMLElement[]"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "tag",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns all light-DOM descendants matching `tag` inside `host`.\nUses `getElementsByTagName` on the host's light DOM \\u2014 not Shadow DOM slot assignment."
        },
        {
          "kind": "function",
          "name": "getChoiceLabel",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "HTMLElement[]"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns the `textContent` of the item whose `value` attribute matches `value`,\nfalling back to `value` itself when no match is found.\nUsed by choice-field components to derive labels for emitted change events."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getLightChildrenByTag",
          "declaration": {
            "name": "getLightChildrenByTag",
            "module": "src/core/light-dom.ts"
          }
        },
        {
          "kind": "js",
          "name": "getChoiceLabel",
          "declaration": {
            "name": "getChoiceLabel",
            "module": "src/core/light-dom.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/nav.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createListControl",
          "return": {
            "type": {
              "text": "ListControl<T>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ListNavigationOptions<T>"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListKeyAction",
          "declaration": {
            "name": "ListKeyAction",
            "module": "src/core/nav.ts"
          }
        },
        {
          "kind": "js",
          "name": "ListNavigationAction",
          "declaration": {
            "name": "ListNavigationAction",
            "module": "src/core/nav.ts"
          }
        },
        {
          "kind": "js",
          "name": "ListNavigationChange",
          "declaration": {
            "name": "ListNavigationChange",
            "module": "src/core/nav.ts"
          }
        },
        {
          "kind": "js",
          "name": "ListNavigationTypeaheadOptions",
          "declaration": {
            "name": "ListNavigationTypeaheadOptions",
            "module": "src/core/nav.ts"
          }
        },
        {
          "kind": "js",
          "name": "createListControl",
          "declaration": {
            "name": "createListControl",
            "module": "src/core/nav.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/numbers.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "toFiniteNumber",
          "return": {
            "type": {
              "text": "number | undefined"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ],
          "description": "Coerces `value` via `Number()` and returns it when finite, `undefined` otherwise.\n\nCaveat: `null` and `''` both coerce to `0` in JavaScript (`Number(null) === 0`,\n`Number('') === 0`) and are therefore returned as the finite number `0`, not\n`undefined` — this function does not treat \"absent\" values specially. Only\ngenuinely non-numeric input (`undefined`, `NaN`, non-numeric strings) yields\n`undefined`. Callers that mean \"no bound set\" should pass `undefined`\nexplicitly rather than `null` or `''`."
        },
        {
          "kind": "function",
          "name": "toFiniteNumberOr",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            },
            {
              "name": "fallback",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "toPositiveStep",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            },
            {
              "name": "fallback",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "toFiniteNumber",
          "declaration": {
            "name": "toFiniteNumber",
            "module": "src/core/numbers.ts"
          }
        },
        {
          "kind": "js",
          "name": "toFiniteNumberOr",
          "declaration": {
            "name": "toFiniteNumberOr",
            "module": "src/core/numbers.ts"
          }
        },
        {
          "kind": "js",
          "name": "toPositiveStep",
          "declaration": {
            "name": "toPositiveStep",
            "module": "src/core/numbers.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/option-list.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createListboxDropdown",
          "return": {
            "type": {
              "text": "ListboxDropdown<T>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ListboxDropdownOptions<T>"
              }
            }
          ],
          "description": "Internal listbox dropdown behavior for select and combobox. It owns only\nlistbox interactions; menu and other overlay families keep their own logic."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createListboxDropdown",
          "declaration": {
            "name": "createListboxDropdown",
            "module": "src/core/option-list.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/ore.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "lifecycleSignal",
          "return": {
            "type": {
              "text": "AbortSignal"
            }
          },
          "parameters": [
            {
              "name": "onCleanup",
              "type": {
                "text": "(fn: () => void) => void"
              }
            }
          ],
          "description": "Creates an `AbortSignal` tied to the component's Ore lifecycle.\n\nCall once at the top of a `setup()` function and pass the resulting signal\nas the required `signal` option to any stateful core primitive\n(`createTextField`, `createCheckable`, `createListboxDropdown`, etc.).\n\nWhen Ore disconnects the component, `onCleanup` fires, aborting the\nsignal and triggering cleanup in every primitive that received it."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "lifecycleSignal",
          "declaration": {
            "name": "lifecycleSignal",
            "module": "src/core/ore.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/overlay.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createOutsidePointerDismissal",
          "return": {
            "type": {
              "text": "(() => void)"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "OutsidePointerDismissalOptions"
              }
            }
          ],
          "description": "Dismisses an active floating surface when a pointer begins outside all of its\nsupplied boundary elements. Components retain ownership of their open state."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createOutsidePointerDismissal",
          "declaration": {
            "name": "createOutsidePointerDismissal",
            "module": "src/core/overlay.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/parse.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "parseStringTriggers",
          "return": {
            "type": {
              "text": "T[]"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "string | null | undefined"
              }
            },
            {
              "name": "valid",
              "type": {
                "text": "ReadonlySet<T>"
              }
            },
            {
              "name": "defaults",
              "type": {
                "text": "T[]"
              }
            }
          ],
          "description": "Parses a comma-separated trigger string into a typed array, filtering against\na valid set and falling back to `defaults` when the input is empty or invalid.\n\nUsed by tooltip and popover to normalise their `trigger` prop values."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseStringTriggers",
          "declaration": {
            "name": "parseStringTriggers",
            "module": "src/core/parse.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/positioner.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createDropdownPositioner",
          "return": {
            "type": {
              "text": "OverlayPositioner"
            }
          },
          "parameters": [
            {
              "name": "{\n  boundary,\n  getDir,\n  getFloating,\n  getPlacement,\n  getReference,\n  matchWidth = true,\n  offsetPx = 0,\n  padding = 6,\n  useClippingAncestor = true,\n}",
              "type": {
                "text": "DropdownPositionerOptions"
              }
            }
          ],
          "description": "Creates an Orbit-powered positioner for dropdown overlays (select, combobox, menu).\n\nUses flip + shift + optional width-matching middleware. Supports continuous\nauto-update for repositioning on scroll or resize.\n\nRTL-aware: start/end placements are automatically mirrored so dropdowns open on the\ncorrect side, based on `getDir` (or the reference element's resolved direction when\n`getDir` is omitted)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createDropdownPositioner",
          "declaration": {
            "name": "createDropdownPositioner",
            "module": "src/core/positioner.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/ref-callback.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "bindRefCallback",
          "return": {
            "type": {
              "text": "(() => void)"
            }
          },
          "parameters": [
            {
              "name": "ref",
              "type": {
                "text": "Readable<RefCallback<T>>"
              }
            },
            {
              "name": "el",
              "type": {
                "text": "T"
              }
            }
          ],
          "description": "Forwards a mounted element to a JS-only `ref` callback prop, and keeps forwarding to a\n*new* callback if the prop is set again after mount (e.g. a parent sets it via a ref\ncallback after render, rather than at initial mount). Every text-entry-style component\nwith a `ref` escape-hatch prop (`ore-input`, `ore-textarea`, `ore-message-composer`,\n`ore-file-input`) wires this identically — call it once from inside `onElement()`, alongside\nwhatever else that element needs wired."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "bindRefCallback",
          "declaration": {
            "name": "bindRefCallback",
            "module": "src/core/ref-callback.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/signals.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "syncedSignal",
          "return": {
            "type": {
              "text": "Signal<TOut>"
            }
          },
          "parameters": [
            {
              "name": "source",
              "type": {
                "text": "Readable<TIn>"
              }
            },
            {
              "name": "abortSignal",
              "optional": true,
              "type": {
                "text": "AbortSignal"
              }
            },
            {
              "name": "transform",
              "default": "(v) => v as unknown as TOut",
              "type": {
                "text": "(value: TIn) => TOut"
              }
            }
          ],
          "description": "Creates a local writable `Signal<T>` that stays in sync with an external\n`Reactive<T>`. When `abortSignal` is provided the watcher subscription\nis disposed automatically on abort; otherwise the caller is responsible for\ndisposal.\n\nInitialised synchronously via `untrack` so the first render never reads a\nstale value. The optional `transform` coerces each incoming value (e.g.\n`Boolean`, `String`)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "syncedSignal",
          "declaration": {
            "name": "syncedSignal",
            "module": "src/core/signals.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/slider.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createSliderControl",
          "return": {
            "type": {
              "text": "SliderControl"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "SliderControlOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createSliderControl",
          "declaration": {
            "name": "createSliderControl",
            "module": "src/core/slider.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/spinner.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createSpinnerControl",
          "return": {
            "type": {
              "text": "SpinnerControl"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "SpinnerControlOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createSpinnerControl",
          "declaration": {
            "name": "createSpinnerControl",
            "module": "src/core/spinner.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/core/text-field.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createTextField",
          "return": {
            "type": {
              "text": "TextFieldHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "TextFieldOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createTextField",
          "declaration": {
            "name": "createTextField",
            "module": "src/core/text-field.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/prop-bundles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "themableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ color: prop.string<ThemeColor>(), }",
          "description": "Prop bundle for components that support a theme colour."
        },
        {
          "kind": "variable",
          "name": "sizableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ size: prop.string<ComponentSize>(), }",
          "description": "Prop bundle for components with discrete size variants."
        },
        {
          "kind": "variable",
          "name": "disablableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ disabled: prop.bool(false), }",
          "description": "Prop bundle for interactive components that can be disabled."
        },
        {
          "kind": "variable",
          "name": "loadableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ loading: prop.bool(false), }",
          "description": "Prop bundle for components with a loading / busy state."
        },
        {
          "kind": "variable",
          "name": "roundableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ rounded: prop.string<RoundedSize>(), }",
          "description": "Prop bundle for components with configurable border-radius."
        },
        {
          "kind": "variable",
          "name": "elevatableBundle",
          "type": {
            "text": "object"
          },
          "default": "{ elevation: prop.number<ElevationLevel>(), }",
          "description": "Prop bundle for components with an elevation / box-shadow."
        },
        {
          "kind": "variable",
          "name": "commonProps",
          "type": {
            "text": "object"
          },
          "default": "{ ...themableBundle, ...sizableBundle, ...disablableBundle, ...loadableBundle, ...roundableBundle, }",
          "description": "Convenience bundle combining the five most common interactive-component props:\n`color`, `size`, `disabled`, `loading`, and `rounded`.\n\nUse this single spread instead of five separate bundle spreads when a\ncomponent needs all of them."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "themableBundle",
          "declaration": {
            "name": "themableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "sizableBundle",
          "declaration": {
            "name": "sizableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "disablableBundle",
          "declaration": {
            "name": "disablableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "loadableBundle",
          "declaration": {
            "name": "loadableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "roundableBundle",
          "declaration": {
            "name": "roundableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "elevatableBundle",
          "declaration": {
            "name": "elevatableBundle",
            "module": "src/shared/prop-bundles.ts"
          }
        },
        {
          "kind": "js",
          "name": "commonProps",
          "declaration": {
            "name": "commonProps",
            "module": "src/shared/prop-bundles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/size-presets.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "FIELD_SIZE_PRESET",
          "default": "{ lg: { '--_field-height': 'var(--size-12)', '--_padding': 'var(--size-2-5) var(--size-3-5)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_field-height': 'var(--size-10)', '--_padding': 'var(--size-1-5) var(--size-3)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_field-height': 'var(--size-8)', '--_padding': 'var(--size-1) var(--size-2)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, } satisfies FullSizePreset"
        },
        {
          "kind": "variable",
          "name": "TEXTAREA_SIZE_PRESET",
          "default": "{ lg: { '--_padding': 'var(--size-2-5) var(--size-3-5)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_padding': 'var(--size-1-5) var(--size-3)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_padding': 'var(--size-1) var(--size-2)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, } satisfies FullSizePreset"
        },
        {
          "kind": "variable",
          "name": "CONTROL_SIZE_PRESET",
          "default": "{ lg: { fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', size: 'var(--size-6)', }, sm: { fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', size: 'var(--size-4)', }, } satisfies PartialSizePreset",
          "description": "Shared size preset for checkbox and radio (icon + label layout)."
        },
        {
          "kind": "variable",
          "name": "SWITCH_SIZE_PRESET",
          "default": "{ lg: { fontSize: 'var(--text-base)', gap: 'var(--size-3)', height: 'var(--size-7)', thumbSize: 'var(--size-6)', width: 'var(--size-14)', }, sm: { fontSize: 'var(--text-xs)', gap: 'var(--size-2)', height: 'var(--size-5)', thumbSize: 'var(--size-4)', width: 'var(--size-9)', }, } satisfies PartialSizePreset",
          "description": "Shared size preset for the switch toggle control."
        },
        {
          "kind": "variable",
          "name": "SLIDER_SIZE_PRESET",
          "default": "{ lg: { '--_thumb-inset': 'var(--slider-thumb-inset, var(--size-3))', fontSize: 'var(--text-base)', height: 'calc(var(--size-5) - var(--size-1))', size: 'var(--size-6)', }, md: { '--_thumb-inset': 'var(--slider-thumb-inset, var(--size-2-5))', fontSize: 'var(--text-base)', height: 'var(--size-3)', size: 'var(--size-5)', }, sm: { '--_thumb-inset': 'var(--slider-thumb-inset, var(--size-2))', fontSize: 'var(--text-xs)', height: 'var(--size-2)', size: 'var(--size-4)', }, } satisfies FullSizePreset",
          "description": "Shared size preset for the slider track/thumb."
        },
        {
          "kind": "variable",
          "name": "MESSAGE_COMPOSER_SIZE_PRESET",
          "default": "{ lg: { '--_padding': 'var(--size-4)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_padding': 'var(--size-3)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_padding': 'var(--size-2)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, } satisfies FullSizePreset",
          "description": "Size preset for the message composer card. Padding is symmetric (unlike\n`TEXTAREA_SIZE_PRESET`'s field-shaped padding) since this scales a card that wraps a field\n*and* a toolbar row, not a bare field — `md`'s padding matches the value the card used before\n`size` scaled anything, so the default look is unchanged."
        },
        {
          "kind": "variable",
          "name": "MENU_SIZE_PRESET",
          "default": "{ lg: { '--_item-padding': 'var(--size-2) var(--size-3-5)', '--_panel-padding': 'var(--size-1-5)', '--_separator-margin': 'var(--size-1-5)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_item-padding': 'var(--size-1-5) var(--size-3)', '--_panel-padding': 'var(--size-1)', '--_separator-margin': 'var(--size-1)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_item-padding': 'var(--size-1) var(--size-2-5)', '--_panel-padding': 'var(--size-0-5)', '--_separator-margin': 'var(--size-0-5)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, } satisfies FullSizePreset",
          "description": "Size preset for `ore-menu`'s floating panel, `ore-menu-item`'s row, and `ore-menu-separator`'s\nmargin. `--_panel-padding`, `--_item-padding`, and `--_separator-margin` are custom pass-through\nkeys (not one of `SizeConfig`'s named slots) since the panel, its items, and its separators each\nneed independently-scaling spacing; `md`'s values match what `menu.css`/`menu-item.css`/\n`menu-separator.css` hardcoded before `size` was wired up, so the default look is unchanged.\n`--_font-size`/`--_gap` are inherited by `ore-menu-item` from `ore-menu`'s own host — custom\nproperties cascade down through light-DOM children the same way they cascade into a shadow root."
        },
        {
          "kind": "variable",
          "name": "LIST_SIZE_PRESET",
          "default": "{ lg: { '--_min-height': 'var(--size-14)', '--_min-height-two-line': 'calc(var(--size-16) + var(--size-2))', '--_padding-inline-end': 'var(--size-6)', fontSize: 'var(--text-base)', gap: 'var(--size-4)', padding: 'var(--size-3) var(--size-4)', }, md: { '--_min-height': 'var(--size-14)', '--_min-height-two-line': 'calc(var(--size-16) + var(--size-2))', '--_padding-inline-end': 'var(--size-6)', fontSize: 'var(--text-sm)', gap: 'var(--size-4)', padding: 'var(--size-2-5) var(--size-4)', }, sm: { '--_min-height': 'var(--size-12)', '--_min-height-two-line': 'var(--size-16)', '--_padding-inline-end': 'var(--size-4)', fontSize: 'var(--text-xs)', gap: 'var(--size-2)', padding: 'var(--size-1-5) var(--size-2)', }, } satisfies FullSizePreset",
          "description": "Size preset for `ore-list`'s own host. `ore-list-item` has no `sizeVariantMixin` call of its\nown — it reads `--_gap`/`--_padding`/`--_padding-inline-end`/`--_font-size`/`--_min-height`/\n`--_min-height-two-line` inherited straight from its parent `ore-list`'s shadow host (custom\nproperties cascade through light-DOM children the same way `MENU_SIZE_PRESET` cascades from\n`ore-menu` into `ore-menu-item`), with fallback defaults for standalone use outside an\n`ore-list`.\n\nFollows Material 3's list-item spacing at `md`/`lg`: 16dp between leading/content/trailing\n(`gap`), 16dp inline-start (`padding`), 24dp inline-end (`--_padding-inline-end` — the trailing\nedge sits 8dp further out than the other three sides in the M3 spec), 56dp one-line / 72dp\ntwo-line row height (`--_min-height`/`--_min-height-two-line`, applied in `list-item.css`).\n`sm` keeps the same asymmetry and the M3/WCAG 48dp touch-target floor proportionally, for a\ndenser list that still reads as \"M3-like\" rather than hitting the exact dp values M3 doesn't\nitself define an alternate density for."
        },
        {
          "kind": "variable",
          "name": "FILE_INPUT_SIZE_PRESET",
          "default": "{ lg: { '--_min-height': 'var(--size-40)', fontSize: 'var(--text-base)', }, md: { '--_min-height': 'var(--size-32)', fontSize: 'var(--text-sm)', }, sm: { '--_min-height': 'var(--size-28)', fontSize: 'var(--text-xs)', }, } satisfies FullSizePreset",
          "description": "Shared size preset for the file-input dropzone."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FIELD_SIZE_PRESET",
          "declaration": {
            "name": "FIELD_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "TEXTAREA_SIZE_PRESET",
          "declaration": {
            "name": "TEXTAREA_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "CONTROL_SIZE_PRESET",
          "declaration": {
            "name": "CONTROL_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "SWITCH_SIZE_PRESET",
          "declaration": {
            "name": "SWITCH_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "SLIDER_SIZE_PRESET",
          "declaration": {
            "name": "SLIDER_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "MESSAGE_COMPOSER_SIZE_PRESET",
          "declaration": {
            "name": "MESSAGE_COMPOSER_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "MENU_SIZE_PRESET",
          "declaration": {
            "name": "MENU_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "LIST_SIZE_PRESET",
          "declaration": {
            "name": "LIST_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        },
        {
          "kind": "js",
          "name": "FILE_INPUT_SIZE_PRESET",
          "declaration": {
            "name": "FILE_INPUT_SIZE_PRESET",
            "module": "src/shared/size-presets.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/types.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "PropsDef",
          "declaration": {
            "name": "PropsDef",
            "package": "@vielzeug/ore"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/breadcrumb/breadcrumb.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "BREADCRUMB_ITEM_TAG",
          "type": {
            "text": "'ore-breadcrumb-item'"
          },
          "default": "'ore-breadcrumb-item'",
          "description": "A single breadcrumb entry rendered inside `<ore-breadcrumb>`."
        },
        {
          "kind": "class",
          "name": "OreBreadcrumbItemElement",
          "tagName": "ore-breadcrumb-item",
          "customElement": true,
          "description": "A single breadcrumb entry rendered inside `<ore-breadcrumb>`.",
          "summary": "",
          "attributes": [
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "description": "Marks this item as the current page (`aria-current=\"page\"`)"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "Link target for this breadcrumb item"
            },
            {
              "name": "separator",
              "type": {
                "text": "string"
              },
              "description": "Separator text shown before the item (except first item)"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Item label/content"
            },
            {
              "name": "icon",
              "description": "Optional leading icon for the crumb"
            }
          ],
          "cssParts": [
            {
              "name": "separator",
              "description": "Separator element before the item label"
            },
            {
              "name": "link",
              "description": "The interactive anchor element"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-breadcrumb-item href=\"/\">Home</ore-breadcrumb-item>\n<ore-breadcrumb-item active>Current Page</ore-breadcrumb-item>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "BREADCRUMB_TAG",
          "type": {
            "text": "'ore-breadcrumb'"
          },
          "default": "'ore-breadcrumb'",
          "description": "Accessible breadcrumb navigation container."
        },
        {
          "kind": "class",
          "name": "OreBreadcrumbElement",
          "tagName": "ore-breadcrumb",
          "customElement": true,
          "description": "Accessible breadcrumb navigation container.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label for the internal `<nav>` landmark"
            },
            {
              "name": "separator",
              "type": {
                "text": "string"
              },
              "description": "Separator text propagated to child `<ore-breadcrumb-item>` elements"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "One or more `<ore-breadcrumb-item>` children"
            }
          ],
          "cssParts": [
            {
              "name": "nav",
              "description": "Internal navigation landmark element"
            },
            {
              "name": "list",
              "description": "Internal ordered list container"
            }
          ],
          "cssProperties": [
            {
              "name": "--breadcrumb-separator",
              "description": "Optional custom separator text synced to child items"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-breadcrumb label=\"Page breadcrumb\">\n  <ore-breadcrumb-item href=\"/\">Home</ore-breadcrumb-item>\n  <ore-breadcrumb-item href=\"/blog\">Blog</ore-breadcrumb-item>\n  <ore-breadcrumb-item active>My Post</ore-breadcrumb-item>\n</ore-breadcrumb>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BREADCRUMB_ITEM_TAG",
          "declaration": {
            "name": "BREADCRUMB_ITEM_TAG",
            "module": "src/content/breadcrumb/breadcrumb.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreBreadcrumbItemElement",
          "declaration": {
            "name": "OreBreadcrumbItemElement",
            "module": "src/content/breadcrumb/breadcrumb.ts"
          }
        },
        {
          "kind": "js",
          "name": "BREADCRUMB_TAG",
          "declaration": {
            "name": "BREADCRUMB_TAG",
            "module": "src/content/breadcrumb/breadcrumb.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreBreadcrumbElement",
          "declaration": {
            "name": "OreBreadcrumbElement",
            "module": "src/content/breadcrumb/breadcrumb.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/avatar/avatar-group.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "AVATAR_GROUP_TAG",
          "type": {
            "text": "'ore-avatar-group'"
          },
          "default": "'ore-avatar-group'",
          "description": "Groups multiple `ore-avatar` elements in a stacked, overlapping row."
        },
        {
          "kind": "class",
          "name": "OreAvatarGroupElement",
          "tagName": "ore-avatar-group",
          "customElement": true,
          "description": "Groups multiple `ore-avatar` elements in a stacked, overlapping row.",
          "summary": "",
          "attributes": [
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Max visible avatars before overflow badge (default: 5)",
              "default": "5"
            },
            {
              "name": "total",
              "type": {
                "text": "number"
              },
              "description": "Override the total count displayed in the badge"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`ore-avatar` elements"
            }
          ],
          "cssParts": [
            {
              "name": "overflow",
              "description": "Overflow count badge shown when avatars exceed `max`."
            }
          ],
          "cssProperties": [
            {
              "name": "--avatar-group-overlap",
              "description": "Negative margin creating the overlap (default: -0.75rem)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-avatar-group max=\"3\">\n  <ore-avatar src=\"/a.jpg\" alt=\"Alice\"></ore-avatar>\n  <ore-avatar src=\"/b.jpg\" alt=\"Bob\"></ore-avatar>\n  <ore-avatar src=\"/c.jpg\" alt=\"Carol\"></ore-avatar>\n  <ore-avatar src=\"/d.jpg\" alt=\"Dave\"></ore-avatar>\n</ore-avatar-group>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AVATAR_GROUP_TAG",
          "declaration": {
            "name": "AVATAR_GROUP_TAG",
            "module": "src/content/avatar/avatar-group.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAvatarGroupElement",
          "declaration": {
            "name": "OreAvatarGroupElement",
            "module": "src/content/avatar/avatar-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/avatar/avatar.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "AVATAR_TAG",
          "type": {
            "text": "'ore-avatar'"
          },
          "default": "'ore-avatar'",
          "description": "Displays a user avatar: image → initials → generic fallback icon, in that priority order."
        },
        {
          "kind": "class",
          "name": "OreAvatarElement",
          "tagName": "ore-avatar",
          "customElement": true,
          "description": "Displays a user avatar: image → initials → generic fallback icon, in that priority order.",
          "summary": "",
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "Image source URL"
            },
            {
              "name": "alt",
              "type": {
                "text": "string"
              },
              "description": "Image alt text (also used to derive initials)"
            },
            {
              "name": "initials",
              "type": {
                "text": "string"
              },
              "description": "Explicit initials (up to 2 chars)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color for initials background: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "status",
              "type": {
                "text": "'online' | 'offline' | 'busy' | 'away'"
              },
              "description": "'online' | 'offline' | 'busy' | 'away'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Fallback content shown when image and initials are unavailable."
            }
          ],
          "cssParts": [
            {
              "name": "avatar",
              "description": "Avatar root container."
            },
            {
              "name": "img",
              "description": "Image element."
            },
            {
              "name": "initials",
              "description": "Initials fallback element."
            },
            {
              "name": "fallback",
              "description": "Shadow part for the `fallback` element."
            },
            {
              "name": "status",
              "description": "Status indicator element."
            },
            {
              "name": "overflow",
              "description": "Overflow indicator element."
            }
          ],
          "cssProperties": [
            {
              "name": "--avatar-size",
              "description": "Diameter of the avatar"
            },
            {
              "name": "--avatar-bg",
              "description": "Background color"
            },
            {
              "name": "--avatar-color",
              "description": "Text/icon color"
            },
            {
              "name": "--avatar-radius",
              "description": "Border radius"
            },
            {
              "name": "--avatar-border",
              "description": "Border shorthand"
            },
            {
              "name": "--avatar-border-color",
              "description": "Border color (also controls status dot border)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-avatar src=\"/jane.jpg\" alt=\"Jane Doe\"></ore-avatar>\n<ore-avatar initials=\"JD\" color=\"primary\"></ore-avatar>\n<ore-avatar alt=\"John Smith\" status=\"online\"></ore-avatar>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AVATAR_TAG",
          "declaration": {
            "name": "AVATAR_TAG",
            "module": "src/content/avatar/avatar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAvatarElement",
          "declaration": {
            "name": "OreAvatarElement",
            "module": "src/content/avatar/avatar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/carousel/carousel-slide.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CAROUSEL_SLIDE_TAG",
          "type": {
            "text": "'ore-carousel-slide'"
          },
          "default": "'ore-carousel-slide'"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CAROUSEL_SLIDE_TAG",
          "declaration": {
            "name": "CAROUSEL_SLIDE_TAG",
            "module": "src/content/carousel/carousel-slide.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/carousel/carousel.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CAROUSEL_TAG",
          "type": {
            "text": "'ore-carousel'"
          },
          "default": "'ore-carousel'",
          "description": "An accessible, keyboard-navigable carousel / slideshow with optional\nautoplay, swipe support, and indicator dots.\n\nPlace `<ore-carousel-slide>` elements as direct children."
        },
        {
          "kind": "class",
          "name": "OreCarouselElement",
          "tagName": "ore-carousel",
          "customElement": true,
          "description": "An accessible, keyboard-navigable carousel / slideshow with optional\nautoplay, swipe support, and indicator dots.\nPlace `<ore-carousel-slide>` elements as direct children.",
          "summary": "",
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color for navigation buttons: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "autoplay",
              "type": {
                "text": "boolean"
              },
              "description": "Advance slides automatically (default false)"
            },
            {
              "name": "autoplay-interval",
              "type": {
                "text": "number"
              },
              "description": "Milliseconds between automatic advances (default 5000)"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label for the carousel region"
            },
            {
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "description": "Loop from last slide to first (default true)"
            },
            {
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "'horizontal' (default) | 'vertical'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'fade' | 'filmstrip' | 'gallery'"
              },
              "description": "'default' | 'fade' | 'filmstrip' | 'gallery'"
            },
            {
              "name": "show-controls",
              "type": {
                "text": "boolean"
              },
              "description": "Show prev/next buttons (default true)"
            },
            {
              "name": "show-indicators",
              "type": {
                "text": "boolean"
              },
              "description": "Show indicator dots (default true)"
            },
            {
              "name": "slide-index",
              "type": {
                "text": "number"
              },
              "description": "Active slide index (zero-based, default 0)"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fires when the active slide changes. detail: { index: number }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Place `<ore-carousel-slide>` elements here"
            }
          ],
          "cssParts": [
            {
              "name": "track",
              "description": "The scrolling slide track element"
            },
            {
              "name": "controls",
              "description": "The prev/next button container"
            },
            {
              "name": "indicators",
              "description": "The indicator dots container"
            },
            {
              "name": "prev-btn",
              "description": "The previous-slide button"
            },
            {
              "name": "next-btn",
              "description": "The next-slide button"
            }
          ],
          "cssProperties": [
            {
              "name": "--carousel-bg",
              "description": "Slide area background"
            },
            {
              "name": "--carousel-radius",
              "description": "Border radius of the carousel"
            },
            {
              "name": "--carousel-dot-bg",
              "description": "Inactive indicator color (default: var(--color-contrast-300))"
            },
            {
              "name": "--carousel-dot-active-bg",
              "description": "Active indicator / fill color (default: var(--color-contrast-700))"
            },
            {
              "name": "--carousel-transition-duration",
              "description": "Slide transition duration (default 0.35s; 0s under prefers-reduced-motion)."
            },
            {
              "name": "--carousel-min-height",
              "description": "Minimum height when no explicit height is set (default 240px)"
            },
            {
              "name": "--carousel-filmstrip-inactive",
              "description": "Width (horizontal) or height (vertical) of inactive slides in filmstrip mode"
            },
            {
              "name": "--carousel-filmstrip-gap",
              "description": "Gap between slides in filmstrip mode"
            },
            {
              "name": "--carousel-gallery-thumbnail",
              "description": "Width (horizontal) or height (vertical) of thumbnail slides in gallery mode (default var(--size-24))"
            },
            {
              "name": "--carousel-gallery-gap",
              "description": "Gap between slides in gallery mode (default var(--size-2))"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-carousel label=\"Product highlights\" loop>\n  <ore-carousel-slide>Slide 1</ore-carousel-slide>\n  <ore-carousel-slide>Slide 2</ore-carousel-slide>\n  <ore-carousel-slide>Slide 3</ore-carousel-slide>\n</ore-carousel>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CAROUSEL_SLIDE_TAG",
          "declaration": {
            "name": "CAROUSEL_SLIDE_TAG",
            "module": "./carousel-slide"
          }
        },
        {
          "kind": "js",
          "name": "CAROUSEL_TAG",
          "declaration": {
            "name": "CAROUSEL_TAG",
            "module": "src/content/carousel/carousel.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCarouselElement",
          "declaration": {
            "name": "OreCarouselElement",
            "module": "src/content/carousel/carousel.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/card/card.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CARD_TAG",
          "type": {
            "text": "'ore-card'"
          },
          "default": "'ore-card'",
          "description": "A versatile card container with semantic slots for media, header, body, footer, and actions."
        },
        {
          "kind": "class",
          "name": "OreCardElement",
          "tagName": "ore-card",
          "customElement": true,
          "description": "A versatile card container with semantic slots for media, header, body, footer, and actions.",
          "summary": "",
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'glass' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'glass' | 'frost'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "padding",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl'"
              },
              "description": "Internal padding: 'none' | 'sm' | 'md' | 'lg' | 'xl'"
            },
            {
              "name": "elevation",
              "type": {
                "text": "'0' | '1' | '2' | '3' | '4' | '5'"
              },
              "description": "Shadow elevation: '0' | '1' | '2' | '3' | '4' | '5'"
            },
            {
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "Card layout: 'horizontal'"
            },
            {
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "description": "Enable pointer/keyboard activation"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable card interaction"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Show loading progress bar"
            }
          ],
          "events": [
            {
              "name": "activate",
              "description": "Emitted when an interactive card is activated. detail: { originalEvent: MouseEvent | KeyboardEvent; trigger: 'pointer' | 'keyboard' }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "media",
              "description": "Media content displayed at top/left"
            },
            {
              "name": "header",
              "description": "Card header (title, subtitle)"
            },
            {
              "name": "",
              "description": "Main card content"
            },
            {
              "name": "footer",
              "description": "Card footer content"
            },
            {
              "name": "actions",
              "description": "Action buttons or links"
            }
          ],
          "cssParts": [
            {
              "name": "card",
              "description": "Card root container."
            },
            {
              "name": "loading-bar",
              "description": "Loading progress bar."
            },
            {
              "name": "media",
              "description": "Media slot container."
            },
            {
              "name": "body",
              "description": "Body content container."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "content",
              "description": "Content container."
            },
            {
              "name": "footer",
              "description": "Footer container."
            },
            {
              "name": "actions",
              "description": "Actions slot container."
            }
          ],
          "cssProperties": [
            {
              "name": "--card-bg",
              "description": "Background color"
            },
            {
              "name": "--card-color",
              "description": "Text color"
            },
            {
              "name": "--card-border",
              "description": "Border width"
            },
            {
              "name": "--card-border-color",
              "description": "Border color"
            },
            {
              "name": "--card-radius",
              "description": "Border radius"
            },
            {
              "name": "--card-padding",
              "description": "Internal padding"
            },
            {
              "name": "--card-shadow",
              "description": "Box shadow"
            },
            {
              "name": "--card-hover-shadow",
              "description": "Shadow on hover"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-card elevation=\"2\"><h3 slot=\"header\">Title</h3><p>Content</p></ore-card>\n<ore-card interactive color=\"primary\"><h3 slot=\"header\">Click me</h3></ore-card>\n<ore-card variant=\"frost\" color=\"secondary\">Frosted card</ore-card>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CARD_TAG",
          "declaration": {
            "name": "CARD_TAG",
            "module": "src/content/card/card.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCardElement",
          "declaration": {
            "name": "OreCardElement",
            "module": "src/content/card/card.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/chat-message/chat-message.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHAT_MESSAGE_TAG",
          "type": {
            "text": "'ore-chat-message'"
          },
          "default": "'ore-chat-message'",
          "description": "A single message bubble for chat/conversation UIs — sender-aware alignment, an optional\navatar slot, delivery status (sending/sent/error with retry), and a streaming cursor for\nassistant messages still generating. Content is provided via the default slot, so any\nmarkdown-to-HTML rendering stays the consumer's choice.\n\nThe default slot's leading/trailing whitespace-only text nodes are trimmed in place once\nper slot assignment (mount, and again on `slotchange`) — pretty-printed HTML's\nindentation would otherwise render as blank lines, since the bubble preserves line breaks\n(`white-space: pre-wrap`) for genuine multi-paragraph replies. This mutates those specific\ntext nodes' `textContent` directly; it never touches nodes appended afterward (e.g. by\n`el.textContent += token` while streaming), only the ones present at assignment time."
        },
        {
          "kind": "class",
          "name": "OreChatMessageElement",
          "tagName": "ore-chat-message",
          "customElement": true,
          "description": "A single message bubble for chat/conversation UIs — sender-aware alignment, an optional\navatar slot, delivery status (sending/sent/error with retry), and a streaming cursor for\nassistant messages still generating. Content is provided via the default slot, so any\nmarkdown-to-HTML rendering stays the consumer's choice.\nThe default slot's leading/trailing whitespace-only text nodes are trimmed in place once\nper slot assignment (mount, and again on `slotchange`) — pretty-printed HTML's\nindentation would otherwise render as blank lines, since the bubble preserves line breaks\n(`white-space: pre-wrap`) for genuine multi-paragraph replies. This mutates those specific\ntext nodes' `textContent` directly; it never touches nodes appended afterward (e.g. by\n`el.textContent += token` while streaming), only the ones present at assignment time.",
          "summary": "",
          "attributes": [
            {
              "name": "sender",
              "type": {
                "text": "'user' | 'assistant' | 'system'"
              },
              "description": "Who sent the message: 'user' | 'assistant' | 'system' (default 'assistant')"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Display name shown above the bubble"
            },
            {
              "name": "timestamp",
              "type": {
                "text": "string"
              },
              "description": "ISO 8601 timestamp, rendered as a localized short time"
            },
            {
              "name": "status",
              "type": {
                "text": "'sending' | 'sent' | 'error'"
              },
              "description": "Delivery status: 'sending' | 'sent' | 'error'"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error detail shown beneath the bubble when status=\"error\""
            },
            {
              "name": "streaming",
              "type": {
                "text": "boolean"
              },
              "description": "Append a blinking cursor after the content"
            }
          ],
          "events": [
            {
              "name": "retry",
              "description": "Fired when the retry action is activated. detail: { originalEvent }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Message content"
            },
            {
              "name": "avatar",
              "description": "Avatar element (e.g. `<ore-avatar>`)"
            },
            {
              "name": "actions",
              "description": "Action buttons shown beneath the message (copy, regenerate, feedback, …)"
            }
          ],
          "cssParts": [
            {
              "name": "row",
              "description": "Root row container (avatar + column)"
            },
            {
              "name": "avatar",
              "description": "Avatar slot container"
            },
            {
              "name": "column",
              "description": "Column containing name, bubble, meta, and actions"
            },
            {
              "name": "name",
              "description": "Sender display name"
            },
            {
              "name": "bubble",
              "description": "Message bubble container"
            },
            {
              "name": "content",
              "description": "Content container inside the bubble"
            },
            {
              "name": "cursor",
              "description": "Blinking streaming cursor"
            },
            {
              "name": "meta",
              "description": "Row of timestamp, status, and error text below the bubble"
            },
            {
              "name": "timestamp",
              "description": "Timestamp `<time>` element"
            },
            {
              "name": "status",
              "description": "Status indicator"
            },
            {
              "name": "error",
              "description": "Error text"
            },
            {
              "name": "retry",
              "description": "Retry button (status=\"error\" only)"
            },
            {
              "name": "actions",
              "description": "Actions slot container"
            }
          ],
          "cssProperties": [
            {
              "name": "--chat-message-bg",
              "description": "Bubble background color (assistant/system)"
            },
            {
              "name": "--chat-message-color",
              "description": "Bubble text color (assistant/system)"
            },
            {
              "name": "--chat-message-user-bg",
              "description": "Bubble background color (user)"
            },
            {
              "name": "--chat-message-user-color",
              "description": "Bubble text color (user)"
            },
            {
              "name": "--chat-message-radius",
              "description": "Bubble border radius"
            },
            {
              "name": "--chat-message-max-width",
              "description": "Maximum bubble width"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-chat-message sender=\"user\" timestamp=\"2024-01-01T12:00:00Z\" status=\"sent\">\n  What's the weather like today?\n</ore-chat-message>\n<ore-chat-message sender=\"assistant\" name=\"Assistant\" streaming>\n  Let me check that for you\n</ore-chat-message>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CHAT_MESSAGE_TAG",
          "declaration": {
            "name": "CHAT_MESSAGE_TAG",
            "module": "src/content/chat-message/chat-message.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreChatMessageElement",
          "declaration": {
            "name": "OreChatMessageElement",
            "module": "src/content/chat-message/chat-message.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/code-window/code-window.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CODE_WINDOW_TAG",
          "type": {
            "text": "'ore-code-window'"
          },
          "default": "'ore-code-window'",
          "description": "A styled window chrome for code blocks and AI/MCP conversation flows.\n\nTwo variants:\n- `variant=\"code\"` (default) — language badge + optional filename header.\n- `variant=\"chat\"` — traffic-light dots + title header."
        },
        {
          "kind": "class",
          "name": "OreCodeWindowElement",
          "tagName": "ore-code-window",
          "customElement": true,
          "description": "A styled window chrome for code blocks and AI/MCP conversation flows.\nTwo variants:\n- `variant=\"code\"` (default) — language badge + optional filename header.\n- `variant=\"chat\"` — traffic-light dots + title header.",
          "summary": "",
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'code'|'chat'"
              },
              "description": "Window style variant"
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "description": "Language badge label (variant=\"code\" only)"
            },
            {
              "name": "filename",
              "type": {
                "text": "string"
              },
              "description": "Filename shown next to the badge (variant=\"code\" only)"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "Label beside the dots (variant=\"chat\" only)"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Main body content (code, conversation turns, or any markup)"
            },
            {
              "name": "header-end",
              "description": "Optional content appended to the trailing edge of the header"
            }
          ],
          "cssParts": [
            {
              "name": "window",
              "description": "The root window element"
            },
            {
              "name": "header",
              "description": "The header bar"
            },
            {
              "name": "lang",
              "description": "The language badge (`variant=\"code\"`)"
            },
            {
              "name": "filename",
              "description": "The filename label (`variant=\"code\"`)"
            },
            {
              "name": "dots",
              "description": "The traffic-light dot container (`variant=\"chat\"`)"
            },
            {
              "name": "title",
              "description": "The title label (`variant=\"chat\"`)"
            },
            {
              "name": "body",
              "description": "The body container wrapping the default slot"
            }
          ],
          "cssProperties": [
            {
              "name": "--code-window-bg",
              "description": "Window background color"
            },
            {
              "name": "--code-window-header-bg",
              "description": "Header background color"
            },
            {
              "name": "--code-window-border-color",
              "description": "Border color"
            },
            {
              "name": "--code-window-radius",
              "description": "Border radius"
            },
            {
              "name": "--code-window-shadow",
              "description": "Box shadow"
            },
            {
              "name": "--code-window-body-padding",
              "description": "Body slot padding"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-code-window lang=\"ts\" filename=\"app.ts\">\n  <pre>const x = 1;</pre>\n</ore-code-window>\n<ore-code-window variant=\"chat\" title=\"MCP tool call\">\n  <!-- conversation turns go here -->\n</ore-code-window>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CODE_WINDOW_TAG",
          "declaration": {
            "name": "CODE_WINDOW_TAG",
            "module": "src/content/code-window/code-window.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCodeWindowElement",
          "declaration": {
            "name": "OreCodeWindowElement",
            "module": "src/content/code-window/code-window.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/copy-command/copy-command.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "COPY_COMMAND_TAG",
          "type": {
            "text": "'ore-copy-command'"
          },
          "default": "'ore-copy-command'",
          "description": "A styled, copy-to-clipboard command display component.\nShows a command string in a monospace code block with a copy button.\nClicking the component copies the value to the clipboard, shows a transient\ncheck-mark confirmation, and emits a `copy` event."
        },
        {
          "kind": "class",
          "name": "OreCopyCommandElement",
          "tagName": "ore-copy-command",
          "customElement": true,
          "description": "A styled, copy-to-clipboard command display component.\nShows a command string in a monospace code block with a copy button.\nClicking the component copies the value to the clipboard, shows a transient\ncheck-mark confirmation, and emits a `copy` event.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The command string to display and copy"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'flat' | 'bordered' | 'ghost'"
              },
              "description": "Visual style: 'flat' | 'bordered' | 'ghost'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            }
          ],
          "events": [
            {
              "name": "copy",
              "description": "Emitted on successful clipboard write. detail: { value: string }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "suffix",
              "description": "Optional controls appended after the copy button (e.g. a cycle button)"
            }
          ],
          "cssParts": [
            {
              "name": "wrapper",
              "description": "Outer flex container"
            },
            {
              "name": "command",
              "description": "The copy button element"
            },
            {
              "name": "command-text",
              "description": "The `<code>` element displaying the command string"
            },
            {
              "name": "copy-icon",
              "description": "The icon wrapper span"
            },
            {
              "name": "suffix",
              "description": "Suffix slot container"
            }
          ],
          "cssProperties": [
            {
              "name": "--copy-command-bg",
              "description": "Background color of the command block"
            },
            {
              "name": "--copy-command-color",
              "description": "Text color of the command string"
            },
            {
              "name": "--copy-command-border-color",
              "description": "Border color"
            },
            {
              "name": "--copy-command-radius",
              "description": "Border radius (overrides the `rounded` attribute)"
            },
            {
              "name": "--copy-command-padding",
              "description": "Inner padding of the command button"
            },
            {
              "name": "--copy-command-font-size",
              "description": "Font size of the command string"
            },
            {
              "name": "--copy-command-icon-color",
              "description": "Color of the copy/check icon"
            },
            {
              "name": "--copy-command-hover-bg",
              "description": "Background on hover"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-copy-command value=\"npm install @vielzeug/ripple\"></ore-copy-command>\n<ore-copy-command value=\"npx -y @vielzeug/codex\" size=\"sm\" variant=\"bordered\"></ore-copy-command>\n<!-- With a suffix slot (e.g. a cycle button) -->\n<ore-copy-command value=\"npm install @vielzeug/ripple\">\n  <button slot=\"suffix\" type=\"button\" aria-label=\"Next package\">›</button>\n</ore-copy-command>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "COPY_COMMAND_TAG",
          "declaration": {
            "name": "COPY_COMMAND_TAG",
            "module": "src/content/copy-command/copy-command.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCopyCommandElement",
          "declaration": {
            "name": "OreCopyCommandElement",
            "module": "src/content/copy-command/copy-command.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/icon/icon.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "registerIcons",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "icons",
              "type": {
                "text": "Record<string, IconNode>"
              }
            }
          ],
          "description": "Register additional icons (or override existing ones) by name.\nKeys may be kebab-case or PascalCase — both are accepted by `ore-icon`."
        },
        {
          "kind": "variable",
          "name": "ICON_TAG",
          "type": {
            "text": "'ore-icon'"
          },
          "default": "'ore-icon'",
          "description": "Icon wrapper for consistent Lucide rendering across Block."
        },
        {
          "kind": "class",
          "name": "OreIconElement",
          "tagName": "ore-icon",
          "customElement": true,
          "description": "Icon wrapper for consistent Lucide rendering across Block.",
          "summary": "",
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Lucide icon name, e.g. `search` or `chevron-right`"
            },
            {
              "name": "size",
              "type": {
                "text": "number|string"
              },
              "description": "Width/height (default: 16)",
              "default": "16"
            },
            {
              "name": "stroke-width",
              "type": {
                "text": "number"
              },
              "description": "SVG stroke width (default: 2)",
              "default": "2"
            },
            {
              "name": "absolute-stroke-width",
              "type": {
                "text": "boolean"
              },
              "description": "Keep stroke width visually stable across icon sizes"
            },
            {
              "name": "solid",
              "type": {
                "text": "boolean"
              },
              "description": "Render as filled shape instead of stroked outline"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label; when omitted the icon is decorative"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-icon name=\"search\"></ore-icon>\n<ore-icon name=\"chevron-right\" size=\"18\"></ore-icon>\n<ore-icon name=\"trash-2\" label=\"Delete\"></ore-icon>\n<ore-icon name=\"star\" solid></ore-icon>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "registerIcons",
          "declaration": {
            "name": "registerIcons",
            "module": "src/content/icon/icon.ts"
          }
        },
        {
          "kind": "js",
          "name": "ICON_TAG",
          "declaration": {
            "name": "ICON_TAG",
            "module": "src/content/icon/icon.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreIconElement",
          "declaration": {
            "name": "OreIconElement",
            "module": "src/content/icon/icon.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/list/_list-item-reveal.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createRevealState",
          "return": {
            "type": {
              "text": "PanGesture"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "target",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "options",
              "type": {
                "text": "RevealStateOptions"
              }
            }
          ],
          "description": "The swipe-reveal-confirm gesture behind `ore-list-item`'s `actions-left`/`actions-right` slots\n— isolated here since it's the one genuinely tricky part of the component (three distance\nthresholds, inline style/attribute choreography during an active drag). Deliberately *not* a\nshared primitive: `createPanGesture` itself already is one (shared with `ore-toast`),\nbut this two-stage reveal/confirm layer on top of it has exactly one consumer today —\ngeneralizing it further would be speculative, not reusable.\n\nOnly sets/clears the `revealed`/`data-dragging`/`data-confirming` attributes and `--_swipe-x`\nstyle — it does not itself emit `reveal`/`conceal`. `ore-list-item` already watches `revealed`\nfor transitions (to cover *both* this gesture and a directly-set attribute uniformly), so this\nmodule setting the attribute is enough to drive both that watcher and `list.css`'s\n`[revealed]` styling."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createRevealState",
          "declaration": {
            "name": "createRevealState",
            "module": "src/content/list/_list-item-reveal.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/list/list-item.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "LIST_ITEM_TAG",
          "type": {
            "text": "'ore-list-item'"
          },
          "default": "'ore-list-item'",
          "description": "A single row inside `ore-list`. Renders `leading`/default (title)/`description`/`trailing`\ncontent plus two off-canvas action panels (`actions-left`, `actions-right`) that a horizontal\npointer/touch swipe reveals — useful for mobile-style row actions (archive, delete, …). An\naction panel only opens if it actually has slotted content; swiping the other direction is a\nno-op. Revealed actions stay reachable from the keyboard (Tab focus on a slotted action button\nreveals its panel via `:focus-within`, independent of any gesture).\n\nSwiping past the reveal distance snaps the panel fully open on release; swiping further still —\npast the full-swipe-through distance — auto-confirms that side's action immediately (fires\n`confirm` and clicks the slot's first element), the same \"swipe all the way\" shortcut as iOS\nMail's delete gesture.\n\nClosing a revealed panel is deliberately one-directional: tap/click the row itself, tap outside\nthe item, or open a different item's panel. Reverse-swiping an already-open item is not\nsupported — see `ore-list`'s docs for the reasoning."
        },
        {
          "kind": "class",
          "name": "OreListItemElement",
          "tagName": "ore-list-item",
          "customElement": true,
          "description": "A single row inside `ore-list`. Renders `leading`/default (title)/`description`/`trailing`\ncontent plus two off-canvas action panels (`actions-left`, `actions-right`) that a horizontal\npointer/touch swipe reveals — useful for mobile-style row actions (archive, delete, …). An\naction panel only opens if it actually has slotted content; swiping the other direction is a\nno-op. Revealed actions stay reachable from the keyboard (Tab focus on a slotted action button\nreveals its panel via `:focus-within`, independent of any gesture).\nSwiping past the reveal distance snaps the panel fully open on release; swiping further still —\npast the full-swipe-through distance — auto-confirms that side's action immediately (fires\n`confirm` and clicks the slot's first element), the same \"swipe all the way\" shortcut as iOS\nMail's delete gesture.\nClosing a revealed panel is deliberately one-directional: tap/click the row itself, tap outside\nthe item, or open a different item's panel. Reverse-swiping an already-open item is not\nsupported — see `ore-list`'s docs for the reasoning.",
          "summary": "",
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable this item"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only reflected attribute: `true` when this item's `value` matches the parent `ore-list`'s `value`. Not independently settable."
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Opaque value compared against the parent list's `value` to derive `selected`; also reported in select/change events"
            },
            {
              "name": "revealed",
              "type": {
                "text": "'left' | 'right'"
              },
              "description": "Which action panel is revealed: 'left' | 'right'"
            }
          ],
          "events": [
            {
              "name": "select",
              "description": "Item becomes selected. detail: { item: HTMLElement, value: string | null }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "deselect",
              "description": "Item becomes deselected. detail: { item: HTMLElement, value: string | null }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "reveal",
              "description": "An action panel opens. detail: { item: HTMLElement, side: 'left' | 'right' }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "conceal",
              "description": "The revealed action panel closes. detail: { item: HTMLElement }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "confirm",
              "description": "Swiped all the way through — fires before the slotted action's own click. detail: { item: HTMLElement, side: 'left' | 'right' }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "leading",
              "description": "Content before the title (e.g. icon, avatar)"
            },
            {
              "name": "",
              "description": "Item title"
            },
            {
              "name": "description",
              "description": "Secondary line below the title"
            },
            {
              "name": "trailing",
              "description": "Content after the title (e.g. meta text, chevron)"
            },
            {
              "name": "actions-left",
              "description": "Buttons revealed by swiping right (or focusing into this slot)"
            },
            {
              "name": "actions-right",
              "description": "Buttons revealed by swiping left (or focusing into this slot)"
            }
          ],
          "cssParts": [
            {
              "name": "row",
              "description": "The row wrapper (focusable, swipeable)"
            },
            {
              "name": "leading",
              "description": "The leading slot container"
            },
            {
              "name": "content",
              "description": "The title + description container"
            },
            {
              "name": "title",
              "description": "The title slot container"
            },
            {
              "name": "description",
              "description": "The description slot container"
            },
            {
              "name": "trailing",
              "description": "The trailing slot container"
            },
            {
              "name": "actions-start",
              "description": "The left action panel container"
            },
            {
              "name": "actions-end",
              "description": "The right action panel container"
            }
          ],
          "cssProperties": [
            {
              "name": "--list-item-actions-width",
              "description": "Width of each action panel (default 6rem)"
            },
            {
              "name": "--list-item-bg",
              "description": "Row background color"
            },
            {
              "name": "--list-item-hover-bg",
              "description": "Row background on hover"
            },
            {
              "name": "--list-item-selected-bg",
              "description": "Row background when selected"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-list-item>\n  <ore-icon slot=\"leading\" name=\"mail\"></ore-icon>\n  Inbox\n  <span slot=\"trailing\">12</span>\n</ore-list-item>\n<ore-list-item>\n  Newsletter\n  <span slot=\"description\">From Acme Inc.</span>\n  <ore-button slot=\"actions-right\" color=\"error\">Delete</ore-button>\n</ore-list-item>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LIST_ITEM_TAG",
          "declaration": {
            "name": "LIST_ITEM_TAG",
            "module": "src/content/list/list-item.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreListItemElement",
          "declaration": {
            "name": "OreListItemElement",
            "module": "src/content/list/list-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/list/list.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "LIST_CTX",
          "description": "Injection key for the list context."
        },
        {
          "kind": "variable",
          "name": "LIST_TAG",
          "type": {
            "text": "'ore-list'"
          },
          "default": "'ore-list'",
          "description": "A vertical list container for `ore-list-item` children — plain display list by default, or a\nkeyboard-navigable single-select listbox via `selectable`. Each item can independently reveal\na left/right action panel via touch/pointer swipe (see `ore-list-item`'s `actions-left`/\n`actions-right` slots) — useful for mobile-style row actions (archive, delete, …)."
        },
        {
          "kind": "class",
          "name": "OreListElement",
          "tagName": "ore-list",
          "customElement": true,
          "description": "A vertical list container for `ore-list-item` children — plain display list by default, or a\nkeyboard-navigable single-select listbox via `selectable`. Each item can independently reveal\na left/right action panel via touch/pointer swipe (see `ore-list-item`'s `actions-left`/\n`actions-right` slots) — useful for mobile-style row actions (archive, delete, …).",
          "summary": "",
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the entire list"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "description": "Enable single-selection listbox behavior with arrow-key navigation"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size applied to all items: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Selected item's value (only meaningful when `selectable`) — the single source of truth for selection"
            },
            {
              "name": "variant",
              "type": {
                "text": "'plain' | 'bordered' | 'separated'"
              },
              "description": "Visual variant: 'plain' | 'bordered' | 'separated'"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when the selected value changes. detail: { value: string | null }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`ore-list-item` elements"
            }
          ],
          "cssProperties": [
            {
              "name": "--list-radius",
              "description": "Border radius for the 'bordered'/'separated' variants"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-list variant=\"bordered\">\n  <ore-list-item>Inbox</ore-list-item>\n  <ore-list-item>Drafts</ore-list-item>\n</ore-list>\n<ore-list selectable value=\"inbox\">\n  <ore-list-item value=\"inbox\">Inbox</ore-list-item>\n  <ore-list-item value=\"drafts\">Drafts</ore-list-item>\n</ore-list>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LIST_CTX",
          "declaration": {
            "name": "LIST_CTX",
            "module": "src/content/list/list.ts"
          }
        },
        {
          "kind": "js",
          "name": "LIST_TAG",
          "declaration": {
            "name": "LIST_TAG",
            "module": "src/content/list/list.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreListElement",
          "declaration": {
            "name": "OreListElement",
            "module": "src/content/list/list.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/marquee/marquee.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "MARQUEE_TAG",
          "type": {
            "text": "'ore-marquee'"
          },
          "default": "'ore-marquee'",
          "description": "A CSS-driven, continuously scrolling ticker.\n\nDirect child elements are duplicated internally for a seamless loop. Cloned\ncontent is inert and hidden from assistive technology, so author interactive\ncontent only in the original children."
        },
        {
          "kind": "class",
          "name": "OreMarqueeElement",
          "tagName": "ore-marquee",
          "customElement": true,
          "description": "A CSS-driven, continuously scrolling ticker.\nDirect child elements are duplicated internally for a seamless loop. Cloned\ncontent is inert and hidden from assistive technology, so author interactive\ncontent only in the original children.",
          "summary": "",
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "description": "Theme color for the navigation controls."
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "description": "Duration in seconds for one ticker cycle (default: 20)",
              "default": "20"
            },
            {
              "name": "direction",
              "type": {
                "text": "string"
              },
              "description": "'left' (default) | 'right'"
            },
            {
              "name": "pause-on-hover",
              "type": {
                "text": "boolean"
              },
              "description": "Pause while hovered (default: false)",
              "default": "false"
            },
            {
              "name": "show-controls",
              "type": {
                "text": "boolean"
              },
              "description": "Show previous/next controls (default: true)",
              "default": "true"
            }
          ],
          "cssParts": [
            {
              "name": "track",
              "description": "The animated ticker track."
            }
          ],
          "cssProperties": [
            {
              "name": "--marquee-gap",
              "description": "Gap between ticker items (default: var(--size-4))"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-marquee duration=\"24\" pause-on-hover>\n  <span>Free shipping</span>\n  <span>New arrivals</span>\n</ore-marquee>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MARQUEE_TAG",
          "declaration": {
            "name": "MARQUEE_TAG",
            "module": "src/content/marquee/marquee.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreMarqueeElement",
          "declaration": {
            "name": "OreMarqueeElement",
            "module": "src/content/marquee/marquee.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/pagination/pagination.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "PAGINATION_TAG",
          "type": {
            "text": "'ore-pagination'"
          },
          "default": "'ore-pagination'",
          "description": "Page-based navigation control."
        },
        {
          "kind": "class",
          "name": "OrePaginationElement",
          "tagName": "ore-pagination",
          "customElement": true,
          "description": "Page-based navigation control.",
          "summary": "",
          "attributes": [
            {
              "name": "page",
              "type": {
                "text": "number"
              },
              "description": "Current page (1-indexed, default: 1)",
              "default": "1)"
            },
            {
              "name": "total-pages",
              "type": {
                "text": "number"
              },
              "description": "Total number of pages (required)"
            },
            {
              "name": "siblings",
              "type": {
                "text": "number"
              },
              "description": "Sibling pages around current (default: 1)",
              "default": "1"
            },
            {
              "name": "show-first-last",
              "type": {
                "text": "boolean"
              },
              "description": "Show first/last page buttons (default: false)",
              "default": "false"
            },
            {
              "name": "show-prev-next",
              "type": {
                "text": "boolean"
              },
              "description": "Show prev/next buttons (default: false)",
              "default": "false"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'frost'"
              },
              "description": "Visual variant for nav buttons: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'frost' (default: 'ghost')",
              "default": "'ghost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible nav label (default: 'Pagination')",
              "default": "'Pagination'"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when the page changes, with { page: number }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "cssParts": [
            {
              "name": "page-btn",
              "description": "Page button."
            },
            {
              "name": "nav",
              "description": "Navigation container."
            },
            {
              "name": "list",
              "description": "List container."
            },
            {
              "name": "first-btn",
              "description": "First page button."
            },
            {
              "name": "prev-btn",
              "description": "Previous page button."
            },
            {
              "name": "next-btn",
              "description": "Next page button."
            },
            {
              "name": "last-btn",
              "description": "Last page button."
            }
          ],
          "cssProperties": [
            {
              "name": "--pagination-item-size",
              "description": "Width/height of each item"
            },
            {
              "name": "--pagination-gap",
              "description": "Gap between items"
            },
            {
              "name": "--pagination-radius",
              "description": "Border radius of items"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Basic -->\n<ore-pagination page=\"3\" total-pages=\"10\" color=\"primary\"></ore-pagination>\n<!-- With prev/next and first/last buttons -->\n<ore-pagination page=\"5\" total-pages=\"20\" show-prev-next show-first-last siblings=\"2\"></ore-pagination>\n<!-- Compact size -->\n<ore-pagination page=\"1\" total-pages=\"5\" size=\"sm\" variant=\"ghost\"></ore-pagination>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PAGINATION_TAG",
          "declaration": {
            "name": "PAGINATION_TAG",
            "module": "src/content/pagination/pagination.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OrePaginationElement",
          "declaration": {
            "name": "OrePaginationElement",
            "module": "src/content/pagination/pagination.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/separator/separator.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SEPARATOR_TAG",
          "type": {
            "text": "'ore-separator'"
          },
          "default": "'ore-separator'",
          "description": "A simple visual divider between sections of content."
        },
        {
          "kind": "class",
          "name": "OreSeparatorElement",
          "tagName": "ore-separator",
          "customElement": true,
          "description": "A simple visual divider between sections of content.",
          "summary": "",
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "'horizontal' (default) | 'vertical'"
            },
            {
              "name": "decorative",
              "type": {
                "text": "boolean"
              },
              "description": "When true (default), aria-hidden is applied"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Optional centered label text"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            }
          ],
          "cssParts": [
            {
              "name": "wrapper",
              "description": "Root wrapper container."
            },
            {
              "name": "separator",
              "description": "Separator element."
            },
            {
              "name": "label",
              "description": "Label element."
            }
          ],
          "cssProperties": [
            {
              "name": "--separator-color",
              "description": "Line color"
            },
            {
              "name": "--separator-size",
              "description": "Line thickness"
            },
            {
              "name": "--separator-spacing",
              "description": "Vertical margin"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-separator></ore-separator>\n<ore-separator label=\"or\"></ore-separator>\n<ore-separator orientation=\"vertical\"></ore-separator>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SEPARATOR_TAG",
          "declaration": {
            "name": "SEPARATOR_TAG",
            "module": "src/content/separator/separator.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSeparatorElement",
          "declaration": {
            "name": "OreSeparatorElement",
            "module": "src/content/separator/separator.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/table/table.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Light-DOM row marker consumed by `<ore-table>`.",
          "name": "anonymous_0",
          "superclass": {
            "name": "HTMLElement"
          },
          "tagName": "ore-tr",
          "customElement": true,
          "attributes": [
            {
              "name": "head",
              "type": {
                "text": "boolean"
              },
              "description": "Places the row in the generated `<thead>` section"
            },
            {
              "name": "foot",
              "type": {
                "text": "boolean"
              },
              "description": "Places the row in the generated `<tfoot>` section"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-table>\n  <ore-tr head><ore-th>Name</ore-th><ore-th>Role</ore-th></ore-tr>\n  <ore-tr><ore-td>Alice</ore-td><ore-td>Admin</ore-td></ore-tr>\n</ore-table>\n```"
            }
          ]
        },
        {
          "kind": "class",
          "description": "Light-DOM header cell marker consumed by `<ore-table>`.",
          "name": "anonymous_1",
          "superclass": {
            "name": "HTMLElement"
          },
          "tagName": "ore-th",
          "customElement": true,
          "attributes": [
            {
              "name": "colspan",
              "type": {
                "text": "number"
              },
              "description": "Mirrors to native `<th colspan>`"
            },
            {
              "name": "rowspan",
              "type": {
                "text": "number"
              },
              "description": "Mirrors to native `<th rowspan>`"
            },
            {
              "name": "scope",
              "type": {
                "text": "'col' | 'row' | 'colgroup' | 'rowgroup'"
              },
              "description": "Mirrors to native `<th scope>`: 'col' | 'row' | 'colgroup' | 'rowgroup'"
            },
            {
              "name": "headers",
              "type": {
                "text": "string"
              },
              "description": "Mirrors to native `<th headers>`"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-tr head>\n  <ore-th scope=\"col\">Name</ore-th>\n  <ore-th scope=\"col\" colspan=\"2\">Address</ore-th>\n</ore-tr>\n```"
            }
          ]
        },
        {
          "kind": "class",
          "description": "Light-DOM data cell marker consumed by `<ore-table>`.",
          "name": "anonymous_2",
          "superclass": {
            "name": "HTMLElement"
          },
          "tagName": "ore-td",
          "customElement": true,
          "attributes": [
            {
              "name": "colspan",
              "type": {
                "text": "number"
              },
              "description": "Mirrors to native `<td colspan>`"
            },
            {
              "name": "rowspan",
              "type": {
                "text": "number"
              },
              "description": "Mirrors to native `<td rowspan>`"
            },
            {
              "name": "headers",
              "type": {
                "text": "string"
              },
              "description": "Mirrors to native `<td headers>`"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-tr>\n  <ore-td>Alice</ore-td>\n  <ore-td colspan=\"2\">123 Main St, Springfield</ore-td>\n</ore-tr>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "TABLE_TAG",
          "type": {
            "text": "'ore-table'"
          },
          "default": "'ore-table'",
          "description": "Data table component.\n\nReads light-DOM `<ore-tr>`/`<ore-th>`/`<ore-td>` markers and projects them\ninto a fully-native shadow `<table>`. Cell attributes (`colspan`, `rowspan`,\n`scope`, etc.) are mirrored. Changes are observed and synced incrementally.\n\nNative table features — sticky headers, colspan/rowspan, the table layout\nalgorithm — all work because the shadow tree contains real table elements."
        },
        {
          "kind": "class",
          "name": "OreTableElement",
          "tagName": "ore-table",
          "customElement": true,
          "description": "Data table component.\nReads light-DOM `<ore-tr>`/`<ore-th>`/`<ore-td>` markers and projects them\ninto a fully-native shadow `<table>`. Cell attributes (`colspan`, `rowspan`,\n`scope`, etc.) are mirrored. Changes are observed and synced incrementally.\nNative table features — sticky headers, colspan/rowspan, the table layout\nalgorithm — all work because the shadow tree contains real table elements.",
          "summary": "",
          "attributes": [
            {
              "name": "bordered",
              "type": {
                "text": "boolean"
              },
              "description": "Thicker outer border"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "description": "Caption text shown above the table"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Expands to 100% container width"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Busy state: reduced opacity, no pointer events"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'cozy' | 'comfortable'"
              },
              "description": "Cell density: 'compact' | 'cozy' | 'comfortable' (default: 'cozy')",
              "default": "'cozy'"
            },
            {
              "name": "sticky",
              "type": {
                "text": "boolean"
              },
              "description": "Sticky `<thead>` with scroll container"
            },
            {
              "name": "striped",
              "type": {
                "text": "boolean"
              },
              "description": "Alternating row backgrounds"
            }
          ],
          "cssParts": [
            {
              "name": "scroll",
              "description": "Scroll container that hosts the generated native table"
            },
            {
              "name": "table",
              "description": "Generated native `<table>` element"
            },
            {
              "name": "head",
              "description": "Generated native `<thead>` section"
            },
            {
              "name": "body",
              "description": "Generated native `<tbody>` section"
            },
            {
              "name": "foot",
              "description": "Generated native `<tfoot>` section"
            },
            {
              "name": "cell",
              "description": "Every native `<td>` in `<tbody>` rows"
            },
            {
              "name": "header-cell",
              "description": "Every native `<th>` / `<td>` in `<thead>` and `<tfoot>` rows"
            }
          ],
          "cssProperties": [
            {
              "name": "--table-bg",
              "description": "Table background color"
            },
            {
              "name": "--table-border-color",
              "description": "Cell separator and outer border color"
            },
            {
              "name": "--table-radius",
              "description": "Corner radius of the table container"
            },
            {
              "name": "--table-shadow",
              "description": "Box shadow of the table container"
            },
            {
              "name": "--table-header-bg",
              "description": "Background of header and footer rows"
            },
            {
              "name": "--table-accent",
              "description": "Accent color for interactive states"
            },
            {
              "name": "--table-row-hover-bg",
              "description": "Row hover background"
            },
            {
              "name": "--table-stripe-bg",
              "description": "Even-row stripe background"
            },
            {
              "name": "--table-cell-padding-x",
              "description": "Cell horizontal padding"
            },
            {
              "name": "--table-cell-padding-y",
              "description": "Cell vertical padding"
            },
            {
              "name": "--table-font-size",
              "description": "Base font size for cells"
            },
            {
              "name": "--table-sticky-max-height",
              "description": "Max height of the sticky scroll container"
            },
            {
              "name": "--table-sticky-header-bg",
              "description": "Background of sticky header cells"
            },
            {
              "name": "--table-sticky-blur",
              "description": "Backdrop blur applied to sticky headers"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-table caption=\"Top repositories\" striped bordered sticky>\n  <ore-tr head>\n    <ore-th>Repository</ore-th>\n    <ore-th>Stars</ore-th>\n  </ore-tr>\n  <ore-tr>\n    <ore-td>vielzeug/refine</ore-td>\n    <ore-td>1 200</ore-td>\n  </ore-tr>\n</ore-table>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "ore-tr",
          "declaration": {
            "name": "anonymous_0",
            "module": "src/content/table/table.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ore-th",
          "declaration": {
            "name": "anonymous_1",
            "module": "src/content/table/table.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ore-td",
          "declaration": {
            "name": "anonymous_2",
            "module": "src/content/table/table.ts"
          }
        },
        {
          "kind": "js",
          "name": "TABLE_TAG",
          "declaration": {
            "name": "TABLE_TAG",
            "module": "src/content/table/table.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTableElement",
          "declaration": {
            "name": "OreTableElement",
            "module": "src/content/table/table.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/stepper/_is-step-navigable.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isStepNavigable",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "{\n  disabled: boolean;\n  index: number;\n  linear: boolean;\n  stepperClickable: boolean;\n  stepperCurrentIndex: number;\n}"
              }
            }
          ],
          "description": "Pure navigability rule shared by `ore-stepper` (building its own roving-tabindex\ncandidate list) and `ore-step` (reflecting its own `navigable` attribute for CSS/\ntesting). Kept in one place instead of duplicated inline so the two derivations\ncan't drift out of sync."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isStepNavigable",
          "declaration": {
            "name": "isStepNavigable",
            "module": "src/content/stepper/_is-step-navigable.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/stepper/step.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "STEP_TAG",
          "type": {
            "text": "'ore-step'"
          },
          "default": "'ore-step'",
          "description": "A single step trigger. Must be placed as a direct child of `ore-stepper`, which provides\nthis step's current/completed/navigable/index/total state via context — those are derived,\nread-only attributes on this element, not settable props."
        },
        {
          "kind": "class",
          "name": "OreStepElement",
          "tagName": "ore-step",
          "customElement": true,
          "description": "A single step trigger. Must be placed as a direct child of `ore-stepper`, which provides\nthis step's current/completed/navigable/index/total state via context — those are derived,\nread-only attributes on this element, not settable props.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Unique identifier, matches the parent ore-stepper's `value` attribute"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Prevents navigation to this step"
            },
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "description": "Marks the step as failed/invalid"
            },
            {
              "name": "optional",
              "type": {
                "text": "boolean"
              },
              "description": "Renders an \"(optional)\" hint next to the label"
            },
            {
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only. Derived from position relative to the parent ore-stepper's `value`."
            },
            {
              "name": "completed",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only. Derived from position relative to the parent ore-stepper's `value`."
            },
            {
              "name": "navigable",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only. Derived from the parent ore-stepper's `clickable`/`linear`/`disabled`."
            },
            {
              "name": "index",
              "type": {
                "text": "number"
              },
              "description": "Read-only. This step's 1-based position among its siblings."
            },
            {
              "name": "total",
              "type": {
                "text": "number"
              },
              "description": "Read-only. Total sibling step count."
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Inherited from ore-stepper: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Inherited from ore-stepper: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "description": "Inherited from ore-stepper: 'horizontal' | 'vertical'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Step label"
            },
            {
              "name": "description",
              "description": "Optional supporting text shown below the label"
            },
            {
              "name": "icon",
              "description": "Custom icon replacing the step number/check/error indicator"
            }
          ],
          "cssParts": [
            {
              "name": "control",
              "description": "Clickable (or static) root element for the step"
            },
            {
              "name": "indicator",
              "description": "Circular indicator holding the number/icon"
            },
            {
              "name": "content",
              "description": "Wrapper around the label and description"
            },
            {
              "name": "label",
              "description": "Step label element"
            },
            {
              "name": "description",
              "description": "Step description element"
            },
            {
              "name": "connector",
              "description": "Connector line segments (leading and trailing halves) either side of this step's indicator"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-step value=\"details\">Account details</ore-step>\n<ore-step value=\"review\" disabled>Review</ore-step>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "STEP_TAG",
          "declaration": {
            "name": "STEP_TAG",
            "module": "src/content/stepper/step.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreStepElement",
          "declaration": {
            "name": "OreStepElement",
            "module": "src/content/stepper/step.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/stepper/stepper.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "STEPPER_CTX",
          "description": "Injection key for the stepper context."
        },
        {
          "kind": "variable",
          "name": "STEPPER_TAG",
          "type": {
            "text": "'ore-stepper'"
          },
          "default": "'ore-stepper'",
          "description": "Displays progress through a sequence of numbered steps. Manages step selection and provides\nshared state (current value, clickability, theming) to its `ore-step` children via context.\nCan be purely informational (progress display) or interactive navigation."
        },
        {
          "kind": "class",
          "name": "OreStepperElement",
          "tagName": "ore-stepper",
          "customElement": true,
          "description": "Displays progress through a sequence of numbered steps. Manages step selection and provides\nshared state (current value, clickability, theming) to its `ore-step` children via context.\nCan be purely informational (progress display) or interactive navigation.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the currently active step"
            },
            {
              "name": "clickable",
              "type": {
                "text": "boolean"
              },
              "description": "Allow clicking/focusing steps to navigate"
            },
            {
              "name": "linear",
              "type": {
                "text": "boolean"
              },
              "description": "Restrict navigation to completed + current steps only"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables the whole stepper"
            },
            {
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "'horizontal' (default) | 'vertical'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible nav landmark label (default: 'Progress')",
              "default": "'Progress'"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when the active step changes via click/keyboard. detail: { value: string }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`ore-step` elements"
            }
          ],
          "cssParts": [
            {
              "name": "nav",
              "description": "Navigation landmark element"
            },
            {
              "name": "list",
              "description": "Ordered list container holding the slotted steps"
            }
          ],
          "cssProperties": [
            {
              "name": "--stepper-connector-color",
              "description": "Color of the connector line between steps"
            },
            {
              "name": "--stepper-connector-size",
              "description": "Thickness of the connector line"
            },
            {
              "name": "--stepper-gap",
              "description": "Gap between steps"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Display-only progress -->\n<ore-stepper value=\"shipping\" color=\"primary\">\n  <ore-step value=\"cart\">Cart</ore-step>\n  <ore-step value=\"shipping\">Shipping</ore-step>\n  <ore-step value=\"payment\">Payment</ore-step>\n</ore-stepper>\n<!-- Clickable navigation, mobile-friendly vertical layout -->\n<ore-stepper value=\"shipping\" clickable linear orientation=\"vertical\">\n  <ore-step value=\"cart\">Cart</ore-step>\n  <ore-step value=\"shipping\">Shipping</ore-step>\n  <ore-step value=\"payment\" disabled>Payment</ore-step>\n</ore-stepper>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "STEPPER_CTX",
          "declaration": {
            "name": "STEPPER_CTX",
            "module": "src/content/stepper/stepper.ts"
          }
        },
        {
          "kind": "js",
          "name": "STEPPER_TAG",
          "declaration": {
            "name": "STEPPER_TAG",
            "module": "src/content/stepper/stepper.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreStepperElement",
          "declaration": {
            "name": "OreStepperElement",
            "module": "src/content/stepper/stepper.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/content/text/text.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TEXT_TAG",
          "type": {
            "text": "'ore-text'"
          },
          "default": "'ore-text'",
          "description": "A typography component with semantic variants and responsive sizing."
        },
        {
          "kind": "class",
          "name": "OreTextElement",
          "tagName": "ore-text",
          "customElement": true,
          "description": "A typography component with semantic variants and responsive sizing.",
          "summary": "",
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'body' | 'heading' | 'label' | 'caption' | 'overline' | 'code'"
              },
              "description": "Text variant: 'body' | 'heading' | 'label' | 'caption' | 'overline' | 'code'"
            },
            {
              "name": "size",
              "type": {
                "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
              },
              "description": "Font size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'. Maps to --text-* tokens for body variants and --heading-* tokens for the heading variant."
            },
            {
              "name": "weight",
              "type": {
                "text": "'normal' | 'medium' | 'semibold' | 'bold'"
              },
              "description": "Font weight: 'normal' | 'medium' | 'semibold' | 'bold'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error' | 'heading' | 'body' | 'muted' | 'tertiary' | 'disabled' | 'contrast'"
              },
              "description": "Text color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error' | 'heading' | 'body' | 'muted' | 'tertiary' | 'disabled' | 'contrast'"
            },
            {
              "name": "align",
              "type": {
                "text": "'left' | 'center' | 'right' | 'justify'"
              },
              "description": "Text alignment: 'left' | 'center' | 'right' | 'justify'"
            },
            {
              "name": "truncate",
              "type": {
                "text": "boolean"
              },
              "description": "Truncate text with ellipsis when it overflows (single-line)"
            },
            {
              "name": "lines",
              "type": {
                "text": "number"
              },
              "description": "Clamp to N lines with ellipsis (multi-line truncation)"
            },
            {
              "name": "italic",
              "type": {
                "text": "boolean"
              },
              "description": "Italic text style"
            },
            {
              "name": "as",
              "type": {
                "text": "'span' | 'p' | 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'label' | 'code'"
              },
              "description": "Semantic HTML element: 'span' | 'p' | 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'label' | 'code'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Text content"
            }
          ],
          "cssProperties": [
            {
              "name": "--text-size",
              "description": "Font size"
            },
            {
              "name": "--text-weight",
              "description": "Font weight"
            },
            {
              "name": "--text-color",
              "description": "Text color"
            },
            {
              "name": "--text-line-height",
              "description": "Line height"
            },
            {
              "name": "--text-letter-spacing",
              "description": "Letter spacing"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-text variant=\"heading\" size=\"2xl\" weight=\"bold\">Welcome</ore-text>\n<ore-text as=\"h2\" variant=\"heading\" size=\"xl\">Section title</ore-text>\n<ore-text color=\"primary\" weight=\"semibold\">Important notice</ore-text>\n<ore-text variant=\"code\">npm install</ore-text>\n<ore-text lines=\"2\">Long paragraph that clamps at two lines…</ore-text>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TEXT_TAG",
          "declaration": {
            "name": "TEXT_TAG",
            "module": "src/content/text/text.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTextElement",
          "declaration": {
            "name": "OreTextElement",
            "module": "src/content/text/text.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/disclosure/accordion/accordion.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ACCORDION_CTX",
          "description": "Injection key for the accordion context."
        },
        {
          "kind": "variable",
          "name": "ACCORDION_TAG",
          "type": {
            "text": "'ore-accordion'"
          },
          "default": "'ore-accordion'",
          "description": "A container for accordion items with single or multiple selection modes."
        },
        {
          "kind": "class",
          "name": "OreAccordionElement",
          "tagName": "ore-accordion",
          "customElement": true,
          "description": "A container for accordion items with single or multiple selection modes.",
          "summary": "",
          "attributes": [
            {
              "name": "selection-mode",
              "type": {
                "text": "'single' | 'multiple'"
              },
              "description": "Selection mode: 'single' | 'multiple'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size for all items: 'sm' | 'md' | 'lg' (propagated to children)"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'text' | 'glass' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'text' | 'glass' | 'frost' (propagated to children)"
            }
          ],
          "events": [
            {
              "name": "expand",
              "description": "Emitted when an item expands. detail: { expanded: boolean; item: HTMLElement }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when selection changes (single mode). detail: { expandedItem: HTMLElement }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`ore-accordion-item` elements"
            }
          ],
          "cssProperties": [
            {
              "name": "--accordion-bg",
              "description": "Container background color (solid/flat/glass/frost variants)"
            },
            {
              "name": "--accordion-border-color",
              "description": "Container border color (solid/flat variants)"
            },
            {
              "name": "--accordion-divider-color",
              "description": "Divider color between items (text variant)"
            },
            {
              "name": "--accordion-shadow",
              "description": "Container box shadow"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-accordion selection-mode=\"single\">\n  <ore-accordion-item>\n    <span slot=\"title\">What is Refine?</span>\n    <p>Refine is a headless web component library.</p>\n  </ore-accordion-item>\n  <ore-accordion-item>\n    <span slot=\"title\">How do I install it?</span>\n    <p>Run <code>npm install @vielzeug/refine</code>.</p>\n  </ore-accordion-item>\n</ore-accordion>\n<ore-accordion variant=\"bordered\" selection-mode=\"multiple\">\n  <ore-accordion-item expanded><span slot=\"title\">Open by default</span><p>Content</p></ore-accordion-item>\n</ore-accordion>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ACCORDION_CTX",
          "declaration": {
            "name": "ACCORDION_CTX",
            "module": "src/disclosure/accordion/accordion.ts"
          }
        },
        {
          "kind": "js",
          "name": "ACCORDION_TAG",
          "declaration": {
            "name": "ACCORDION_TAG",
            "module": "src/disclosure/accordion/accordion.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAccordionElement",
          "declaration": {
            "name": "OreAccordionElement",
            "module": "src/disclosure/accordion/accordion.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/disclosure/accordion-item/accordion-item.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ACCORDION_ITEM_TAG",
          "type": {
            "text": "'ore-accordion-item'"
          },
          "default": "'ore-accordion-item'",
          "description": "An individual accordion item with expand/collapse functionality using native details/summary."
        },
        {
          "kind": "class",
          "name": "OreAccordionItemElement",
          "tagName": "ore-accordion-item",
          "customElement": true,
          "description": "An individual accordion item with expand/collapse functionality using native details/summary.",
          "summary": "",
          "attributes": [
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the item is expanded/open"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable accordion item interaction"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Item size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'glass' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'glass' | 'frost'"
            }
          ],
          "events": [
            {
              "name": "expand",
              "description": "Emitted when item expands. detail: { expanded: boolean; item: HTMLElement }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "collapse",
              "description": "Emitted when item collapses. detail: { expanded: boolean; item: HTMLElement }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "prefix",
              "description": "Content before the title (e.g., icons)"
            },
            {
              "name": "title",
              "description": "Main accordion item title"
            },
            {
              "name": "subtitle",
              "description": "Optional subtitle text"
            },
            {
              "name": "suffix",
              "description": "Content after the title (e.g., badges)"
            },
            {
              "name": "",
              "description": "Accordion item content (shown when expanded)"
            }
          ],
          "cssParts": [
            {
              "name": "item",
              "description": "Item root element."
            },
            {
              "name": "summary",
              "description": "Summary trigger row."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "title",
              "description": "Title text element."
            },
            {
              "name": "subtitle",
              "description": "Subtitle text element."
            },
            {
              "name": "content",
              "description": "Content container."
            }
          ],
          "cssProperties": [
            {
              "name": "--accordion-item-bg",
              "description": "Background color"
            },
            {
              "name": "--accordion-item-hover-bg",
              "description": "Background color on hover"
            },
            {
              "name": "--accordion-item-border-color",
              "description": "Border color"
            },
            {
              "name": "--accordion-item-title-color",
              "description": "Title text color"
            },
            {
              "name": "--accordion-item-subtitle-color",
              "description": "Subtitle text color"
            },
            {
              "name": "--accordion-item-body-color",
              "description": "Body text color"
            },
            {
              "name": "--accordion-item-radius",
              "description": "Border radius"
            },
            {
              "name": "--accordion-item-transition",
              "description": "Transition duration"
            },
            {
              "name": "--accordion-item-title",
              "description": "Title font size"
            },
            {
              "name": "--accordion-item-subtitle-size",
              "description": "Subtitle font size"
            },
            {
              "name": "--accordion-item-body",
              "description": "Body font size"
            },
            {
              "name": "--accordion-item-details-padding",
              "description": "Summary/header padding"
            },
            {
              "name": "--accordion-item-summary-padding",
              "description": "Content padding"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-accordion-item><span slot=\"title\">Click to expand</span><p>Content</p></ore-accordion-item>\n<ore-accordion-item expanded variant=\"bordered\"><span slot=\"title\">Title</span><p>Content</p></ore-accordion-item>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ACCORDION_ITEM_TAG",
          "declaration": {
            "name": "ACCORDION_ITEM_TAG",
            "module": "src/disclosure/accordion-item/accordion-item.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAccordionItemElement",
          "declaration": {
            "name": "OreAccordionItemElement",
            "module": "src/disclosure/accordion-item/accordion-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/disclosure/tab-item/tab-item.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TAB_ITEM_TAG",
          "type": {
            "text": "'ore-tab-item'"
          },
          "default": "'ore-tab-item'",
          "description": "Individual tab trigger. Must be placed in the `tabs` slot of `ore-tabs`."
        },
        {
          "kind": "class",
          "name": "OreTabItemElement",
          "tagName": "ore-tab-item",
          "customElement": true,
          "description": "Individual tab trigger. Must be placed in the `tabs` slot of `ore-tabs`.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Unique identifier, matches the corresponding ore-tab-panel value"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "description": "Set by the parent ore-tabs when this tab is selected"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Prevents selection"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'ghost' | 'glass' | 'frost'"
              },
              "description": "Inherited from ore-tabs: 'solid' | 'flat' | 'bordered' | 'ghost' | 'glass' | 'frost'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Inherited from ore-tabs: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            }
          ],
          "slots": [
            {
              "name": "prefix",
              "description": "Icon or content before the label"
            },
            {
              "name": "",
              "description": "Tab label"
            },
            {
              "name": "suffix",
              "description": "Badge or count after the label"
            }
          ],
          "cssParts": [
            {
              "name": "tab",
              "description": "Tab trigger element."
            }
          ],
          "cssProperties": [
            {
              "name": "--tab-item-radius",
              "description": "Button border radius"
            },
            {
              "name": "--tab-item-transition",
              "description": "Transition duration/easing"
            },
            {
              "name": "--tab-item-padding",
              "description": "Button padding"
            },
            {
              "name": "--tab-item-font-size",
              "description": "Button font size"
            },
            {
              "name": "--tab-item-color",
              "description": "Default text color"
            },
            {
              "name": "--tab-item-hover-bg",
              "description": "Background on hover"
            },
            {
              "name": "--tab-item-active-bg",
              "description": "Background when active/selected"
            },
            {
              "name": "--tab-item-active-color",
              "description": "Text color when active/selected"
            },
            {
              "name": "--tab-item-active-shadow",
              "description": "Box shadow when active/selected"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-tab-item slot=\"tabs\" value=\"overview\">Overview</ore-tab-item>\n<ore-tab-item slot=\"tabs\" value=\"settings\" disabled>Settings</ore-tab-item>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TAB_ITEM_TAG",
          "declaration": {
            "name": "TAB_ITEM_TAG",
            "module": "src/disclosure/tab-item/tab-item.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTabItemElement",
          "declaration": {
            "name": "OreTabItemElement",
            "module": "src/disclosure/tab-item/tab-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/disclosure/tab-panel/tab-panel.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TAB_PANEL_TAG",
          "type": {
            "text": "'ore-tab-panel'"
          },
          "default": "'ore-tab-panel'",
          "description": "Content panel for a tab. Shown when its `value` matches the selected tab."
        },
        {
          "kind": "class",
          "name": "OreTabPanelElement",
          "tagName": "ore-tab-panel",
          "customElement": true,
          "description": "Content panel for a tab. Shown when its `value` matches the selected tab.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Must match the corresponding ore-tab-item value"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "description": "Toggled by the parent ore-tabs"
            },
            {
              "name": "padding",
              "type": {
                "text": "'none' | 'xs' | 'sm' | 'md'"
              },
              "description": "Panel padding: 'none' | 'xs' | 'sm' | 'md' (default) | 'lg' | 'xl' | '2xl'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Panel content"
            }
          ],
          "cssParts": [
            {
              "name": "panel",
              "description": "Panel container."
            }
          ],
          "cssProperties": [
            {
              "name": "--tab-panel-padding",
              "description": "Inner padding of the panel content area"
            },
            {
              "name": "--tab-panel-font-size",
              "description": "Font size of the panel content"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-tab-panel value=\"overview\"><p>Overview content here</p></ore-tab-panel>\n<ore-tab-panel value=\"settings\" padding=\"lg\"><p>Large padding</p></ore-tab-panel>\n<ore-tab-panel value=\"code\" padding=\"none\"><pre>No padding for code</pre></ore-tab-panel>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TAB_PANEL_TAG",
          "declaration": {
            "name": "TAB_PANEL_TAG",
            "module": "src/disclosure/tab-panel/tab-panel.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTabPanelElement",
          "declaration": {
            "name": "OreTabPanelElement",
            "module": "src/disclosure/tab-panel/tab-panel.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/disclosure/tabs/tabs.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TABS_CTX",
          "description": "Injection key for the tabs context."
        },
        {
          "kind": "variable",
          "name": "TABS_TAG",
          "type": {
            "text": "'ore-tabs'"
          },
          "default": "'ore-tabs'",
          "description": "Tabs container. Manages tab selection and syncs state to child tab items and panels."
        },
        {
          "kind": "class",
          "name": "OreTabsElement",
          "tagName": "ore-tabs",
          "customElement": true,
          "description": "Tabs container. Manages tab selection and syncs state to child tab items and panels.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the currently selected tab"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'ghost' | 'glass' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'ghost' | 'glass' | 'frost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when the active tab changes with detail: { value: string }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "tabs",
              "description": "Place `ore-tab-item` elements here"
            },
            {
              "name": "",
              "description": "Place `ore-tab-panel` elements here"
            }
          ],
          "cssParts": [
            {
              "name": "tablist",
              "description": "Container that holds the slotted tab items"
            },
            {
              "name": "indicator",
              "description": "Active tab indicator element"
            },
            {
              "name": "panels",
              "description": "Container that holds tab panel content"
            }
          ],
          "cssProperties": [
            {
              "name": "--tabs-radius",
              "description": "Border radius of the tablist container and panels"
            },
            {
              "name": "--tabs-transition",
              "description": "Transition duration/easing for the active indicator"
            },
            {
              "name": "--tabs-indicator-color",
              "description": "Color of the sliding active indicator line"
            },
            {
              "name": "--tabs-bg",
              "description": "Background of the host element (flat variant)"
            },
            {
              "name": "--tabs-tablist-bg",
              "description": "Tablist container background (solid/glass/frost variants)"
            },
            {
              "name": "--tabs-tablist-border-color",
              "description": "Tablist container border color"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-tabs value=\"tab1\" variant=\"bordered\">\n  <ore-tab-item slot=\"tabs\" value=\"tab1\">Overview</ore-tab-item>\n  <ore-tab-item slot=\"tabs\" value=\"tab2\">Settings</ore-tab-item>\n  <ore-tab-panel value=\"tab1\"><p>Overview content</p></ore-tab-panel>\n  <ore-tab-panel value=\"tab2\"><p>Settings content</p></ore-tab-panel>\n</ore-tabs>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TABS_CTX",
          "declaration": {
            "name": "TABS_CTX",
            "module": "src/disclosure/tabs/tabs.ts"
          }
        },
        {
          "kind": "js",
          "name": "TABS_TAG",
          "declaration": {
            "name": "TABS_TAG",
            "module": "src/disclosure/tabs/tabs.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTabsElement",
          "declaration": {
            "name": "OreTabsElement",
            "module": "src/disclosure/tabs/tabs.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/alert/alert.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ALERT_TAG",
          "type": {
            "text": "'ore-alert'"
          },
          "default": "'ore-alert'",
          "description": "A status/feedback banner with optional heading, icon slot, and dismiss button."
        },
        {
          "kind": "class",
          "name": "OreAlertElement",
          "tagName": "ore-alert",
          "customElement": true,
          "description": "A status/feedback banner with optional heading, icon slot, and dismiss button.",
          "summary": "",
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'flat' | 'solid' | 'bordered'"
              },
              "description": "Visual style: 'flat' | 'solid' | 'bordered'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "heading",
              "type": {
                "text": "string"
              },
              "description": "Bold heading text above the content"
            },
            {
              "name": "dismissible",
              "type": {
                "text": "boolean"
              },
              "description": "Show a close (×) button"
            },
            {
              "name": "accented",
              "type": {
                "text": "boolean"
              },
              "description": "Add a left accent border (flat/bordered only)"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "description": "Position action buttons to the right instead of below"
            }
          ],
          "events": [
            {
              "name": "dismiss",
              "description": "Fired when the alert is dismissed. detail: { originalEvent: MouseEvent }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Default slot for the alert message content"
            },
            {
              "name": "icon",
              "description": "Icon on the left side"
            },
            {
              "name": "meta",
              "description": "Metadata displayed alongside the heading (lighter, right-aligned)"
            },
            {
              "name": "actions",
              "description": "Action buttons shown below the message"
            }
          ],
          "cssParts": [
            {
              "name": "alert",
              "description": "Alert root container."
            },
            {
              "name": "icon",
              "description": "Icon container."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "heading",
              "description": "Heading text element."
            },
            {
              "name": "meta",
              "description": "Meta text container."
            },
            {
              "name": "body",
              "description": "Body content container."
            },
            {
              "name": "content",
              "description": "Content container."
            },
            {
              "name": "actions",
              "description": "Actions slot container."
            },
            {
              "name": "close",
              "description": "Close action control."
            }
          ],
          "cssProperties": [
            {
              "name": "--alert-bg",
              "description": "Background color"
            },
            {
              "name": "--alert-color",
              "description": "Text/icon color"
            },
            {
              "name": "--alert-border-color",
              "description": "Border color"
            },
            {
              "name": "--alert-shadow",
              "description": "Box shadow"
            },
            {
              "name": "--alert-radius",
              "description": "Border radius"
            },
            {
              "name": "--alert-padding",
              "description": "Padding"
            },
            {
              "name": "--alert-gap",
              "description": "Gap between icon, body, and close button"
            },
            {
              "name": "--alert-font-size",
              "description": "Font size"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-alert color=\"success\">Your changes have been saved.</ore-alert>\n<ore-alert color=\"error\" variant=\"solid\" dismissible heading=\"Something went wrong\">\n  Please try again later.\n</ore-alert>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ALERT_TAG",
          "declaration": {
            "name": "ALERT_TAG",
            "module": "src/feedback/alert/alert.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAlertElement",
          "declaration": {
            "name": "OreAlertElement",
            "module": "src/feedback/alert/alert.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/async/async.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ASYNC_TAG",
          "type": {
            "text": "'ore-async'"
          },
          "default": "'ore-async'",
          "description": "A container for handling asynchronous states (loading, empty, error, success).\nSimplifies data fetching UI by providing consistent fallbacks."
        },
        {
          "kind": "class",
          "name": "OreAsyncElement",
          "tagName": "ore-async",
          "customElement": true,
          "description": "A container for handling asynchronous states (loading, empty, error, success).\nSimplifies data fetching UI by providing consistent fallbacks.",
          "summary": "",
          "attributes": [
            {
              "name": "status",
              "type": {
                "text": "'idle' | 'loading' | 'empty' | 'error' | 'success'"
              },
              "description": "current state: 'idle' | 'loading' | 'empty' | 'error' | 'success' (default: 'success')",
              "default": "'success'"
            },
            {
              "name": "retryable",
              "type": {
                "text": "boolean"
              },
              "description": "show retry button in error state (default: false)",
              "default": "false"
            },
            {
              "name": "empty-label",
              "type": {
                "text": "string"
              },
              "description": "title for empty state (default: 'No content yet')",
              "default": "'No content yet'"
            },
            {
              "name": "empty-description",
              "type": {
                "text": "string"
              },
              "description": "optional text for empty state"
            },
            {
              "name": "error-label",
              "type": {
                "text": "string"
              },
              "description": "title for error state (default: 'Something went wrong')",
              "default": "'Something went wrong'"
            },
            {
              "name": "error-description",
              "type": {
                "text": "string"
              },
              "description": "optional text for error state"
            }
          ],
          "events": [
            {
              "name": "retry",
              "description": "Emitted when the retry button is clicked (no detail payload)",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "default content shown in 'success' state"
            },
            {
              "name": "loading",
              "description": "custom loading UI (overrides default skeletons)"
            },
            {
              "name": "empty",
              "description": "custom empty UI (overrides default icon/label)"
            },
            {
              "name": "error",
              "description": "custom error UI (overrides default icon/label)"
            }
          ],
          "cssProperties": [
            {
              "name": "--async-color",
              "description": "Text/icon color used by default async state content"
            },
            {
              "name": "--async-gap",
              "description": "Vertical spacing between icon, title, description, and actions"
            },
            {
              "name": "--async-icon-size",
              "description": "Icon size for built-in loading/empty/error visuals"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Success state: default slot is shown -->\n<ore-async status=\"success\">\n  <ul><li>Item one</li><li>Item two</li></ul>\n</ore-async>\n<!-- Loading state: shows skeleton placeholders -->\n<ore-async status=\"loading\"></ore-async>\n<!-- Empty state with custom message -->\n<ore-async status=\"empty\" empty-label=\"No results\" empty-description=\"Try adjusting your filters.\"></ore-async>\n<!-- Error state with retry button -->\n<ore-async status=\"error\" retryable error-label=\"Failed to load\" error-description=\"Check your connection.\"></ore-async>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ASYNC_TAG",
          "declaration": {
            "name": "ASYNC_TAG",
            "module": "src/feedback/async/async.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreAsyncElement",
          "declaration": {
            "name": "OreAsyncElement",
            "module": "src/feedback/async/async.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/badge/badge.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "BADGE_TAG",
          "type": {
            "text": "'ore-badge'"
          },
          "default": "'ore-badge'",
          "description": "A compact badge/chip for counts, statuses, and labels.\nSupports numeric counts with overflow, dot mode, and icon slots."
        },
        {
          "kind": "class",
          "name": "OreBadgeElement",
          "tagName": "ore-badge",
          "customElement": true,
          "description": "A compact badge/chip for counts, statuses, and labels.\nSupports numeric counts with overflow, dot mode, and icon slots.",
          "summary": "",
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'frost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'xs' | 'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'xs' | 'sm' | 'md' | 'lg'"
            },
            {
              "name": "count",
              "type": {
                "text": "number"
              },
              "description": "Numeric count to display"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Max count before showing \"<max>+\""
            },
            {
              "name": "dot",
              "type": {
                "text": "boolean"
              },
              "description": "Render as a dot indicator (no text)"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'full' etc."
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Badge label text"
            },
            {
              "name": "icon",
              "description": "Icon displayed before the label"
            },
            {
              "name": "target",
              "description": "Element the badge is anchored to (used with the anchor attribute)"
            }
          ],
          "cssParts": [
            {
              "name": "badge",
              "description": "Shadow part for the `badge` element."
            }
          ],
          "cssProperties": [
            {
              "name": "--badge-bg",
              "description": "Badge background color"
            },
            {
              "name": "--badge-color",
              "description": "Badge text color"
            },
            {
              "name": "--badge-border-color",
              "description": "Badge border color"
            },
            {
              "name": "--badge-radius",
              "description": "Border radius"
            },
            {
              "name": "--badge-font-size",
              "description": "Font size"
            },
            {
              "name": "--badge-font-weight",
              "description": "Font weight"
            },
            {
              "name": "--badge-padding-x",
              "description": "Horizontal padding"
            },
            {
              "name": "--badge-padding-y",
              "description": "Vertical padding"
            },
            {
              "name": "--badge-gap",
              "description": "Gap between icon and label"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-badge color=\"primary\">New</ore-badge>\n<ore-badge color=\"error\" count=\"5\"></ore-badge>\n<ore-badge color=\"error\" count=\"120\" max=\"99\"></ore-badge>\n<ore-badge color=\"success\" dot></ore-badge>\n<ore-badge color=\"warning\" variant=\"flat\">Beta</ore-badge>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BADGE_TAG",
          "declaration": {
            "name": "BADGE_TAG",
            "module": "src/feedback/badge/badge.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreBadgeElement",
          "declaration": {
            "name": "OreBadgeElement",
            "module": "src/feedback/badge/badge.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/chip/chip.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHIP_TAG",
          "type": {
            "text": "'ore-chip'"
          },
          "default": "'ore-chip'",
          "description": "A compact, styled label element. Supports icons, a remove button, colors, sizes, and variants.\nCommonly used to represent tags, filters, or selected options in a multiselect field."
        },
        {
          "kind": "class",
          "name": "OreChipElement",
          "tagName": "ore-chip",
          "customElement": true,
          "description": "A compact, styled label element. Supports icons, a remove button, colors, sizes, and variants.\nCommonly used to represent tags, filters, or selected options in a multiselect field.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label (required for icon-only chips)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "mode",
              "type": {
                "text": "'static' | 'removable' | 'selectable' | 'action'"
              },
              "description": "Interaction mode: 'static' | 'removable' | 'selectable' | 'action'"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the chip"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Value included in emitted event detail"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled checked state for selectable chips"
            },
            {
              "name": "default-checked",
              "type": {
                "text": "boolean"
              },
              "description": "Initial checked state for uncontrolled selectable chips"
            }
          ],
          "events": [
            {
              "name": "remove",
              "description": "Fired when the remove button is clicked. detail: { value: string, originalEvent: MouseEvent }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Fired when a selectable chip toggles. detail: { checked: boolean, value: string, originalEvent: Event }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "click",
              "description": "Fired when an action chip is clicked. detail: { value: string, originalEvent: MouseEvent }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Chip label text"
            },
            {
              "name": "icon",
              "description": "Leading icon or decoration"
            }
          ],
          "cssParts": [
            {
              "name": "remove-btn",
              "description": "Remove action button."
            },
            {
              "name": "chip-btn",
              "description": "Shadow part for the `chip-btn` element."
            },
            {
              "name": "chip",
              "description": "Shadow part for the `chip` element."
            }
          ],
          "cssProperties": [
            {
              "name": "--chip-bg",
              "description": "Background color"
            },
            {
              "name": "--chip-color",
              "description": "Text color"
            },
            {
              "name": "--chip-border-color",
              "description": "Border color"
            },
            {
              "name": "--chip-radius",
              "description": "Border radius"
            },
            {
              "name": "--chip-font-size",
              "description": "Font size"
            },
            {
              "name": "--chip-font-weight",
              "description": "Font weight"
            },
            {
              "name": "--chip-padding-x",
              "description": "Horizontal padding"
            },
            {
              "name": "--chip-padding-y",
              "description": "Vertical padding"
            },
            {
              "name": "--chip-gap",
              "description": "Gap between icon, label and remove button"
            },
            {
              "name": "--chip-hover-bg",
              "description": "Background on hover (interactive modes)"
            },
            {
              "name": "--chip-hover-color",
              "description": "Text color on hover (interactive modes)"
            },
            {
              "name": "--chip-hover-border-color",
              "description": "Border color on hover (interactive modes)"
            },
            {
              "name": "--chip-active-bg",
              "description": "Background when pressed (interactive modes)"
            },
            {
              "name": "--chip-active-color",
              "description": "Text color when pressed (interactive modes)"
            },
            {
              "name": "--chip-remove-bg",
              "description": "Remove button background (bordered/outline variants)"
            },
            {
              "name": "--chip-remove-color",
              "description": "Remove button icon color (bordered/outline variants)"
            },
            {
              "name": "--chip-remove-hover-bg",
              "description": "Remove button background on hover"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Static chip (read-only) -->\n<ore-chip color=\"primary\">Design</ore-chip>\n<!-- Removable chip -->\n<ore-chip color=\"success\" variant=\"flat\" mode=\"removable\" value=\"ts\">\n  TypeScript\n</ore-chip>\n<!-- Selectable chip (controlled) -->\n<ore-chip color=\"info\" variant=\"flat\" mode=\"selectable\" checked value=\"ui\">\n  UI\n</ore-chip>\n<!-- Selectable chip (uncontrolled) -->\n<ore-chip color=\"info\" variant=\"flat\" mode=\"selectable\" default-checked value=\"ui\">\n  UI\n</ore-chip>\n<!-- Action chip (acts like a button) -->\n<ore-chip color=\"warning\" mode=\"action\" value=\"add\">\n  <svg slot=\"icon\" ...></svg>\n  Add Item\n</ore-chip>\n<!-- Icon-only chip -->\n<ore-chip color=\"error\" mode=\"action\" label=\"Delete\">\n  <svg slot=\"icon\" ...></svg>\n</ore-chip>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CHIP_TAG",
          "declaration": {
            "name": "CHIP_TAG",
            "module": "src/feedback/chip/chip.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreChipElement",
          "declaration": {
            "name": "OreChipElement",
            "module": "src/feedback/chip/chip.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/progress/progress.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "PROGRESS_TAG",
          "type": {
            "text": "'ore-progress'"
          },
          "default": "'ore-progress'",
          "description": "A linear progress bar for conveying operation progress.\nSupports determinate (known value) and indeterminate (unknown duration) modes."
        },
        {
          "kind": "class",
          "name": "OreProgressElement",
          "tagName": "ore-progress",
          "customElement": true,
          "description": "A linear progress bar for conveying operation progress.\nSupports determinate (known value) and indeterminate (unknown duration) modes.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "Current value (0–max). Defaults to 0."
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Maximum value. Defaults to 100."
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "description": "Show infinite animation (ignores value/max)."
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'success' | 'warning' | 'error' | …"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Bar height/width: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "type",
              "type": {
                "text": "'circular' | 'vertical'"
              },
              "description": "'linear' (default) | 'circular' | 'vertical'"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Visible text label + accessible name. Linear: at bar end (or header row with title). Circular: large text centered inside the ring."
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "Title text. Linear: header above the bar (moves label to header row). Circular: smaller text below the label inside the ring."
            },
            {
              "name": "floating-label",
              "type": {
                "text": "string"
              },
              "description": "Floating chip centered above the fill endpoint (linear only); hidden when indeterminate."
            }
          ],
          "cssParts": [
            {
              "name": "fill",
              "description": "Progress fill element."
            }
          ],
          "cssProperties": [
            {
              "name": "--progress-width",
              "description": "Bar width override (vertical only)"
            },
            {
              "name": "--progress-height",
              "description": "Bar height override"
            },
            {
              "name": "--progress-track-bg",
              "description": "Track background color"
            },
            {
              "name": "--progress-fill",
              "description": "Fill bar color"
            },
            {
              "name": "--progress-radius",
              "description": "Border radius"
            },
            {
              "name": "--progress-label-gap",
              "description": "Gap between header/bar row and between bar and trailing label (default 0.25 rem)"
            },
            {
              "name": "--progress-title-color",
              "description": "Title text color (defaults to currentColor)"
            },
            {
              "name": "--progress-label-color",
              "description": "Label text color (defaults to currentColor)"
            },
            {
              "name": "--progress-circle-size",
              "description": "Circular indicator diameter (default 6rem)"
            },
            {
              "name": "--progress-circular-label-size",
              "description": "Font size of the label inside the ring (default --text-xl)"
            },
            {
              "name": "--progress-circular-title-size",
              "description": "Font size of the title inside the ring (default --text-xs)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-progress value=\"45\"></ore-progress>\n<ore-progress value=\"75\" max=\"100\" color=\"success\" size=\"lg\"></ore-progress>\n<ore-progress indeterminate color=\"primary\" label=\"Loading…\"></ore-progress>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PROGRESS_TAG",
          "declaration": {
            "name": "PROGRESS_TAG",
            "module": "src/feedback/progress/progress.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreProgressElement",
          "declaration": {
            "name": "OreProgressElement",
            "module": "src/feedback/progress/progress.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/password-strength/password-strength.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "PASSWORD_STRENGTH_TAG",
          "type": {
            "text": "'ore-password-strength'"
          },
          "default": "'ore-password-strength'",
          "description": "Strong password meter with segmented progress visualization.\n\nBuilt-in scoring is heuristic and conservative:\n- length < 6 => weak\n- length >= 8 with mixed case => fair\n- + digit or symbol => good\n- length >= 12 with mixed case, digit and symbol => strong"
        },
        {
          "kind": "class",
          "name": "OrePasswordStrengthElement",
          "tagName": "ore-password-strength",
          "customElement": true,
          "description": "Strong password meter with segmented progress visualization.\nBuilt-in scoring is heuristic and conservative:\n- length < 6 => weak\n- length >= 8 with mixed case => fair\n- + digit or symbol => good\n- length >= 12 with mixed case, digit and symbol => strong",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Password string to evaluate"
            },
            {
              "name": "score",
              "type": {
                "text": "number"
              },
              "description": "Optional score override (0..4). Use -1 for no override (default: -1)",
              "default": "-1"
            },
            {
              "name": "show-label",
              "type": {
                "text": "boolean"
              },
              "description": "Show visible feedback label (default: true)",
              "default": "true"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible name (default: 'Password strength')",
              "default": "'Password strength'"
            }
          ],
          "cssProperties": [
            {
              "name": "--password-strength-height       Segment bar height",
              "description": ""
            },
            {
              "name": "--password-strength-gap          Gap between segments",
              "description": ""
            },
            {
              "name": "--password-strength-radius       Segment corner radius",
              "description": ""
            },
            {
              "name": "--password-strength-track-bg     Inactive segment color",
              "description": ""
            },
            {
              "name": "--password-strength-label-size   Visible label font size",
              "description": ""
            },
            {
              "name": "--password-strength-label-color  Visible label color",
              "description": ""
            },
            {
              "name": "--password-strength-weak-color   Weak state segment color",
              "description": ""
            },
            {
              "name": "--password-strength-fair-color   Fair state segment color",
              "description": ""
            },
            {
              "name": "--password-strength-good-color   Good state segment color",
              "description": ""
            },
            {
              "name": "--password-strength-strong-color Strong state segment color",
              "description": ""
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Pair with an ore-input to evaluate in real time -->\n<ore-input type=\"password\" label=\"Password\" name=\"password\" id=\"pwd\"></ore-input>\n<ore-password-strength id=\"meter\"></ore-password-strength>\n<script type=\"module\">\n  document.getElementById('pwd').addEventListener('input', (e) => {\n    document.getElementById('meter').value = e.target.value;\n  });\n</script>\n<!-- Fixed score display (e.g. from a server-side score) -->\n<ore-password-strength score=\"3\"></ore-password-strength>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PASSWORD_STRENGTH_TAG",
          "declaration": {
            "name": "PASSWORD_STRENGTH_TAG",
            "module": "src/feedback/password-strength/password-strength.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OrePasswordStrengthElement",
          "declaration": {
            "name": "OrePasswordStrengthElement",
            "module": "src/feedback/password-strength/password-strength.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/toast/toast.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "id"
        },
        {
          "kind": "variable",
          "name": "TOAST_TAG",
          "type": {
            "text": "'ore-toast'"
          },
          "default": "'ore-toast'"
        },
        {
          "kind": "class",
          "name": "OreToastElement",
          "tagName": "ore-toast",
          "customElement": true,
          "description": "Declarative toast host. It subscribes to the service for its scope and\nrenders notifications, but has no imperative mutation API of its own.",
          "summary": "",
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "string"
              },
              "description": "Stack placement."
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Maximum live notifications for the scoped service."
            }
          ],
          "demos": []
        },
        {
          "kind": "function",
          "name": "createToastService",
          "return": {
            "type": {
              "text": "ToastService"
            }
          },
          "parameters": [
            {
              "name": "root",
              "default": "document.body",
              "type": {
                "text": "ParentNode"
              }
            }
          ],
          "description": "Creates a scoped toast service. The service owns its notification store and\nbinds it to the declarative `<ore-toast>` host inside `root`, creating that\nhost lazily when notifications are first requested."
        },
        {
          "kind": "variable",
          "name": "toast",
          "type": {
            "text": "ToastService"
          },
          "description": "Singleton service backed by a lazily created host in `document.body`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TOAST_TAG",
          "declaration": {
            "name": "TOAST_TAG",
            "module": "src/feedback/toast/toast.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreToastElement",
          "declaration": {
            "name": "OreToastElement",
            "module": "src/feedback/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "createToastService",
          "declaration": {
            "name": "createToastService",
            "module": "src/feedback/toast/toast.ts"
          }
        },
        {
          "kind": "js",
          "name": "toast",
          "declaration": {
            "name": "toast",
            "module": "src/feedback/toast/toast.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/skeleton/skeleton.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SKELETON_TAG",
          "type": {
            "text": "'ore-skeleton'"
          },
          "default": "'ore-skeleton'",
          "description": "A shimmer placeholder that represents loading content.\nControl dimensions via the `--skeleton-width` and `--skeleton-height` CSS custom properties,\nor via `width` / `height` inline styles."
        },
        {
          "kind": "class",
          "name": "OreSkeletonElement",
          "tagName": "ore-skeleton",
          "customElement": true,
          "description": "A shimmer placeholder that represents loading content.\nControl dimensions via the `--skeleton-width` and `--skeleton-height` CSS custom properties,\nor via `width` / `height` inline styles.",
          "summary": "",
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'circle' | 'text'"
              },
              "description": "Shape: 'rect' (default) | 'circle' | 'text'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Height/circle preset: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "width",
              "type": {
                "text": "string"
              },
              "description": "Width override (CSS length/percentage)"
            },
            {
              "name": "height",
              "type": {
                "text": "string"
              },
              "description": "Height override (CSS length)"
            },
            {
              "name": "radius",
              "type": {
                "text": "string"
              },
              "description": "Radius override"
            },
            {
              "name": "animated",
              "type": {
                "text": "boolean"
              },
              "description": "Disable with `animated=\"false\"`"
            },
            {
              "name": "lines",
              "type": {
                "text": "number"
              },
              "description": "Text line count (only for `variant='text'`)"
            },
            {
              "name": "striped",
              "type": {
                "text": "boolean"
              },
              "description": "Replace shimmer with diagonal stripes"
            }
          ],
          "cssParts": [
            {
              "name": "stack",
              "description": "Stack container."
            },
            {
              "name": "bone",
              "description": "Skeleton bone element."
            }
          ],
          "cssProperties": [
            {
              "name": "--skeleton-bg",
              "description": "Base shimmer color"
            },
            {
              "name": "--skeleton-highlight",
              "description": "Shimmer highlight color"
            },
            {
              "name": "--skeleton-radius",
              "description": "Border radius"
            },
            {
              "name": "--skeleton-size",
              "description": "Circle fallback size"
            },
            {
              "name": "--skeleton-width",
              "description": "Width (default: 100%)"
            },
            {
              "name": "--skeleton-height",
              "description": "Height (default: var(--size-4))"
            },
            {
              "name": "--skeleton-line-gap",
              "description": "Vertical gap between text lines"
            },
            {
              "name": "--skeleton-last-line-width",
              "description": "Width of the final text line"
            },
            {
              "name": "--skeleton-duration",
              "description": "Shimmer animation duration"
            },
            {
              "name": "--skeleton-stripe-size",
              "description": "Width of each diagonal stripe (default: 6px)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Paragraph lines -->\n<ore-skeleton variant=\"text\" lines=\"3\" width=\"100%\"></ore-skeleton>\n<!-- Avatar -->\n<ore-skeleton variant=\"circle\" size=\"md\"></ore-skeleton>\n<!-- Card image -->\n<ore-skeleton width=\"100%\" height=\"10rem\"></ore-skeleton>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SKELETON_TAG",
          "declaration": {
            "name": "SKELETON_TAG",
            "module": "src/feedback/skeleton/skeleton.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSkeletonElement",
          "declaration": {
            "name": "OreSkeletonElement",
            "module": "src/feedback/skeleton/skeleton.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/feedback/typing-indicator/typing-indicator.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TYPING_INDICATOR_TAG",
          "type": {
            "text": "'ore-typing-indicator'"
          },
          "default": "'ore-typing-indicator'",
          "description": "Three bouncing dots signaling that the other side of a conversation is composing a reply —\nthe moment before any content exists. For a message whose content is already streaming in,\nuse `ore-chat-message`'s `streaming` attribute (a blinking cursor) instead.\n\nThe dots are decorative (`aria-hidden`) — `label` is the entire accessibility contract,\nannounced through the shared singleton live region (`core/announcer.ts`) rather than a\nstatic `aria-live` element in the template. A live region populated in the same paint as\nits own insertion is unreliable across browsers/screen readers; routing through the shared\nannouncer (pre-existing region, clear-then-set) is the same pattern already used for other\ntransient status messages across this package."
        },
        {
          "kind": "class",
          "name": "OreTypingIndicatorElement",
          "tagName": "ore-typing-indicator",
          "customElement": true,
          "description": "Three bouncing dots signaling that the other side of a conversation is composing a reply —\nthe moment before any content exists. For a message whose content is already streaming in,\nuse `ore-chat-message`'s `streaming` attribute (a blinking cursor) instead.\nThe dots are decorative (`aria-hidden`) — `label` is the entire accessibility contract,\nannounced through the shared singleton live region (`core/announcer.ts`) rather than a\nstatic `aria-live` element in the template. A live region populated in the same paint as\nits own insertion is unreliable across browsers/screen readers; routing through the shared\nannouncer (pre-existing region, clear-then-set) is the same pattern already used for other\ntransient status messages across this package.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label announced once via a polite live region (default: \"Typing…\")",
              "default": "\"Typing…\""
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            }
          ],
          "cssParts": [
            {
              "name": "dots",
              "description": "Dots container."
            },
            {
              "name": "dot",
              "description": "Individual dot element."
            }
          ],
          "cssProperties": [
            {
              "name": "--typing-indicator-color",
              "description": "Dot color"
            },
            {
              "name": "--typing-indicator-size",
              "description": "Dot diameter"
            },
            {
              "name": "--typing-indicator-gap",
              "description": "Gap between dots"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-typing-indicator></ore-typing-indicator>\n<ore-typing-indicator label=\"Assistant is typing…\" color=\"primary\"></ore-typing-indicator>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TYPING_INDICATOR_TAG",
          "declaration": {
            "name": "TYPING_INDICATOR_TAG",
            "module": "src/feedback/typing-indicator/typing-indicator.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTypingIndicatorElement",
          "declaration": {
            "name": "OreTypingIndicatorElement",
            "module": "src/feedback/typing-indicator/typing-indicator.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/button-group/button-group.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "BUTTON_GROUP_CTX"
        },
        {
          "kind": "variable",
          "name": "BUTTON_GROUP_TAG",
          "type": {
            "text": "'ore-button-group'"
          },
          "default": "'ore-button-group'",
          "description": "A container for grouping related buttons.\nChild `ore-button` components automatically inherit the group's color, size, and variant."
        },
        {
          "kind": "class",
          "name": "OreButtonGroupElement",
          "tagName": "ore-button-group",
          "customElement": true,
          "description": "A container for grouping related buttons.\nChild `ore-button` components automatically inherit the group's color, size, and variant.",
          "summary": "",
          "attributes": [
            {
              "name": "attached",
              "type": {
                "text": "boolean"
              },
              "description": "Join buttons together into a unit"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Shared color tint: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Group spans full width"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "description": "'horizontal' | 'vertical'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Corner radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full' (bare attribute defaults to 'full')"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Shared size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'frost'"
              },
              "description": "Shared visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'frost'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Place ore-button elements here"
            }
          ],
          "cssParts": [
            {
              "name": "group",
              "description": "Group container."
            }
          ],
          "cssProperties": [
            {
              "name": "--group-gap",
              "description": "Gap between buttons (non-attached mode)"
            },
            {
              "name": "--group-radius",
              "description": "Border radius of the group container, defaults to the `rounded` attribute's token"
            },
            {
              "name": "--button-radius",
              "description": "Passed through to child buttons to control corner radius"
            },
            {
              "name": "--button-border-start",
              "description": "Passed through to suppress start borders in attached mode"
            },
            {
              "name": "--button-border-top",
              "description": "Passed through to suppress top borders in vertical attached mode"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-button-group attached rounded=\"full\">\n  <ore-button variant=\"solid\" color=\"primary\">Save</ore-button>\n  <ore-button variant=\"solid\" color=\"primary\">Save &amp; Continue</ore-button>\n</ore-button-group>\n<ore-button-group orientation=\"vertical\" size=\"sm\">\n  <ore-button>Top</ore-button>\n  <ore-button>Middle</ore-button>\n  <ore-button>Bottom</ore-button>\n</ore-button-group>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BUTTON_GROUP_CTX",
          "declaration": {
            "name": "BUTTON_GROUP_CTX",
            "module": "src/inputs/button-group/button-group.ts"
          }
        },
        {
          "kind": "js",
          "name": "BUTTON_GROUP_TAG",
          "declaration": {
            "name": "BUTTON_GROUP_TAG",
            "module": "src/inputs/button-group/button-group.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreButtonGroupElement",
          "declaration": {
            "name": "OreButtonGroupElement",
            "module": "src/inputs/button-group/button-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/calendar/calendar.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CALENDAR_TAG",
          "type": {
            "text": "'ore-calendar'"
          },
          "default": "'ore-calendar'",
          "description": "An accessible, keyboard-navigable inline calendar component.\nSupports day/month/year drill-down views, min/max bounds, disabled weekend\ndays, and optional form association."
        },
        {
          "kind": "class",
          "name": "OreCalendarElement",
          "tagName": "ore-calendar",
          "customElement": true,
          "description": "An accessible, keyboard-navigable inline calendar component.\nSupports day/month/year drill-down views, min/max bounds, disabled weekend\ndays, and optional form association.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Selected date in ISO 8601 format (yyyy-MM-dd)"
            },
            {
              "name": "min",
              "type": {
                "text": "string"
              },
              "description": "Minimum selectable date (yyyy-MM-dd)"
            },
            {
              "name": "max",
              "type": {
                "text": "string"
              },
              "description": "Maximum selectable date (yyyy-MM-dd)"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable all interaction"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field (form association)"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "locale",
              "type": {
                "text": "string"
              },
              "description": "BCP 47 locale string"
            },
            {
              "name": "weekend-days",
              "type": {
                "text": "string"
              },
              "description": "JSON array of day indices to disable (0=Sun…6=Sat)"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Expand to full container width"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "description": "Large-cell calendar-app layout with top-aligned day numbers"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Fired when a date is selected. detail: { isoValue: string | null }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "cssParts": [
            {
              "name": "calendar",
              "description": "The root calendar panel"
            },
            {
              "name": "header",
              "description": "Calendar header (nav + label)"
            },
            {
              "name": "grid",
              "description": "Day grid"
            },
            {
              "name": "day",
              "description": "Individual day cell"
            }
          ],
          "cssProperties": [
            {
              "name": "--calendar-bg",
              "description": "Calendar background"
            },
            {
              "name": "--calendar-border-color",
              "description": "Calendar border color"
            },
            {
              "name": "--calendar-radius",
              "description": "Calendar border radius"
            },
            {
              "name": "--calendar-shadow",
              "description": "Calendar drop shadow"
            },
            {
              "name": "--calendar-day-selected-bg",
              "description": "Background of selected day cell"
            },
            {
              "name": "--calendar-day-today-color",
              "description": "Colour of today's date number"
            },
            {
              "name": "--calendar-day-outside-opacity",
              "description": "Opacity of days outside visible month"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Single date with bounds -->\n<ore-calendar value=\"2025-06-15\" min=\"2025-01-01\" max=\"2025-12-31\" color=\"primary\"></ore-calendar>\n<!-- Expanded calendar-app layout -->\n<ore-calendar expanded fullwidth color=\"primary\"></ore-calendar>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CALENDAR_TAG",
          "declaration": {
            "name": "CALENDAR_TAG",
            "module": "src/inputs/calendar/calendar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCalendarElement",
          "declaration": {
            "name": "OreCalendarElement",
            "module": "src/inputs/calendar/calendar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/button/button.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "BUTTON_VARIANTS",
          "type": {
            "text": "['solid', 'flat', 'bordered', 'outline', 'ghost', 'text', 'frost']"
          },
          "default": "['solid', 'flat', 'bordered', 'outline', 'ghost', 'text', 'frost']"
        },
        {
          "kind": "variable",
          "name": "BUTTON_TAG",
          "type": {
            "text": "'ore-button'"
          },
          "default": "'ore-button'",
          "description": "A customizable button component with multiple variants, sizes, and states.\nSupports icons, loading states, and animated border effects."
        },
        {
          "kind": "class",
          "name": "OreButtonElement",
          "tagName": "ore-button",
          "customElement": true,
          "description": "A customizable button component with multiple variants, sizes, and states.\nSupports icons, loading states, and animated border effects.",
          "summary": "",
          "attributes": [
            {
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "description": "HTML button type: 'button' | 'submit' | 'reset'"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable button interaction"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Show loading state with spinner"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'frost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text' | 'frost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Button size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "effect",
              "type": {
                "text": "'shine' | 'rainbow'"
              },
              "description": "Animated border effect: 'shine' | 'rainbow'"
            },
            {
              "name": "icon-only",
              "type": {
                "text": "boolean"
              },
              "description": "Icon-only mode (square aspect ratio, no padding)"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Full width button (100% of container)"
            },
            {
              "name": "fullheight",
              "type": {
                "text": "boolean"
              },
              "description": "Full height button (100% of container)"
            }
          ],
          "events": [
            {
              "name": "click",
              "description": "Emitted when button is clicked (unless disabled/loading)",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Button content (text, icons, etc.)"
            },
            {
              "name": "prefix",
              "description": "Content before the button text (e.g., icons)"
            },
            {
              "name": "suffix",
              "description": "Content after the button text (e.g., icons, badges)"
            }
          ],
          "cssParts": [
            {
              "name": "button",
              "description": "The inner button or anchor element"
            },
            {
              "name": "loader",
              "description": "The loading spinner element"
            },
            {
              "name": "content",
              "description": "The button content wrapper"
            }
          ],
          "cssProperties": [
            {
              "name": "--button-bg",
              "description": "Background color override"
            },
            {
              "name": "--button-color",
              "description": "Text color override"
            },
            {
              "name": "--button-border",
              "description": "Border width override"
            },
            {
              "name": "--button-border-color",
              "description": "Border color override"
            },
            {
              "name": "--button-radius",
              "description": "Border radius override"
            },
            {
              "name": "--button-padding",
              "description": "Inner padding override"
            },
            {
              "name": "--button-gap",
              "description": "Gap between icon and text override"
            },
            {
              "name": "--button-font-size",
              "description": "Font size override"
            },
            {
              "name": "--button-frost-active-bg",
              "description": "Background when pressed (frost variant)"
            },
            {
              "name": "--button-frost-active-border-color",
              "description": "Border color when pressed (frost variant)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-button variant=\"solid\" color=\"primary\">Click me</ore-button>\n<ore-button loading color=\"success\">Processing...</ore-button>\n<ore-button effect=\"shine\" color=\"primary\">Shine</ore-button>\n<ore-button effect=\"rainbow\" variant=\"frost\">Rainbow</ore-button>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BUTTON_VARIANTS",
          "declaration": {
            "name": "BUTTON_VARIANTS",
            "module": "src/inputs/button/button.ts"
          }
        },
        {
          "kind": "js",
          "name": "BUTTON_TAG",
          "declaration": {
            "name": "BUTTON_TAG",
            "module": "src/inputs/button/button.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreButtonElement",
          "declaration": {
            "name": "OreButtonElement",
            "module": "src/inputs/button/button.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/checkbox/checkbox.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHECKBOX_TAG",
          "type": {
            "text": "'ore-checkbox'"
          },
          "default": "'ore-checkbox'",
          "description": "A customizable checkbox component with theme colors, sizes, and indeterminate state support."
        },
        {
          "kind": "class",
          "name": "OreCheckboxElement",
          "tagName": "ore-checkbox",
          "customElement": true,
          "description": "A customizable checkbox component with theme colors, sizes, and indeterminate state support.",
          "summary": "",
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Checked state"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable checkbox interaction"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "description": "Indeterminate (partially checked) state"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Require this checkbox to be checked for native form validation"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Field value submitted with forms"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Checkbox size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message (marks field as invalid)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text displayed below the checkbox"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when checkbox is toggled.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when checkbox is toggled.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Checkbox label text"
            }
          ],
          "cssParts": [
            {
              "name": "checkbox",
              "description": "The checkbox wrapper element"
            },
            {
              "name": "box",
              "description": "The visual checkbox box"
            },
            {
              "name": "label",
              "description": "The label element"
            },
            {
              "name": "helper-text",
              "description": "The helper/error text element"
            }
          ],
          "cssProperties": [
            {
              "name": "--checkbox-size",
              "description": "Control size (width and height)"
            },
            {
              "name": "--checkbox-radius",
              "description": "Control border radius"
            },
            {
              "name": "--checkbox-bg",
              "description": "Unchecked background color"
            },
            {
              "name": "--checkbox-border-color",
              "description": "Unchecked border color"
            },
            {
              "name": "--checkbox-checked-bg",
              "description": "Checked/indeterminate background color"
            },
            {
              "name": "--checkbox-color",
              "description": "Checkmark icon color"
            },
            {
              "name": "--checkbox-font-size",
              "description": "Label font size"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-checkbox name=\"agree\" required>I agree to the terms</ore-checkbox>\n<ore-checkbox checked color=\"primary\" size=\"lg\">Enabled by default</ore-checkbox>\n<ore-checkbox error=\"This field is required\" helper=\"Check to continue\">Accept</ore-checkbox>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CHECKBOX_TAG",
          "declaration": {
            "name": "CHECKBOX_TAG",
            "module": "src/inputs/checkbox/checkbox.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCheckboxElement",
          "declaration": {
            "name": "OreCheckboxElement",
            "module": "src/inputs/checkbox/checkbox.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/checkbox-group/checkbox-group.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHECKBOX_GROUP_CTX"
        },
        {
          "kind": "variable",
          "name": "CHECKBOX_GROUP_TAG",
          "type": {
            "text": "'ore-checkbox-group'"
          },
          "default": "'ore-checkbox-group'",
          "description": "A fieldset wrapper that groups `ore-checkbox` elements, provides shared\n`color` and `size` via context, and manages multi-value selection state."
        },
        {
          "kind": "class",
          "name": "OreCheckboxGroupElement",
          "tagName": "ore-checkbox-group",
          "customElement": true,
          "description": "A fieldset wrapper that groups `ore-checkbox` elements, provides shared\n`color` and `size` via context, and manages multi-value selection state.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Legend text (required for a11y)"
            },
            {
              "name": "values",
              "type": {
                "text": "string"
              },
              "description": "Comma-separated list of checked values"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable all checkboxes in the group"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'vertical' | 'horizontal'"
              },
              "description": "Layout: 'vertical' | 'horizontal'"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when selection changes. detail: { value: string, values: string[], labels: string[], originalEvent?: Event }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Place `ore-checkbox` elements here"
            }
          ],
          "cssParts": [
            {
              "name": "items",
              "description": "Items container."
            }
          ],
          "cssProperties": [
            {
              "name": "--checkbox-group-direction",
              "description": "Flex direction of the items list ('row' | 'column')"
            },
            {
              "name": "--checkbox-group-gap",
              "description": "Gap between checkbox items"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-checkbox-group name=\"fruits\" label=\"Favourite fruits\" required>\n  <ore-checkbox value=\"apple\">Apple</ore-checkbox>\n  <ore-checkbox value=\"banana\">Banana</ore-checkbox>\n  <ore-checkbox value=\"cherry\">Cherry</ore-checkbox>\n</ore-checkbox-group>\n<ore-checkbox-group name=\"options\" orientation=\"horizontal\" color=\"primary\">\n  <ore-checkbox value=\"a\">Option A</ore-checkbox>\n  <ore-checkbox value=\"b\">Option B</ore-checkbox>\n</ore-checkbox-group>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CHECKBOX_GROUP_CTX",
          "declaration": {
            "name": "CHECKBOX_GROUP_CTX",
            "module": "src/inputs/checkbox-group/checkbox-group.ts"
          }
        },
        {
          "kind": "js",
          "name": "CHECKBOX_GROUP_TAG",
          "declaration": {
            "name": "CHECKBOX_GROUP_TAG",
            "module": "src/inputs/checkbox-group/checkbox-group.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCheckboxGroupElement",
          "declaration": {
            "name": "OreCheckboxGroupElement",
            "module": "src/inputs/checkbox-group/checkbox-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/datagrid/datagrid-column.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Light-DOM row marker consumed by `<ore-table>`.",
          "name": "anonymous_0",
          "superclass": {
            "name": "HTMLElement"
          },
          "tagName": "ore-tr",
          "customElement": true,
          "attributes": [
            {
              "name": "head",
              "type": {
                "text": "boolean"
              },
              "description": "Places the row in the generated `<thead>` section"
            },
            {
              "name": "foot",
              "type": {
                "text": "boolean"
              },
              "description": "Places the row in the generated `<tfoot>` section"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-table>\n  <ore-tr head><ore-th>Name</ore-th><ore-th>Role</ore-th></ore-tr>\n  <ore-tr><ore-td>Alice</ore-td><ore-td>Admin</ore-td></ore-tr>\n</ore-table>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "COLUMN_TAG",
          "type": {
            "text": "'ore-column'"
          },
          "default": "'ore-column'"
        },
        {
          "kind": "variable",
          "name": "COLUMN_OBSERVED_ATTRS",
          "type": {
            "text": "[\n  'key',\n  'label',\n  'sortable',\n  'resizable',\n  'align',\n  'width',\n  'header-label',\n]"
          },
          "default": "[ 'key', 'label', 'sortable', 'resizable', 'align', 'width', 'header-label', ]",
          "description": "Attributes observed by the column MutationObserver in ore-datagrid."
        },
        {
          "kind": "function",
          "name": "parseColumnChildren",
          "return": {
            "type": {
              "text": "DataGridColumn[]"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Parse all `<ore-column>` direct children of `host` into DataGridColumn descriptors."
        }
      ],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "ore-column",
          "declaration": {
            "name": "anonymous_0",
            "module": "src/inputs/datagrid/datagrid-column.ts"
          }
        },
        {
          "kind": "js",
          "name": "COLUMN_TAG",
          "declaration": {
            "name": "COLUMN_TAG",
            "module": "src/inputs/datagrid/datagrid-column.ts"
          }
        },
        {
          "kind": "js",
          "name": "COLUMN_OBSERVED_ATTRS",
          "declaration": {
            "name": "COLUMN_OBSERVED_ATTRS",
            "module": "src/inputs/datagrid/datagrid-column.ts"
          }
        },
        {
          "kind": "js",
          "name": "parseColumnChildren",
          "declaration": {
            "name": "parseColumnChildren",
            "module": "src/inputs/datagrid/datagrid-column.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/datagrid/datagrid-model.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createDataGridModel",
          "return": {
            "type": {
              "text": "DataGridModel<T>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "DataGridModelOptions<T>"
              }
            }
          ],
          "description": "Feature-owned state and transform pipeline for `ore-datagrid`.\n\nRows flow through query, filters, sorting, and pagination in order. Selection\nand column visibility share the same model so every interactive grid concern\nhas one reactive owner. Source-backed grids retain their server-owned rows by\nsetting `clientSide` to false."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createDataGridModel",
          "declaration": {
            "name": "createDataGridModel",
            "module": "src/inputs/datagrid/datagrid-model.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/datagrid/datagrid-nav.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createGridNav",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "table",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The `.dg-table` element to attach the keydown listener to."
            },
            {
              "name": "shadow",
              "type": {
                "text": "ShadowRoot"
              },
              "description": "The shadow root containing the grid cells."
            }
          ],
          "description": "Keyboard navigation for the ARIA grid pattern (roving tabindex).\n\n- Arrow keys move focus between cells.\n- Home/End move to the first/last cell in the row.\n- Ctrl+Home/Ctrl+End move to the first/last cell in the grid.\n- Only the active cell has `tabindex=\"0\"`; all others have `\"-1\"`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createGridNav",
          "declaration": {
            "name": "createGridNav",
            "module": "src/inputs/datagrid/datagrid-nav.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/datagrid/datagrid.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "sortIconName",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "state",
              "type": {
                "text": "SortState"
              }
            },
            {
              "name": "key",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns the Lucide icon name for a column's sort state.\nPure function — no closure dependency on the grid model."
        },
        {
          "kind": "function",
          "name": "ariaSortValue",
          "return": {
            "type": {
              "text": "'ascending' | 'descending' | 'none'"
            }
          },
          "parameters": [
            {
              "name": "state",
              "type": {
                "text": "SortState"
              }
            },
            {
              "name": "key",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns the WAI-ARIA `aria-sort` value for a column.\nPure function — independently unit-testable."
        },
        {
          "kind": "variable",
          "name": "DATAGRID_TAG",
          "type": {
            "text": "'ore-datagrid'"
          },
          "default": "'ore-datagrid'"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "COLUMN_TAG",
          "declaration": {
            "name": "COLUMN_TAG",
            "module": "./datagrid-column"
          }
        },
        {
          "kind": "js",
          "name": "DataGridView",
          "declaration": {
            "name": "DataGridView",
            "module": "./datagrid-model"
          }
        },
        {
          "kind": "js",
          "name": "FilterOperator",
          "declaration": {
            "name": "FilterOperator",
            "module": "./datagrid-model"
          }
        },
        {
          "kind": "js",
          "name": "FilterOption",
          "declaration": {
            "name": "FilterOption",
            "module": "./datagrid-model"
          }
        },
        {
          "kind": "js",
          "name": "sortIconName",
          "declaration": {
            "name": "sortIconName",
            "module": "src/inputs/datagrid/datagrid.ts"
          }
        },
        {
          "kind": "js",
          "name": "ariaSortValue",
          "declaration": {
            "name": "ariaSortValue",
            "module": "src/inputs/datagrid/datagrid.ts"
          }
        },
        {
          "kind": "js",
          "name": "DATAGRID_TAG",
          "declaration": {
            "name": "DATAGRID_TAG",
            "module": "src/inputs/datagrid/datagrid.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/date-picker/date-picker.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DATE_PICKER_TAG",
          "type": {
            "text": "'ore-date-picker'"
          },
          "default": "'ore-date-picker'",
          "description": "An accessible, keyboard-navigable date picker with an inline calendar popup.\nSupports min/max bounds, disabled weekend days, and form association."
        },
        {
          "kind": "class",
          "name": "OreDatePickerElement",
          "tagName": "ore-date-picker",
          "customElement": true,
          "description": "An accessible, keyboard-navigable date picker with an inline calendar popup.\nSupports min/max bounds, disabled weekend days, and form association.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Selected date in ISO 8601 format (yyyy-MM-dd)"
            },
            {
              "name": "min",
              "type": {
                "text": "string"
              },
              "description": "Minimum selectable date (yyyy-MM-dd)"
            },
            {
              "name": "max",
              "type": {
                "text": "string"
              },
              "description": "Maximum selectable date (yyyy-MM-dd)"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Label text"
            },
            {
              "name": "label-placement",
              "type": {
                "text": "'inset' | 'outside'"
              },
              "description": "'inset' | 'outside'"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Trigger placeholder"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the picker"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "locale",
              "type": {
                "text": "string"
              },
              "description": "BCP 47 locale string"
            },
            {
              "name": "weekend-days",
              "type": {
                "text": "string"
              },
              "description": "Comma-separated day indices to disable"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired when a date is selected.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Fired when a date is selected.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "label",
              "description": "Custom label for the trigger field"
            },
            {
              "name": "prefix",
              "description": "Content before the trigger text (e.g. icon)"
            },
            {
              "name": "helper",
              "description": "Custom helper text"
            },
            {
              "name": "error",
              "description": "Custom error content"
            }
          ],
          "cssParts": [
            {
              "name": "field",
              "description": "The trigger button/field"
            },
            {
              "name": "calendar",
              "description": "The floating calendar panel"
            },
            {
              "name": "header",
              "description": "Calendar header (nav + label)"
            },
            {
              "name": "grid",
              "description": "Day grid"
            },
            {
              "name": "day",
              "description": "Individual day cell"
            }
          ],
          "cssProperties": [
            {
              "name": "--date-picker-bg",
              "description": "Calendar background"
            },
            {
              "name": "--date-picker-border-color",
              "description": "Calendar border color"
            },
            {
              "name": "--date-picker-radius",
              "description": "Calendar border radius"
            },
            {
              "name": "--date-picker-day-selected-bg",
              "description": "Background of selected day"
            },
            {
              "name": "--date-picker-day-today-color",
              "description": "Color of today's date number"
            },
            {
              "name": "--date-picker-day-outside-opacity",
              "description": "Opacity of days outside visible month"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Single date with constraints -->\n<ore-date-picker label=\"Appointment date\" name=\"date\" min=\"2025-01-01\" max=\"2025-12-31\" color=\"primary\"></ore-date-picker>\n<!-- Outside label, bordered variant -->\n<ore-date-picker label=\"Start date\" label-placement=\"outside\" variant=\"bordered\"></ore-date-picker>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DATE_PICKER_TAG",
          "declaration": {
            "name": "DATE_PICKER_TAG",
            "module": "src/inputs/date-picker/date-picker.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreDatePickerElement",
          "declaration": {
            "name": "OreDatePickerElement",
            "module": "src/inputs/date-picker/date-picker.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/combobox/combobox-options.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "parseSlottedOptions",
          "return": {
            "type": {
              "text": "ComboboxOptionItem[]"
            }
          },
          "parameters": [
            {
              "name": "elements",
              "type": {
                "text": "Element[]"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "filterOptions",
          "return": {
            "type": {
              "text": "ComboboxOptionItem[]"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ComboboxOptionItem[]"
              }
            },
            {
              "name": "query",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "noFilter",
              "type": {
                "text": "boolean"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "getCreatableLabel",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "query",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "creatable",
              "type": {
                "text": "boolean"
              }
            },
            {
              "name": "filteredOptions",
              "type": {
                "text": "ComboboxOptionItem[]"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "makeCreatableValue",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "query",
              "type": {
                "text": "string"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseSlottedOptions",
          "declaration": {
            "name": "parseSlottedOptions",
            "module": "src/inputs/combobox/combobox-options.ts"
          }
        },
        {
          "kind": "js",
          "name": "filterOptions",
          "declaration": {
            "name": "filterOptions",
            "module": "src/inputs/combobox/combobox-options.ts"
          }
        },
        {
          "kind": "js",
          "name": "getCreatableLabel",
          "declaration": {
            "name": "getCreatableLabel",
            "module": "src/inputs/combobox/combobox-options.ts"
          }
        },
        {
          "kind": "js",
          "name": "makeCreatableValue",
          "declaration": {
            "name": "makeCreatableValue",
            "module": "src/inputs/combobox/combobox-options.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/combobox/combobox.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "COMBOBOX_TAG",
          "type": {
            "text": "'ore-combobox'"
          },
          "default": "'ore-combobox'",
          "description": "A searchable select field with multiple selection, custom option creation, and large-list support."
        },
        {
          "kind": "variable",
          "name": "value"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OreComboboxEvents",
          "declaration": {
            "name": "OreComboboxEvents",
            "module": "./combobox.types"
          }
        },
        {
          "kind": "js",
          "name": "OreComboboxProps",
          "declaration": {
            "name": "OreComboboxProps",
            "module": "./combobox.types"
          }
        },
        {
          "kind": "js",
          "name": "COMBOBOX_TAG",
          "declaration": {
            "name": "COMBOBOX_TAG",
            "module": "src/inputs/combobox/combobox.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/combobox/combobox.types.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/file-input/file-input-upload.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "formatBytes",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "bytes",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "createFileQueue",
          "return": {
            "type": {
              "text": "FileQueue"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FileQueueOptions"
              }
            }
          ],
          "description": "Owns file selection *and* the opt-in upload lifecycle together — they were never really\nseparable (adding a file starts its upload; removing one must abort it; replacing one is both\nat once). Independent of `html`/rendering, following the same shape as `datagrid`'s\n`createDataGridControls` and `combobox`'s `combobox-options.ts`: a factory `file-input.ts`\nwires into drag/drop/native-input events and the template, directly unit-testable without\nmounting a component.\n\nEvery file-level rule (accept, max-size, max-files, disabled) and every upload-lifecycle rule\n(progress, retry-from-offset, per-file isolation) lives here in one place."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "formatBytes",
          "declaration": {
            "name": "formatBytes",
            "module": "src/inputs/file-input/file-input-upload.ts"
          }
        },
        {
          "kind": "js",
          "name": "createFileQueue",
          "declaration": {
            "name": "createFileQueue",
            "module": "src/inputs/file-input/file-input-upload.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/file-input/file-input.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "FILE_INPUT_TAG",
          "type": {
            "text": "'ore-file-input'"
          },
          "default": "'ore-file-input'",
          "description": "A file upload field with drag-and-drop support, built-in validation messaging, and — once a\n`upload` transport is wired up — a full per-file upload lifecycle: live progress/speed/ETA,\nretry-on-failure, a success confirmation card, and fully independent handling of concurrent\nfiles (one failing never blocks or cancels the others). Picking files with no `upload` set\nkeeps the original, upload-free selection-only behavior."
        },
        {
          "kind": "class",
          "name": "OreFileInputElement",
          "tagName": "ore-file-input",
          "customElement": true,
          "description": "A file upload field with drag-and-drop support, built-in validation messaging, and — once a\n`upload` transport is wired up — a full per-file upload lifecycle: live progress/speed/ETA,\nretry-on-failure, a success confirmation card, and fully independent handling of concurrent\nfiles (one failing never blocks or cancels the others). Picking files with no `upload` set\nkeeps the original, upload-free selection-only behavior.",
          "summary": "",
          "attributes": [
            {
              "name": "accept",
              "type": {
                "text": "string"
              },
              "description": "Comma-separated file extensions or MIME types"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "description": "Enable multiple files selection"
            },
            {
              "name": "gallery",
              "type": {
                "text": "boolean"
              },
              "description": "Show selected files as an image thumbnail/preview grid"
            },
            {
              "name": "max-files",
              "type": {
                "text": "number"
              },
              "description": "Max number of files allowed"
            },
            {
              "name": "max-size",
              "type": {
                "text": "number"
              },
              "description": "Max size of each file in bytes"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable interaction"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Show an error state/message"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Provide helper context below the dropzone"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "detail: { files: File[], value: File[] }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "remove",
              "description": "detail: { file: File, files: File[] }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "upload-progress",
              "description": "detail: { file: File, loaded: number, total: number }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "upload-success",
              "description": "detail: { file: File }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "upload-error",
              "description": "detail: { file: File, error: unknown }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "cssParts": [
            {
              "name": "wrapper",
              "description": "Root wrapper around the file input field"
            },
            {
              "name": "label",
              "description": "Visible label rendered above the dropzone"
            },
            {
              "name": "dropzone",
              "description": "Interactive drag-and-drop target"
            },
            {
              "name": "input",
              "description": "Native file input element"
            },
            {
              "name": "gallery",
              "description": "Gallery grid container (rendered instead of `file-list` when `gallery` is set)"
            },
            {
              "name": "helper",
              "description": "Helper text shown beneath the dropzone"
            },
            {
              "name": "error",
              "description": "Error message shown beneath the field"
            }
          ],
          "cssProperties": [
            {
              "name": "--file-input-bg",
              "description": "Dropzone background color"
            },
            {
              "name": "--file-input-border-color",
              "description": "Dropzone border color"
            },
            {
              "name": "--file-input-font-size",
              "description": "Font size"
            },
            {
              "name": "--file-input-radius",
              "description": "Dropzone border radius"
            },
            {
              "name": "--file-input-min-height",
              "description": "Minimum dropzone height"
            },
            {
              "name": "--file-input-hover-bg",
              "description": "Dropzone background on hover (flat/ghost variants)"
            },
            {
              "name": "--file-input-hover-border-color",
              "description": "Dropzone border on hover (flat/bordered variants)"
            },
            {
              "name": "--file-input-focus-bg",
              "description": "Dropzone background when focused/drag-over (flat variant)"
            },
            {
              "name": "--file-input-focus-border-color",
              "description": "Dropzone border when focused/drag-over (flat variant)"
            },
            {
              "name": "--file-input-thumb-size",
              "description": "Gallery thumbnail width/height"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-file-input label=\"Upload files\" accept=\"image/*\" multiple />\n<ore-file-input label=\"Photos\" accept=\"image/*\" multiple gallery />\n<ore-file-input label=\"Resume\" accept=\".pdf,.doc,.docx\" max-size=\"5242880\" />\n<ore-file-input variant=\"bordered\" color=\"primary\" />\n```\n```ts\n// Wire up a real upload transport — progress/retry/success are then handled automatically.\n// `XMLHttpRequest` is used here (not `fetch`) because it's the only browser API that reports\n// upload progress; swap in whatever transport the app already uses.\nconst input = document.querySelector('ore-file-input');\ninput.upload = (file, { onProgress, signal, resumeFrom }) =>\n  new Promise((resolve, reject) => {\n    const xhr = new XMLHttpRequest();\n    xhr.upload.addEventListener('progress', (e) => onProgress(resumeFrom + e.loaded, file.size));\n    xhr.addEventListener('load', () => (xhr.status < 400 ? resolve() : reject(new Error(xhr.statusText))));\n    xhr.addEventListener('error', () => reject(new Error('Network error')));\n    signal.addEventListener('abort', () => xhr.abort());\n    xhr.open('PUT', '/uploads');\n    if (resumeFrom > 0) xhr.setRequestHeader('Content-Range', `bytes ${resumeFrom}-/${file.size}`);\n    xhr.send(file);\n  });\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FileUploadFn",
          "declaration": {
            "name": "FileUploadFn",
            "module": "./file-input-upload"
          }
        },
        {
          "kind": "js",
          "name": "FileUploadState",
          "declaration": {
            "name": "FileUploadState",
            "module": "./file-input-upload"
          }
        },
        {
          "kind": "js",
          "name": "FileUploadStatus",
          "declaration": {
            "name": "FileUploadStatus",
            "module": "./file-input-upload"
          }
        },
        {
          "kind": "js",
          "name": "FILE_INPUT_TAG",
          "declaration": {
            "name": "FILE_INPUT_TAG",
            "module": "src/inputs/file-input/file-input.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreFileInputElement",
          "declaration": {
            "name": "OreFileInputElement",
            "module": "src/inputs/file-input/file-input.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/input/input.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "INPUT_TAG",
          "type": {
            "text": "'ore-input'"
          },
          "default": "'ore-input'",
          "description": "A customizable text input component with multiple variants, label placements, and form features."
        },
        {
          "kind": "class",
          "name": "OreInputElement",
          "tagName": "ore-input",
          "customElement": true,
          "description": "A customizable text input component with multiple variants, label placements, and form features.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Label text"
            },
            {
              "name": "label-placement",
              "type": {
                "text": "'inset' | 'outside'"
              },
              "description": "Label placement: 'inset' | 'outside'"
            },
            {
              "name": "type",
              "type": {
                "text": "'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'"
              },
              "description": "HTML input type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Current input value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Placeholder text"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text displayed below the input (fallback when the `helper` slot is empty)"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message — marks the field as invalid (fallback when the `error` slot is empty)"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable input interaction"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "Make the input read-only"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Mark the field as required"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline spinner and force the field disabled"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Input size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when input value changes (on every keystroke).",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when input loses focus with changed value.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "prefix",
              "description": "Content before the input (e.g., icons)"
            },
            {
              "name": "suffix",
              "description": "Content after the input (e.g., clear button, validation icon)"
            },
            {
              "name": "label",
              "description": "Replaces the label text — slotted content takes precedence over the `label` prop"
            },
            {
              "name": "helper",
              "description": "Replaces the helper text — slotted content takes precedence over the `helper` prop"
            },
            {
              "name": "error",
              "description": "Replaces the error text — slotted content takes precedence over the `error` prop"
            }
          ],
          "cssParts": [
            {
              "name": "wrapper",
              "description": "The input wrapper element"
            },
            {
              "name": "label",
              "description": "The label element (inset or outside)"
            },
            {
              "name": "field",
              "description": "The field container element"
            },
            {
              "name": "input-row",
              "description": "The input row container element"
            },
            {
              "name": "input",
              "description": "The input element"
            },
            {
              "name": "status-icon",
              "description": "The inline error/success icon shown inside the field"
            },
            {
              "name": "spinner",
              "description": "The inline loading spinner shown inside the field while `loading`"
            },
            {
              "name": "helper",
              "description": "The helper text element"
            }
          ],
          "cssProperties": [
            {
              "name": "--input-bg",
              "description": "Background color"
            },
            {
              "name": "--input-color",
              "description": "Text color"
            },
            {
              "name": "--input-border-color",
              "description": "Border color"
            },
            {
              "name": "--input-placeholder-color",
              "description": "Placeholder text color"
            },
            {
              "name": "--input-radius",
              "description": "Border radius"
            },
            {
              "name": "--input-padding",
              "description": "Inner padding (block inline)"
            },
            {
              "name": "--input-label-block-inset",
              "description": "Inset from the field block start for an inset label"
            },
            {
              "name": "--input-label-inset",
              "description": "Inset from the field inline start for an inset label"
            },
            {
              "name": "--input-gap",
              "description": "Gap between prefix/suffix icons and input text"
            },
            {
              "name": "--input-font-size",
              "description": "Font size"
            },
            {
              "name": "--input-height",
              "description": "Field height"
            },
            {
              "name": "--input-hover-bg",
              "description": "Field background on hover (flat/ghost variants)"
            },
            {
              "name": "--input-hover-border-color",
              "description": "Field border on hover (flat/bordered variants)"
            },
            {
              "name": "--input-focus-bg",
              "description": "Field background when focused (flat variant)"
            },
            {
              "name": "--input-focus-border-color",
              "description": "Field border when focused (flat/text variants)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-input type=\"email\" label=\"Email\" placeholder=\"you@example.com\" />\n<ore-input label=\"Name\" variant=\"bordered\" color=\"primary\" />\n<ore-input label=\"Username\" error=\"That username is taken\" />\n<ore-input label=\"Username\" success />\n<ore-input label=\"Username\" loading />\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "INPUT_TAG",
          "declaration": {
            "name": "INPUT_TAG",
            "module": "src/inputs/input/input.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreInputElement",
          "declaration": {
            "name": "OreInputElement",
            "module": "src/inputs/input/input.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/message-composer/message-composer.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "MESSAGE_COMPOSER_TAG",
          "type": {
            "text": "'ore-message-composer'"
          },
          "default": "'ore-message-composer'",
          "description": "A message/comment composer — a card with an auto-resizing field on top and a toolbar row\nbelow it, built directly on the same core primitives as `ore-textarea` (`createTextField`,\n`createAutoResize`) rather than composing `ore-textarea` itself. Nesting a fully-styled sibling\ncomponent and suppressing most of its chrome (as an earlier version of this component did) is\na leaky composition — this owns its single `<textarea>` outright, so there's exactly one\nimplementation of the field's appearance to reason about, not two fighting each other.\n\nHandles the send gesture (Enter to send, Shift+Enter for a newline, or a Ctrl/Cmd+Enter\nalternative), IME-safe composition, and clear-and-refocus after sending."
        },
        {
          "kind": "class",
          "name": "OreMessageComposerElement",
          "tagName": "ore-message-composer",
          "customElement": true,
          "description": "A message/comment composer — a card with an auto-resizing field on top and a toolbar row\nbelow it, built directly on the same core primitives as `ore-textarea` (`createTextField`,\n`createAutoResize`) rather than composing `ore-textarea` itself. Nesting a fully-styled sibling\ncomponent and suppressing most of its chrome (as an earlier version of this component did) is\na leaky composition — this owns its single `<textarea>` outright, so there's exactly one\nimplementation of the field's appearance to reason about, not two fighting each other.\nHandles the send gesture (Enter to send, Shift+Enter for a newline, or a Ctrl/Cmd+Enter\nalternative), IME-safe composition, and clear-and-refocus after sending.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Current text value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Placeholder text"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible name for the field (not rendered visually)"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text shown below the field"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message shown below the field"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the whole composer"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only mode"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Require a non-blank value for native form validation"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Blocks further sends without disabling editing"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "Max character count; shows a counter"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "description": "Visible rows before auto-resize grows the field (default 1)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
              },
              "description": "Visual variant of the card: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Stretch to the full width of the container"
            },
            {
              "name": "send-icon",
              "type": {
                "text": "string"
              },
              "description": "Lucide icon name for the default send button (default 'arrow-up')"
            },
            {
              "name": "send-label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label for the send button (default 'Send message')"
            },
            {
              "name": "send-shortcut",
              "type": {
                "text": "string"
              },
              "description": "'enter' (default) | 'mod+enter'"
            },
            {
              "name": "clear-on-send",
              "type": {
                "text": "boolean"
              },
              "description": "Clear the value and refocus after a non-cancelled send (default true)"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired on every keystroke. detail: { value, originalEvent }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "send",
              "description": "Fired on a send attempt. Cancelable. detail: { value, originalEvent }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "prefix",
              "description": "Content at the start of the toolbar row (e.g. an attach menu)"
            },
            {
              "name": "suffix",
              "description": "Content at the end of the toolbar row, before the send button (e.g. a model picker)"
            },
            {
              "name": "send",
              "description": "Replaces the default send button entirely — the only supported way to customize it"
            }
          ],
          "cssParts": [
            {
              "name": "composer",
              "description": "Root card container"
            },
            {
              "name": "field",
              "description": "The native `<textarea>` element"
            },
            {
              "name": "status-icon",
              "description": "The inline error/success icon shown inside the field"
            },
            {
              "name": "helper",
              "description": "Helper text element"
            },
            {
              "name": "error",
              "description": "Error text element (`role=\"alert\"`)"
            },
            {
              "name": "toolbar",
              "description": "Toolbar row below the field"
            },
            {
              "name": "toolbar-start",
              "description": "Toolbar group holding the `prefix` slot"
            },
            {
              "name": "toolbar-end",
              "description": "Toolbar group holding the `suffix` slot and the send button"
            },
            {
              "name": "send-button",
              "description": "The default send button (absent when the `send` slot is used)"
            }
          ],
          "cssProperties": [
            {
              "name": "--message-composer-bg",
              "description": "Card background color"
            },
            {
              "name": "--message-composer-border-color",
              "description": "Card border color"
            },
            {
              "name": "--message-composer-radius",
              "description": "Card border radius"
            },
            {
              "name": "--message-composer-padding",
              "description": "Card inner padding"
            },
            {
              "name": "--message-composer-gap",
              "description": "Gap between the field/toolbar rows and between toolbar items"
            },
            {
              "name": "--message-composer-placeholder-color",
              "description": "Field placeholder text color"
            },
            {
              "name": "--message-composer-min-height",
              "description": "Minimum field height (default one line)"
            },
            {
              "name": "--message-composer-hover-bg",
              "description": "Card background on hover (flat/ghost variants)"
            },
            {
              "name": "--message-composer-hover-border-color",
              "description": "Card border on hover (flat/bordered variants)"
            },
            {
              "name": "--message-composer-focus-bg",
              "description": "Card background when focused (flat variant)"
            },
            {
              "name": "--message-composer-focus-border-color",
              "description": "Card border when focused (flat variant)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-message-composer placeholder=\"Message…\" send-shortcut=\"mod+enter\"></ore-message-composer>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SendShortcut",
          "declaration": {
            "name": "SendShortcut",
            "module": "../../core"
          }
        },
        {
          "kind": "js",
          "name": "MESSAGE_COMPOSER_TAG",
          "declaration": {
            "name": "MESSAGE_COMPOSER_TAG",
            "module": "src/inputs/message-composer/message-composer.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreMessageComposerElement",
          "declaration": {
            "name": "OreMessageComposerElement",
            "module": "src/inputs/message-composer/message-composer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/number-input/number-input.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "NUMBER_INPUT_TAG",
          "type": {
            "text": "'ore-number-input'"
          },
          "default": "'ore-number-input'",
          "description": "A numeric spin-button input with +/− controls, min/max clamping, and full keyboard support."
        },
        {
          "kind": "class",
          "name": "OreNumberInputElement",
          "tagName": "ore-number-input",
          "customElement": true,
          "description": "A numeric spin-button input with +/− controls, min/max clamping, and full keyboard support.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "Current value"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "description": "Minimum value"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Maximum value"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "description": "Increment/decrement step (default: 1)",
              "default": "1"
            },
            {
              "name": "large-step",
              "type": {
                "text": "number"
              },
              "description": "Step for Page Up/Down (default: 10)",
              "default": "10"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables the control"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only mode"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline spinner and force the control disabled"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Visible label"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Input placeholder"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "On every keystroke.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "On committed value change.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "prefix",
              "description": "Content before the input (e.g. icon)"
            },
            {
              "name": "suffix",
              "description": "Content after the input (e.g. unit label)"
            },
            {
              "name": "label",
              "description": "Custom label content"
            },
            {
              "name": "helper",
              "description": "Custom helper text content"
            },
            {
              "name": "error",
              "description": "Custom error content"
            }
          ],
          "cssParts": [
            {
              "name": "control",
              "description": "Control container."
            },
            {
              "name": "decrement-btn",
              "description": "Decrement stepper button."
            },
            {
              "name": "input",
              "description": "Input element."
            },
            {
              "name": "increment-btn",
              "description": "Increment stepper button."
            }
          ],
          "cssProperties": [
            {
              "name": "--number-input-height",
              "description": "Control height"
            },
            {
              "name": "--number-input-border-color",
              "description": "Border color"
            },
            {
              "name": "--number-input-radius",
              "description": "Border radius"
            },
            {
              "name": "--number-input-bg",
              "description": "Background"
            },
            {
              "name": "--number-input-btn-bg",
              "description": "Spin button background"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-number-input label=\"Quantity\" value=\"1\" min=\"1\" max=\"99\" step=\"1\"></ore-number-input>\n<ore-number-input label=\"Quantity\" success></ore-number-input>\n<ore-number-input label=\"Quantity\" loading></ore-number-input>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NUMBER_INPUT_TAG",
          "declaration": {
            "name": "NUMBER_INPUT_TAG",
            "module": "src/inputs/number-input/number-input.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNumberInputElement",
          "declaration": {
            "name": "OreNumberInputElement",
            "module": "src/inputs/number-input/number-input.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/otp-input/otp-input.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "OTP_INPUT_TAG",
          "type": {
            "text": "'ore-otp-input'"
          },
          "default": "'ore-otp-input'",
          "description": "A segmented OTP (One-Time Password) input with N individual cells.\nAuto-advances focus on input, auto-backs on Backspace, handles paste."
        },
        {
          "kind": "class",
          "name": "OreOtpInputElement",
          "tagName": "ore-otp-input",
          "customElement": true,
          "description": "A segmented OTP (One-Time Password) input with N individual cells.\nAuto-advances focus on input, auto-backs on Backspace, handles paste.",
          "summary": "",
          "attributes": [
            {
              "name": "length",
              "type": {
                "text": "number"
              },
              "description": "Number of cells (default: 6)",
              "default": "6"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "description": "'numeric' (default) | 'alphanumeric'"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Current code value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable all cells"
            },
            {
              "name": "masked",
              "type": {
                "text": "boolean"
              },
              "description": "Show as password"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Group aria-label"
            },
            {
              "name": "separator",
              "type": {
                "text": "string"
              },
              "description": "Optional separator character shown in the middle"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted whenever a cell changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted whenever a cell changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "complete",
              "description": "Emitted when all cells are filled. detail: { value: string, originalEvent?: Event }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "label",
              "description": "Custom label above the OTP input"
            },
            {
              "name": "helper",
              "description": "Custom helper text below the OTP input"
            },
            {
              "name": "error",
              "description": "Custom error content below the OTP input"
            }
          ],
          "cssParts": [
            {
              "name": "group",
              "description": "Group container."
            },
            {
              "name": "cell",
              "description": "Shadow part for the `cell` element."
            }
          ],
          "cssProperties": [
            {
              "name": "--otp-cell-size",
              "description": "Width and height of each cell"
            },
            {
              "name": "--otp-cell-gap",
              "description": "Gap between cells"
            },
            {
              "name": "--otp-cell-font-size",
              "description": "Font size inside cells"
            },
            {
              "name": "--otp-cell-radius",
              "description": "Border radius of cells"
            },
            {
              "name": "--otp-cell-bg",
              "description": "Cell background color"
            },
            {
              "name": "--otp-cell-border-color",
              "description": "Default border color"
            },
            {
              "name": "--otp-cell-focus-border",
              "description": "Focused border/caret color"
            },
            {
              "name": "--otp-cell-hover-bg",
              "description": "Cell background on hover (flat/ghost variants)"
            },
            {
              "name": "--otp-cell-hover-border-color",
              "description": "Cell border on hover (flat/bordered variants)"
            },
            {
              "name": "--otp-cell-focus-bg",
              "description": "Cell background when focused (flat variant)"
            },
            {
              "name": "--otp-cell-focus-border-color",
              "description": "Cell border when focused (flat variant)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-otp-input length=\"6\" color=\"primary\"></ore-otp-input>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OTP_INPUT_TAG",
          "declaration": {
            "name": "OTP_INPUT_TAG",
            "module": "src/inputs/otp-input/otp-input.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreOtpInputElement",
          "declaration": {
            "name": "OreOtpInputElement",
            "module": "src/inputs/otp-input/otp-input.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/radio-group/radio-group.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "RADIO_GROUP_CTX"
        },
        {
          "kind": "variable",
          "name": "RADIO_GROUP_TAG",
          "type": {
            "text": "'ore-radio-group'"
          },
          "default": "'ore-radio-group'",
          "description": "A group of radio buttons that allows users to select a single option from a set.\nSupports keyboard navigation (arrows) and automatic value management."
        },
        {
          "kind": "class",
          "name": "OreRadioGroupElement",
          "tagName": "ore-radio-group",
          "customElement": true,
          "description": "A group of radio buttons that allows users to select a single option from a set.\nSupports keyboard navigation (arrows) and automatic value management.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Selected value"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Group label"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'vertical' | 'horizontal'"
              },
              "description": "Layout: 'vertical' | 'horizontal'"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            }
          ],
          "events": [
            {
              "name": "change",
              "description": "Emitted when a radio is selected. detail: { values: string[], labels: string[], originalEvent?: Event }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Place `ore-radio` elements here"
            }
          ],
          "cssParts": [
            {
              "name": "items",
              "description": "Items container."
            }
          ],
          "cssProperties": [
            {
              "name": "--radio-group-direction",
              "description": "Flex direction of the items list ('row' | 'column')"
            },
            {
              "name": "--radio-group-gap",
              "description": "Gap between radio items"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-radio-group name=\"plan\" label=\"Choose a plan\" value=\"free\" required>\n  <ore-radio value=\"free\">Free</ore-radio>\n  <ore-radio value=\"pro\">Pro</ore-radio>\n  <ore-radio value=\"enterprise\">Enterprise</ore-radio>\n</ore-radio-group>\n<ore-radio-group name=\"direction\" orientation=\"horizontal\" color=\"primary\">\n  <ore-radio value=\"left\">Left</ore-radio>\n  <ore-radio value=\"right\">Right</ore-radio>\n</ore-radio-group>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RADIO_GROUP_CTX",
          "declaration": {
            "name": "RADIO_GROUP_CTX",
            "module": "src/inputs/radio-group/radio-group.ts"
          }
        },
        {
          "kind": "js",
          "name": "RADIO_GROUP_TAG",
          "declaration": {
            "name": "RADIO_GROUP_TAG",
            "module": "src/inputs/radio-group/radio-group.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreRadioGroupElement",
          "declaration": {
            "name": "OreRadioGroupElement",
            "module": "src/inputs/radio-group/radio-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/radio/radio.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "RADIO_TAG",
          "type": {
            "text": "'ore-radio'"
          },
          "default": "'ore-radio'",
          "description": "A customizable radio button component for mutually exclusive selections."
        },
        {
          "kind": "class",
          "name": "OreRadioElement",
          "tagName": "ore-radio",
          "customElement": true,
          "description": "A customizable radio button component for mutually exclusive selections.",
          "summary": "",
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Checked state"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable radio interaction"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Field value (required for radio groups)"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name (required for radio groups)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Radio size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message (marks field as invalid)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text displayed below the radio"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when radio is selected.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when radio is selected.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Radio button label text"
            }
          ],
          "cssParts": [
            {
              "name": "radio",
              "description": "The radio wrapper element"
            },
            {
              "name": "circle",
              "description": "The visual radio circle"
            },
            {
              "name": "label",
              "description": "The label element"
            },
            {
              "name": "helper-text",
              "description": "The helper/error text element"
            }
          ],
          "cssProperties": [
            {
              "name": "--radio-size",
              "description": "Control size (width and height)"
            },
            {
              "name": "--radio-bg",
              "description": "Unchecked background color"
            },
            {
              "name": "--radio-border-color",
              "description": "Unchecked border color"
            },
            {
              "name": "--radio-checked-bg",
              "description": "Selected indicator background color"
            },
            {
              "name": "--radio-color",
              "description": "Selected indicator dot color"
            },
            {
              "name": "--radio-font-size",
              "description": "Label font size"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-radio name=\"plan\" value=\"free\">Free</ore-radio>\n<ore-radio name=\"plan\" value=\"pro\" checked color=\"primary\">Pro</ore-radio>\n<ore-radio name=\"plan\" value=\"enterprise\" disabled>Enterprise</ore-radio>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RADIO_TAG",
          "declaration": {
            "name": "RADIO_TAG",
            "module": "src/inputs/radio/radio.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreRadioElement",
          "declaration": {
            "name": "OreRadioElement",
            "module": "src/inputs/radio/radio.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/rating/rating.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "RATING_TAG",
          "type": {
            "text": "'ore-rating'"
          },
          "default": "'ore-rating'",
          "description": "A star rating input."
        },
        {
          "kind": "class",
          "name": "OreRatingElement",
          "tagName": "ore-rating",
          "customElement": true,
          "description": "A star rating input.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "Current rating value (default: 0)",
              "default": "0"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Maximum number of stars (default: 5)",
              "default": "5"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only display mode"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disabled state"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "aria-label for the group (default: 'Rating')",
              "default": "'Rating'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color for filled stars: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "solid",
              "type": {
                "text": "boolean"
              },
              "description": "Fill selected stars (outline remains default when omitted)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text below the stars"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message below the stars"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when the rating changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when the rating changes.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "cssParts": [
            {
              "name": "stars",
              "description": "Stars container."
            },
            {
              "name": "star",
              "description": "Star item element."
            },
            {
              "name": "helper-text",
              "description": "The helper/error text element."
            }
          ],
          "cssProperties": [
            {
              "name": "--rating-star-size",
              "description": "Star diameter"
            },
            {
              "name": "--rating-color-empty",
              "description": "Empty star color"
            },
            {
              "name": "--rating-color-filled",
              "description": "Filled star color"
            },
            {
              "name": "--rating-gap",
              "description": "Gap between stars"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-rating value=\"3\" max=\"5\" color=\"warning\"></ore-rating>\n<ore-rating value=\"4\" solid></ore-rating>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RATING_TAG",
          "declaration": {
            "name": "RATING_TAG",
            "module": "src/inputs/rating/rating.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreRatingElement",
          "declaration": {
            "name": "OreRatingElement",
            "module": "src/inputs/rating/rating.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/slider/slider.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SLIDER_TAG",
          "type": {
            "text": "'ore-slider'"
          },
          "default": "'ore-slider'",
          "description": "A slider for selecting a single numeric value or a numeric range.\n\nAdd the boolean `range` attribute to activate two-thumb range mode."
        },
        {
          "kind": "class",
          "name": "OreSliderElement",
          "tagName": "ore-slider",
          "customElement": true,
          "description": "A slider for selecting a single numeric value or a numeric range.\nAdd the boolean `range` attribute to activate two-thumb range mode.",
          "summary": "",
          "attributes": [
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "description": "Minimum value (default: 0)",
              "default": "0"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "Maximum value (default: 100)",
              "default": "100"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "description": "Step increment (default: 1)",
              "default": "1"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "Current value (single mode)"
            },
            {
              "name": "from",
              "type": {
                "text": "number"
              },
              "description": "Lower bound (range mode)"
            },
            {
              "name": "to",
              "type": {
                "text": "number"
              },
              "description": "Upper bound (range mode)"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "description": "Activate range mode"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable interaction"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name (single mode)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "'sm' | 'md' | 'lg'"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text below the slider"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message below the slider"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Stretch to full width of container"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when the slider value changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when the slider value changes.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Slider label text"
            }
          ],
          "cssParts": [
            {
              "name": "slider",
              "description": "Slider container"
            },
            {
              "name": "track",
              "description": "Track element"
            },
            {
              "name": "fill",
              "description": "Fill element"
            },
            {
              "name": "thumb",
              "description": "Single-value thumb"
            },
            {
              "name": "thumb-start",
              "description": "Range start thumb"
            },
            {
              "name": "thumb-end",
              "description": "Range end thumb"
            },
            {
              "name": "label",
              "description": "Label element"
            },
            {
              "name": "helper-text",
              "description": "The helper/error text element"
            }
          ],
          "cssProperties": [
            {
              "name": "--slider-height",
              "description": "Track height"
            },
            {
              "name": "--slider-size",
              "description": "Thumb dimensions"
            },
            {
              "name": "--slider-track-bg",
              "description": "Track background color"
            },
            {
              "name": "--slider-fill",
              "description": "Active fill color"
            },
            {
              "name": "--slider-thumb-bg",
              "description": "Thumb background color"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-slider value=\"50\" name=\"volume\">Volume</ore-slider>\n<ore-slider range from=\"20\" to=\"80\" color=\"primary\">Price range</ore-slider>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SLIDER_TAG",
          "declaration": {
            "name": "SLIDER_TAG",
            "module": "src/inputs/slider/slider.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSliderElement",
          "declaration": {
            "name": "OreSliderElement",
            "module": "src/inputs/slider/slider.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/shared/field-binding.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "errorAttr",
          "return": {
            "type": {
              "text": "(() => string | undefined)"
            }
          },
          "parameters": [
            {
              "name": "errorText",
              "type": {
                "text": "Readable<string>"
              }
            }
          ],
          "description": "`prop.string()` already reflects `error`'s raw value as an attribute, but that leaves the\nattribute present-but-empty (`error=\"\"`) once set instead of removing it — this normalizes\nan empty error back to \"no attribute at all\". Shared by every text-field component\n(`ore-input`, `ore-textarea`, `ore-message-composer`) since `bind()`'s own `error` writer\nneeds a derived getter, not the raw prop, to get that behavior."
        },
        {
          "kind": "function",
          "name": "applyCheckableBinding",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "fCtxSize",
              "type": {
                "text": "Readable<ComponentSize | undefined>"
              }
            },
            {
              "name": "handle",
              "type": {
                "text": "CheckableBindingHandle"
              }
            },
            {
              "name": "role",
              "type": {
                "text": "'checkbox' | 'radio' | 'switch'"
              }
            }
          ],
          "description": "Applies the standard host bindings shared by all checkable components\n(checkbox, switch, radio).\n\nWires `role`, all ARIA attributes, `checked`, `size`, `tabindex`, the\n`is-checked`/`is-disabled` classes, and the `click`/`keydown` event handlers.\n\nPass `handle.indeterminate` for components that need it (checkbox);\nomit it for switch/radio."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "errorAttr",
          "declaration": {
            "name": "errorAttr",
            "module": "src/inputs/shared/field-binding.ts"
          }
        },
        {
          "kind": "js",
          "name": "applyCheckableBinding",
          "declaration": {
            "name": "applyCheckableBinding",
            "module": "src/inputs/shared/field-binding.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/shared/native-field-event.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "defineFieldChecked",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "get",
              "type": {
                "text": "() => boolean"
              }
            },
            {
              "name": "set",
              "type": {
                "text": "(checked: boolean) => void"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "defineFieldValue",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "get",
              "type": {
                "text": "() => string"
              }
            },
            {
              "name": "set",
              "type": {
                "text": "(value: string) => void"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "dispatchNativeFieldEvent",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "type",
              "type": {
                "text": "'change' | 'input'"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setFieldChecked",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setFieldValue",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "defineFieldChecked",
          "declaration": {
            "name": "defineFieldChecked",
            "module": "src/inputs/shared/native-field-event.ts"
          }
        },
        {
          "kind": "js",
          "name": "defineFieldValue",
          "declaration": {
            "name": "defineFieldValue",
            "module": "src/inputs/shared/native-field-event.ts"
          }
        },
        {
          "kind": "js",
          "name": "dispatchNativeFieldEvent",
          "declaration": {
            "name": "dispatchNativeFieldEvent",
            "module": "src/inputs/shared/native-field-event.ts"
          }
        },
        {
          "kind": "js",
          "name": "setFieldChecked",
          "declaration": {
            "name": "setFieldChecked",
            "module": "src/inputs/shared/native-field-event.ts"
          }
        },
        {
          "kind": "js",
          "name": "setFieldValue",
          "declaration": {
            "name": "setFieldValue",
            "module": "src/inputs/shared/native-field-event.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/shared/templates.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "renderHelperRegion",
          "parameters": [
            {
              "name": "assistiveId",
              "type": {
                "text": "string"
              },
              "description": "The stable ID shared with the ARIA `aria-describedby` attribute."
            },
            {
              "name": "errorText",
              "type": {
                "text": "Readable<string>"
              },
              "description": "Reactive error text signal from the field primitive."
            },
            {
              "name": "helperText",
              "type": {
                "text": "Readable<string>"
              },
              "description": "Reactive helper text signal from the field primitive."
            },
            {
              "name": "setRef",
              "optional": true,
              "type": {
                "text": "(el: HTMLElement | null) => void"
              },
              "description": "Optional callback to capture the container element."
            }
          ],
          "description": "Renders the standard assistive text region (helper/error) used across all\nfield components. Encapsulates the repeated `aria-live`/`hidden` markup so\neach component only passes the data."
        },
        {
          "kind": "function",
          "name": "renderStatusIcon",
          "parameters": [
            {
              "name": "errorText",
              "type": {
                "text": "Readable<string>"
              }
            }
          ],
          "description": "Inline error/success status icon shown inside a field — identical markup across\n`ore-input`, `ore-textarea`, and `ore-message-composer` (previously hand-duplicated in all\nthree, down to the same derived-signal names)."
        },
        {
          "kind": "function",
          "name": "renderFieldStatusRegion",
          "parameters": [
            {
              "name": "tf",
              "type": {
                "text": "{\n  assistiveId: string;\n  counter: Readable<CounterState> | null;\n  errorId: string;\n  errorText: Readable<string>;\n  helperText: Readable<string>;\n}"
              }
            }
          ],
          "description": "Character counter + separate helper/error text regions below a field — identical across\n`ore-textarea` and `ore-message-composer` (kept out of `ore-input`, which slots its\nhelper/error content and drives its counter off a different data-attribute scheme via its\nown `char-counter` part — a genuinely different shape, not worth forcing into this one)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "renderHelperRegion",
          "declaration": {
            "name": "renderHelperRegion",
            "module": "src/inputs/shared/templates.ts"
          }
        },
        {
          "kind": "js",
          "name": "renderStatusIcon",
          "declaration": {
            "name": "renderStatusIcon",
            "module": "src/inputs/shared/templates.ts"
          }
        },
        {
          "kind": "js",
          "name": "renderFieldStatusRegion",
          "declaration": {
            "name": "renderFieldStatusRegion",
            "module": "src/inputs/shared/templates.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/shared/use-form-action.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "useFormAction",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "getForm",
              "type": {
                "text": "() => HTMLFormElement | null"
              }
            },
            {
              "name": "type",
              "type": {
                "text": "Readable<ButtonType | undefined>"
              },
              "description": "Reactive signal for the button `type` prop."
            },
            {
              "name": "isDisabled",
              "type": {
                "text": "Readable<boolean>"
              },
              "description": "Reactive signal indicating whether the button is disabled/loading."
            },
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The host custom element."
            },
            {
              "description": "The associated HTMLFormElement (from `useField().internals.form`).",
              "name": "form"
            }
          ],
          "description": "Handles form submission relay for form-associated button-like components.\n\nThe inner `<button>` always has `type=\"button\"` so the shadow DOM never\ndrives native form actions directly. This composable intercepts clicks and\nforwards submit/reset to the associated form via `ElementInternals`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "useFormAction",
          "declaration": {
            "name": "useFormAction",
            "module": "src/inputs/shared/use-form-action.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/select/select.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SELECT_TAG",
          "type": {
            "text": "'ore-select'"
          },
          "default": "'ore-select'",
          "description": "A fully custom form-associated select dropdown with keyboard navigation and ARIA support.\nReads `<option>` and `<optgroup>` children from the default slot."
        },
        {
          "kind": "class",
          "name": "OreSelectElement",
          "tagName": "ore-select",
          "customElement": true,
          "description": "A fully custom form-associated select dropdown with keyboard navigation and ARIA support.\nReads `<option>` and `<optgroup>` children from the default slot.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Label text"
            },
            {
              "name": "label-placement",
              "type": {
                "text": "'inset' | 'outside'"
              },
              "description": "'inset' | 'outside'"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Current selected value(s) (comma-separated for multiple)"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Placeholder when no option selected"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "description": "Enable multi-select"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the select"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text below the select"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Expand to full width"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired when selection changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Fired when selection changes.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "open-change",
              "description": "Fired when the dropdown state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`<option>` and `<optgroup>` elements"
            }
          ],
          "cssParts": [
            {
              "name": "trigger",
              "description": "The `ore-input` trigger element that opens the dropdown."
            },
            {
              "name": "dropdown",
              "description": "The dropdown listbox panel container."
            }
          ],
          "cssProperties": [
            {
              "name": "--select-bg",
              "description": "Background"
            },
            {
              "name": "--select-border-color",
              "description": "Border color"
            },
            {
              "name": "--select-radius",
              "description": "Border radius"
            },
            {
              "name": "--select-padding",
              "description": "Padding"
            },
            {
              "name": "--select-font-size",
              "description": "Font size"
            },
            {
              "name": "--select-placeholder-color",
              "description": "Placeholder text color"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-select label=\"Role\" value=\"admin\">\n  <option value=\"admin\">Administrator</option>\n  <option value=\"editor\">Editor</option>\n  <option value=\"viewer\">Viewer</option>\n</ore-select>\n<ore-select label=\"Tags\" multiple color=\"primary\">\n  <optgroup label=\"Frontend\">\n    <option value=\"react\">React</option>\n    <option value=\"vue\">Vue</option>\n  </optgroup>\n  <optgroup label=\"Backend\">\n    <option value=\"node\">Node.js</option>\n  </optgroup>\n</ore-select>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SELECT_TAG",
          "declaration": {
            "name": "SELECT_TAG",
            "module": "src/inputs/select/select.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSelectElement",
          "declaration": {
            "name": "OreSelectElement",
            "module": "src/inputs/select/select.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/textarea/textarea.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TEXTAREA_TAG",
          "type": {
            "text": "'ore-textarea'"
          },
          "default": "'ore-textarea'",
          "description": "A multi-line text input with label, helper text, character counter, and auto-resize."
        },
        {
          "kind": "class",
          "name": "OreTextareaElement",
          "tagName": "ore-textarea",
          "customElement": true,
          "description": "A multi-line text input with label, helper text, character counter, and auto-resize.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Label text"
            },
            {
              "name": "label-placement",
              "type": {
                "text": "'inset' | 'outside'"
              },
              "description": "'inset' | 'outside'"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Current value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Placeholder text"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "description": "Visible row count"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "Max character count (shows counter)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text below the textarea"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable interaction"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "Read-only mode"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            },
            {
              "name": "no-resize",
              "type": {
                "text": "boolean"
              },
              "description": "Disable manual resize"
            },
            {
              "name": "auto-resize",
              "type": {
                "text": "boolean"
              },
              "description": "Grow with content"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline spinner and force the field disabled"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "resize",
              "type": {
                "text": "'none' | 'horizontal' | 'both' | 'vertical'"
              },
              "description": "Resize direction: 'none' | 'horizontal' | 'both' | 'vertical'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired on every keystroke with current value.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Fired on blur with changed value.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "helper",
              "description": "Complex helper content"
            }
          ],
          "cssParts": [
            {
              "name": "status-icon",
              "description": "The inline error/success icon shown inside the field"
            },
            {
              "name": "spinner",
              "description": "The inline loading spinner shown inside the field while `loading`"
            },
            {
              "name": "wrapper",
              "description": "Outer wrapper element."
            },
            {
              "name": "label",
              "description": "Label element."
            },
            {
              "name": "field",
              "description": "Field container."
            },
            {
              "name": "textarea",
              "description": "The native `<textarea>` element."
            },
            {
              "name": "helper",
              "description": "The helper text element."
            },
            {
              "name": "error",
              "description": "The error text element (`role=\"alert\"`)."
            }
          ],
          "cssProperties": [
            {
              "name": "--textarea-bg",
              "description": "Background color"
            },
            {
              "name": "--textarea-border-color",
              "description": "Border color"
            },
            {
              "name": "--textarea-placeholder-color",
              "description": "Placeholder text color"
            },
            {
              "name": "--textarea-radius",
              "description": "Border radius"
            },
            {
              "name": "--textarea-padding",
              "description": "Inner padding (block inline)"
            },
            {
              "name": "--textarea-gap",
              "description": "Gap between label and field"
            },
            {
              "name": "--textarea-font-size",
              "description": "Font size"
            },
            {
              "name": "--textarea-min-height",
              "description": "Minimum field height"
            },
            {
              "name": "--textarea-max-height",
              "description": "Maximum field height (none = unlimited)"
            },
            {
              "name": "--textarea-resize",
              "description": "CSS resize direction ('vertical' | 'horizontal' | 'both' | 'none')"
            },
            {
              "name": "--textarea-hover-bg",
              "description": "Field background on hover (flat/ghost variants)"
            },
            {
              "name": "--textarea-hover-border-color",
              "description": "Field border on hover (flat/bordered variants)"
            },
            {
              "name": "--textarea-focus-bg",
              "description": "Field background when focused (flat variant)"
            },
            {
              "name": "--textarea-focus-border-color",
              "description": "Field border when focused (flat variant)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-textarea></ore-textarea>\n<ore-textarea label=\"Bio\" success></ore-textarea>\n<ore-textarea label=\"Bio\" loading></ore-textarea>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TEXTAREA_TAG",
          "declaration": {
            "name": "TEXTAREA_TAG",
            "module": "src/inputs/textarea/textarea.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTextareaElement",
          "declaration": {
            "name": "OreTextareaElement",
            "module": "src/inputs/textarea/textarea.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/box/box.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "BOX_TAG",
          "type": {
            "text": "'ore-box'"
          },
          "default": "'ore-box'",
          "description": "ore-box — A foundational layout primitive with theming support."
        },
        {
          "kind": "class",
          "name": "OreBoxElement",
          "tagName": "ore-box",
          "customElement": true,
          "description": "ore-box — A foundational layout primitive with theming support.",
          "summary": "",
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'glass' | 'frost'"
              },
              "description": "Style variant: 'solid' | 'flat' | 'glass' | 'frost'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Color theme: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "padding",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl'"
              },
              "description": "Padding size: 'none' | 'sm' | 'md' | 'lg' | 'xl'"
            },
            {
              "name": "elevation",
              "type": {
                "text": "'0' | '1' | '2' | '3' | '4' | '5'"
              },
              "description": "Shadow elevation: '0' | '1' | '2' | '3' | '4' | '5'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "effect",
              "type": {
                "text": "string"
              },
              "description": "Animated border effect: 'rainbow'"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Expand to full width"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Default slot for content"
            }
          ],
          "cssParts": [
            {
              "name": "box",
              "description": "The inner box element"
            }
          ],
          "cssProperties": [
            {
              "name": "--box-bg",
              "description": "Background color"
            },
            {
              "name": "--box-color",
              "description": "Text color"
            },
            {
              "name": "--box-border",
              "description": "Border width"
            },
            {
              "name": "--box-border-color",
              "description": "Border color"
            },
            {
              "name": "--box-radius",
              "description": "Border radius"
            },
            {
              "name": "--box-padding",
              "description": "Inner padding"
            },
            {
              "name": "--box-shadow",
              "description": "Box shadow"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-box padding=\"lg\" elevation=\"2\">Simple content</ore-box>\n<ore-box variant=\"glass\" color=\"primary\">Glass effect</ore-box>\n<ore-box variant=\"frost\" effect=\"rainbow\">Frosted glass</ore-box>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BOX_TAG",
          "declaration": {
            "name": "BOX_TAG",
            "module": "src/layout/box/box.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreBoxElement",
          "declaration": {
            "name": "OreBoxElement",
            "module": "src/layout/box/box.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/time-picker/time-picker.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TIME_PICKER_TAG",
          "type": {
            "text": "'ore-time-picker'"
          },
          "default": "'ore-time-picker'",
          "description": "An accessible time picker with a scrollable clock dropdown.\nSupports 12/24-hour display formats, min/max bounds, minute steps, and form association."
        },
        {
          "kind": "class",
          "name": "OreTimePickerElement",
          "tagName": "ore-time-picker",
          "customElement": true,
          "description": "An accessible time picker with a scrollable clock dropdown.\nSupports 12/24-hour display formats, min/max bounds, minute steps, and form association.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Selected time in HH:MM (24-hour) format"
            },
            {
              "name": "min",
              "type": {
                "text": "string"
              },
              "description": "Minimum selectable time (HH:MM)"
            },
            {
              "name": "max",
              "type": {
                "text": "string"
              },
              "description": "Maximum selectable time (HH:MM)"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Label text"
            },
            {
              "name": "label-placement",
              "type": {
                "text": "'inset' | 'outside'"
              },
              "description": "'inset' | 'outside'"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Trigger placeholder"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the picker"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Required field"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "description": "Show an inline success check icon (suppressed while `error` is set)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Component size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
              },
              "description": "Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "time-format",
              "type": {
                "text": "string"
              },
              "description": "'12' or '24' (default: '24')",
              "default": "'24'"
            },
            {
              "name": "minute-step",
              "type": {
                "text": "number"
              },
              "description": "Minute increment (default: 5)",
              "default": "5"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Fired when a time is selected.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Fired when a time is selected.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "label",
              "description": "Custom label for the trigger field"
            },
            {
              "name": "prefix",
              "description": "Content before the trigger text (e.g. icon)"
            },
            {
              "name": "helper",
              "description": "Custom helper text"
            },
            {
              "name": "error",
              "description": "Custom error content"
            }
          ],
          "cssParts": [
            {
              "name": "field",
              "description": "The trigger field"
            },
            {
              "name": "dropdown",
              "description": "The floating time dropdown"
            },
            {
              "name": "column",
              "description": "A scrollable column (hours / minutes / period)"
            },
            {
              "name": "option",
              "description": "An individual time option cell"
            }
          ],
          "cssProperties": [
            {
              "name": "--time-picker-bg",
              "description": "Dropdown background"
            },
            {
              "name": "--time-picker-border-color",
              "description": "Dropdown border color"
            },
            {
              "name": "--time-picker-radius",
              "description": "Dropdown border radius"
            },
            {
              "name": "--time-picker-shadow",
              "description": "Dropdown shadow"
            },
            {
              "name": "--time-picker-selected-bg",
              "description": "Selected option background"
            },
            {
              "name": "--time-picker-option-hover-bg",
              "description": "Option hover background"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- 24-hour clock, 15-minute steps -->\n<ore-time-picker label=\"Meeting time\" value=\"09:30\" minute-step=\"15\" color=\"primary\"></ore-time-picker>\n<!-- 12-hour AM/PM format -->\n<ore-time-picker label=\"Appointment\" time-format=\"12\" minute-step=\"30\"></ore-time-picker>\n<!-- Outside label, bordered variant -->\n<ore-time-picker label=\"Start time\" label-placement=\"outside\" variant=\"bordered\"></ore-time-picker>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TIME_PICKER_TAG",
          "declaration": {
            "name": "TIME_PICKER_TAG",
            "module": "src/inputs/time-picker/time-picker.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTimePickerElement",
          "declaration": {
            "name": "OreTimePickerElement",
            "module": "src/inputs/time-picker/time-picker.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/inputs/switch/switch.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SWITCH_TAG",
          "type": {
            "text": "'ore-switch'"
          },
          "default": "'ore-switch'",
          "description": "A toggle switch component for binary on/off states."
        },
        {
          "kind": "class",
          "name": "OreSwitchElement",
          "tagName": "ore-switch",
          "customElement": true,
          "description": "A toggle switch component for binary on/off states.",
          "summary": "",
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Checked/on state"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable switch interaction"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Field value"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Form field name"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Switch size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "error",
              "type": {
                "text": "string"
              },
              "description": "Error message (marks field as invalid)"
            },
            {
              "name": "helper",
              "type": {
                "text": "string"
              },
              "description": "Helper text displayed below the switch"
            }
          ],
          "events": [
            {
              "name": "input",
              "description": "Emitted when switch is toggled.",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "change",
              "description": "Emitted when switch is toggled.",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Switch label text"
            }
          ],
          "cssParts": [
            {
              "name": "switch",
              "description": "The switch wrapper element"
            },
            {
              "name": "track",
              "description": "The switch track element"
            },
            {
              "name": "thumb",
              "description": "The switch thumb element"
            },
            {
              "name": "label",
              "description": "The label element"
            },
            {
              "name": "helper-text",
              "description": "The helper/error text element"
            }
          ],
          "cssProperties": [
            {
              "name": "--switch-width",
              "description": "Track width"
            },
            {
              "name": "--switch-height",
              "description": "Track height"
            },
            {
              "name": "--switch-track-bg",
              "description": "Inactive track background color"
            },
            {
              "name": "--switch-checked-bg",
              "description": "Active/checked track background color"
            },
            {
              "name": "--switch-thumb-bg",
              "description": "Thumb background color"
            },
            {
              "name": "--switch-font-size",
              "description": "Label font size"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-switch name=\"notifications\" checked color=\"primary\">Enable notifications</ore-switch>\n<ore-switch name=\"darkMode\" size=\"sm\">Dark mode</ore-switch>\n<ore-switch disabled helper=\"Contact admin to change\">Admin only</ore-switch>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SWITCH_TAG",
          "declaration": {
            "name": "SWITCH_TAG",
            "module": "src/inputs/switch/switch.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSwitchElement",
          "declaration": {
            "name": "OreSwitchElement",
            "module": "src/inputs/switch/switch.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/grid/grid.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "GRID_TAG",
          "type": {
            "text": "'ore-grid'"
          },
          "default": "'ore-grid'",
          "description": "ore-grid — Flexible grid layout with responsive column control.\n\nColumns are computed in JS and applied as `--_cols` inline, so they respond\nto the element's own width via ResizeObserver. CSS custom properties\n`--grid-cols`, `--grid-rows`, `--grid-gap`, `--grid-row-gap`, `--grid-col-gap`\nare honoured as fallbacks when no attribute is set."
        },
        {
          "kind": "class",
          "name": "OreGridElement",
          "tagName": "ore-grid",
          "customElement": true,
          "description": "ore-grid — Flexible grid layout with responsive column control.\nColumns are computed in JS and applied as `--_cols` inline, so they respond\nto the element's own width via ResizeObserver. CSS custom properties\n`--grid-cols`, `--grid-rows`, `--grid-gap`, `--grid-row-gap`, `--grid-col-gap`\nare honoured as fallbacks when no attribute is set.",
          "summary": "",
          "attributes": [
            {
              "name": "cols",
              "type": {
                "text": "'12' | 'auto'"
              },
              "description": "Column count: '1'–'12' | 'auto'"
            },
            {
              "name": "cols-sm",
              "type": {
                "text": "string"
              },
              "description": "Columns when width ≥ 640px"
            },
            {
              "name": "cols-md",
              "type": {
                "text": "string"
              },
              "description": "Columns when width ≥ 768px"
            },
            {
              "name": "cols-lg",
              "type": {
                "text": "string"
              },
              "description": "Columns when width ≥ 1024px"
            },
            {
              "name": "cols-xl",
              "type": {
                "text": "string"
              },
              "description": "Columns when width ≥ 1280px"
            },
            {
              "name": "cols-2xl",
              "type": {
                "text": "string"
              },
              "description": "Columns when width ≥ 1536px"
            },
            {
              "name": "rows",
              "type": {
                "text": "'12' | 'auto'"
              },
              "description": "Row count: '1'–'12' | 'auto'"
            },
            {
              "name": "gap",
              "type": {
                "text": "'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
              },
              "description": "Gap token: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
            },
            {
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
              },
              "description": "align-items: 'start' | 'center' | 'end' | 'stretch' | 'baseline'"
            },
            {
              "name": "justify",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch'"
              },
              "description": "justify-items: 'start' | 'center' | 'end' | 'stretch'"
            },
            {
              "name": "flow",
              "type": {
                "text": "'row' | 'column' | 'row-dense' | 'column-dense'"
              },
              "description": "grid-auto-flow: 'row' | 'column' | 'row-dense' | 'column-dense'"
            },
            {
              "name": "responsive",
              "type": {
                "text": "boolean"
              },
              "description": "Enables auto-fit columns without a fixed count"
            },
            {
              "name": "min-col-width",
              "type": {
                "text": "string"
              },
              "description": "Min column width for responsive mode (default: 250px)",
              "default": "250px"
            },
            {
              "name": "fullwidth",
              "type": {
                "text": "boolean"
              },
              "description": "Stretch the grid to fill its container's full width"
            },
            {
              "name": "areas",
              "type": {
                "text": "string"
              },
              "description": "CSS grid-template-areas value (e.g. \"'header header' 'nav main'\")"
            },
            {
              "name": "areas-sm",
              "type": {
                "text": "string"
              },
              "description": "grid-template-areas when width ≥ 640px"
            },
            {
              "name": "areas-md",
              "type": {
                "text": "string"
              },
              "description": "grid-template-areas when width ≥ 768px"
            },
            {
              "name": "areas-lg",
              "type": {
                "text": "string"
              },
              "description": "grid-template-areas when width ≥ 1024px"
            },
            {
              "name": "areas-xl",
              "type": {
                "text": "string"
              },
              "description": "grid-template-areas when width ≥ 1280px"
            },
            {
              "name": "areas-2xl",
              "type": {
                "text": "string"
              },
              "description": "grid-template-areas when width ≥ 1536px"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Grid items"
            }
          ],
          "cssProperties": [
            {
              "name": "--grid-cols",
              "description": "Fallback column template (used when no cols attr is set)"
            },
            {
              "name": "--grid-rows",
              "description": "Fallback row template"
            },
            {
              "name": "--grid-gap",
              "description": "Fallback gap"
            },
            {
              "name": "--grid-row-gap",
              "description": "Fallback row gap"
            },
            {
              "name": "--grid-col-gap",
              "description": "Fallback column gap"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "<ore-grid cols=\"1\" cols-sm=\"2\" cols-lg=\"4\" gap=\"md\">\n  <div>Item</div>\n</ore-grid>"
            },
            {
              "url": "",
              "description": "<!-- Responsive auto-fit -->\n<ore-grid responsive min-col-width=\"200px\" gap=\"sm\">\n  <div>Card</div>\n</ore-grid>"
            },
            {
              "url": "",
              "description": "<!-- Named grid areas -->\n<ore-grid cols=\"2\" rows=\"2\" areas=\"'header header' 'nav main'\">\n  <header style=\"grid-area: header\">Header</header>\n  <nav style=\"grid-area: nav\">Nav</nav>\n  <main style=\"grid-area: main\">Main</main>\n</ore-grid>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "GRID_TAG",
          "declaration": {
            "name": "GRID_TAG",
            "module": "src/layout/grid/grid.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreGridElement",
          "declaration": {
            "name": "OreGridElement",
            "module": "src/layout/grid/grid.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/grid-item/grid-item.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "GRID_ITEM_TAG",
          "type": {
            "text": "'ore-grid-item'"
          },
          "default": "'ore-grid-item'",
          "description": "ore-grid-item — A grid cell with declarative placement and span control.\n\nUse `col-span` / `row-span` for the common case of spanning columns/rows.\nUse `col` / `row` for full CSS grid-column / grid-row shorthand power\n(e.g. explicit placement, mixed span + start, negative lines)."
        },
        {
          "kind": "class",
          "name": "OreGridItemElement",
          "tagName": "ore-grid-item",
          "customElement": true,
          "description": "ore-grid-item — A grid cell with declarative placement and span control.\nUse `col-span` / `row-span` for the common case of spanning columns/rows.\nUse `col` / `row` for full CSS grid-column / grid-row shorthand power\n(e.g. explicit placement, mixed span + start, negative lines).",
          "summary": "",
          "attributes": [
            {
              "name": "area",
              "type": {
                "text": "string"
              },
              "description": "CSS grid-area value for named-area placement"
            },
            {
              "name": "col-span",
              "type": {
                "text": "'12' | 'full'"
              },
              "description": "Columns to span: '1'–'12' | 'full'"
            },
            {
              "name": "row-span",
              "type": {
                "text": "'6' | 'full'"
              },
              "description": "Rows to span: '1'–'6' | 'full'"
            },
            {
              "name": "col",
              "type": {
                "text": "string"
              },
              "description": "CSS grid-column value (overrides col-span)"
            },
            {
              "name": "row",
              "type": {
                "text": "string"
              },
              "description": "CSS grid-row value (overrides row-span)"
            },
            {
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch'"
              },
              "description": "align-self: 'start' | 'center' | 'end' | 'stretch'"
            },
            {
              "name": "justify",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch'"
              },
              "description": "justify-self: 'start' | 'center' | 'end' | 'stretch'"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Grid item content"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "<!-- Span 2 columns -->\n<ore-grid-item col-span=\"2\">Wide</ore-grid-item>"
            },
            {
              "url": "",
              "description": "<!-- Full-width row -->\n<ore-grid-item col-span=\"full\">Banner</ore-grid-item>"
            },
            {
              "url": "",
              "description": "<!-- Named area placement -->\n<ore-grid-item area=\"sidebar\">Nav</ore-grid-item>"
            },
            {
              "url": "",
              "description": "<!-- Explicit placement -->\n<ore-grid-item col=\"2 / 5\" row=\"1 / 3\">Placed</ore-grid-item>"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "GRID_ITEM_TAG",
          "declaration": {
            "name": "GRID_ITEM_TAG",
            "module": "src/layout/grid-item/grid-item.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreGridItemElement",
          "declaration": {
            "name": "OreGridItemElement",
            "module": "src/layout/grid-item/grid-item.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/navbar/navbar.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "NAVBAR_CTX",
          "description": "Injection key for navbar context."
        },
        {
          "kind": "variable",
          "name": "NAVBAR_TAG",
          "type": {
            "text": "'ore-navbar'"
          },
          "default": "'ore-navbar'",
          "description": "`ore-navbar` — Responsive navigation with sticky/floating modes and a mobile overflow panel."
        },
        {
          "kind": "class",
          "name": "OreNavbarElement",
          "tagName": "ore-navbar",
          "customElement": true,
          "description": "`ore-navbar` — Responsive navigation with sticky/floating modes and a mobile overflow panel.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible nav landmark label"
            },
            {
              "name": "sticky",
              "type": {
                "text": "boolean"
              },
              "description": "Makes navbar sticky at top"
            },
            {
              "name": "floating",
              "type": {
                "text": "boolean"
              },
              "description": "Makes navbar detached and floating"
            },
            {
              "name": "scroll-threshold",
              "type": {
                "text": "number"
              },
              "description": "Scroll threshold for floating+sticky transition"
            },
            {
              "name": "breakpoint",
              "type": {
                "text": "string"
              },
              "description": "CSS media query used for mobile mode"
            },
            {
              "name": "container-breakpoints",
              "type": {
                "text": "boolean"
              },
              "description": "Evaluates parseable max-width breakpoints against container width"
            },
            {
              "name": "variant",
              "type": {
                "text": "'flat' | 'solid' | 'bordered' | 'outline' | 'frost' | 'glass'"
              },
              "description": "Visual variant: 'flat' | 'solid' | 'bordered' | 'outline' | 'frost' | 'glass'"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
              },
              "description": "Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "elevation",
              "type": {
                "text": "'0' | '1' | '2' | '3' | '4' | '5'"
              },
              "description": "Shadow elevation: '0' | '1' | '2' | '3' | '4' | '5'"
            }
          ],
          "events": [
            {
              "name": "mobile-menu-change",
              "description": "Emitted when mobile menu open state changes. detail: { open: boolean }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "logo",
              "description": "Brand/logo content rendered at the leading edge"
            },
            {
              "name": "start",
              "description": "Content rendered in the left/start region"
            },
            {
              "name": "",
              "description": "Center navigation content rendered between the start and end regions"
            },
            {
              "name": "end",
              "description": "Content rendered in the right/end region"
            },
            {
              "name": "mobile-menu",
              "description": "Controls and links rendered inside the mobile overflow panel"
            }
          ],
          "cssParts": [
            {
              "name": "nav",
              "description": "Outer navigation landmark"
            },
            {
              "name": "bar",
              "description": "Main navbar row container"
            },
            {
              "name": "logo",
              "description": "Logo slot container"
            },
            {
              "name": "start",
              "description": "Leading action/content region"
            },
            {
              "name": "center",
              "description": "Center content region"
            },
            {
              "name": "end",
              "description": "Trailing action/content region"
            },
            {
              "name": "mobile-toggle",
              "description": "Mobile menu toggle button"
            },
            {
              "name": "mobile-menu",
              "description": "Mobile overflow panel"
            },
            {
              "name": "item-icon",
              "description": "Leading icon inside navbar items"
            },
            {
              "name": "item-label",
              "description": "Label text inside navbar items"
            },
            {
              "name": "item-end",
              "description": "Trailing content inside navbar items"
            },
            {
              "name": "item",
              "description": "Clickable navbar item root"
            }
          ],
          "cssProperties": [
            {
              "name": "--navbar-height",
              "description": "Navbar bar height"
            },
            {
              "name": "--navbar-width",
              "description": "Max width of the navbar content"
            },
            {
              "name": "--navbar-offset",
              "description": "Horizontal offset for floating/sticky positioning"
            },
            {
              "name": "--navbar-bg",
              "description": "Navbar background color"
            },
            {
              "name": "--navbar-color",
              "description": "Navbar text color"
            },
            {
              "name": "--navbar-border-color",
              "description": "Navbar border color"
            },
            {
              "name": "--navbar-shadow",
              "description": "Navbar box shadow"
            },
            {
              "name": "--navbar-radius",
              "description": "Border radius (floating/sticky modes)"
            },
            {
              "name": "--navbar-backdrop-filter",
              "description": "Backdrop filter for blur effect"
            },
            {
              "name": "--navbar-item-color",
              "description": "Nav item text color"
            },
            {
              "name": "--navbar-item-hover-color",
              "description": "Nav item hover text color"
            },
            {
              "name": "--navbar-item-hover-bg",
              "description": "Nav item hover background"
            },
            {
              "name": "--navbar-item-active-color",
              "description": "Nav item active/current text color"
            },
            {
              "name": "--navbar-item-active-bg",
              "description": "Nav item active/current background"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-navbar sticky elevation=\"1\">\n  <a href=\"/\" slot=\"logo\"><strong>MyApp</strong></a>\n  <ore-navbar-item href=\"/dashboard\">Dashboard</ore-navbar-item>\n  <ore-navbar-item href=\"/docs\">Docs</ore-navbar-item>\n  <ore-button slot=\"end\" variant=\"solid\" color=\"primary\" size=\"sm\">Sign in</ore-button>\n</ore-navbar>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "NAVBAR_ITEM_TAG",
          "type": {
            "text": "'ore-navbar-item'"
          },
          "default": "'ore-navbar-item'",
          "description": "`ore-navbar-item` — Navigation item for navbar slots.\n\nRenders as an anchor when `href` is provided and item is not disabled."
        },
        {
          "kind": "class",
          "name": "OreNavbarItemElement",
          "tagName": "ore-navbar-item",
          "customElement": true,
          "description": "`ore-navbar-item` — Navigation item for navbar slots.\nRenders as an anchor when `href` is provided and item is not disabled.",
          "summary": "",
          "attributes": [
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "description": "Marks item as the current active route"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables interaction"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "Link URL; renders as `<a>` when set"
            },
            {
              "name": "icon-only",
              "type": {
                "text": "boolean"
              },
              "description": "Compact, symmetric padding for items with no visible label"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "description": "Anchor `rel` attribute (links only)"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Anchor `target` attribute (links only)"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Item label"
            },
            {
              "name": "icon",
              "description": "Optional icon before the label"
            }
          ],
          "cssParts": [
            {
              "name": "item",
              "description": "Root clickable element (anchor or button)."
            },
            {
              "name": "item-icon",
              "description": "Leading icon container."
            },
            {
              "name": "item-label",
              "description": "Label text container."
            },
            {
              "name": "item-end",
              "description": "Trailing content container."
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-navbar-item href=\"/home\">Home</ore-navbar-item>\n<ore-navbar-item href=\"/docs\" active>Docs</ore-navbar-item>\n<ore-navbar-item href=\"/about\" target=\"_blank\" rel=\"noopener\">About</ore-navbar-item>\n<ore-navbar-item disabled>Disabled</ore-navbar-item>\n<ore-navbar-item icon-only aria-label=\"Search\"><ore-icon slot=\"icon\" name=\"search\"></ore-icon></ore-navbar-item>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NAVBAR_CTX",
          "declaration": {
            "name": "NAVBAR_CTX",
            "module": "src/layout/navbar/navbar.ts"
          }
        },
        {
          "kind": "js",
          "name": "NAVBAR_TAG",
          "declaration": {
            "name": "NAVBAR_TAG",
            "module": "src/layout/navbar/navbar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNavbarElement",
          "declaration": {
            "name": "OreNavbarElement",
            "module": "src/layout/navbar/navbar.ts"
          }
        },
        {
          "kind": "js",
          "name": "NAVBAR_ITEM_TAG",
          "declaration": {
            "name": "NAVBAR_ITEM_TAG",
            "module": "src/layout/navbar/navbar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNavbarItemElement",
          "declaration": {
            "name": "OreNavbarItemElement",
            "module": "src/layout/navbar/navbar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/sidebar/sidebar.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "SIDEBAR_CTX",
          "description": "Injection key for the sidebar context."
        },
        {
          "kind": "variable",
          "name": "SIDEBAR_TAG",
          "type": {
            "text": "'ore-sidebar'"
          },
          "default": "'ore-sidebar'",
          "description": "`ore-sidebar` — A collapsible navigation sidebar with group and item support."
        },
        {
          "kind": "class",
          "name": "OreSidebarElement",
          "tagName": "ore-sidebar",
          "customElement": true,
          "description": "`ore-sidebar` — A collapsible navigation sidebar with group and item support.",
          "summary": "",
          "attributes": [
            {
              "name": "collapsed",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled collapsed state"
            },
            {
              "name": "default-collapsed",
              "type": {
                "text": "boolean"
              },
              "description": "Initial collapsed state for uncontrolled sidebars"
            },
            {
              "name": "collapsible",
              "type": {
                "text": "boolean"
              },
              "description": "Show the collapse toggle button"
            },
            {
              "name": "variant",
              "type": {
                "text": "'floating' | 'inset'"
              },
              "description": "Visual variant: 'floating' | 'inset'"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible aria-label for the nav landmark"
            }
          ],
          "events": [
            {
              "name": "collapsed-change",
              "description": "Fired when collapsed state changes. detail: { collapsed: boolean; source: string }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "mobile-open-change",
              "description": "Fired when mobile overlay open state changes. detail: { open: boolean; source: string }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "header",
              "description": "Branding or logo content above the nav"
            },
            {
              "name": "",
              "description": "Navigation content (ore-sidebar-group / ore-sidebar-item)"
            },
            {
              "name": "footer",
              "description": "Footer content below the nav (user info, settings, etc.)"
            }
          ],
          "cssParts": [
            {
              "name": "mobile-backdrop",
              "description": "Backdrop shown for mobile overlays."
            },
            {
              "name": "nav",
              "description": "Navigation container."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "toggle-btn",
              "description": "Shadow part for the `toggle-btn` element."
            },
            {
              "name": "content",
              "description": "Content container."
            },
            {
              "name": "footer",
              "description": "Footer container."
            },
            {
              "name": "bottom-bar",
              "description": "Bottom bar container."
            },
            {
              "name": "group",
              "description": "Group container."
            },
            {
              "name": "group-header",
              "description": "Group header container."
            },
            {
              "name": "group-icon",
              "description": "Group icon container."
            },
            {
              "name": "group-label",
              "description": "Group label container."
            },
            {
              "name": "group-items",
              "description": "Group items container."
            },
            {
              "name": "item-icon",
              "description": "Leading item icon container."
            },
            {
              "name": "item-label",
              "description": "Item label container."
            },
            {
              "name": "item-end",
              "description": "Trailing item content container."
            },
            {
              "name": "item",
              "description": "Item root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--sidebar-width",
              "description": "Expanded sidebar width (default: 16rem)"
            },
            {
              "name": "--sidebar-collapsed-width",
              "description": "Collapsed sidebar width (default: 3.5rem)"
            },
            {
              "name": "--sidebar-bg",
              "description": "Sidebar background color"
            },
            {
              "name": "--sidebar-border-color",
              "description": "Border color"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-sidebar collapsible label=\"App navigation\">\n  <span slot=\"header\">My App</span>\n  <ore-sidebar-group label=\"Main\">\n    <ore-sidebar-item href=\"/dashboard\" active>Dashboard</ore-sidebar-item>\n    <ore-sidebar-item href=\"/settings\">Settings</ore-sidebar-item>\n  </ore-sidebar-group>\n</ore-sidebar>\n<!-- Auto-collapse on mobile -->\n<ore-sidebar collapsible responsive=\"(max-width: 768px)\">...</ore-sidebar>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "SIDEBAR_GROUP_TAG",
          "type": {
            "text": "'ore-sidebar-group'"
          },
          "default": "'ore-sidebar-group'",
          "description": "`ore-sidebar-group` — A labelled section within `ore-sidebar`."
        },
        {
          "kind": "class",
          "name": "OreSidebarGroupElement",
          "tagName": "ore-sidebar-group",
          "customElement": true,
          "description": "`ore-sidebar-group` — A labelled section within `ore-sidebar`.",
          "summary": "",
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Group label text"
            },
            {
              "name": "collapsible",
              "type": {
                "text": "boolean"
              },
              "description": "Whether this group can be toggled open/closed"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled expanded state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial expanded state in uncontrolled mode"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Fired when the group open state changes (collapsible groups only). detail: { open: boolean }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Navigation items (`ore-sidebar-item`)"
            },
            {
              "name": "icon",
              "description": "Icon displayed before the label"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-sidebar-group label=\"Main\" collapsible open>\n  <ore-sidebar-item href=\"/home\">Home</ore-sidebar-item>\n</ore-sidebar-group>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "SIDEBAR_ITEM_TAG",
          "type": {
            "text": "'ore-sidebar-item'"
          },
          "default": "'ore-sidebar-item'",
          "description": "`ore-sidebar-item` — An individual navigation item in a `ore-sidebar`.\n\nRenders as an `<a>` when `href` is provided, otherwise as a `<button>`.\nMarks the active page via `aria-current=\"page\"` when the `active` attribute is set."
        },
        {
          "kind": "class",
          "name": "OreSidebarItemElement",
          "tagName": "ore-sidebar-item",
          "customElement": true,
          "description": "`ore-sidebar-item` — An individual navigation item in a `ore-sidebar`.\nRenders as an `<a>` when `href` is provided, otherwise as a `<button>`.\nMarks the active page via `aria-current=\"page\"` when the `active` attribute is set.",
          "summary": "",
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "Link URL; renders an anchor when set"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "description": "Marks the item as the current page"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables the item"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "description": "Anchor `rel` attribute (links only)"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Anchor `target` attribute (links only)"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Label text"
            },
            {
              "name": "icon",
              "description": "Leading icon"
            },
            {
              "name": "end",
              "description": "Trailing content (badge, shortcut, arrow, etc.)"
            }
          ],
          "cssParts": [
            {
              "name": "item",
              "description": "The inner anchor or button element"
            },
            {
              "name": "item-icon",
              "description": "The icon wrapper"
            },
            {
              "name": "item-label",
              "description": "The label wrapper"
            },
            {
              "name": "item-end",
              "description": "The trailing content wrapper"
            }
          ],
          "cssProperties": [
            {
              "name": "--sidebar-item-color",
              "description": "Default text color"
            },
            {
              "name": "--sidebar-item-hover-bg",
              "description": "Hover background"
            },
            {
              "name": "--sidebar-item-hover-color",
              "description": "Hover text color"
            },
            {
              "name": "--sidebar-item-active-bg",
              "description": "Active background"
            },
            {
              "name": "--sidebar-item-active-color",
              "description": "Active text color"
            },
            {
              "name": "--sidebar-item-indicator",
              "description": "Active indicator bar color"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-sidebar-item href=\"/dashboard\" active>\n  <span slot=\"icon\">🏠</span>\n  Dashboard\n</ore-sidebar-item>\n<ore-sidebar-item href=\"/users\">\n  <span slot=\"icon\">👤</span>\n  Users\n  <ore-badge slot=\"end\" color=\"primary\">3</ore-badge>\n</ore-sidebar-item>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SIDEBAR_CTX",
          "declaration": {
            "name": "SIDEBAR_CTX",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "js",
          "name": "SIDEBAR_TAG",
          "declaration": {
            "name": "SIDEBAR_TAG",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSidebarElement",
          "declaration": {
            "name": "OreSidebarElement",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "js",
          "name": "SIDEBAR_GROUP_TAG",
          "declaration": {
            "name": "SIDEBAR_GROUP_TAG",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSidebarGroupElement",
          "declaration": {
            "name": "OreSidebarGroupElement",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "js",
          "name": "SIDEBAR_ITEM_TAG",
          "declaration": {
            "name": "SIDEBAR_ITEM_TAG",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreSidebarItemElement",
          "declaration": {
            "name": "OreSidebarItemElement",
            "module": "src/layout/sidebar/sidebar.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/command-palette/command-palette-items.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "parseSlottedItems",
          "return": {
            "type": {
              "text": "CommandPaletteItem[]"
            }
          },
          "parameters": [
            {
              "name": "elements",
              "type": {
                "text": "Element[]"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "splitShortcutKeys",
          "return": {
            "type": {
              "text": "string[]"
            }
          },
          "parameters": [
            {
              "name": "shortcut",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Splits a display-only shortcut hint into individual keys so each can be rendered in its\nown `<kbd>`. Keys are separated with `+` (e.g. `\"⌘+N\"` → `[\"⌘\", \"N\"]`); a shortcut with no\n`+` renders as a single key, unchanged. A literal `+` key can't be represented this way —\nspell it out instead (e.g. `\"Ctrl+Plus\"`)."
        },
        {
          "kind": "function",
          "name": "normalizeItem",
          "return": {
            "type": {
              "text": "CommandPaletteItem"
            }
          },
          "parameters": [
            {
              "name": "input",
              "type": {
                "text": "CommandPaletteItemInput"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "filterItems",
          "return": {
            "type": {
              "text": "CommandPaletteItem[]"
            }
          },
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "CommandPaletteItem[]"
              }
            },
            {
              "name": "query",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "noFilter",
              "type": {
                "text": "boolean"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "buildRows",
          "return": {
            "type": {
              "text": "CommandPaletteRow[]"
            }
          },
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "CommandPaletteItem[]"
              }
            }
          ],
          "description": "Groups items by `group` (first-seen order) and flattens into index-addressable rows."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseSlottedItems",
          "declaration": {
            "name": "parseSlottedItems",
            "module": "src/overlay/command-palette/command-palette-items.ts"
          }
        },
        {
          "kind": "js",
          "name": "splitShortcutKeys",
          "declaration": {
            "name": "splitShortcutKeys",
            "module": "src/overlay/command-palette/command-palette-items.ts"
          }
        },
        {
          "kind": "js",
          "name": "normalizeItem",
          "declaration": {
            "name": "normalizeItem",
            "module": "src/overlay/command-palette/command-palette-items.ts"
          }
        },
        {
          "kind": "js",
          "name": "filterItems",
          "declaration": {
            "name": "filterItems",
            "module": "src/overlay/command-palette/command-palette-items.ts"
          }
        },
        {
          "kind": "js",
          "name": "buildRows",
          "declaration": {
            "name": "buildRows",
            "module": "src/overlay/command-palette/command-palette-items.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/command-palette/command-palette.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "COMMAND_PALETTE_ITEM_TAG",
          "type": {
            "text": "'ore-command-palette-item'"
          },
          "default": "'ore-command-palette-item'",
          "description": "A pure data node describing one command. Never rendered directly — `ore-command-palette`\nreads its attributes/text content and renders the visible row itself."
        },
        {
          "kind": "class",
          "name": "OreCommandPaletteItemElement",
          "tagName": "ore-command-palette-item",
          "customElement": true,
          "description": "A pure data node describing one command. Never rendered directly — `ore-command-palette`\nreads its attributes/text content and renders the visible row itself.",
          "summary": "",
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Value emitted by the `select` event and matched against the search query"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Explicit label text; falls back to the element's text content"
            },
            {
              "name": "group",
              "type": {
                "text": "string"
              },
              "description": "Group heading the item is clustered under"
            },
            {
              "name": "shortcut",
              "type": {
                "text": "string"
              },
              "description": "Display-only keyboard hint rendered at the end of the row, one `<kbd>` per `+`-separated key (e.g. `\"⌘+S\"` renders two keycaps; a literal `+` key isn't representable — spell it out, e.g. `\"Ctrl+Plus\"`)"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Excludes the item from keyboard navigation and selection"
            }
          ],
          "slots": [
            {
              "name": "icon",
              "description": "Optional leading icon content"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-command-palette-item value=\"new-file\" group=\"File\" shortcut=\"⌘+N\">New File</ore-command-palette-item>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "COMMAND_PALETTE_TAG",
          "type": {
            "text": "'ore-command-palette'"
          },
          "default": "'ore-command-palette'",
          "description": "A searchable, keyboard-driven list of commands presented in a centered modal —\nthe \"⌘K\" pattern popularized by editors and productivity apps. Built on the\nnative `<dialog>` element (focus trap, top-layer stacking, `Escape`-to-close)\nand `@vielzeug/keymap` for the global shortcut that opens it."
        },
        {
          "kind": "class",
          "name": "OreCommandPaletteElement",
          "tagName": "ore-command-palette",
          "customElement": true,
          "description": "A searchable, keyboard-driven list of commands presented in a centered modal —\nthe \"⌘K\" pattern popularized by editors and productivity apps. Built on the\nnative `<dialog>` element (focus trap, top-layer stacking, `Escape`-to-close)\nand `@vielzeug/keymap` for the global shortcut that opens it.",
          "summary": "",
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controls the open state of the palette"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible label for the dialog (screen-reader-only heading)"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "description": "Placeholder text for the search input"
            },
            {
              "name": "shortcut",
              "type": {
                "text": "string"
              },
              "description": "Global keyboard shortcut (keymap syntax) that toggles the palette. Default `\"mod+k\"`; set to `\"\"` to disable"
            },
            {
              "name": "no-filter",
              "type": {
                "text": "boolean"
              },
              "description": "Disable built-in client-side filtering (for server-driven search)"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "Shows a loading row below the search input"
            },
            {
              "name": "empty-text",
              "type": {
                "text": "string"
              },
              "description": "Message shown when no item matches the query"
            },
            {
              "name": "keep-open-on-select",
              "type": {
                "text": "boolean"
              },
              "description": "Keep the palette open after an item is selected"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Fired when the palette state changes. detail: `{ open, reason }`",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "search",
              "description": "Fired on every keystroke in the search input. detail: `{ query }`",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "select",
              "description": "Fired when a command is chosen (click or `Enter`). detail: `{ value, label, item }`",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "`<ore-command-palette-item>` elements (alternative/supplement to the `items` prop)"
            }
          ],
          "cssParts": [
            {
              "name": "dialog",
              "description": "Dialog root container"
            },
            {
              "name": "panel",
              "description": "Panel container"
            },
            {
              "name": "input",
              "description": "Search input"
            },
            {
              "name": "listbox",
              "description": "Listbox of matching commands"
            }
          ],
          "cssProperties": [
            {
              "name": "--command-palette-bg",
              "description": "Panel background color"
            },
            {
              "name": "--command-palette-border-color",
              "description": "Panel border color"
            },
            {
              "name": "--command-palette-radius",
              "description": "Panel border radius"
            },
            {
              "name": "--command-palette-shadow",
              "description": "Panel drop shadow"
            },
            {
              "name": "--command-palette-max-width",
              "description": "Maximum panel width"
            },
            {
              "name": "--command-palette-backdrop",
              "description": "Backdrop overlay color"
            },
            {
              "name": "--command-palette-option-hover-bg",
              "description": "Item background on hover"
            },
            {
              "name": "--command-palette-option-focus-bg",
              "description": "Item background when keyboard-focused"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-command-palette label=\"Command palette\" placeholder=\"Type a command…\">\n  <ore-command-palette-item value=\"new-file\" group=\"File\" shortcut=\"⌘+N\">New File</ore-command-palette-item>\n  <ore-command-palette-item value=\"open-file\" group=\"File\" shortcut=\"⌘+O\">Open File…</ore-command-palette-item>\n  <ore-command-palette-item value=\"toggle-theme\" group=\"View\">Toggle Theme</ore-command-palette-item>\n</ore-command-palette>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OreCommandPaletteEvents",
          "declaration": {
            "name": "OreCommandPaletteEvents",
            "module": "./command-palette.types"
          }
        },
        {
          "kind": "js",
          "name": "OreCommandPaletteProps",
          "declaration": {
            "name": "OreCommandPaletteProps",
            "module": "./command-palette.types"
          }
        },
        {
          "kind": "js",
          "name": "COMMAND_PALETTE_ITEM_TAG",
          "declaration": {
            "name": "COMMAND_PALETTE_ITEM_TAG",
            "module": "src/overlay/command-palette/command-palette.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCommandPaletteItemElement",
          "declaration": {
            "name": "OreCommandPaletteItemElement",
            "module": "src/overlay/command-palette/command-palette.ts"
          }
        },
        {
          "kind": "js",
          "name": "COMMAND_PALETTE_TAG",
          "declaration": {
            "name": "COMMAND_PALETTE_TAG",
            "module": "src/overlay/command-palette/command-palette.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreCommandPaletteElement",
          "declaration": {
            "name": "OreCommandPaletteElement",
            "module": "src/overlay/command-palette/command-palette.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/command-palette/command-palette.types.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/dialog/dialog.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DIALOG_TAG",
          "type": {
            "text": "'ore-dialog'"
          },
          "default": "'ore-dialog'",
          "description": "A modal dialog that traps focus, blocks page interaction, and dismisses on\n`Escape`. Built on the native `<dialog>` element for correct top-layer stacking\nand browser-managed accessibility."
        },
        {
          "kind": "class",
          "name": "OreDialogElement",
          "tagName": "ore-dialog",
          "customElement": true,
          "description": "A modal dialog that traps focus, blocks page interaction, and dismisses on\n`Escape`. Built on the native `<dialog>` element for correct top-layer stacking\nand browser-managed accessibility.",
          "summary": "",
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled open state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Dialog title (also used as aria-label)"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg' | 'xl' | 'full'"
              },
              "description": "Size: 'sm' | 'md' | 'lg' | 'xl' | 'full'"
            },
            {
              "name": "dismissible",
              "type": {
                "text": "boolean"
              },
              "description": "Show a close (×) button in the header"
            },
            {
              "name": "persistent",
              "type": {
                "text": "boolean"
              },
              "description": "Prevent backdrop-click from closing"
            },
            {
              "name": "rounded",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
              },
              "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
            },
            {
              "name": "backdrop",
              "type": {
                "text": "'blur' | 'transparent'"
              },
              "description": "Backdrop style: 'opaque' (default) | 'blur' | 'transparent'"
            },
            {
              "name": "elevation",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
              },
              "description": "Panel shadow: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
            },
            {
              "name": "padding",
              "type": {
                "text": "'none' | 'sm' | 'md' | 'lg' | 'xl'"
              },
              "description": "Padding: 'none' | 'sm' | 'md' | 'lg' | 'xl'"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Fired when the dialog state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Dialog body content"
            },
            {
              "name": "header",
              "description": "Custom header content (replaces the default title + close layout)"
            },
            {
              "name": "footer",
              "description": "Action buttons or additional content at the bottom"
            }
          ],
          "cssParts": [
            {
              "name": "dialog",
              "description": "Dialog root container."
            },
            {
              "name": "overlay",
              "description": "Overlay backdrop element."
            },
            {
              "name": "panel",
              "description": "Panel container."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "title",
              "description": "Title text element."
            },
            {
              "name": "close",
              "description": "Close action control."
            },
            {
              "name": "body",
              "description": "Body content container."
            },
            {
              "name": "footer",
              "description": "Footer container."
            }
          ],
          "cssProperties": [
            {
              "name": "--dialog-bg",
              "description": "Panel background color"
            },
            {
              "name": "--dialog-border-color",
              "description": "Panel border color"
            },
            {
              "name": "--dialog-radius",
              "description": "Panel border radius"
            },
            {
              "name": "--dialog-shadow",
              "description": "Panel drop shadow"
            },
            {
              "name": "--dialog-padding",
              "description": "Padding for header, body, and footer sections"
            },
            {
              "name": "--dialog-gap",
              "description": "Gap between footer action buttons"
            },
            {
              "name": "--dialog-backdrop",
              "description": "Backdrop overlay color"
            },
            {
              "name": "--dialog-max-width",
              "description": "Maximum panel width (overridden by size prop)"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-dialog label=\"Confirm action\" dismissible>\n  <p>Are you sure you want to delete this item?</p>\n  <div slot=\"footer\">\n    <ore-button variant=\"ghost\" id=\"cancel\">Cancel</ore-button>\n    <ore-button color=\"error\" id=\"confirm\">Delete</ore-button>\n  </div>\n</ore-dialog>\n<script type=\"module\">\n  import '@vielzeug/refine/dialog';\n  const dialog = document.querySelector('ore-dialog');\n  document.querySelector('#open-btn').addEventListener('click', () => {\n    dialog.setAttribute('open', '');\n  });\n  document.querySelector('#cancel').addEventListener('click', () => {\n    dialog.removeAttribute('open');\n  });\n</script>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DIALOG_TAG",
          "declaration": {
            "name": "DIALOG_TAG",
            "module": "src/overlay/dialog/dialog.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreDialogElement",
          "declaration": {
            "name": "OreDialogElement",
            "module": "src/overlay/dialog/dialog.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/menu/menu.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "MENU_ITEM_TAG",
          "type": {
            "text": "'ore-menu-item'"
          },
          "default": "'ore-menu-item'",
          "description": "A selectable action item used inside `<ore-menu>`."
        },
        {
          "kind": "class",
          "name": "OreMenuItemElement",
          "tagName": "ore-menu-item",
          "customElement": true,
          "description": "A selectable action item used inside `<ore-menu>`.",
          "summary": "",
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Checked state for `checkbox` and `radio` item types"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables selection and pointer interaction"
            },
            {
              "name": "type",
              "type": {
                "text": "'checkbox'|'radio'"
              },
              "description": "Optional checkable menu item mode"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Value emitted by parent menu on selection"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Item label/content"
            },
            {
              "name": "icon",
              "description": "Optional leading icon content"
            }
          ],
          "cssParts": [
            {
              "name": "item",
              "description": "Root item container element."
            },
            {
              "name": "item-label",
              "description": "Label text container."
            },
            {
              "name": "icon-slot",
              "description": "Leading icon slot container."
            }
          ],
          "cssProperties": [
            {
              "name": "--menu-item-hover-bg",
              "description": "Background on hover"
            },
            {
              "name": "--menu-item-focus-color",
              "description": "Text color when keyboard-focused"
            },
            {
              "name": "--menu-item-focus-bg",
              "description": "Background when keyboard-focused"
            },
            {
              "name": "--menu-item-selection-bg",
              "description": "Background for checkbox/radio items (unselected)"
            },
            {
              "name": "--menu-item-checked-color",
              "description": "Text color when checked"
            },
            {
              "name": "--menu-item-checked-bg",
              "description": "Background when checked"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-menu-item value=\"edit\">Edit</ore-menu-item>\n<ore-menu-item value=\"delete\" disabled>Delete</ore-menu-item>\n<ore-menu-item type=\"checkbox\" value=\"wrap\" checked>Word wrap</ore-menu-item>\n<ore-menu-item type=\"radio\" value=\"left\">Align left</ore-menu-item>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "SEPARATOR_TAG",
          "type": {
            "text": "'ore-menu-separator'"
          },
          "default": "'ore-menu-separator'",
          "description": "Visual separator used to group menu items inside `<ore-menu>`."
        },
        {
          "kind": "class",
          "name": "OreMenuSeparatorElement",
          "tagName": "ore-menu-separator",
          "customElement": true,
          "description": "Visual separator used to group menu items inside `<ore-menu>`.",
          "summary": "",
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-menu-item value=\"cut\">Cut</ore-menu-item>\n<ore-menu-separator></ore-menu-separator>\n<ore-menu-item value=\"paste\">Paste</ore-menu-item>\n```"
            }
          ]
        },
        {
          "kind": "variable",
          "name": "MENU_TAG",
          "type": {
            "text": "'ore-menu'"
          },
          "default": "'ore-menu'",
          "description": "Action dropdown menu triggered by a slotted trigger element."
        },
        {
          "kind": "class",
          "name": "OreMenuElement",
          "tagName": "ore-menu",
          "customElement": true,
          "description": "Action dropdown menu triggered by a slotted trigger element.",
          "summary": "",
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables opening and keyboard interaction"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled open state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "placement",
              "type": {
                "text": "'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end'"
              },
              "description": "Panel placement: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' (default: 'bottom-start')",
              "default": "'bottom-start'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size: 'sm' | 'md' | 'lg'"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Fired when the menu state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "select",
              "description": "Fired when an item is selected. detail: { value: string, checked?: boolean }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "trigger",
              "description": "Trigger element that toggles menu visibility"
            },
            {
              "name": "",
              "description": "Menu content (`<ore-menu-item>` and `<ore-menu-separator>`)"
            }
          ],
          "cssParts": [
            {
              "name": "panel",
              "description": "Floating menu panel container"
            }
          ],
          "cssProperties": [
            {
              "name": "--menu-panel-bg",
              "description": "Background of the floating panel"
            },
            {
              "name": "--menu-panel-border-color",
              "description": "Border color of the floating panel"
            },
            {
              "name": "--menu-panel-shadow",
              "description": "Box shadow of the floating panel"
            },
            {
              "name": "--menu-panel-blur",
              "description": "Backdrop blur amount for the floating panel"
            },
            {
              "name": "--menu-panel-min-width",
              "description": "Minimum width of the floating panel"
            },
            {
              "name": "--menu-panel-max-height",
              "description": "Maximum height of the floating panel before it scrolls"
            },
            {
              "name": "--menu-panel-radius",
              "description": "Border radius of the floating panel"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-menu>\n  <button slot=\"trigger\">Actions</button>\n  <ore-menu-item value=\"edit\">Edit</ore-menu-item>\n  <ore-menu-item value=\"delete\">Delete</ore-menu-item>\n</ore-menu>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MENU_ITEM_TAG",
          "declaration": {
            "name": "MENU_ITEM_TAG",
            "module": "src/overlay/menu/menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreMenuItemElement",
          "declaration": {
            "name": "OreMenuItemElement",
            "module": "src/overlay/menu/menu.ts"
          }
        },
        {
          "kind": "js",
          "name": "SEPARATOR_TAG",
          "declaration": {
            "name": "SEPARATOR_TAG",
            "module": "src/overlay/menu/menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreMenuSeparatorElement",
          "declaration": {
            "name": "OreMenuSeparatorElement",
            "module": "src/overlay/menu/menu.ts"
          }
        },
        {
          "kind": "js",
          "name": "MENU_TAG",
          "declaration": {
            "name": "MENU_TAG",
            "module": "src/overlay/menu/menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreMenuElement",
          "declaration": {
            "name": "OreMenuElement",
            "module": "src/overlay/menu/menu.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/drawer/drawer.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DRAWER_TAG",
          "type": {
            "text": "'ore-drawer'"
          },
          "default": "'ore-drawer'",
          "description": "A panel that slides in from any edge of the screen, built on the native `<dialog>` element."
        },
        {
          "kind": "class",
          "name": "OreDrawerElement",
          "tagName": "ore-drawer",
          "customElement": true,
          "description": "A panel that slides in from any edge of the screen, built on the native `<dialog>` element.",
          "summary": "",
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled open state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "placement",
              "type": {
                "text": "'left' | 'right'"
              },
              "description": "'left' | 'right' (default) | 'top' | 'bottom'"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'lg' | 'full'"
              },
              "description": "'sm' | 'lg' | 'full'"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "Visible header title text"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Invisible aria-label (for drawers without a visible title)"
            },
            {
              "name": "dismissible",
              "type": {
                "text": "boolean"
              },
              "description": "Show the close (×) button (default: true)",
              "default": "true"
            },
            {
              "name": "drag-handle-placement",
              "type": {
                "text": "string"
              },
              "description": "'outside' (default) | 'inset'"
            },
            {
              "name": "backdrop",
              "type": {
                "text": "'blur' | 'transparent'"
              },
              "description": "Backdrop style: 'opaque' (default) | 'blur' | 'transparent'"
            },
            {
              "name": "persistent",
              "type": {
                "text": "boolean"
              },
              "description": "Prevent backdrop-click from closing (default: false)",
              "default": "false"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "When the drawer state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "header",
              "description": "Drawer header content"
            },
            {
              "name": "",
              "description": "Main body content"
            },
            {
              "name": "footer",
              "description": "Drawer footer content"
            }
          ],
          "cssParts": [
            {
              "name": "drag-handle",
              "description": "Drawer drag handle."
            },
            {
              "name": "panel",
              "description": "Panel container."
            },
            {
              "name": "header",
              "description": "Header container."
            },
            {
              "name": "close-btn",
              "description": "Close button."
            },
            {
              "name": "body",
              "description": "Body content container."
            },
            {
              "name": "footer",
              "description": "Footer container."
            }
          ],
          "cssProperties": [
            {
              "name": "--drawer-backdrop-bg",
              "description": "Backdrop background color"
            },
            {
              "name": "--drawer-bg",
              "description": "Panel background color"
            },
            {
              "name": "--drawer-size",
              "description": "Panel width (horizontal) or height (vertical)"
            },
            {
              "name": "--drawer-shadow",
              "description": "Panel box-shadow"
            },
            {
              "name": "--drawer-panel-blur",
              "description": "Panel backdrop blur amount"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- With visible title -->\n<ore-drawer open title=\"Settings\" placement=\"right\">\n  <p>Settings content here.</p>\n</ore-drawer>\n<!-- With custom header slot -->\n<ore-drawer open placement=\"right\">\n  <span slot=\"header\">Settings</span>\n  <p>Settings content here.</p>\n</ore-drawer>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DRAWER_TAG",
          "declaration": {
            "name": "DRAWER_TAG",
            "module": "src/overlay/drawer/drawer.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreDrawerElement",
          "declaration": {
            "name": "OreDrawerElement",
            "module": "src/overlay/drawer/drawer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/navigation-menu/navigation-menu.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "NAVIGATION_MENU_ITEM_TAG",
          "type": {
            "text": "'ore-navigation-menu-item'"
          },
          "default": "'ore-navigation-menu-item'",
          "description": "A trigger for an associated navigation menu panel."
        },
        {
          "kind": "class",
          "name": "OreNavigationMenuItemElement",
          "tagName": "ore-navigation-menu-item",
          "customElement": true,
          "description": "A trigger for an associated navigation menu panel.",
          "summary": "",
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables panel activation"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Unique value matched by a panel's `for` attribute"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Trigger label and optional icon"
            }
          ],
          "demos": []
        },
        {
          "kind": "variable",
          "name": "NAVIGATION_MENU_PANEL_TAG",
          "type": {
            "text": "'ore-navigation-menu-panel'"
          },
          "default": "'ore-navigation-menu-panel'",
          "description": "An anchored navigation menu panel associated with an item."
        },
        {
          "kind": "class",
          "name": "OreNavigationMenuPanelElement",
          "tagName": "ore-navigation-menu-panel",
          "customElement": true,
          "description": "An anchored navigation menu panel associated with an item.",
          "summary": "",
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "description": "Value of the associated navigation menu item"
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Panel content"
            },
            {
              "name": "footer",
              "description": "Optional panel footer"
            }
          ],
          "cssParts": [
            {
              "name": "content",
              "description": "Grid container for panel content"
            },
            {
              "name": "footer",
              "description": "Container for optional footer content"
            }
          ],
          "demos": []
        },
        {
          "kind": "variable",
          "name": "NAVIGATION_MENU_TAG",
          "type": {
            "text": "'ore-navigation-menu'"
          },
          "default": "'ore-navigation-menu'",
          "description": "A horizontal set of triggers with anchored, non-modal navigation panels."
        },
        {
          "kind": "class",
          "name": "OreNavigationMenuElement",
          "tagName": "ore-navigation-menu",
          "customElement": true,
          "description": "A horizontal set of triggers with anchored, non-modal navigation panels.",
          "summary": "",
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "string"
              },
              "description": "Controlled active trigger value"
            },
            {
              "name": "default-open",
              "type": {
                "text": "string"
              },
              "description": "Initial uncontrolled active trigger value"
            },
            {
              "name": "close-on-select",
              "type": {
                "text": "boolean"
              },
              "description": "Closes after activating a panel link"
            },
            {
              "name": "columns",
              "type": {
                "text": "number"
              },
              "description": "Number of panel content columns"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables all triggers"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible navigation region label"
            },
            {
              "name": "placement",
              "type": {
                "text": "'bottom-start'|'bottom-end'"
              },
              "description": "Panel placement relative to its trigger"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Requested active panel change",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "select",
              "description": "A panel link was activated",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Navigation menu items and panels"
            }
          ],
          "cssProperties": [
            {
              "name": "--navigation-menu-panel-width",
              "description": "Maximum panel width"
            },
            {
              "name": "--navigation-menu-panel-columns",
              "description": "Fallback number of panel content columns"
            },
            {
              "name": "--navigation-menu-backdrop-blur",
              "description": "Frosted panel backdrop blur"
            }
          ],
          "demos": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NAVIGATION_MENU_ITEM_TAG",
          "declaration": {
            "name": "NAVIGATION_MENU_ITEM_TAG",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNavigationMenuItemElement",
          "declaration": {
            "name": "OreNavigationMenuItemElement",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        },
        {
          "kind": "js",
          "name": "NAVIGATION_MENU_PANEL_TAG",
          "declaration": {
            "name": "NAVIGATION_MENU_PANEL_TAG",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNavigationMenuPanelElement",
          "declaration": {
            "name": "OreNavigationMenuPanelElement",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        },
        {
          "kind": "js",
          "name": "NAVIGATION_MENU_TAG",
          "declaration": {
            "name": "NAVIGATION_MENU_TAG",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreNavigationMenuElement",
          "declaration": {
            "name": "OreNavigationMenuElement",
            "module": "src/overlay/navigation-menu/navigation-menu.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/popover/popover.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "POPOVER_TAG",
          "type": {
            "text": "'ore-popover'"
          },
          "default": "'ore-popover'",
          "description": "A floating panel anchored to a trigger element."
        },
        {
          "kind": "class",
          "name": "OrePopoverElement",
          "tagName": "ore-popover",
          "customElement": true,
          "description": "A floating panel anchored to a trigger element.",
          "summary": "",
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "string"
              },
              "description": "Preferred placement (default: 'bottom')",
              "default": "'bottom'"
            },
            {
              "name": "trigger",
              "type": {
                "text": "'click' | 'hover' | 'focus'"
              },
              "description": "'click' | 'hover' | 'focus' (default: 'click')",
              "default": "'click'"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled open state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "offset",
              "type": {
                "text": "number"
              },
              "description": "Gap in px (default: 8)",
              "default": "8"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disables the popover"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "aria-label on the panel"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "When the panel state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "The trigger element"
            },
            {
              "name": "content",
              "description": "Panel content"
            }
          ],
          "cssParts": [
            {
              "name": "panel",
              "description": "Panel container."
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<ore-popover placement=\"bottom\" trigger=\"click\">\n  <ore-button>Open info</ore-button>\n  <div slot=\"content\">\n    <p>Popover body content goes here.</p>\n  </div>\n</ore-popover>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "POPOVER_TAG",
          "declaration": {
            "name": "POPOVER_TAG",
            "module": "src/overlay/popover/popover.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OrePopoverElement",
          "declaration": {
            "name": "OrePopoverElement",
            "module": "src/overlay/popover/popover.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/shared/await-exit.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "awaitExit",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              },
              "description": "The element whose animations/transitions to observe."
            },
            {
              "name": "onDone",
              "type": {
                "text": "() => void"
              },
              "description": "Callback invoked exactly once when all animations end."
            },
            {
              "name": "type",
              "default": "'animation'",
              "type": {
                "text": "'animation' | 'transition'"
              },
              "description": "`'animation'` (default) or `'transition'`."
            }
          ],
          "description": "Waits for a CSS exit animation or transition to finish, then calls `onDone`.\n\nUses the Web Animations API (`element.getAnimations()`) when available for\nprecise, synchronous detection. Falls back to a single microtask + immediate\ncall when no relevant animations are running (e.g. `prefers-reduced-motion`\nor overridden styles)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "awaitExit",
          "declaration": {
            "name": "awaitExit",
            "module": "src/overlay/shared/await-exit.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/shared/background-lock.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "createBackgroundLock",
          "return": {
            "type": {
              "text": "BackgroundLock"
            }
          }
        },
        {
          "kind": "function",
          "name": "lockBackground",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "Element"
              }
            }
          ],
          "description": "Marks sibling elements as inert. Safe to call from multiple concurrent overlays."
        },
        {
          "kind": "function",
          "name": "unlockBackground",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "description": "Releases the background lock. Removes inert when all overlays have closed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createBackgroundLock",
          "declaration": {
            "name": "createBackgroundLock",
            "module": "src/overlay/shared/background-lock.ts"
          }
        },
        {
          "kind": "js",
          "name": "lockBackground",
          "declaration": {
            "name": "lockBackground",
            "module": "src/overlay/shared/background-lock.ts"
          }
        },
        {
          "kind": "js",
          "name": "unlockBackground",
          "declaration": {
            "name": "unlockBackground",
            "module": "src/overlay/shared/background-lock.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/shared/use-dialog.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "useDialogControl",
          "return": {
            "type": {
              "text": "UseDialogHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "UseDialogOptions"
              }
            }
          ],
          "description": "Shared dialog-control composable for `ore-dialog` and `ore-drawer`.\n\nOwns: `isOpen`, close-reason tracking, focus management, `overlay`,\n`requestClose`, background lock/unlock, and the `close` event handler.\nComponents supply only their unique behavior via callbacks and `onNativeClose`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "useDialogControl",
          "declaration": {
            "name": "useDialogControl",
            "module": "src/overlay/shared/use-dialog.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/shared/use-floating-trigger.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "useFloatingTrigger",
          "return": {
            "type": {
              "text": "FloatingTriggerHandle"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FloatingTriggerOptions"
              }
            }
          ],
          "description": "Shared logic for floating-panel triggers (tooltip, popover).\n\nHandles:\n- Slot-based trigger element detection and rebinding\n- Event binding per trigger type (hover / focus / click)\n- Floating-element positioning via `@vielzeug/orbit`\n- Controlled mode via `openProp` watcher\n- Keyboard escape dismissal\n\nARIA binding is intentionally delegated to the caller via `bindTriggerAria`\nso that tooltip (`describedby`) and popover (`expanded`/`controls`/…) can diverge."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "useFloatingTrigger",
          "declaration": {
            "name": "useFloatingTrigger",
            "module": "src/overlay/shared/use-floating-trigger.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/overlay/tooltip/tooltip.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TOOLTIP_TAG",
          "type": {
            "text": "'ore-tooltip'"
          },
          "default": "'ore-tooltip'",
          "description": "A lightweight tooltip shown on hover/focus/click relative to the slotted trigger."
        },
        {
          "kind": "class",
          "name": "OreTooltipElement",
          "tagName": "ore-tooltip",
          "customElement": true,
          "description": "A lightweight tooltip shown on hover/focus/click relative to the slotted trigger.",
          "summary": "",
          "attributes": [
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "description": "Tooltip text content"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom' | 'left' | 'right'"
              },
              "description": "'top' | 'bottom' | 'left' | 'right' (default: 'top')",
              "default": "'top'"
            },
            {
              "name": "trigger",
              "type": {
                "text": "'hover' | 'focus' | 'click'"
              },
              "description": "'hover' | 'focus' | 'click' or comma-separated combination"
            },
            {
              "name": "delay",
              "type": {
                "text": "number"
              },
              "description": "Show delay in milliseconds (default: 0)",
              "default": "0"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "description": "Controlled open state"
            },
            {
              "name": "default-open",
              "type": {
                "text": "boolean"
              },
              "description": "Initial uncontrolled open state"
            },
            {
              "name": "size",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Size: 'sm' | 'md' | 'lg'"
            },
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "description": "'dark' (default) | 'light'"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Disable the tooltip"
            }
          ],
          "events": [
            {
              "name": "open-change",
              "description": "Fired when the tooltip state changes. detail: { open, reason }",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Trigger element that the tooltip is anchored to"
            },
            {
              "name": "content",
              "description": "Complex tooltip content (overrides the `content` attribute)"
            }
          ],
          "cssParts": [
            {
              "name": "tooltip",
              "description": "Tooltip container."
            }
          ],
          "cssProperties": [
            {
              "name": "--tooltip-max-width",
              "description": "Max width of the tooltip bubble"
            }
          ],
          "demos": [
            {
              "url": "",
              "description": "```html\n<!-- Simple text tooltip -->\n<ore-tooltip content=\"Copy to clipboard\">\n  <button>Copy</button>\n</ore-tooltip>\n<!-- Placement and delay -->\n<ore-tooltip content=\"Save your work\" placement=\"right\" delay=\"300\">\n  <ore-icon name=\"save\"></ore-icon>\n</ore-tooltip>\n<!-- Hover + focus trigger -->\n<ore-tooltip content=\"Required field\" trigger=\"hover,focus\" placement=\"top\">\n  <ore-input label=\"Email\" type=\"email\"></ore-input>\n</ore-tooltip>\n<!-- Rich content slot -->\n<ore-tooltip>\n  <ore-button>Help</ore-button>\n  <div slot=\"content\">\n    <strong>Keyboard shortcuts</strong>\n    <p>Press Ctrl+S to save.</p>\n  </div>\n</ore-tooltip>\n```"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TOOLTIP_TAG",
          "declaration": {
            "name": "TOOLTIP_TAG",
            "module": "src/overlay/tooltip/tooltip.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "OreTooltipElement",
          "declaration": {
            "name": "OreTooltipElement",
            "module": "src/overlay/tooltip/tooltip.ts"
          }
        }
      ]
    }
  ]
}
