UNPKG

slim-select

Version:

Slim advanced select dropdown

63 lines (62 loc) 2.42 kB
export declare class Option { id: string; value: string; text: string; html: string; defaultSelected: boolean; selected: boolean; display: boolean; disabled: boolean; placeholder: boolean; class: string; style: string; data: { [key: string]: string; }; mandatory: boolean; constructor(option: Partial<Option>); } export declare class Optgroup { id: string; label: string; selectAll: boolean; closable: 'off' | 'open' | 'close'; options: Partial<Option>[]; constructor(optgroup: Partial<Optgroup>); } export default class Store { private selectType; private data; private selectedOrder; /** Baseline option list — restored when search is cleared (API results are temporary). */ private catalog; constructor(type: 'single' | 'multiple', data: (Partial<Option> | Partial<Optgroup>)[]); validateDataArray(data: (Partial<Option> | Partial<Optgroup>)[]): Error | null; validateOption(option: Partial<Option>): Error | null; partialToFullData(data: (Partial<Option> | Partial<Optgroup>)[]): (Option | Optgroup)[]; /** Snapshot the current data as the catalog baseline (not called for API search results). */ snapshotCatalog(): void; /** Catalog baseline used when clearing search. */ getCatalogData(): (Option | Optgroup)[]; private cloneData; private optionMatchesSelected; private findOptionInData; setData(data: (Partial<Option> | Partial<Optgroup>)[], preserveSelected?: boolean): void; getData(clone?: boolean): Option[] | Optgroup[]; getDataOptions(clone?: boolean): Option[]; addOption(option: Partial<Option>, addToStart?: boolean): void; setSelectedBy(selectedType: 'id' | 'value', selectedValues: string[], allowEmptySelection?: boolean): void; getSelected(): string[]; getSelectedValues(): string[]; getSelectedOptions(): Option[]; getOptgroupByID(id: string): Optgroup | null; getOptionByID(id: string): Option | null; getSelectType(): string; getFirstOption(): Option | null; search(search: string, searchFilter: (opt: Option, search: string) => boolean): (Option | Optgroup)[]; private createOptgroupView; filter(filter: { (opt: Option): boolean; } | null, includeOptgroup: boolean, clone?: boolean): (Option | Optgroup)[]; selectedOrderOptions(options: Option[]): Option[]; }