{
  "version": "experimental",
  "tags": [
    {
      "name": "sp-dropdown",
      "path": "./sp-dropdown.d.ts",
      "attributes": [
        {
          "name": "focused",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "invalid",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "label",
          "type": "string | undefined"
        },
        {
          "name": "open",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "placement",
          "type": "\"auto\" | \"auto-start\" | \"auto-end\" | \"top\" | \"bottom\" | \"right\" | \"left\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"right-start\" | \"right-end\" | \"left-start\" | \"left-end\" | \"none\"",
          "default": "\"bottom-start\""
        },
        {
          "name": "quiet",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "value",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "selectedItemText",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "disabled",
          "description": "Disable this control. It will not receive focus or events",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "autofocus",
          "description": "When this control is rendered, focus it automatically",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "tabIndex",
          "description": "The tab index to apply to this control. See general documentation about\nthe tabindex HTML property",
          "type": "number"
        }
      ],
      "properties": [
        {
          "name": "openOverlay",
          "type": "(target: HTMLElement, interaction: TriggerInteractions, content: HTMLElement, options: OverlayOptions) => Promise<...>",
          "default": "\"async (\\n        target: HTMLElement,\\n        interaction: TriggerInteractions,\\n        content: HTMLElement,\\n        options: OverlayOptions\\n    ): Promise<() => void> => {\\n        return await openOverlay(target, interaction, content, options);\\n    }\""
        },
        {
          "name": "button",
          "type": "HTMLButtonElement"
        },
        {
          "name": "target",
          "type": "HTMLButtonElement | this"
        },
        {
          "name": "focused",
          "attribute": "focused",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "invalid",
          "attribute": "invalid",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "label",
          "attribute": "label",
          "type": "string | undefined"
        },
        {
          "name": "open",
          "attribute": "open",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "optionsMenu",
          "type": "Menu | undefined"
        },
        {
          "name": "placement",
          "attribute": "placement",
          "type": "\"auto\" | \"auto-start\" | \"auto-end\" | \"top\" | \"bottom\" | \"right\" | \"left\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"right-start\" | \"right-end\" | \"left-start\" | \"left-end\" | \"none\"",
          "default": "\"bottom-start\""
        },
        {
          "name": "quiet",
          "attribute": "quiet",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "value",
          "attribute": "value",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "selectedItemText",
          "attribute": "selectedItemText",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "onKeydown",
          "type": "(event: KeyboardEvent) => void",
          "default": "\"(event: KeyboardEvent): void => {\\n        if (event.code !== 'ArrowDown' && event.code !== 'ArrowUp') {\\n            return;\\n        }\\n        event.preventDefault();\\n        /* c8 ignore next 3 */\\n        if (!this.optionsMenu) {\\n            return;\\n        }\\n        this.open = true;\\n    }\""
        },
        {
          "name": "disabled",
          "attribute": "disabled",
          "description": "Disable this control. It will not receive focus or events",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "autofocus",
          "attribute": "autofocus",
          "description": "When this control is rendered, focus it automatically",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "tabIndex",
          "attribute": "tabIndex",
          "description": "The tab index to apply to this control. See general documentation about\nthe tabindex HTML property",
          "type": "number"
        },
        {
          "name": "focusElement",
          "type": "HTMLElement"
        },
        {
          "name": "shadowRoot",
          "type": "ShadowRoot"
        }
      ],
      "events": [
        {
          "name": "sp-open",
          "description": "Announces that the overlay has been opened"
        },
        {
          "name": "sp-close",
          "description": "Announces that the overlay has been closed"
        },
        {
          "name": "change"
        },
        {
          "name": "keydown"
        }
      ],
      "slots": [
        {
          "name": "label",
          "description": "The placeholder content for the dropdown"
        },
        {
          "name": "",
          "description": "The menu of options that will display when the dropdown is open"
        }
      ]
    }
  ]
}