UNPKG

platina-core

Version:

UI Kit of SberMarketing

46 lines (45 loc) 1.52 kB
import { type Readable, type Writable } from 'svelte/store'; import type { Props, State, SearchBy, KeyBy, ComboboxDispatcher, LoadOptions } from './types'; import { type EventDispatcher } from 'svelte'; export declare class Combobox<T> { props: Props<T>; options: Writable<T[]>; selected: Writable<T[]>; stateMap: Writable<State>; search: Writable<string>; opened: Writable<boolean>; filtered: Readable<T[]>; ctxKey: string; multiple: boolean; disabled: Writable<boolean>; dispatch: EventDispatcher<ComboboxDispatcher<T>> | null; private lastOptions; private searchIndex; private selectedItems; groupBy: Props<T>['groupBy']; searchBy: SearchBy<T>; keyBy: KeyBy<T>; loadCallback: LoadOptions<T> | null; pageSize: number; searchDebounce: number; loading: Writable<boolean>; hasMore: Writable<boolean>; private currentSearch; private currentSkip; private abortController; private searchTimer; private lastDebouncedSearch; constructor({ selected, groupBy, searchBy, keyBy, multiple, config, disabled, loadOptions }: Props<T>); fetchFirstPage(search: string): Promise<void>; loadMore(): Promise<void>; destroy(): void; initDispatcher(element: HTMLElement | undefined): void; render(options: T[], { append }?: { append?: boolean; }): void; static get self(): Combobox<Option>; toggle(option: T): void; toggleAll(): void; isSelectedAll(): boolean; close(): void; }