UNPKG

@furystack/shades-common-components

Version:

Common UI components for FuryStack Shades

29 lines 1.14 kB
import type { Injector } from '@furystack/inject'; import { EventHub, ObservableValue } from '@furystack/utils'; import type { SuggestionResult } from './suggestion-result.js'; export declare class SuggestManager<T> extends EventHub<{ onSelectSuggestion: T; }> implements Disposable { private readonly getEntries; private readonly getSuggestionEntry; isOpened: ObservableValue<boolean>; isLoading: ObservableValue<boolean>; term: ObservableValue<string>; selectedIndex: ObservableValue<number>; currentSuggestions: ObservableValue<{ entry: T; suggestion: SuggestionResult; }[]>; keyPressListener: (ev: KeyboardEvent) => void; element?: HTMLElement; clickOutsideListener: (ev: MouseEvent) => void; [Symbol.dispose](): void; selectSuggestion(index?: number): void; private lastGetSuggestionOptions?; getSuggestion: (options: { injector: Injector; term: string; }) => Promise<void>; constructor(getEntries: (term: string) => Promise<T[]>, getSuggestionEntry: (entry: T) => SuggestionResult); } //# sourceMappingURL=suggest-manager.d.ts.map