select-pure
Version:
Custom JavaScript <select> component. Easy-to-use, accessible, mobile friendly and super efficient
53 lines • 1.75 kB
TypeScript
import { LitElement } from "lit";
import { Option } from "./../models";
export declare class SelectPure extends LitElement {
static get styles(): import("lit").CSSResultGroup;
options: Option[];
visible: boolean;
selectedOption: Option;
_selectedOptions: Option[];
disabled: boolean;
isMultipleSelect: boolean;
name: string;
_id: string;
formName: string;
value: string;
values: string[];
defaultLabel: string;
totalRenderedChildOptions: number;
nativeSelect: HTMLSelectElement;
private form;
private hiddenInput;
connectedCallback(): void;
open(): void;
close(event?: Event): void;
enable(): void;
disable(): void;
get selectedIndex(): number | undefined;
set selectedIndex(newSelectedIndex: number | undefined);
get selectedOptions(): HTMLCollectionOf<HTMLOptionElement>;
render(): import("lit-html").TemplateResult<1>;
private handleNativeSelectChange;
private getNativeOptionsHtml;
private getSingleNativeOptionHtml;
private isOptionSelected;
private openDropdownIfProperKeyIsPressed;
private getDisplayedLabel;
private getMultiSelectLabelHtml;
private getMultiSelectSelectedOptionHtml;
private fireOnSelectCallback;
private initializeSelect;
private processChildOptions;
private selectDefaultOptionIfNoneSelected;
private initializeSingleOption;
private removeEventListeners;
private appendHiddenInputToClosestForm;
private unselectAllOptions;
private selectOptionByValue;
private setSelectValue;
private dispatchChangeEvent;
private setMultiSelectValue;
private setSingleSelectValue;
private updateHiddenInputInForm;
}
//# sourceMappingURL=Select.d.ts.map