import { createLinear } from "makeup-active-descendant"; import typeahead from "makeup-typeahead"; import type { WithNormalizedProps } from "../../global"; export interface ChangeEvent { index: number; wasClicked: boolean; selected: Option["value"][]; el: HTMLOptionElement; } export interface Option extends Omit { disabled?: boolean; text?: string; description?: Marko.AttrTag<{ renderBody?: Marko.Body; }>; icon?: Marko.AttrTag<{ renderBody?: Marko.Body; }>; } interface ListboxInput extends Omit { "list-selection"?: "auto" | "manual"; "typeahead-timeout-length"?: number; "a11y-selected-text"?: string; option?: Marko.AttrTag