{
  "$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
  "version": 1.1,
  "tags": [
    {
      "name": "web-multiselect",
      "description": "\n---\n\n\n### **Events:**\n - **select** - An option was selected. `detail.option` is the selected option; `detail.selectedOptions`/`detail.selectedValues` are the full selection.\n- **deselect** - An option was removed from the selection. `detail.option` is that option.\n- **change** - The selection changed. `detail.selectedOptions`/`detail.selectedValues` are the full selection.\n- **add** - The user chose to create a new option from the typed text (via the \"add new\" prompt or Enter) — requires `allow-add-new`. `detail.value` is the typed text; `detail.option` is the created item when `addNewCallback` produced one.\n- **ready** - The picker was built and painted for the first time (once per element lifetime). Fires right after the first build — synchronously during upgrade for a normal element, or when the render gate is released (`el.ready()` / removing `defer`) for a deferred one. No detail.\n\n### **Methods:**\n - **formResetCallback(): _void_** - Called by the browser when the surrounding <form> is reset. Clears the\r\npicker's selection so the control participates in the standard reset.\n\n\n\n\n\n\n\n- **refresh(): _void_** - Re-render from the CURRENT option set without re-ingesting it — the companion to the\r\n`options` setter. Assign `el.options = …` when the SET changed (a new array, items\r\nadded/removed/reordered); call `refresh()` when the same objects were mutated in place\r\n(e.g. toggling a `disabled` flag) or when external state a render callback reads\r\n(`getDisabledCallback`, an i18n label map, custom renderers) changed — there is nothing to\r\nassign in that case. Silent: fires no select/deselect/change. No-op before the picker is\r\nbuilt (while a `defer` gate is held, options/callbacks are wired and land on release).\n- **showMessage(content: _string | HTMLElement_, opts: _MessageOptions_): _void_** - Surface a transient message (\"toast\") on top of the component — visible even in the\r\nfullscreen overlay, where page-level UI is hidden behind the sheet. Content is text or\r\nan element; `opts.variant` sets the tone and `opts.duration` the auto-dismiss (0 =\r\nsticky). Also reached automatically when a `beforeSelect`/`beforeDeselect` callback\r\nreturns a reason string.\n- **hideMessage(): _void_** - Dismiss the transient message shown by showMessage, if any.\n- **clearSearch(): _void_** - Clear the search box and restore the full option list (does not touch the selection — use\r\nclearAll for that). Pair with scrollToValue to reveal then scroll to an option\r\na search had filtered out: `el.clearSearch(); el.scrollToValue(v)`.\n- **search(term: _string_): _void_** - Programmatically set the search text and filter, as if the user typed it (runs\r\n`beforeSearchCallback` / `minSearchLength` / async `searchCallback`). Does not open the dropdown\r\n— call open if you want it visible. Pass `''` to clear (same as clearSearch).\n- **scrollToIndex(index: _number_, opts: _{ block?: ScrollLogicalPosition }_): _boolean_** - Scroll the open dropdown to the option at `index` (into the current filtered list). Returns\r\nfalse if closed or out of range. Deferred internally so `el.open(); el.scrollToIndex(i)` works.\n- **scrollToValue(value: _string | number_, opts: _{ block?: ScrollLogicalPosition }_): _boolean_** - Scroll the open dropdown to the option with this `value`. Returns false if it isn't in the\r\ncurrently visible list (filtered out by search, or under a collapsed tree branch) — call\r\nclearSearch / expand first.\n- **scrollToGroup(name: _string_, opts: _{ block?: ScrollLogicalPosition }_): _boolean_** - Scroll to a group: its header in standard rendering, or the group's first option in\r\nvirtual-scroll mode (no headers there). Returns false in tree mode or if the group is empty\r\nin the current filtered list.\n- **open(): _void_** - Open the dropdown.\n- **close(): _void_** - Close the dropdown.\n- **toggle(): _void_** - Toggle the dropdown open/closed.\n- **ready(): _void_** - Release the `defer` render gate: build the picker now (once), with every\r\noption, callback and listener wired while deferred already in place. No-op\r\nwhen the element wasn't deferred or is already built. `flush()` first so a\r\nsynchronous `el.options = …; el.customStylesCallback = …; el.ready()` lands\r\nthose pending writes in the single build rather than after it. Latched — the\r\ngate never re-closes. Fires the `ready` event on the first build.\n\n### **CSS Properties:**\n - **--ms-rem** - Base sizing unit for proportional scaling (default: 10px) _(default: undefined)_\n- **--ms-accent-color** - Primary accent color _(default: undefined)_\n- **--ms-accent-color-hover** - Accent color on hover _(default: undefined)_\n- **--ms-accent-color-active** - Accent color when pressed _(default: undefined)_\n- **--ms-accent-color-light** - Light accent background _(default: undefined)_\n- **--ms-accent-color-light-hover** - Light accent hover _(default: undefined)_\n- **--ms-text-color-1** - Primary text color _(default: undefined)_\n- **--ms-text-color-2** - Secondary text color _(default: undefined)_\n- **--ms-text-color-3** - Tertiary text color _(default: undefined)_\n- **--ms-text-color-4** - Quaternary text color _(default: undefined)_\n- **--ms-text-color-on-accent** - Text on accent backgrounds _(default: undefined)_\n- **--ms-text-primary** - Legacy alias for text-color-1 _(default: undefined)_\n- **--ms-text-secondary** - Legacy alias for text-color-3 _(default: undefined)_\n- **--ms-primary-bg** - Hover/focus background (options, action buttons, counter); reads --base-hover-bg _(default: undefined)_\n- **--ms-primary-bg-hover** - Active/stronger background (counter badge text); reads --base-active-bg _(default: undefined)_\n- **--ms-border-color** - Default border color _(default: undefined)_\n- **--ms-border** - Full border shorthand _(default: undefined)_\n- **--ms-input-bg** - Input field background _(default: undefined)_\n- **--ms-input-color** - Input text color _(default: undefined)_\n- **--ms-input-border** - Input border _(default: undefined)_\n- **--ms-input-border-hover** - Input border on hover _(default: undefined)_\n- **--ms-input-border-focus** - Input border when focused _(default: undefined)_\n- **--ms-input-placeholder-color** - Placeholder text color _(default: undefined)_\n- **--ms-input-bg-disabled** - Disabled input background _(default: undefined)_\n- **--ms-input-height** - Input height _(default: undefined)_\n- **--ms-input-font-size** - Input font size _(default: undefined)_\n- **--ms-input-border-width** - Input border width _(default: undefined)_\n- **--ms-input-border-radius** - Input border radius _(default: undefined)_\n- **--ms-input-text** - Input text color _(default: undefined)_\n- **--ms-toggle-color** - Toggle icon color _(default: undefined)_\n- **--ms-toggle-icon-color** - Toggle icon color (semantic) _(default: undefined)_\n- **--ms-toggle-icon-color-open** - Toggle icon color when open _(default: undefined)_\n- **--ms-counter-padding** - Counter badge padding _(default: undefined)_\n- **--ms-counter-bg** - Counter badge background _(default: undefined)_\n- **--ms-counter-color** - Counter badge text color _(default: undefined)_\n- **--ms-counter-font-size** - Counter badge font size _(default: undefined)_\n- **--ms-counter-font-weight** - Counter badge font weight _(default: undefined)_\n- **--ms-counter-border-radius** - Counter badge border radius _(default: undefined)_\n- **--ms-counter-bg-hover** - Counter badge hover background _(default: undefined)_\n- **--ms-counter-badge-bg** - Counter badge semantic background _(default: undefined)_\n- **--ms-counter-badge-bg-hover** - Counter badge semantic hover _(default: undefined)_\n- **--ms-counter-badge-color** - Counter badge semantic color _(default: undefined)_\n- **--ms-hint-padding** - Floating hint padding _(default: undefined)_\n- **--ms-hint-border** - Floating hint border _(default: undefined)_\n- **--ms-hint-border-radius** - Floating hint border radius _(default: undefined)_\n- **--ms-hint-box-shadow** - Floating hint shadow _(default: undefined)_\n- **--ms-hint-font-size** - Floating hint font size _(default: undefined)_\n- **--ms-hint-bg** - Floating hint background _(default: undefined)_\n- **--ms-hint-color** - Floating hint text color _(default: undefined)_\n- **--ms-hint-border-color** - Floating hint border color _(default: undefined)_\n- **--ms-dropdown-bg** - Dropdown background _(default: undefined)_\n- **--ms-dropdown-text-color** - Dropdown text color _(default: undefined)_\n- **--ms-dropdown-border** - Dropdown border _(default: undefined)_\n- **--ms-dropdown-border-color** - Dropdown border color _(default: undefined)_\n- **--ms-dropdown-border-radius** - Dropdown border radius _(default: undefined)_\n- **--ms-dropdown-box-shadow** - Dropdown shadow _(default: undefined)_\n- **--ms-dropdown-box-shadow-semantic** - Dropdown semantic shadow _(default: undefined)_\n- **--ms-dropdown-width** - Options dropdown width (defaults to the input width; also set via the dropdown-width attribute) _(default: undefined)_\n- **--ms-options-max-height** - Options list max height _(default: undefined)_\n- **--ms-z-index-dropdown** - Dropdown z-index _(default: undefined)_\n- **--ms-z-index-sticky** - Sticky elements z-index _(default: undefined)_\n- **--ms-actions-gap** - Actions row gap _(default: undefined)_\n- **--ms-actions-padding** - Actions row padding _(default: undefined)_\n- **--ms-actions-border-bottom** - Actions row border _(default: undefined)_\n- **--ms-actions-bg** - Actions row background _(default: undefined)_\n- **--ms-actions-border-color** - Actions row border color _(default: undefined)_\n- **--ms-action-btn-padding** - Action button padding _(default: undefined)_\n- **--ms-action-btn-font-size** - Action button font size _(default: undefined)_\n- **--ms-action-btn-border** - Action button border _(default: undefined)_\n- **--ms-action-btn-border-radius** - Action button border radius _(default: undefined)_\n- **--ms-action-btn-bg** - Action button background _(default: undefined)_\n- **--ms-action-btn-color** - Action button color _(default: undefined)_\n- **--ms-action-btn-bg-hover** - Action button hover background _(default: undefined)_\n- **--ms-action-btn-border-color-hover** - Action button hover border _(default: undefined)_\n- **--ms-action-button-bg** - Semantic action button background _(default: undefined)_\n- **--ms-action-button-bg-hover** - Semantic action button hover _(default: undefined)_\n- **--ms-action-button-border-color** - Semantic action button border _(default: undefined)_\n- **--ms-action-button-border-color-hover** - Semantic action button hover border _(default: undefined)_\n- **--ms-action-button-color** - Semantic action button color _(default: undefined)_\n- **--ms-options-padding** - Options container padding _(default: undefined)_\n- **--ms-group-border-top** - Group border top _(default: undefined)_\n- **--ms-group-margin-top** - Group margin top _(default: undefined)_\n- **--ms-group-padding-top** - Group padding top _(default: undefined)_\n- **--ms-group-border-color** - Group border color _(default: undefined)_\n- **--ms-group-label-padding** - Group label padding _(default: undefined)_\n- **--ms-group-label-font-size** - Group label font size _(default: undefined)_\n- **--ms-group-label-font-weight** - Group label font weight _(default: undefined)_\n- **--ms-group-label-color** - Group label color _(default: undefined)_\n- **--ms-group-label-transform** - Group label text transform _(default: undefined)_\n- **--ms-group-label-letter-spacing** - Group label letter spacing _(default: undefined)_\n- **--ms-option-gap** - Option content gap _(default: undefined)_\n- **--ms-option-padding** - Option padding _(default: undefined)_\n- **--ms-option-padding-h** - Option horizontal padding _(default: undefined)_\n- **--ms-option-color** - Option text color _(default: undefined)_\n- **--ms-option-bg** - Option background _(default: undefined)_\n- **--ms-option-bg-hover** - Option hover background _(default: undefined)_\n- **--ms-option-bg-focused** - Option focused background _(default: undefined)_\n- **--ms-option-outline-focused** - Option focus outline _(default: undefined)_\n- **--ms-option-focus-outline-offset** - Option focus outline offset _(default: undefined)_\n- **--ms-option-bg-matched** - Matched option background _(default: undefined)_\n- **--ms-option-border-matched** - Matched option border _(default: undefined)_\n- **--ms-option-bg-selected** - Selected option background _(default: undefined)_\n- **--ms-option-text-color** - Option text color (semantic) _(default: undefined)_\n- **--ms-option-color-hover** - Option hover color _(default: undefined)_\n- **--ms-option-color-focused** - Option focused color _(default: undefined)_\n- **--ms-option-outline-color-focused** - Option focus outline color _(default: undefined)_\n- **--ms-option-color-matched** - Matched option color _(default: undefined)_\n- **--ms-option-border-matched-color** - Matched option border color _(default: undefined)_\n- **--ms-option-bg-focused-hover** - Focused option hover background _(default: undefined)_\n- **--ms-option-bg-matched-hover** - Matched option hover background _(default: undefined)_\n- **--ms-option-bg-selected-focused** - Selected focused background _(default: undefined)_\n- **--ms-option-bg-selected-matched** - Selected matched background _(default: undefined)_\n- **--ms-option-disabled-bg** - Disabled option background _(default: undefined)_\n- **--ms-option-bg-disabled-selected** - Disabled selected background _(default: undefined)_\n- **--ms-disabled-opacity** - Disabled option opacity _(default: undefined)_\n- **--ms-option-content-gap** - Option content gap _(default: undefined)_\n- **--ms-option-icon-size** - Option icon size _(default: undefined)_\n- **--ms-option-icon-font-size** - Option icon font size _(default: undefined)_\n- **--ms-option-title-font-size** - Option title font size _(default: undefined)_\n- **--ms-option-title-color** - Option title color _(default: undefined)_\n- **--ms-option-subtitle-margin-top** - Option subtitle margin _(default: undefined)_\n- **--ms-option-subtitle-font-size** - Option subtitle font size _(default: undefined)_\n- **--ms-option-subtitle-line-height** - Option subtitle line height _(default: undefined)_\n- **--ms-option-subtitle-color** - Option subtitle color _(default: undefined)_\n- **--ms-option-mark-bg** - Search match highlight background _(default: undefined)_\n- **--ms-option-mark-color** - Search match highlight color _(default: undefined)_\n- **--ms-option-mark-font-weight** - Search match highlight weight _(default: undefined)_\n- **--ms-checkbox-margin-top** - Checkbox margin top _(default: undefined)_\n- **--ms-checkbox-margin-right** - Checkbox margin right _(default: undefined)_\n- **--ms-checkbox-margin-bottom** - Checkbox margin bottom _(default: undefined)_\n- **--ms-checkbox-margin-left** - Checkbox margin left _(default: undefined)_\n- **--ms-checkbox-size** - Checkbox size _(default: undefined)_\n- **--ms-checkbox-scale** - Checkbox box scale (chains --base-checkbox-scale; multiplies box width/height via calc, no transform — keeps the masked glyph crisp) _(default: undefined)_\n- **--ms-checkbox-align** - Checkbox alignment _(default: undefined)_\n- **--ms-checkbox-bg** - Checkbox background _(default: undefined)_\n- **--ms-checkbox-border** - Checkbox border _(default: undefined)_\n- **--ms-checkbox-border-radius** - Checkbox border radius _(default: undefined)_\n- **--ms-checkbox-checked-bg** - Checked checkbox background _(default: undefined)_\n- **--ms-checkbox-checked-border** - Checked checkbox border _(default: undefined)_\n- **--ms-checkbox-checkmark-color** - Checkmark color _(default: undefined)_\n- **--ms-checkbox-hover-border-color** - Checkbox hover border _(default: undefined)_\n- **--ms-checkbox-disabled-bg** - Disabled checkbox background _(default: undefined)_\n- **--ms-checkbox-disabled-border** - Disabled checkbox border _(default: undefined)_\n- **--ms-checkbox-checked-bg-hover** - Checked checkbox hover background _(default: undefined)_\n- **--ms-checkbox-checked-border-color-hover** - Checked checkbox hover border _(default: undefined)_\n- **--ms-state-min-height** - Shared min-height for the empty and loading states so the dropdown doesn't resize when swapping between them _(default: undefined)_\n- **--ms-empty-padding** - Empty state padding _(default: undefined)_\n- **--ms-empty-font-size** - Empty state font size _(default: undefined)_\n- **--ms-empty-color** - Empty state text color _(default: undefined)_\n- **--ms-loader-padding** - Loader padding _(default: undefined)_\n- **--ms-loader-gap** - Loader gap _(default: undefined)_\n- **--ms-loading-text-font-size** - Loading text font size _(default: undefined)_\n- **--ms-loading-text-color** - Loading text color _(default: undefined)_\n- **--ms-loading-color** - Loading color (semantic) _(default: undefined)_\n- **--ms-badges-gap** - Badges container gap _(default: undefined)_\n- **--ms-badges-margin-bottom** - Badges margin bottom _(default: undefined)_\n- **--ms-badges-margin-top** - Badges margin top _(default: undefined)_\n- **--ms-badges-margin-left** - Badges margin left _(default: undefined)_\n- **--ms-badges-margin-right** - Badges margin right _(default: undefined)_\n- **--ms-badge-gap** - Badge internal gap _(default: undefined)_\n- **--ms-badge-height** - Badge height _(default: undefined)_\n- **--ms-badge-font-size** - Badge font size _(default: undefined)_\n- **--ms-badge-font-weight** - Badge font weight _(default: undefined)_\n- **--ms-badge-border-radius** - Badge border radius _(default: undefined)_\n- **--ms-badge-bg** - Badge background _(default: undefined)_\n- **--ms-badge-bg-hover** - Badge hover background _(default: undefined)_\n- **--ms-badge-bg-active** - Badge active background _(default: undefined)_\n- **--ms-badge-text-padding** - Badge text padding _(default: undefined)_\n- **--ms-badge-text-bg** - Badge text background _(default: undefined)_\n- **--ms-badge-text-color** - Badge text color _(default: undefined)_\n- **--ms-badge-text-border** - Badge text border _(default: undefined)_\n- **--ms-badge-text-bg-hover** - Badge text hover background _(default: undefined)_\n- **--ms-badge-text-color-hover** - Badge text hover color _(default: undefined)_\n- **--ms-badge-remove-width** - Badge remove button width _(default: undefined)_\n- **--ms-badge-remove-bg** - Badge remove button background _(default: undefined)_\n- **--ms-badge-remove-color** - Badge remove button color _(default: undefined)_\n- **--ms-badge-remove-border** - Badge remove button border _(default: undefined)_\n- **--ms-badge-remove-font-size** - Badge remove button font size (unused since 1.10.0 — kept for backward-compat) _(default: undefined)_\n- **--ms-badge-remove-icon-size** - Badge remove X icon size (mask SVG) _(default: undefined)_\n- **--ms-badge-remove-bg-hover** - Badge remove button hover background _(default: undefined)_\n- **--ms-badge-remove-box-shadow-focus** - Badge remove button focus shadow _(default: undefined)_\n- **--ms-icon-remove** - Remove icon as CSS url() to a mask-friendly SVG; color comes from currentColor _(default: undefined)_\n- **--ms-icon-filter** - Funnel glyph (fullscreen search-mode toggle); chains to --base-icon-filter _(default: undefined)_\n- **--ms-icon-check** - Checkmark glyph (mask) for a checked checkbox/option; chains to --base-icon-check _(default: undefined)_\n- **--ms-icon-indeterminate** - Dash glyph (mask) for a tri-state/partial checkbox; chains to --base-icon-indeterminate _(default: undefined)_\n- **--ms-icon-check-size** - mask-size for the checkmark/dash glyph inside the checkbox box; chains to --base-icon-check-size (default 68%, the same knob as pure-admin's .pa-checkbox) _(default: undefined)_\n- **--ms-badge-counter-bg** - Counter badge background _(default: undefined)_\n- **--ms-badge-counter-border** - Counter badge border _(default: undefined)_\n- **--ms-badge-counter-border-color** - Counter badge border color _(default: undefined)_\n- **--ms-badge-counter-border-radius** - Counter badge border radius _(default: undefined)_\n- **--ms-badge-counter-text-color** - Counter badge text color _(default: undefined)_\n- **--ms-badge-counter-text-bg** - Counter badge text background _(default: undefined)_\n- **--ms-badge-counter-remove-bg** - Counter badge remove background _(default: undefined)_\n- **--ms-badge-counter-remove-color** - Counter badge remove color _(default: undefined)_\n- **--ms-badge-counter-remove-bg-hover** - Counter badge remove hover background _(default: undefined)_\n- **--ms-more-badge-bg** - More badge background _(default: undefined)_\n- **--ms-more-badge-hover-bg** - More badge hover background _(default: undefined)_\n- **--ms-more-badge-active-bg** - More badge active background _(default: undefined)_\n- **--ms-count-display-margin-bottom** - Count display margin bottom _(default: undefined)_\n- **--ms-count-display-margin-top** - Count display margin top _(default: undefined)_\n- **--ms-count-display-margin-left** - Count display margin left _(default: undefined)_\n- **--ms-count-display-margin-right** - Count display margin right _(default: undefined)_\n- **--ms-counter-wrapper-bg** - Counter wrapper background _(default: undefined)_\n- **--ms-counter-wrapper-border** - Counter wrapper border _(default: undefined)_\n- **--ms-counter-wrapper-border-radius** - Counter wrapper border radius _(default: undefined)_\n- **--ms-counter-wrapper-padding** - Counter wrapper padding _(default: undefined)_\n- **--ms-counter-wrapper-gap** - Counter wrapper gap _(default: undefined)_\n- **--ms-counter-wrapper-bg-hover** - Counter wrapper hover background _(default: undefined)_\n- **--ms-counter-wrapper-border-color** - Counter wrapper border color _(default: undefined)_\n- **--ms-counter-wrapper-border-color-hover** - Counter wrapper hover border _(default: undefined)_\n- **--ms-count-text-bg** - Count text background _(default: undefined)_\n- **--ms-count-text-border** - Count text border _(default: undefined)_\n- **--ms-count-text-font-size** - Count text font size _(default: undefined)_\n- **--ms-count-text-color** - Count text color _(default: undefined)_\n- **--ms-count-clear-size** - Count clear button size _(default: undefined)_\n- **--ms-count-clear-bg** - Count clear button background _(default: undefined)_\n- **--ms-count-clear-color** - Count clear button color _(default: undefined)_\n- **--ms-count-clear-font-size** - Count clear button font size (unused since 1.10.0 — kept for backward-compat) _(default: undefined)_\n- **--ms-count-clear-icon-size** - Count clear X icon size (mask SVG) _(default: undefined)_\n- **--ms-count-clear-border-radius** - Count clear button border radius _(default: undefined)_\n- **--ms-count-clear-bg-hover** - Count clear button hover background _(default: undefined)_\n- **--ms-count-clear-color-hover** - Count clear button hover color _(default: undefined)_\n- **--ms-icon-clear** - Clear icon as CSS url() to a mask-friendly SVG; defaults to var(--ms-icon-remove) _(default: undefined)_\n- **--ms-tooltip-bg** - Tooltip background _(default: undefined)_\n- **--ms-tooltip-text-color** - Tooltip text color _(default: undefined)_\n- **--ms-tooltip-color** - Tooltip color _(default: undefined)_\n- **--ms-tooltip-padding** - Tooltip padding _(default: undefined)_\n- **--ms-tooltip-border-radius** - Tooltip border radius _(default: undefined)_\n- **--ms-tooltip-font-size** - Tooltip font size _(default: undefined)_\n- **--ms-tooltip-max-width** - Tooltip max width _(default: undefined)_\n- **--ms-tooltip-shadow** - Tooltip shadow _(default: undefined)_\n- **--ms-tooltip-z-index** - Tooltip z-index _(default: undefined)_\n- **--ms-z-index-popover** - Popover z-index _(default: undefined)_\n- **--ms-selected-popover-width** - Selected popover width _(default: undefined)_\n- **--ms-selected-popover-max-height** - Selected popover max height _(default: undefined)_\n- **--ms-selected-popover-border** - Selected popover border _(default: undefined)_\n- **--ms-selected-popover-border-radius** - Selected popover border radius _(default: undefined)_\n- **--ms-selected-popover-box-shadow** - Selected popover shadow _(default: undefined)_\n- **--ms-selected-popover-bg** - Selected popover background _(default: undefined)_\n- **--ms-selected-popover-border-color** - Selected popover border color _(default: undefined)_\n- **--ms-selected-popover-header-padding** - Popover header padding _(default: undefined)_\n- **--ms-selected-popover-header-bg** - Popover header background _(default: undefined)_\n- **--ms-selected-popover-header-border-bottom** - Popover header border _(default: undefined)_\n- **--ms-selected-popover-header-font-size** - Popover header font size _(default: undefined)_\n- **--ms-selected-popover-header-font-weight** - Popover header font weight _(default: undefined)_\n- **--ms-selected-popover-header-color** - Popover header color _(default: undefined)_\n- **--ms-selected-popover-header-border-color** - Popover header border color _(default: undefined)_\n- **--ms-popover-close-size** - Popover close button size _(default: undefined)_\n- **--ms-selected-popover-close-bg** - Popover close button background _(default: undefined)_\n- **--ms-selected-popover-close-color** - Popover close button color _(default: undefined)_\n- **--ms-selected-popover-close-font-size** - Popover close button font size (unused since 1.10.0 — kept for backward-compat) _(default: undefined)_\n- **--ms-selected-popover-close-icon-size** - Popover close X icon size (mask SVG) _(default: undefined)_\n- **--ms-selected-popover-close-border-radius** - Popover close button border radius _(default: undefined)_\n- **--ms-selected-popover-close-bg-hover** - Popover close button hover background _(default: undefined)_\n- **--ms-selected-popover-close-color-hover** - Popover close button hover color _(default: undefined)_\n- **--ms-selected-popover-body-gap** - Popover body gap _(default: undefined)_\n- **--ms-selected-popover-body-padding** - Popover body padding _(default: undefined)_\n- **--ms-selected-popover-body-max-height** - Popover body max height _(default: undefined)_\n- **--ms-font-size-2xs** - Extra extra small font size _(default: undefined)_\n- **--ms-font-size-xs** - Extra small font size _(default: undefined)_\n- **--ms-font-size-sm** - Small font size _(default: undefined)_\n- **--ms-font-size-base** - Base font size _(default: undefined)_\n- **--ms-font-size-lg** - Large font size _(default: undefined)_\n- **--ms-font-weight-normal** - Normal font weight _(default: undefined)_\n- **--ms-font-weight-medium** - Medium font weight _(default: undefined)_\n- **--ms-font-weight-semibold** - Semibold font weight _(default: undefined)_\n- **--ms-line-height-none** - No line height (1) _(default: undefined)_\n- **--ms-line-height-tight** - Tight line height _(default: undefined)_\n- **--ms-line-height-normal** - Normal line height _(default: undefined)_\n- **--ms-line-height-relaxed** - Relaxed line height _(default: undefined)_\n- **--ms-border-radius-sm** - Small border radius _(default: undefined)_\n- **--ms-border-radius-md** - Medium border radius _(default: undefined)_\n- **--ms-border-radius-lg** - Large border radius _(default: undefined)_\n- **--ms-border-radius** - Default border radius _(default: undefined)_\n- **--ms-spacing-xs** - Extra small spacing _(default: undefined)_\n- **--ms-spacing-sm** - Small spacing _(default: undefined)_\n- **--ms-spacing-md** - Medium spacing _(default: undefined)_\n- **--ms-spacing-lg** - Large spacing _(default: undefined)_\n- **--ms-transition-fast** - Fast transition duration _(default: undefined)_\n- **--ms-transition-normal** - Normal transition duration _(default: undefined)_\n- **--ms-easing-snappy** - Snappy easing function _(default: undefined)_\n- **--ms-placeholder-opacity** - Placeholder opacity _(default: undefined)_\n- **--ms-disabled-input-opacity** - Disabled input opacity _(default: undefined)_\n- **--ms-scrollbar-width** - Scrollbar width _(default: undefined)_\n- **--ms-scrollbar-track-bg** - Scrollbar track background _(default: undefined)_\n- **--ms-scrollbar-thumb-bg** - Scrollbar thumb background _(default: undefined)_\n- **--ms-scrollbar-thumb-bg-hover** - Scrollbar thumb hover background _(default: undefined)_\n- **--ms-scrollbar-thumb-border-radius** - Scrollbar thumb border radius _(default: undefined)_\n- **--ms-debug-bg** - Debug panel background _(default: undefined)_\n- **--ms-debug-border-color** - Debug panel border _(default: undefined)_\n- **--ms-debug-text-color** - Debug panel text _(default: undefined)_\n- **--ms-debug-border-radius** - Debug panel corner radius _(default: undefined)_\n- **--ms-debug-summary-color** - Debug section heading color _(default: undefined)_\n- **--ms-debug-summary-bg-hover** - Debug section heading hover background _(default: undefined)_\n- **--ms-debug-summary-outline-color** - Debug section heading focus outline _(default: undefined)_\n- **--ms-debug-summary-border-radius** - Debug section heading corner radius _(default: undefined)_\n- **--ms-debug-stats-bg** - Debug stats nested panel background _(default: undefined)_\n- **--ms-debug-stats-border-radius** - Debug stats nested panel corner radius _(default: undefined)_\n- **--ms-debug-bullet-color** - Debug stat bullet marker color _(default: undefined)_\n- **--ms-transform-rotate-180** - 180 degree rotation _(default: undefined)_\n- **--ms-transform-scale-hover** - Hover scale transform _(default: undefined)_\n- **--ms-transform-scale-active** - Active scale transform _(default: undefined)_\n- **--ms-order-first** - Order first (-1) _(default: undefined)_\n- **--ms-add-new-bg-hover** - Background of the \"add new\" row on hover _(default: undefined)_\n- **--ms-add-new-color** - Text/icon color of the \"add new\" row _(default: undefined)_\n- **--ms-add-new-color-hover** - Text/icon color of the \"add new\" row on hover _(default: undefined)_\n- **--ms-add-new-font-size** - Font size of the \"add new\" row _(default: undefined)_\n- **--ms-add-new-gap** - Gap between icon and label in the \"add new\" row _(default: undefined)_\n- **--ms-add-new-icon-size** - Icon size in the \"add new\" row _(default: undefined)_\n- **--ms-add-new-padding** - Padding of the \"add new\" row _(default: undefined)_\n- **--ms-badge-counter-remove-color-hover** - Counter badge remove (✕) color on hover _(default: undefined)_\n- **--ms-badge-counter-text-bg-hover** - Counter badge text background on hover _(default: undefined)_\n- **--ms-badge-counter-text-color-hover** - Counter badge text color on hover _(default: undefined)_\n- **--ms-checkbox-border-color** - Option checkbox border color _(default: undefined)_\n- **--ms-checkbox-border-width** - Option checkbox border width _(default: undefined)_\n- **--ms-checkbox-border-width-scaled** - Checkbox border width multiplied by --ms-checkbox-scale (keeps the border proportional when the box is scaled; used by every checkbox border shorthand) _(default: undefined)_\n- **--ms-checkbox-checkmark-thickness** - Option checkbox checkmark stroke thickness _(default: undefined)_\n- **--ms-dropdown-inner-border-radius** - Inner radius clipping the dropdown's scroll area _(default: undefined)_\n- **--ms-fullscreen-bg** - Fullscreen overlay background _(default: undefined)_\n- **--ms-fullscreen-close-bg** - Fullscreen close button background _(default: undefined)_\n- **--ms-fullscreen-close-bg-hover** - Fullscreen close button background on hover _(default: undefined)_\n- **--ms-fullscreen-close-border** - Fullscreen close button border _(default: undefined)_\n- **--ms-fullscreen-close-border-radius** - Fullscreen close button border radius _(default: undefined)_\n- **--ms-fullscreen-close-color** - Fullscreen close button icon color _(default: undefined)_\n- **--ms-fullscreen-close-edge-nudge** - Fullscreen close button inset from the header edge _(default: undefined)_\n- **--ms-fullscreen-close-icon-size** - Fullscreen close button icon size _(default: undefined)_\n- **--ms-fullscreen-close-size** - Fullscreen close button box size _(default: undefined)_\n- **--ms-fullscreen-header-bg** - Fullscreen header background _(default: undefined)_\n- **--ms-fullscreen-header-border** - Fullscreen header bottom border _(default: undefined)_\n- **--ms-fullscreen-header-gap** - Gap between items in the fullscreen header _(default: undefined)_\n- **--ms-fullscreen-header-min-height** - Minimum height of the fullscreen header _(default: undefined)_\n- **--ms-fullscreen-header-padding** - Fullscreen header padding (shorthand) _(default: undefined)_\n- **--ms-fullscreen-header-padding-h** - Fullscreen header horizontal padding _(default: undefined)_\n- **--ms-fullscreen-header-padding-v** - Fullscreen header vertical padding _(default: undefined)_\n- **--ms-fullscreen-info-bg-hover** - Fullscreen info button background on hover _(default: undefined)_\n- **--ms-fullscreen-info-color** - Fullscreen info button icon color _(default: undefined)_\n- **--ms-fullscreen-info-icon-size** - Fullscreen info button icon size _(default: undefined)_\n- **--ms-fullscreen-info-size** - Fullscreen info button box size _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-bg** - Fullscreen search-mode toggle background _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-bg-hover** - Fullscreen search-mode toggle background on hover _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-color** - Fullscreen search-mode toggle icon color _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-gap** - Gap around the fullscreen search-mode toggle _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-icon** - Fullscreen search-mode toggle icon (url) _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-icon-size** - Fullscreen search-mode toggle icon size _(default: undefined)_\n- **--ms-fullscreen-mode-toggle-size** - Fullscreen search-mode toggle box size _(default: undefined)_\n- **--ms-fullscreen-nav-btn-bg** - Fullscreen match-navigator step button background _(default: undefined)_\n- **--ms-fullscreen-nav-btn-bg-hover** - Fullscreen match-navigator step button background on hover _(default: undefined)_\n- **--ms-fullscreen-nav-btn-color** - Fullscreen match-navigator step button icon color _(default: undefined)_\n- **--ms-fullscreen-nav-btn-icon** - Fullscreen match-navigator step button icon (url) _(default: undefined)_\n- **--ms-fullscreen-nav-btn-icon-size** - Fullscreen match-navigator step button icon size _(default: undefined)_\n- **--ms-fullscreen-nav-btn-size** - Fullscreen match-navigator step button box size _(default: undefined)_\n- **--ms-fullscreen-nav-count-color** - Fullscreen match-navigator \"N of M\" count color _(default: undefined)_\n- **--ms-fullscreen-nav-count-font-size** - Fullscreen match-navigator count font size _(default: undefined)_\n- **--ms-fullscreen-nav-gap** - Gap between fullscreen match-navigator controls _(default: undefined)_\n- **--ms-fullscreen-nav-padding-top** - Top padding of the fullscreen match-navigator row _(default: undefined)_\n- **--ms-fullscreen-rem** - Base sizing unit for the phone fullscreen overlay (default: 12px) _(default: undefined)_\n- **--ms-fullscreen-search-border** - Fullscreen search field border _(default: undefined)_\n- **--ms-fullscreen-search-border-radius** - Fullscreen search field border radius _(default: undefined)_\n- **--ms-fullscreen-search-clear-bg-hover** - Fullscreen search clear button background on hover _(default: undefined)_\n- **--ms-fullscreen-search-clear-color** - Fullscreen search clear button icon color _(default: undefined)_\n- **--ms-fullscreen-search-clear-gutter** - Trailing gutter reserving space for the fullscreen search clear button _(default: undefined)_\n- **--ms-fullscreen-search-clear-icon-size** - Fullscreen search clear button icon size _(default: undefined)_\n- **--ms-fullscreen-search-clear-inset** - Fullscreen search clear button inset from the field edge _(default: undefined)_\n- **--ms-fullscreen-search-clear-size** - Fullscreen search clear button box size _(default: undefined)_\n- **--ms-fullscreen-search-font-size** - Fullscreen search field font size _(default: undefined)_\n- **--ms-fullscreen-search-padding** - Fullscreen search field padding _(default: undefined)_\n- **--ms-fullscreen-text-color** - Fullscreen overlay text color _(default: undefined)_\n- **--ms-fullscreen-title-font-size** - Fullscreen header title font size _(default: undefined)_\n- **--ms-fullscreen-title-font-weight** - Fullscreen header title font weight _(default: undefined)_\n- **--ms-fullscreen-tree-base-indent** - Base indent for tree options in the fullscreen overlay _(default: undefined)_\n- **--ms-fullscreen-tree-indent** - Per-level indent for tree options in the fullscreen overlay _(default: undefined)_\n- **--ms-icon-add-new** - Icon for the \"add new\" row (url) _(default: undefined)_\n- **--ms-icon-chevron** - Chevron icon used by tree / navigation controls (url) _(default: undefined)_\n- **--ms-icon-info** - Info icon (url) _(default: undefined)_\n- **--ms-icon-search** - Search icon (url) _(default: undefined)_\n- **--ms-icon-search-clear** - Search clear (✕) icon (url) _(default: undefined)_\n- **--ms-inline-align** - Vertical alignment of items within the input row _(default: undefined)_\n- **--ms-input-clear-bg-hover** - Input clear button background on hover _(default: undefined)_\n- **--ms-input-clear-border-radius** - Input clear button border radius _(default: undefined)_\n- **--ms-input-clear-color** - Input clear button icon color _(default: undefined)_\n- **--ms-input-clear-icon-size** - Input clear button icon size _(default: undefined)_\n- **--ms-input-clear-size** - Input clear button box size _(default: undefined)_\n- **--ms-input-gap** - Gap between items inside the input row _(default: undefined)_\n- **--ms-input-padding-h** - Input horizontal padding _(default: undefined)_\n- **--ms-message-bg** - Message toast background (defaults to the info variant) _(default: undefined)_\n- **--ms-message-border** - Message toast border _(default: undefined)_\n- **--ms-message-border-radius** - Message toast border radius _(default: undefined)_\n- **--ms-message-color** - Message toast text color (defaults to the info variant) _(default: undefined)_\n- **--ms-message-error-bg** - Error message toast background _(default: undefined)_\n- **--ms-message-error-color** - Error message toast text color _(default: undefined)_\n- **--ms-message-font-size** - Message toast font size _(default: undefined)_\n- **--ms-message-font-weight** - Message toast font weight _(default: undefined)_\n- **--ms-message-fullscreen-offset** - Message toast top offset in the fullscreen overlay _(default: undefined)_\n- **--ms-message-info-bg** - Info message toast background _(default: undefined)_\n- **--ms-message-info-color** - Info message toast text color _(default: undefined)_\n- **--ms-message-max-width** - Message toast maximum width _(default: undefined)_\n- **--ms-message-padding** - Message toast padding _(default: undefined)_\n- **--ms-message-shadow** - Message toast drop shadow _(default: undefined)_\n- **--ms-message-success-bg** - Success message toast background _(default: undefined)_\n- **--ms-message-success-color** - Success message toast text color _(default: undefined)_\n- **--ms-message-warning-bg** - Warning message toast background _(default: undefined)_\n- **--ms-message-warning-color** - Warning message toast text color _(default: undefined)_\n- **--ms-message-z-index** - z-index of the message toast _(default: undefined)_\n- **--ms-option-min-height** - Minimum height of a dropdown option row _(default: undefined)_\n- **--ms-option-title-overflow** - Overflow handling of the option title _(default: undefined)_\n- **--ms-option-title-text-overflow** - Text-overflow of the option title (e.g. ellipsis) _(default: undefined)_\n- **--ms-option-title-white-space** - White-space of the option title (set normal to allow wrapping) _(default: undefined)_\n- **--ms-option-tooltip-bg** - Option tooltip background _(default: undefined)_\n- **--ms-option-tooltip-border-radius** - Option tooltip border radius _(default: undefined)_\n- **--ms-option-tooltip-font-size** - Option tooltip font size _(default: undefined)_\n- **--ms-option-tooltip-max-width** - Option tooltip maximum width _(default: undefined)_\n- **--ms-option-tooltip-padding** - Option tooltip padding _(default: undefined)_\n- **--ms-option-tooltip-shadow** - Option tooltip drop shadow _(default: undefined)_\n- **--ms-option-tooltip-text-color** - Option tooltip text color _(default: undefined)_\n- **--ms-option-tooltip-z-index** - z-index of the option tooltip _(default: undefined)_\n- **--ms-toggle-icon-size** - Dropdown toggle chevron icon size _(default: undefined)_\n- **--ms-toggle-rotate-closed** - Toggle chevron rotation when closed (default 90deg; orients the right-pointing base glyph) _(default: undefined)_\n- **--ms-toggle-rotate-open** - Toggle chevron rotation when open (default -90deg; set 0deg to opt out for a pre-oriented glyph) _(default: undefined)_\n- **--ms-tree-base-indent** - Base indent for tree options in the floating dropdown _(default: undefined)_\n- **--ms-tree-indent** - Per-level indent for tree options in the floating dropdown _(default: undefined)_\n- **--ms-z-index-fullscreen** - z-index of the fullscreen overlay _(default: undefined)_\n- **--ms-z-index-fullscreen-tooltip** - z-index of tooltips / messages above the fullscreen overlay _(default: undefined)_",
      "attributes": [
        {
          "name": "search-hint",
          "description": "Small hint text shown beneath the search input.",
          "values": []
        },
        {
          "name": "search-placeholder",
          "description": "Placeholder text for the search input. When unset it defaults to \"Search...\"; if `show-search-mode-toggle` is on, the default instead becomes mode-aware (\"Search…\" in navigate, \"Filter…\" in filter). An explicit value always wins and stays fixed.",
          "values": []
        },
        {
          "name": "select-placeholder",
          "description": "Placeholder shown on the control when nothing is selected.",
          "values": []
        },
        {
          "name": "no-data-placeholder",
          "description": "Text shown when there are no options at all.",
          "values": []
        },
        {
          "name": "dropdown-min-width",
          "description": "Minimum width of the dropdown panel (any CSS length).",
          "values": []
        },
        {
          "name": "dropdown-max-width",
          "description": "Maximum width of the dropdown panel (any CSS length).",
          "values": []
        },
        {
          "name": "max-height",
          "description": "Maximum height of the dropdown list before it scrolls.",
          "values": []
        },
        {
          "name": "empty-message",
          "description": "Message shown when a search yields no matches.",
          "values": []
        },
        {
          "name": "add-new-text",
          "description": "Template for the clickable \"add new\" prompt shown (when `allow-add-new` is on) in place of the empty message once a search yields no matches. `{value}` is replaced with the typed text. Default: `Add \"{value}\"`. A `getAddNewTextCallback` wins.",
          "values": []
        },
        {
          "name": "add-new-pending-text",
          "description": "Template for the pending prompt (spinner + text) shown while an async `addNewCallback` runs. `{value}` is replaced with the typed text. Default: `Adding \"{value}\"…`.",
          "values": []
        },
        {
          "name": "loading-message",
          "description": "Message shown while options are loading.",
          "values": []
        },
        {
          "name": "remove-button-tooltip-text",
          "description": "Tooltip text for a badge remove (×) button.",
          "values": []
        },
        {
          "name": "selected-popover-title",
          "description": "Header text of the selected-items popover. Translatable; the `{count}` placeholder is replaced with the current selection count (e.g. `Vybrané položky ({count})`). Default: `Selected Items ({count})`.",
          "values": []
        },
        {
          "name": "name",
          "description": "HTML form field name/id used for the hidden input(s).",
          "values": []
        },
        {
          "name": "custom-styles",
          "description": "Raw CSS injected into the Shadow DOM — the declarative alternative to `customStylesCallback`. The value is a full stylesheet (selectors and all), dropped verbatim into a replaceable style slot at the top of the shadow root. `customStylesCallback` takes precedence when both are set.",
          "values": []
        },
        {
          "name": "dropdown-width",
          "description": "Fixed dropdown width; mirrored to the `--ms-dropdown-width` CSS variable.",
          "values": []
        },
        {
          "name": "selected-popover-width",
          "description": "Selected-items popover width; mirrored to `--ms-selected-popover-width`.",
          "values": []
        },
        {
          "name": "value-member",
          "description": "Property name on an option object that holds its value.",
          "values": []
        },
        {
          "name": "display-value-member",
          "description": "Property name that holds an option display label.",
          "values": []
        },
        {
          "name": "search-value-member",
          "description": "Property name searched against (falls back to the display value).",
          "values": []
        },
        {
          "name": "icon-member",
          "description": "Property name that holds an option icon.",
          "values": []
        },
        {
          "name": "subtitle-member",
          "description": "Property name that holds an option subtitle.",
          "values": []
        },
        {
          "name": "full-title-member",
          "description": "Property name that holds an option full/long title.",
          "values": []
        },
        {
          "name": "group-member",
          "description": "Property name used to group options under headers.",
          "values": []
        },
        {
          "name": "disabled-member",
          "description": "Property name that marks an option disabled.",
          "values": []
        },
        {
          "name": "path-member",
          "description": "Property name holding a node materialized tree path.",
          "values": []
        },
        {
          "name": "parent-path-member",
          "description": "Property name holding a node parent path.",
          "values": []
        },
        {
          "name": "level-member",
          "description": "Property name holding a node depth level.",
          "values": []
        },
        {
          "name": "has-children-member",
          "description": "Property name flagging that a node has children.",
          "values": []
        },
        {
          "name": "is-selectable-member",
          "description": "Property name marking whether a node can be selected.",
          "values": []
        },
        {
          "name": "tree-path-separator",
          "description": "Separator between segments in a materialized tree path.",
          "values": []
        },
        {
          "name": "checkbox-mode",
          "description": "Tree checkbox interaction.\n- `cascade` (default) — checks a node's whole subtree and shows a tristate (checked / indeterminate / unchecked) box on branches. This is what most tree-select UIs do, so it's the default.\n- `independent` — toggles only the clicked node, ignoring ancestors/descendants.\n\nTree + multiple only — has no effect on flat lists or single-select (there is no subtree to cascade into).",
          "values": [{ "name": "independent" }, { "name": "cascade" }]
        },
        {
          "name": "cascade-select-policy",
          "description": "In `cascade` mode, which values a selection emits (badges / form / change):\n- `rolled-up` (default) — minimal cover: a fully-selected subtree collapses to its root; partially-selected branches emit their individually-checked descendants.\n- `leaves` — only the checked leaf-level nodes.\n- `all` — every fully-checked node (branches and leaves).",
          "values": [
            { "name": "rolled-up" },
            { "name": "leaves" },
            { "name": "all" }
          ]
        },
        {
          "name": "group-select-mode",
          "description": "Group-header selection in a FLAT (non-tree) grouped, multi-select list.\n- `none` (default) — group headers are inert labels.\n- `cascade` — each header shows a tristate checkbox that checks/unchecks all of that group's currently-visible members; a partially-selected group reads indeterminate. The group itself is never a selected value (getValue / badges / form carry member values only).\n\nFlat + multiple only — no effect in tree mode (use `checkbox-mode`) or single-select.",
          "values": [{ "name": "none" }, { "name": "cascade" }]
        },
        {
          "name": "badges-display-mode",
          "description": "How the current selection is shown in the control.",
          "values": [
            { "name": "badges" },
            { "name": "count" },
            { "name": "compact" },
            { "name": "partial" },
            { "name": "none" }
          ]
        },
        {
          "name": "badges-position",
          "description": "Where the badges/selection appear relative to the input.",
          "values": [
            { "name": "top" },
            { "name": "bottom" },
            { "name": "left" },
            { "name": "right" }
          ]
        },
        {
          "name": "badges-threshold-mode",
          "description": "How `badgesThreshold` is interpreted: collapse to a count badge, or keep partial badges + a \"more\" badge.",
          "values": [{ "name": "count" }, { "name": "partial" }]
        },
        {
          "name": "selected-order",
          "description": "Order of the CURRENTLY-SELECTED items where they are displayed — badges, partial mode (which items sit behind the \"+N more\" badge), and the selected-items popover. Display only: `getValue()`, the form output, and `getSelected()` keep as-selected (insertion) order, and the options dropdown is never reordered.\n- `as-selected` (default) — the order items were picked.\n- `label-asc` / `label-desc` — by the badge label, A→Z / Z→A (locale-aware).\n- `member` — by the `selected-order-member` property (or `getSelectedOrderCallback`); numeric keys sort numerically, everything else with a locale string compare.\n- `custom` — delegate to `selectedOrderCompareCallback`.",
          "values": [
            { "name": "as-selected" },
            { "name": "label-asc" },
            { "name": "label-desc" },
            { "name": "member" },
            { "name": "custom" }
          ]
        },
        {
          "name": "selected-order-member",
          "description": "Property name used as the sort key when `selected-order=\"member\"`. Sorts the SELECTED-items display only (not the dropdown). Overridden by `getSelectedOrderCallback`.",
          "values": []
        },
        {
          "name": "search-input-mode",
          "description": "Search field mode: editable, read-only, or hidden.",
          "values": [
            { "name": "normal" },
            { "name": "readonly" },
            { "name": "hidden" }
          ]
        },
        {
          "name": "search-mode",
          "description": "Whether typing filters the list or navigates it.",
          "values": [{ "name": "filter" }, { "name": "navigate" }]
        },
        {
          "name": "overlay-group",
          "description": "Scope the \"one overlay open at a time\" coordination to a named group. Overlays (multiselects, datepickers, external popovers) sharing a group dismiss each other when one opens; different groups are independent. Unset = the default (ungrouped) group.",
          "values": []
        },
        {
          "name": "actions-layout",
          "description": "Whether the action bar wraps or stays on one line.",
          "values": [{ "name": "nowrap" }, { "name": "wrap" }]
        },
        {
          "name": "actions-position",
          "description": "Whether the action bar sits above or below the list.",
          "values": [{ "name": "top" }, { "name": "bottom" }]
        },
        {
          "name": "actions-align",
          "description": "Horizontal alignment of the action buttons.",
          "values": [
            { "name": "stretch" },
            { "name": "left" },
            { "name": "right" },
            { "name": "center" },
            { "name": "space-between" }
          ]
        },
        {
          "name": "checkbox-align",
          "description": "Vertical alignment of an option checkbox.",
          "values": [
            { "name": "top" },
            { "name": "center" },
            { "name": "bottom" }
          ]
        },
        {
          "name": "value-format",
          "description": "Serialization format the control emits its value in.",
          "values": [{ "name": "json" }, { "name": "csv" }, { "name": "array" }]
        },
        {
          "name": "badge-tooltip-placement",
          "description": "Preferred placement of a badge tooltip relative to its badge (floating-ui placement).",
          "values": [
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" }
          ]
        },
        {
          "name": "option-tooltip-placement",
          "description": "Preferred placement of an option tooltip (floating-ui placement).",
          "values": [
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" }
          ]
        },
        {
          "name": "mobile-presentation",
          "description": "How the open dropdown is presented on phones. `auto` (default) keeps the floating panel on desktop/tablet and switches to a full-screen overlay on phone-sized touch devices (touch primary + shorter viewport side < 600px, orientation-robust); `floating` forces the anchored panel everywhere; `fullscreen` forces the full-screen overlay on any device (handy for previews/testing). Resolved reactively from the device/viewport environment.",
          "values": [
            { "name": "auto" },
            { "name": "floating" },
            { "name": "fullscreen" }
          ]
        },
        {
          "name": "fullscreen-autofocus",
          "description": "In the phone fullscreen overlay, auto-focus the search field on open (pops the soft keyboard immediately). Default `false`: the sheet opens with the list visible and the keyboard closed, appearing only when the user taps the search. Set `true` to type-to-filter right away. No effect in the floating presentation.",
          "values": []
        },
        {
          "name": "badges-threshold",
          "description": "Threshold at which badges collapse to a count/compact view.",
          "values": []
        },
        {
          "name": "badges-max-visible",
          "description": "Maximum number of badges rendered before overflow.",
          "values": []
        },
        {
          "name": "collapse-badges-below",
          "description": "Container-responsive opt-in (off by default). When set to a px width, the control watches its OWN border box (not the window, via the core `resized` hook / a shared ResizeObserver) and collapses `badges-display-mode` to `count` (\"N selected\") while the box is narrower than this — so a picker in a narrow column/sidebar never overflows with pills, even on a wide monitor. Widening past the threshold restores the configured badges mode. Element-only: the override is applied to the live picker, never to your `badges-display-mode` config.",
          "values": []
        },
        {
          "name": "min-search-length",
          "description": "Minimum characters before searching/filtering starts.",
          "values": []
        },
        {
          "name": "search-debounce",
          "description": "Debounce delay in ms applied to the search input.",
          "values": []
        },
        {
          "name": "virtual-scroll-threshold",
          "description": "Option count above which virtual scrolling turns on.",
          "values": []
        },
        {
          "name": "option-height",
          "description": "Fixed row height in px used by virtual scrolling.",
          "values": []
        },
        {
          "name": "badge-height",
          "description": "Fixed badge height in px used for layout/virtualization.",
          "values": []
        },
        {
          "name": "virtual-scroll-buffer",
          "description": "Extra rows rendered above/below the viewport when virtualizing.",
          "values": []
        },
        {
          "name": "badge-tooltip-delay",
          "description": "Delay in ms before a badge tooltip appears.",
          "values": []
        },
        {
          "name": "badge-tooltip-offset",
          "description": "Gap in px between a badge and its tooltip.",
          "values": []
        },
        {
          "name": "option-tooltip-delay",
          "description": "Delay in ms before an option tooltip appears (falls back to badgeTooltipDelay).",
          "values": []
        },
        {
          "name": "option-tooltip-offset",
          "description": "Gap in px between an option and its tooltip.",
          "values": []
        },
        {
          "name": "multiple",
          "description": "Allow selecting multiple options. When off, selecting one replaces the previous.",
          "values": []
        },
        {
          "name": "allow-groups",
          "description": "Allow grouping options under group headers.",
          "values": []
        },
        {
          "name": "show-checkboxes",
          "description": "Show a checkbox on each option.",
          "values": []
        },
        {
          "name": "sticky-actions",
          "description": "Keep the action bar pinned while the list scrolls.",
          "values": []
        },
        {
          "name": "lock-placement",
          "description": "Keep the dropdown initial placement instead of flipping when it fits.",
          "values": []
        },
        {
          "name": "enable-search",
          "description": "Show the search input.",
          "values": []
        },
        {
          "name": "keep-options-on-search",
          "description": "Keep already-selected options visible while filtering.",
          "values": []
        },
        {
          "name": "should-keep-search-on-close",
          "description": "Preserve the search text after the dropdown closes.",
          "values": []
        },
        {
          "name": "enable-selected-popover",
          "description": "Allow the selected-items popover to open (from the count/compact/\"+X more\" badge or the in-input counter). Turn off when you render your own selection UI, so those affordances become inert.",
          "values": []
        },
        {
          "name": "close-on-select",
          "description": "Close the dropdown immediately after a selection.",
          "values": []
        },
        {
          "name": "allow-add-new",
          "description": "Allow adding a new option from the search text.",
          "values": []
        },
        {
          "name": "show-counter",
          "description": "Show a selected-count indicator.",
          "values": []
        },
        {
          "name": "show-clear",
          "description": "Show an inline clear (✕) button inside the input that wipes the whole selection. Appears only while something is selected and the control is enabled; clicking it clears the selection and any search text, fires `change`, and refocuses.",
          "values": []
        },
        {
          "name": "show-badge-full-title",
          "description": "Show the full title on badges instead of the short label.",
          "values": []
        },
        {
          "name": "enable-virtual-scroll",
          "description": "Force virtual scrolling on regardless of the threshold.",
          "values": []
        },
        {
          "name": "enable-badge-tooltips",
          "description": "Enable tooltips on badges.",
          "values": []
        },
        {
          "name": "enable-option-tooltips",
          "description": "Enable tooltips on options.",
          "values": []
        },
        {
          "name": "reserve-icon-slot",
          "description": "Reserve a fixed-width icon gutter on every option row, including icon-less rows, so all labels share one start column (useful when a list mixes icon and icon-less rows).",
          "values": []
        },
        {
          "name": "option-tooltip-follow-cursor",
          "description": "Make option tooltips follow the pointer.",
          "values": []
        },
        {
          "name": "show-search-mode-toggle",
          "description": "Show a clickable toggle in the phone fullscreen overlay search header that flips `search-mode` between `filter` and `navigate` live. Fullscreen-only; no effect in the floating presentation or when search is disabled.",
          "values": []
        },
        {
          "name": "initial-values",
          "description": "Values selected on first render. Accepts a JSON array (`[\"a\",\"b\"]`) or a bare CSV (`a,b,c`).",
          "values": [{ "name": "Array<string" }, { "name": "number>" }]
        },
        {
          "name": "show-debug-info",
          "description": "Render an in-component debug panel.",
          "values": []
        },
        {
          "name": "defer",
          "description": "Hold the initial render. When the `defer` attribute is present on upgrade the component builds nothing (it only reserves space) — so options, callbacks (e.g. `customStylesCallback`) and event listeners can all be wired first, then released with `el.ready()` (or by removing the `defer` attribute, for server-driven frameworks). The release builds the picker ONCE with everything already in place, avoiding the upgrade-then-restyle flash. Absent (default): builds immediately on connect. Latched — once released the gate never re-closes.",
          "values": []
        },
        {
          "name": "prune-missing-selection",
          "description": "When the option set is replaced (assigning `options` / `data-options`), drop any selected value whose option is no longer present. Default off: selections are KEPT even if their option leaves the list — the safe default for search/paged lists where an item can drop out of the current page yet stay a valid pick. Turn on when a list replacement means the domain changed (e.g. an item was deleted server-side) and a value with no matching option should stop being reported by `getValue()`. The prune is silent (no select/deselect/change).",
          "values": []
        },
        {
          "name": "data-options",
          "description": "HTML-authoring source for the option list, parsed per `data-options-format`. Reactive: changing either attribute re-renders. Prefer the `options` property in JS; a set `options` property and declarative <option> children both win over this.",
          "values": []
        },
        {
          "name": "data-options-format",
          "description": "How to parse the `data-options` attribute: `json` (a JSON array of objects or [value, label] tuples), `csv` (rows split on `data-options-row-splitter`, cells on `data-options-splitter`; the first row is a header — map columns via *-member), or `plain` (bare values split on both splitters -> [value, label] tuples, value === label). Default `json`.",
          "values": [{ "name": "json" }, { "name": "csv" }, { "name": "plain" }]
        },
        {
          "name": "data-options-splitter",
          "description": "Field/cell delimiter for the `csv` and `plain` `data-options` formats. Default `,`. Escapes `\\t` `\\n` `\\r` are honoured (e.g. `data-options-splitter=\"\\t\"` for TSV). Ignored for `json`.",
          "values": []
        },
        {
          "name": "data-options-row-splitter",
          "description": "Row/record delimiter for the `csv` and `plain` `data-options` formats. Default newline. Escapes honoured (e.g. `data-options-row-splitter=\";\"` for single-line data). Ignored for `json`.",
          "values": []
        }
      ],
      "references": []
    }
  ]
}
