{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "define.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "define.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "index.d.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "LionListbox",
          "declaration": {
            "name": "LionListbox",
            "module": "\"./src/LionListbox.js\""
          }
        },
        {
          "kind": "js",
          "name": "ListboxMixin",
          "declaration": {
            "name": "ListboxMixin",
            "module": "\"./src/ListboxMixin.js\""
          }
        },
        {
          "kind": "js",
          "name": "LionOption",
          "declaration": {
            "name": "LionOption",
            "module": "\"./src/LionOption.js\""
          }
        },
        {
          "kind": "js",
          "name": "LionOptions",
          "declaration": {
            "name": "LionOptions",
            "module": "\"./src/LionOptions.js\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "LionListbox",
          "declaration": {
            "name": "LionListbox",
            "module": "./src/LionListbox.js"
          }
        },
        {
          "kind": "js",
          "name": "ListboxMixin",
          "declaration": {
            "name": "ListboxMixin",
            "module": "./src/ListboxMixin.js"
          }
        },
        {
          "kind": "js",
          "name": "LionOption",
          "declaration": {
            "name": "LionOption",
            "module": "./src/LionOption.js"
          }
        },
        {
          "kind": "js",
          "name": "LionOptions",
          "declaration": {
            "name": "LionOptions",
            "module": "./src/LionOptions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "lion-listbox.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "lion-listbox.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "lion-listbox",
          "declaration": {
            "name": "LionListbox",
            "module": "/src/LionListbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "lion-option.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "lion-option.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "lion-option",
          "declaration": {
            "name": "LionOption",
            "module": "/src/LionOption.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "lion-options.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "lion-options.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "lion-options",
          "declaration": {
            "name": "LionOptions",
            "module": "/src/LionOptions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionListbox.d.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "LionListbox: implements the wai-aria listbox design pattern and integrates it as a Lion\nFormControl",
          "name": "LionListbox",
          "superclass": {
            "name": "LionListbox_base",
            "module": "src/LionListbox.d.ts"
          },
          "tagName": "lion-listbox",
          "customElement": true,
          "members": [
            {
              "kind": "field",
              "name": "properties",
              "static": true,
              "type": {
                "text": "any"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_inputGroupInputTemplate",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "scopedElements",
              "static": true,
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "slots",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendantNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxSlot",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_scrollTargetNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeDescendantOwnerNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "serializedValue",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "activeIndex",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "checkedIndex",
              "type": {
                "text": "number | number[]"
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "setCheckedIndex",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ],
              "description": "If an array is passed for multiple-choice, it will check the indexes in array, and uncheck the rest\nIf a number is passed, the item with the passed index is checked without unchecking others\nFor single choice, __onChildCheckedChanged we ensure that we uncheck siblings",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "addFormElement",
              "parameters": [
                {
                  "name": "child",
                  "type": {
                    "text": "FormControlHost & LionOption"
                  }
                },
                {
                  "name": "indexToInsertAt",
                  "type": {
                    "text": "Number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "resetInteractionState",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "clear",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleTypeAhead",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "{ setAsChecked }"
                },
                {
                  "name": "options",
                  "type": {
                    "text": "{setAsChecked:boolean}"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getCheckedElements",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_setupListboxNode",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onListboxContentChanged",
              "description": "A Subclasser can perform additional logic whenever the elements inside the listbox are\nupdated. For instance, when a combobox does server side autocomplete, we want to\nmatch highlighted parts client side.",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_teardownListboxNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getNextEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getPreviousEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "-1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onChildActiveChanged",
              "parameters": [
                {
                  "name": "{ target }"
                },
                {
                  "name": "ev",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyDown",
              "parameters": [
                {
                  "name": "ev",
                  "description": "the keydown event object",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnClick",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyUp",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onLabelClick",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_scrollIntoView",
              "parameters": [
                {
                  "name": "el",
                  "description": "element",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "scrollTargetEl",
                  "description": "container",
                  "optional": true,
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setupEventListeners",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__teardownEventListeners",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setChildActive",
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "LionOption | null"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_uncheckChildren",
              "parameters": [
                {
                  "name": "exclude",
                  "default": "[]",
                  "optional": true,
                  "type": {
                    "text": "LionOption|LionOption[]"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__onChildCheckedChanged",
              "parameters": [
                {
                  "name": "cfgOrEvent",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setAttributeForAllFormElements",
              "parameters": [
                {
                  "name": "attribute",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "// TODO: add to choiceGroup",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__proxyChildModelValueChanged",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "CustomEvent & { target: LionOption; }"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__getEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__moveOptionsToListboxNode",
              "description": "Moves options put in unnamed slot to slot with [role=\"listbox\"]",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__preventScrollingWithArrowKeys",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setupListboxNodeInteractions",
              "description": "Helper method used within `._setupListboxNode`",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__requestOptionsToBeDisabled",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__retractRequestOptionsToBeDisabled",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__initInteractionStates",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "hasNoDefaultSelected",
              "type": {
                "text": "boolean"
              },
              "description": "When setting this to true, on initial render, no option will be selected.\nIt is advisable to override `_noSelectionTemplate` method in the select-invoker\nto render some kind of placeholder initially",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "Informs screen reader and affects keyboard navigation.\nBy default 'vertical'",
              "default": "'vertical'",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "rotateKeyboardNavigation",
              "type": {
                "text": "boolean"
              },
              "description": "Will give first option active state when navigated to the next option from\nlast option.",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "selectionFollowsFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When true, will synchronize activedescendant and selected element on\narrow key navigation.\nThis behavior can usually be seen on <select> on the Windows platform.\nNote that this behavior cannot be used when multiple-choice is true.\nSee: https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_noTypeAhead",
              "type": {
                "text": "boolean"
              },
              "description": "When false, a user can type on which the focus will jump to the matching option",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_typeAheadTimeout",
              "type": {
                "text": "number"
              },
              "description": "The pending char sequence that will set active list item",
              "privacy": "protected",
              "default": "1000",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendant",
              "type": {
                "text": "number | null"
              },
              "privacy": "protected",
              "default": "null",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "__hasInitialSelectedFormElement",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_repropagationRole",
              "type": {
                "text": "'fieldset' | 'child' | 'choice-group'"
              },
              "privacy": "protected",
              "default": "'choice-group'",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxReceivesNoFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When listbox is coupled to a textbox (in case we are dealing with a combobox),\nspaces should not select an element (they need to be put in the textbox)",
              "privacy": "protected",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_oldModelValue",
              "type": {
                "text": "string | string[] | undefined"
              },
              "privacy": "protected",
              "default": "undefined",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "__typedChars",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            }
          ],
          "events": [
            {
              "name": "model-value-changed",
              "type": {
                "text": "CustomEvent"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionListbox",
          "declaration": {
            "name": "LionListbox",
            "module": "src/LionListbox.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionListbox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "LionListbox: implements the wai-aria listbox design pattern and integrates it as a Lion\nFormControl",
          "name": "LionListbox",
          "members": [
            {
              "kind": "field",
              "name": "_feedbackConditionMeta"
            },
            {
              "kind": "field",
              "name": "_focusableNode"
            },
            {
              "kind": "field",
              "name": "properties",
              "static": true,
              "type": {
                "text": "any"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_inputGroupInputTemplate",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "scopedElements",
              "static": true,
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "slots",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendantNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxSlot",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_scrollTargetNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeDescendantOwnerNode",
              "type": {
                "text": "HTMLElement"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "serializedValue",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "activeIndex",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "checkedIndex",
              "type": {
                "text": "number | number[]"
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "setCheckedIndex",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ],
              "description": "If an array is passed for multiple-choice, it will check the indexes in array, and uncheck the rest\nIf a number is passed, the item with the passed index is checked without unchecking others\nFor single choice, __onChildCheckedChanged we ensure that we uncheck siblings",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "addFormElement",
              "parameters": [
                {
                  "name": "child",
                  "type": {
                    "text": "FormControlHost & LionOption"
                  }
                },
                {
                  "name": "indexToInsertAt",
                  "type": {
                    "text": "Number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "resetInteractionState",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "clear",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleTypeAhead",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "{ setAsChecked }"
                },
                {
                  "name": "options",
                  "type": {
                    "text": "{setAsChecked:boolean}"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getCheckedElements",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_setupListboxNode",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onListboxContentChanged",
              "description": "A Subclasser can perform additional logic whenever the elements inside the listbox are\nupdated. For instance, when a combobox does server side autocomplete, we want to\nmatch highlighted parts client side.",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_teardownListboxNode",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getNextEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_getPreviousEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "-1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onChildActiveChanged",
              "parameters": [
                {
                  "name": "{ target }"
                },
                {
                  "name": "ev",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyDown",
              "parameters": [
                {
                  "name": "ev",
                  "description": "the keydown event object",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnClick",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyUp",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_onLabelClick",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_scrollIntoView",
              "parameters": [
                {
                  "name": "el",
                  "description": "element",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "scrollTargetEl",
                  "description": "container",
                  "optional": true,
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setupEventListeners",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__teardownEventListeners",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setChildActive",
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "LionOption | null"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "_uncheckChildren",
              "parameters": [
                {
                  "name": "exclude",
                  "default": "[]",
                  "optional": true,
                  "type": {
                    "text": "LionOption|LionOption[]"
                  }
                }
              ],
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__onChildCheckedChanged",
              "parameters": [
                {
                  "name": "cfgOrEvent",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setAttributeForAllFormElements",
              "parameters": [
                {
                  "name": "attribute",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "// TODO: add to choiceGroup",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__proxyChildModelValueChanged",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "CustomEvent & { target: LionOption; }"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__getEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__moveOptionsToListboxNode",
              "description": "Moves options put in unnamed slot to slot with [role=\"listbox\"]",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__preventScrollingWithArrowKeys",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__setupListboxNodeInteractions",
              "description": "Helper method used within `._setupListboxNode`",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__requestOptionsToBeDisabled",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__retractRequestOptionsToBeDisabled",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "method",
              "name": "__initInteractionStates",
              "privacy": "private",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "hasNoDefaultSelected",
              "type": {
                "text": "boolean"
              },
              "description": "When setting this to true, on initial render, no option will be selected.\nIt is advisable to override `_noSelectionTemplate` method in the select-invoker\nto render some kind of placeholder initially",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "Informs screen reader and affects keyboard navigation.\nBy default 'vertical'",
              "default": "'vertical'",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "rotateKeyboardNavigation",
              "type": {
                "text": "boolean"
              },
              "description": "Will give first option active state when navigated to the next option from\nlast option.",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "selectionFollowsFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When true, will synchronize activedescendant and selected element on\narrow key navigation.\nThis behavior can usually be seen on <select> on the Windows platform.\nNote that this behavior cannot be used when multiple-choice is true.\nSee: https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_noTypeAhead",
              "type": {
                "text": "boolean"
              },
              "description": "When false, a user can type on which the focus will jump to the matching option",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_typeAheadTimeout",
              "type": {
                "text": "number"
              },
              "description": "The pending char sequence that will set active list item",
              "privacy": "protected",
              "default": "1000",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendant",
              "type": {
                "text": "number | null"
              },
              "privacy": "protected",
              "default": "null",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "__hasInitialSelectedFormElement",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_repropagationRole",
              "type": {
                "text": "'fieldset' | 'child' | 'choice-group'"
              },
              "privacy": "protected",
              "default": "'choice-group'",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_listboxReceivesNoFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When listbox is coupled to a textbox (in case we are dealing with a combobox),\nspaces should not select an element (they need to be put in the textbox)",
              "privacy": "protected",
              "default": "false",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "_oldModelValue",
              "type": {
                "text": "string | string[] | undefined"
              },
              "privacy": "protected",
              "default": "undefined",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            },
            {
              "kind": "field",
              "name": "__typedChars",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            }
          ],
          "mixins": [
            {
              "name": "ListboxMixin",
              "module": "/src/ListboxMixin.js"
            },
            {
              "name": "FocusMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "InteractionStateMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "ValidateMixin",
              "package": "@lion/form-core"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "@lion/core"
          },
          "tagName": "lion-listbox",
          "customElement": true,
          "events": [
            {
              "name": "model-value-changed",
              "type": {
                "text": "CustomEvent"
              },
              "inheritedFrom": {
                "name": "ListboxMixin",
                "module": "src/ListboxMixin.js"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionListbox",
          "declaration": {
            "name": "LionListbox",
            "module": "src/LionListbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionOption.d.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option\nCan be a child of datalist/select, or role=\"listbox\"\n\nElement gets state supplied externally, reflects this to attributes,\nenabling SubClassers to style based on those states",
          "name": "LionOption",
          "members": [
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "__onClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__registerEventListeners",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__unRegisterEventListeners",
              "privacy": "private"
            }
          ],
          "superclass": {
            "name": "LionOption_base",
            "module": "src/LionOption.d.ts"
          },
          "tagName": "lion-option",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionOption",
          "declaration": {
            "name": "LionOption",
            "module": "src/LionOption.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionOption.js",
      "declarations": [
        {
          "kind": "class",
          "description": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option\nCan be a child of datalist/select, or role=\"listbox\"\n\nElement gets state supplied externally, reflects this to attributes,\nenabling SubClassers to style based on those states",
          "name": "LionOption",
          "members": [
            {
              "kind": "field",
              "name": "slots"
            },
            {
              "kind": "method",
              "name": "__registerEventListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__unRegisterEventListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__onClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "privacy": "public",
              "attribute": "active",
              "reflects": true
            }
          ],
          "events": [
            {
              "name": "active-changed",
              "type": {
                "text": "Event"
              }
            }
          ],
          "attributes": [
            {
              "name": "active",
              "fieldName": "active"
            }
          ],
          "mixins": [
            {
              "name": "DisabledMixin",
              "package": "@lion/core"
            },
            {
              "name": "ChoiceInputMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "FormRegisteringMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "SlotMixin",
              "package": "@lion/core"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "@lion/core"
          },
          "tagName": "lion-option",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionOption",
          "declaration": {
            "name": "LionOption",
            "module": "src/LionOption.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionOptions.d.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "LionOptions",
          "name": "LionOptions",
          "members": [
            {
              "kind": "field",
              "name": "role",
              "type": {
                "text": "string"
              }
            }
          ],
          "superclass": {
            "name": "LionOptions_base",
            "module": "src/LionOptions.d.ts"
          },
          "tagName": "lion-options",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionOptions",
          "declaration": {
            "name": "LionOptions",
            "module": "src/LionOptions.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/LionOptions.js",
      "declarations": [
        {
          "kind": "class",
          "description": "LionOptions",
          "name": "LionOptions",
          "members": [
            {
              "kind": "method",
              "name": "createRenderRoot"
            },
            {
              "kind": "field",
              "name": "role",
              "type": {
                "text": "string"
              },
              "default": "'listbox'",
              "privacy": "public",
              "attribute": "role",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tabIndex",
              "type": {
                "text": "number"
              },
              "default": "0",
              "privacy": "public",
              "attribute": "tabindex",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "role",
              "fieldName": "role"
            },
            {
              "name": "tabindex",
              "fieldName": "tabIndex"
            }
          ],
          "mixins": [
            {
              "name": "FormRegistrarPortalMixin",
              "package": "@lion/form-core"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "@lion/core"
          },
          "tagName": "lion-options",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionOptions",
          "declaration": {
            "name": "LionOptions",
            "module": "src/LionOptions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/ListboxMixin.d.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ListboxMixin",
          "type": {
            "text": "typeof import(\"../types/ListboxMixinTypes\").ListboxImplementation"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListboxMixin",
          "declaration": {
            "name": "ListboxMixin",
            "module": "src/ListboxMixin.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/ListboxMixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "ListboxMixin",
          "members": [
            {
              "kind": "field",
              "name": "properties",
              "static": true,
              "type": {
                "text": "any"
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true
            },
            {
              "kind": "method",
              "name": "_inputGroupInputTemplate",
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "scopedElements",
              "static": true
            },
            {
              "kind": "field",
              "name": "slots"
            },
            {
              "kind": "field",
              "name": "_inputNode"
            },
            {
              "kind": "field",
              "name": "_listboxNode"
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendantNode",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "_listboxSlot",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "_scrollTargetNode",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "_activeDescendantOwnerNode",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "serializedValue"
            },
            {
              "kind": "field",
              "name": "activeIndex"
            },
            {
              "kind": "field",
              "name": "checkedIndex",
              "type": {
                "text": "number | number[]"
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updated",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setCheckedIndex",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number|number[]"
                  }
                }
              ],
              "description": "If an array is passed for multiple-choice, it will check the indexes in array, and uncheck the rest\nIf a number is passed, the item with the passed index is checked without unchecking others\nFor single choice, __onChildCheckedChanged we ensure that we uncheck siblings"
            },
            {
              "kind": "method",
              "name": "addFormElement",
              "parameters": [
                {
                  "name": "child",
                  "type": {
                    "text": "FormControlHost & LionOption"
                  }
                },
                {
                  "name": "indexToInsertAt",
                  "type": {
                    "text": "Number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "resetInteractionState"
            },
            {
              "kind": "method",
              "name": "reset"
            },
            {
              "kind": "method",
              "name": "clear"
            },
            {
              "kind": "method",
              "name": "_handleTypeAhead",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "{ setAsChecked }"
                },
                {
                  "name": "options",
                  "type": {
                    "text": "{setAsChecked:boolean}"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_getCheckedElements",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_setupListboxNode",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_onListboxContentChanged",
              "description": "A Subclasser can perform additional logic whenever the elements inside the listbox are\nupdated. For instance, when a combobox does server side autocomplete, we want to\nmatch highlighted parts client side."
            },
            {
              "kind": "method",
              "name": "_teardownListboxNode"
            },
            {
              "kind": "method",
              "name": "_getNextEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_getPreviousEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "default": "-1",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_onChildActiveChanged",
              "parameters": [
                {
                  "name": "{ target }"
                },
                {
                  "name": "ev",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyDown",
              "parameters": [
                {
                  "name": "ev",
                  "description": "the keydown event object",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_listboxOnClick",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyUp",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_onLabelClick",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_scrollIntoView",
              "parameters": [
                {
                  "name": "el",
                  "description": "element",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "scrollTargetEl",
                  "description": "container",
                  "optional": true,
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "__setupEventListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__teardownEventListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__setChildActive",
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "LionOption | null"
                  }
                }
              ],
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_uncheckChildren",
              "parameters": [
                {
                  "name": "exclude",
                  "default": "[]",
                  "optional": true,
                  "type": {
                    "text": "LionOption|LionOption[]"
                  }
                }
              ],
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "__onChildCheckedChanged",
              "parameters": [
                {
                  "name": "cfgOrEvent",
                  "type": {
                    "text": "Event & { target: LionOption }"
                  }
                }
              ],
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__setAttributeForAllFormElements",
              "parameters": [
                {
                  "name": "attribute",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "// TODO: add to choiceGroup",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__proxyChildModelValueChanged",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "CustomEvent & { target: LionOption; }"
                  }
                }
              ],
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__getEnabledOption",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__moveOptionsToListboxNode",
              "description": "Moves options put in unnamed slot to slot with [role=\"listbox\"]",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__preventScrollingWithArrowKeys",
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__setupListboxNodeInteractions",
              "description": "Helper method used within `._setupListboxNode`",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__requestOptionsToBeDisabled",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__retractRequestOptionsToBeDisabled",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__initInteractionStates",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasNoDefaultSelected",
              "type": {
                "text": "boolean"
              },
              "description": "When setting this to true, on initial render, no option will be selected.\nIt is advisable to override `_noSelectionTemplate` method in the select-invoker\nto render some kind of placeholder initially",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "string"
              },
              "description": "Informs screen reader and affects keyboard navigation.\nBy default 'vertical'",
              "default": "'vertical'"
            },
            {
              "kind": "field",
              "name": "rotateKeyboardNavigation",
              "type": {
                "text": "boolean"
              },
              "description": "Will give first option active state when navigated to the next option from\nlast option.",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectionFollowsFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When true, will synchronize activedescendant and selected element on\narrow key navigation.\nThis behavior can usually be seen on <select> on the Windows platform.\nNote that this behavior cannot be used when multiple-choice is true.\nSee: https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_noTypeAhead",
              "type": {
                "text": "boolean"
              },
              "description": "When false, a user can type on which the focus will jump to the matching option",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_typeAheadTimeout",
              "type": {
                "text": "number"
              },
              "description": "The pending char sequence that will set active list item",
              "privacy": "protected",
              "default": "1000"
            },
            {
              "kind": "field",
              "name": "_listboxActiveDescendant",
              "type": {
                "text": "number | null"
              },
              "privacy": "protected",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "__hasInitialSelectedFormElement",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_repropagationRole",
              "type": {
                "text": "'fieldset' | 'child' | 'choice-group'"
              },
              "privacy": "protected",
              "default": "'choice-group'"
            },
            {
              "kind": "field",
              "name": "_listboxReceivesNoFocus",
              "type": {
                "text": "boolean"
              },
              "description": "When listbox is coupled to a textbox (in case we are dealing with a combobox),\nspaces should not select an element (they need to be put in the textbox)",
              "privacy": "protected",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_oldModelValue",
              "type": {
                "text": "string | string[] | undefined"
              },
              "privacy": "protected",
              "default": "undefined"
            },
            {
              "kind": "field",
              "name": "__typedChars",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            }
          ],
          "events": [
            {
              "name": "model-value-changed",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "mixins": [
            {
              "name": "FormControlMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "ScopedElementsMixin",
              "package": "@lion/core"
            },
            {
              "name": "ChoiceGroupMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "SlotMixin",
              "package": "@lion/core"
            },
            {
              "name": "FormRegistrarMixin",
              "package": "@lion/form-core"
            },
            {
              "name": "dedupeMixin",
              "package": "@lion/core"
            }
          ],
          "parameters": [
            {
              "name": "superclass",
              "type": {
                "text": "Constructor<LitElement>"
              }
            }
          ],
          "type": {
            "text": "ListboxMixin"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListboxMixin",
          "declaration": {
            "name": "ListboxMixin",
            "module": "src/ListboxMixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "test/lion-listbox.test.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "test/lion-option.test.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "test/lion-options.test.d.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "test-suites/ListboxMixin.suite.d.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "runListboxMixinSuite",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "customConfig",
              "optional": true,
              "type": {
                "text": "{tagString?:string, optionTagString?:string}"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "runListboxMixinSuite",
          "declaration": {
            "name": "runListboxMixinSuite",
            "module": "test-suites/ListboxMixin.suite.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "test-suites/index.d.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "runListboxMixinSuite",
          "declaration": {
            "name": "runListboxMixinSuite",
            "module": "\"./ListboxMixin.suite.js\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "test-suites/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "runListboxMixinSuite",
          "declaration": {
            "name": "runListboxMixinSuite",
            "module": "./ListboxMixin.suite.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "types/LionOption.d.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "LionOptionHost",
          "members": [
            {
              "kind": "field",
              "name": "_parentFormGroup",
              "type": {
                "text": "ChoiceGroupHost"
              },
              "privacy": "protected"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LionOptionHost",
          "declaration": {
            "name": "LionOptionHost",
            "module": "types/LionOption.d.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "types/ListboxMixinTypes.d.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ListboxHost",
          "members": [
            {
              "kind": "field",
              "name": "selectionFollowsFocus",
              "type": {
                "text": "Boolean"
              },
              "privacy": "public",
              "description": "When true, will synchronize activedescendant and selected element on\narrow key navigation.\nThis behavior can usually be seen on <select> on the Windows platform.\nNote that this behavior cannot be used when multiple-choice is true.\nSee: https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus"
            },
            {
              "kind": "field",
              "name": "rotateKeyboardNavigation",
              "type": {
                "text": "Boolean"
              },
              "privacy": "public",
              "description": "Will give first option active state when navigated to the next option from\nlast option."
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'vertical' | 'horizontal'"
              },
              "privacy": "public",
              "description": "Informs screen reader and affects keyboard navigation.\nBy default 'vertical'"
            },
            {
              "kind": "field",
              "name": "hasNoDefaultSelected",
              "type": {
                "text": "boolean"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "singleOption",
              "type": {
                "text": "boolean"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "checkedIndex",
              "type": {
                "text": "number | number[]"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "activeIndex",
              "type": {
                "text": "number"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "formElements",
              "type": {
                "text": "LionOption[]"
              },
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "setCheckedIndex",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number | number[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "reset",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Reset interaction states and modelValue"
            },
            {
              "kind": "field",
              "name": "_scrollTargetNode",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "_listboxNode",
              "type": {
                "text": "LionOptions"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "_listboxReceivesNoFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "_noTypeAhead",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_uncheckChildren",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "__setupListboxNode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_handleTypeAhead",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "{ setAsChecked: boolean }"
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getPreviousEnabledOption",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getNextEnabledOption",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "offset",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyDown",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_listboxOnKeyUp",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_scrollIntoView",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "scrollTargetEl",
                  "type": {
                    "text": "HTMLElement | undefined"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setupListboxNode",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_teardownListboxNode",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_listboxOnClick",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setupListboxInteractions",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_onChildActiveChanged",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "ev",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_activeDescendantOwnerNode",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_onListboxContentChanged",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "__pendingTypeAheadTimeout",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            }
          ]
        },
        {
          "kind": "function",
          "name": "ListboxImplementation",
          "return": {
            "type": {
              "text": "T &\n  Constructor<ListboxHost> &\n  Pick<typeof ListboxHost, keyof typeof ListboxHost> &\n  Constructor<ChoiceGroupHost> &\n  Pick<typeof ChoiceGroupHost, keyof typeof ChoiceGroupHost> &\n  Constructor<SlotHost> &\n  Pick<typeof SlotHost, keyof typeof SlotHost> &\n  Constructor<FormRegistrarHost> &\n  Pick<typeof FormRegistrarHost, keyof typeof FormRegistrarHost> &\n  Constructor<FormControlHost> &\n  Pick<typeof FormControlHost, keyof typeof FormControlHost> &\n  Pick<typeof LitElement, keyof typeof LitElement>"
            }
          },
          "parameters": [
            {
              "name": "superclass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListboxHost",
          "declaration": {
            "name": "ListboxHost",
            "module": "types/ListboxMixinTypes.d.ts"
          }
        },
        {
          "kind": "js",
          "name": "ListboxImplementation",
          "declaration": {
            "name": "ListboxImplementation",
            "module": "types/ListboxMixinTypes.d.ts"
          }
        }
      ]
    }
  ]
}
