UNPKG

slim-select

Version:

Slim advanced select dropdown

77 lines (76 loc) 2.26 kB
export type DataArray = DataObject[]; export type DataObject = Optgroup | Option; export type DataArrayPartial = DataObjectPartial[]; export type DataObjectPartial = OptgroupOptional | OptionOptional; type selectType = 'single' | 'multiple'; export interface OptgroupOptional { id?: string; label: string; selectAll?: boolean; closable?: 'off' | 'open' | 'close'; options?: OptionOptional[]; } export declare class Optgroup { id: string; label: string; selectAll: boolean; closable: 'off' | 'open' | 'close'; options: Option[]; constructor(optgroup: OptgroupOptional); } export interface OptionOptional { id?: string; value?: string; text: string; html?: string; selected?: boolean; display?: boolean; disabled?: boolean; mandatory?: boolean; placeholder?: boolean; class?: string; style?: string; data?: { [key: string]: string; }; } export declare class Option { id: string; value: string; text: string; html: string; selected: boolean; display: boolean; disabled: boolean; placeholder: boolean; class: string; style: string; data: { [key: string]: string; }; mandatory: boolean; constructor(option: OptionOptional); } export default class Store { private selectType; private data; constructor(type: selectType, data: DataArrayPartial); validateDataArray(data: DataArray | DataArrayPartial): Error | null; validateOption(option: Option | OptionOptional): Error | null; partialToFullData(data: DataArrayPartial): DataArray; setData(data: DataArray | DataArrayPartial): void; getData(): DataArray; getDataOptions(): Option[]; addOption(option: OptionOptional): void; setSelectedBy(selectedType: 'id' | 'value', selectedValues: string[]): void; getSelected(): string[]; getSelectedOptions(): Option[]; getSelectedIDs(): string[]; getOptgroupByID(id: string): Optgroup | null; getOptionByID(id: string): Option | null; search(search: string, searchFilter: (opt: Option, search: string) => boolean): DataArray; filter(filter: { (opt: Option): boolean; } | null, includeOptgroup: boolean): DataArray; } export {};