UNPKG

slim-select

Version:

Slim advanced select dropdown

42 lines (41 loc) 1.61 kB
import { Optgroup, Option } from './store'; export default class Select { select: HTMLSelectElement; onValueChange?: (value: Option[]) => void; onClassChange?: (classes: string[]) => void; onDisabledChange?: (disabled: boolean) => void; onOptionsChange?: (data: (Option | Optgroup)[]) => void; onLabelClick?: () => void; private listen; private observer; private isUpdating; private pendingOptionsChange; private preventNativeSelect; private preventNativeSelectMousedown; private preventNativeSelectFocus; private restoreAriaHiddenOnBlur; constructor(select: HTMLSelectElement); enable(): void; disable(): void; hideUI(): void; showUI(): void; changeListen(listen: boolean): void; valueChange(ev: Event): boolean; private observeCall; getData(): (Option | Optgroup)[]; getDataFromOptgroup(optgroup: HTMLOptGroupElement): Optgroup; getDataFromOption(option: HTMLOptionElement): Option; getSelectedOptions(): Option[]; getSelectedValues(): string[]; /** True when every value has a matching native <option> (empty list is vacuously true). */ hasOptionValues(values: string[]): boolean; setSelected(ids: string[]): void; setSelectedByValue(values: string[]): void; updateSelect(id?: string, style?: string, classes?: string[]): void; updateOptions(data: (Option | Optgroup)[]): void; createOptgroup(optgroup: Optgroup): HTMLOptGroupElement; createOption(info: Option): HTMLOptionElement; setupLabelHandlers(): void; removeLabelHandlers(): void; destroy(): void; }