{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/zui-option-group.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Functions as a way to create category labels for grouping similar options in `<zui-select-dropdown>`.",
          "name": "ZuiOptionGroupElement",
          "slots": [
            {
              "description": "Default, unnamed slot; for inserting `<zui-option>` elements into a `<zui-option-group>` in order to group them under a single label",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The group or category label, for selectable options",
              "attribute": "label",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The group or category label, for selectable options",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "ZuiBaseElement",
            "package": "@zywave/zui-base"
          },
          "tagName": "zui-option-group",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiOptionGroupElement",
          "declaration": {
            "name": "ZuiOptionGroupElement",
            "module": "src/zui-option-group.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zui-option-group",
          "declaration": {
            "name": "ZuiOptionGroupElement",
            "module": "src/zui-option-group.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/zui-option.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Use to create a selectable option that can be used within `<zui-select>` or `<zui-select-dropdown>`.",
          "name": "ZuiOptionElement",
          "slots": [
            {
              "description": "Default, unnamed slot; for inserting label text into `<zui-option>`; optionally, you can use the `label` attribute/property instead",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null | undefined"
              },
              "default": "undefined",
              "description": "Sets a `value` for the option",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label users will see as a choice, in a select dropdown",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Options `disabled` state",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hidden",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to hide the option from the list or not",
              "attribute": "hidden"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines if the `zui-option` is selected",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "updateObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "updated",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event is dispatched when `<zui-option>` is updated; contains details regarding what properties changed"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event is dispatched when `<zui-option>` is selected or deselected; contains details regarding the `selected` state",
              "name": "selectedchange"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | null | undefined"
              },
              "default": "undefined",
              "description": "Sets a `value` for the option",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label users will see as a choice, in a select dropdown",
              "fieldName": "label"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Options `disabled` state",
              "fieldName": "disabled"
            },
            {
              "name": "hidden",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to hide the option from the list or not",
              "fieldName": "hidden"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines if the `zui-option` is selected",
              "fieldName": "selected"
            }
          ],
          "superclass": {
            "name": "ZuiBaseElement",
            "package": "@zywave/zui-base"
          },
          "tagName": "zui-option",
          "customElement": true
        },
        {
          "kind": "class",
          "description": "",
          "name": "ZuiOptionObject",
          "members": [
            {
              "kind": "field",
              "name": "#selected",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | undefined"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "group",
              "type": {
                "text": "string | undefined"
              },
              "default": "group"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              }
            }
          ],
          "superclass": {
            "name": "EventTarget",
            "module": "src/zui-option.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiOptionElement",
          "declaration": {
            "name": "ZuiOptionElement",
            "module": "src/zui-option.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zui-option",
          "declaration": {
            "name": "ZuiOptionElement",
            "module": "src/zui-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "ZuiOptionObject",
          "declaration": {
            "name": "ZuiOptionObject",
            "module": "src/zui-option.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/zui-select-dropdown.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "`<zui-select-dropdown>` is an evolved `<zui-select>` that supports multiselect, typeahead, tagging, grouping, and asynchronous option retrieval. Great for longer imperatively created lists.",
          "name": "ZuiSelectDropdownElement",
          "cssParts": [
            {
              "description": "For custom styling of the underlying select control; this is exposed as a CSS shadow part and can be accessed with `::part(control)`",
              "name": "control"
            }
          ],
          "slots": [
            {
              "description": "Default, unnamed slot; for inserting `<zui-option>` or `<zui-option-group>` elements into `<zui-select-dropdown>`",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_focusControlSelector",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_formValue",
              "type": {
                "text": "string[] | string | null"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Text to show within input when no options selected",
              "attribute": "placeholder",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow multiple options to be selected",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "searchable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow typing a search term within the input to filter options",
              "attribute": "searchable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "debounce",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Delay in milliseconds after typing before retrieving options",
              "attribute": "debounce",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "typeahead",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Emphasize parts of the option text after typing that were not typed",
              "attribute": "typeahead",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "taggable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow creating the desired option after typing if no option matches the search term",
              "attribute": "taggable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "taggableLabel",
              "type": {
                "text": "string"
              },
              "default": "'Create'",
              "description": "Text to show on the taggable option before the search term",
              "attribute": "taggable-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ungroupedLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Only applicable when labelling option groups. If there are options untied to a group label, file under this label; defaults to \"Other\" if null.",
              "attribute": "ungrouped-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noResultsMessage",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The message to appear if a group contains no options",
              "attribute": "no-results-message",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideEmptyGroups",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide group and no results message if there are no options",
              "attribute": "hide-empty-groups",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If set, can provide hints to form validation and prevent users from clearing out a single select",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "enableSelectAll",
              "type": {
                "text": "boolean"
              },
              "description": "When enabled, the \"Select all\" feature can be utilized. Note: this only applies when `multiple` is true",
              "attribute": "enable-select-all"
            },
            {
              "kind": "field",
              "name": "selectAllOptionLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Provides the user-facing text in the dropdown list for the \"Select all\" option.\nRequired when allowing a user to select all options with `enable-select-all` / `enableSelectAll`.",
              "attribute": "select-all-option-label"
            },
            {
              "kind": "field",
              "name": "selectAllResultLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Provides the user-facing text in the result container when the \"Select all\" option is selected.\nRequired when allowing a user to select all options with `enable-select-all` / `enableSelectAll`.",
              "attribute": "select-all-result-label"
            },
            {
              "kind": "field",
              "name": "selectAllOptionValue",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Optional property used alongside `enable-select-all` / `enableSelectAll` to control the value selected when \"Select all\" is selected.\nIf set, and the user has selected all value, the value of this property will be included in the selection list.",
              "attribute": "select-all-option-value"
            },
            {
              "kind": "field",
              "name": "enableSelectAllOverride",
              "type": {
                "text": "boolean"
              },
              "description": "When enabled, when a user indicates to \"select all\", then all options will be selected,\nthe `selectAllResultLabel` will be rendered alone in the result container, and the user will be unable to deselect individual options until they deselect \"select all\".",
              "attribute": "enable-select-all-override"
            },
            {
              "kind": "field",
              "name": "maximumResultsDisplayCount",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Controls the maximum number of results to display in the result container.\nMust be used with `truncated-result-message-format` / `truncatedResultMessageFormat`.",
              "attribute": "maximum-results-display-count"
            },
            {
              "kind": "field",
              "name": "truncatedResultMessageFormat",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Controls how the truncated result option is rendered.\nCan use `{0}` to merge in the number of results that were not displayed.",
              "attribute": "truncated-result-message-format"
            },
            {
              "kind": "field",
              "name": "queryHandler",
              "type": {
                "text": "QueryHandlerCallback | undefined"
              },
              "description": "An alternative or supplementary way to retrieve options. Must be a function that accepts a string argument and an optional array argument of `ZuiOptionObject` elements. Must return an array or a `Promise` of an array of strings or objects with a `label` property and optional `value`, `disabled`, and/or `group` properties. The search term will be passed to the first argument and the existing options will be passed to the second argument."
            },
            {
              "kind": "field",
              "name": "allSelected",
              "type": {
                "text": "boolean"
              },
              "description": "Determines if all options are selected",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_control",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "_input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "_optionsContainerParent",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "_optionsContainer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "#open",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#options",
              "privacy": "private",
              "type": {
                "text": "ZuiOptionObject[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "#optionGroups",
              "privacy": "private",
              "type": {
                "text": "string[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "#selectedOptions",
              "privacy": "private",
              "type": {
                "text": "IZuiOptionObject[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_highlightedIndex",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private",
              "default": "undefined"
            },
            {
              "kind": "field",
              "name": "#inputTimeout",
              "privacy": "private",
              "type": {
                "text": "number | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#preventInputUpdate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#loadingOptions",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#dropdownMaxHeight",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "304"
            },
            {
              "kind": "field",
              "name": "#dropdownOptionHeight",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "36"
            },
            {
              "kind": "field",
              "name": "#dropdownGroupHeaderHeight",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "24"
            },
            {
              "kind": "field",
              "name": "#dropdownGroupHeaderMargin",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "20"
            },
            {
              "kind": "field",
              "name": "#dropdownPadding",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "5"
            },
            {
              "kind": "field",
              "name": "#initialized",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#allSelected",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#enableSelectAllOverride",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#enableSelectAll",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#hasEnteredQuery",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#controlFocused",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_query",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#isSelectAllValid",
              "privacy": "private",
              "description": "Represents if the \"Select all\" feature can be utilized",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#isTruncationValid",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "ZuiOptionElement[]"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "description": "Returns the selected options as an array of `ZuiOptionObject` objects. See https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedOptions | selectedOptions for browser-native documentation.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#zuiOptions",
              "privacy": "private",
              "type": {
                "text": "ZuiOptionElement[]"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#zuiOptionGroups",
              "privacy": "private",
              "type": {
                "text": "ZuiOptionGroupElement[]"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#selectedValues",
              "privacy": "private",
              "type": {
                "text": "string[]"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#anySelected",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hasOneAvailableOption",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#singleSelect",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#canCreateOption",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_optionsLength",
              "type": {
                "text": "number"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_defaultOption",
              "type": {
                "text": "ZuiOptionObject | null"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#currentlySelectedOptions",
              "privacy": "private",
              "type": {
                "text": "IZuiOptionObject[]"
              },
              "description": "Retrieves the currently selected options from the DOM elements",
              "return": {
                "type": {
                  "text": "IZuiOptionObject[]"
                }
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#setInitialAllSelectedState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selectedOptions",
                  "type": {
                    "text": "IZuiOptionObject[]"
                  },
                  "description": "The array of initially selected options"
                }
              ],
              "description": "Sets the initial 'all selected' state based on whether all options are selected at startup"
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "item",
              "return": {
                "type": {
                  "text": "ZuiOptionElement | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Return a `ZuiOptionElement` based upon number index value passed in"
            },
            {
              "kind": "method",
              "name": "clear",
              "description": "Clears all selected options"
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Opens the dropdown. See https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker | showPicker for browser-native comparisons."
            },
            {
              "kind": "method",
              "name": "#renderDropdownList",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#renderSelectedOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#renderInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#renderSpinner",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#renderRemoveButton",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selection",
                  "optional": true,
                  "type": {
                    "text": "IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderChevron",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#renderNoResultsMessage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "shouldRender",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderGroup",
              "privacy": "private",
              "parameters": [
                {
                  "name": "group",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "content",
                  "optional": true,
                  "type": {
                    "text": "TemplateResult | unknown"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderOptionContent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderMultiselectOptionContent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#renderCreateNewOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#setOptionsContainerStyles",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#getOptionClass",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#createSpan",
              "privacy": "private",
              "parameters": [
                {
                  "name": "innerHTML",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getOptionElement",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLSpanElement | ZuiOptionElement"
                }
              },
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject | ZuiOptionElement | IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getTextNodes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Node[]"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                },
                {
                  "name": "textNodes",
                  "type": {
                    "text": "Node[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getOptionText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject | ZuiOptionElement | IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getOptionValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject | ZuiOptionElement | IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getZuiOptionObject",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZuiOptionObject"
                }
              },
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "IZuiOptionObject | ZuiOptionElement | string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#optionDisabled",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#optionSelected",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#toggleOptionSelected",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "optional": true,
                  "type": {
                    "text": "IZuiOptionObject"
                  },
                  "description": "The option to toggle"
                },
                {
                  "name": "selected",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  },
                  "description": "An optional override, to force it to be selected or unselected"
                }
              ],
              "description": "Toggles an option in the list of selected options"
            },
            {
              "kind": "method",
              "name": "#toggleSelectAll",
              "privacy": "private",
              "parameters": [
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#removeSelectionFromInterface",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selection",
                  "optional": true,
                  "type": {
                    "text": "IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#highlightNextOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "downArrowKey",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#scrollToOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "keyDown",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#selectHighlightedOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "IZuiOptionObject[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#clearOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#updateInputValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#setFocused",
              "privacy": "private",
              "parameters": [
                {
                  "name": "on",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#toggleOpen",
              "privacy": "private",
              "parameters": [
                {
                  "name": "open",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#highlightIndex",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#preventIfDisabled",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                },
                {
                  "name": "f",
                  "optional": true,
                  "type": {
                    "text": "() => void"
                  }
                },
                {
                  "name": "disabled",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#defaultQueryHandler",
              "privacy": "private",
              "parameters": [
                {
                  "name": "query",
                  "type": {
                    "text": "string | null | undefined"
                  }
                },
                {
                  "name": "options",
                  "type": {
                    "text": "ZuiOptionObject[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#isZuiOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "IZuiOptionObject"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#dispatchChangeEvent",
              "privacy": "private"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "The name of this element that is associated with form submission",
              "name": "name",
              "default": "null",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "name": "disabled",
              "default": "false",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "name": "readOnly",
              "default": "false",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "If true, this element will be focused when connected to the document",
              "name": "autofocus",
              "default": "false",
              "kind": "field"
            }
          ],
          "events": [
            {
              "name": "tag",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event dispatches on new option tagged; event contains `value` details"
            },
            {
              "name": "query",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event dispatches on search term typed in the input. If debounce > 0, only fires after timeout; event contains `value` details"
            },
            {
              "name": "change",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event dispatches on selected option(s) changed"
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "string | null"
              },
              "description": "The name of this element that is associated with form submission",
              "name": "name",
              "default": "null"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "name": "disabled",
              "default": "false"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "name": "readonly",
              "default": "false"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "If true, this element will be focused when connected to the document",
              "name": "autofocus",
              "default": "false"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Text to show within input when no options selected",
              "fieldName": "placeholder"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow multiple options to be selected",
              "fieldName": "multiple"
            },
            {
              "name": "searchable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow typing a search term within the input to filter options",
              "fieldName": "searchable"
            },
            {
              "name": "debounce",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Delay in milliseconds after typing before retrieving options",
              "fieldName": "debounce"
            },
            {
              "name": "typeahead",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Emphasize parts of the option text after typing that were not typed",
              "fieldName": "typeahead"
            },
            {
              "name": "taggable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow creating the desired option after typing if no option matches the search term",
              "fieldName": "taggable"
            },
            {
              "name": "taggable-label",
              "type": {
                "text": "string"
              },
              "default": "'Create'",
              "description": "Text to show on the taggable option before the search term",
              "fieldName": "taggableLabel"
            },
            {
              "name": "ungrouped-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Only applicable when labelling option groups. If there are options untied to a group label, file under this label; defaults to \"Other\" if null.",
              "fieldName": "ungroupedLabel"
            },
            {
              "name": "no-results-message",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The message to appear if a group contains no options",
              "fieldName": "noResultsMessage"
            },
            {
              "name": "hide-empty-groups",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide group and no results message if there are no options",
              "fieldName": "hideEmptyGroups"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If set, can provide hints to form validation and prevent users from clearing out a single select",
              "fieldName": "required"
            },
            {
              "name": "enable-select-all",
              "type": {
                "text": "boolean"
              },
              "description": "When enabled, the \"Select all\" feature can be utilized. Note: this only applies when `multiple` is true",
              "fieldName": "enableSelectAll"
            },
            {
              "name": "select-all-option-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Provides the user-facing text in the dropdown list for the \"Select all\" option.\nRequired when allowing a user to select all options with `enable-select-all` / `enableSelectAll`.",
              "fieldName": "selectAllOptionLabel"
            },
            {
              "name": "select-all-result-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Provides the user-facing text in the result container when the \"Select all\" option is selected.\nRequired when allowing a user to select all options with `enable-select-all` / `enableSelectAll`.",
              "fieldName": "selectAllResultLabel"
            },
            {
              "name": "select-all-option-value",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Optional property used alongside `enable-select-all` / `enableSelectAll` to control the value selected when \"Select all\" is selected.\nIf set, and the user has selected all value, the value of this property will be included in the selection list.",
              "fieldName": "selectAllOptionValue"
            },
            {
              "name": "enable-select-all-override",
              "type": {
                "text": "boolean"
              },
              "description": "When enabled, when a user indicates to \"select all\", then all options will be selected,\nthe `selectAllResultLabel` will be rendered alone in the result container, and the user will be unable to deselect individual options until they deselect \"select all\".",
              "fieldName": "enableSelectAllOverride"
            },
            {
              "name": "maximum-results-display-count",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Controls the maximum number of results to display in the result container.\nMust be used with `truncated-result-message-format` / `truncatedResultMessageFormat`.",
              "fieldName": "maximumResultsDisplayCount"
            },
            {
              "name": "truncated-result-message-format",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Controls how the truncated result option is rendered.\nCan use `{0}` to merge in the number of results that were not displayed.",
              "fieldName": "truncatedResultMessageFormat"
            }
          ],
          "superclass": {
            "name": "ZuiFormAssociatedElement",
            "package": "@zywave/zui-base"
          },
          "tagName": "zui-select-dropdown",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiSelectDropdownElement",
          "declaration": {
            "name": "ZuiSelectDropdownElement",
            "module": "src/zui-select-dropdown.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zui-select-dropdown",
          "declaration": {
            "name": "ZuiSelectDropdownElement",
            "module": "src/zui-select-dropdown.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/zui-select.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A Basic select, best for shorter declaratively created lists, by passing in `<zui-option>`'s.",
          "name": "ZuiSelectElement",
          "cssParts": [
            {
              "description": "For custom styling of the `select` element; this is exposed as a CSS shadow part and can be accessed with `::part(control)`",
              "name": "control"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_focusControlSelector",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_formValue",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(deprecated): use zui-select-dropdown or other similar components",
              "attribute": "multiple"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string | undefined"
              },
              "default": "null",
              "description": "Input placeholder (ghost) text",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "string"
              },
              "description": "(deprecated): use `value` instead",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The currently selected item",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a selection is required",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "_select",
              "type": {
                "text": "HTMLSelectElement"
              }
            },
            {
              "kind": "field",
              "name": "#resetValue",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "#zuiOptions",
              "privacy": "private",
              "type": {
                "text": "ZuiOptionElement[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "#nodeObserver",
              "privacy": "private",
              "type": {
                "text": "MutationObserver"
              }
            },
            {
              "kind": "field",
              "name": "selectedIndex",
              "type": {
                "text": "number"
              },
              "description": "Index, numerical value for selected option",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "item",
              "return": {
                "type": {
                  "text": "ZuiOptionElement | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Return a `ZuiOptionElement` based upon number index value passed in"
            },
            {
              "kind": "method",
              "name": "#getPlaceholderOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#setupMutationObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#defaultValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#selectedUpdate",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#determineSelected",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "The name of this element that is associated with form submission",
              "name": "name",
              "default": "null",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "name": "disabled",
              "default": "false",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "name": "readOnly",
              "default": "false",
              "kind": "field"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "If true, this element will be focused when connected to the document",
              "name": "autofocus",
              "default": "false",
              "kind": "field"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Event fires when a change to select occurs, contains details about `value` chosen"
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "string | undefined"
              },
              "description": "Input placeholder (ghost) text",
              "name": "placeholder",
              "default": "null",
              "fieldName": "placeholder"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "The name of this element that is associated with form submission",
              "name": "name",
              "default": "null"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "name": "disabled",
              "default": "false"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "name": "readonly",
              "default": "false"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "If true, this element will be focused when connected to the document",
              "name": "autofocus",
              "default": "false"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(deprecated): use zui-select-dropdown or other similar components",
              "fieldName": "multiple"
            },
            {
              "name": "selected",
              "type": {
                "text": "string"
              },
              "description": "(deprecated): use `value` instead",
              "fieldName": "selected"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The currently selected item",
              "fieldName": "value"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a selection is required",
              "fieldName": "required"
            }
          ],
          "superclass": {
            "name": "ZuiFormAssociatedElement",
            "package": "@zywave/zui-base"
          },
          "tagName": "zui-select",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiSelectElement",
          "declaration": {
            "name": "ZuiSelectElement",
            "module": "src/zui-select.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zui-select",
          "declaration": {
            "name": "ZuiSelectElement",
            "module": "src/zui-select.ts"
          }
        }
      ]
    }
  ]
}
