@furystack/shades-common-components
Version:
Common UI components for FuryStack Shades
23 lines • 1.07 kB
TypeScript
import type { ChildrenList } from '@furystack/shades';
import type { SuggestionResult } from './suggestion-result.js';
export * from './suggest-input.js';
export * from './suggest-manager.js';
export * from './suggestion-list.js';
export * from './suggestion-result.js';
type SuggestAsyncProps<T> = {
defaultPrefix: JSX.Element | string;
getEntries: (term: string) => Promise<T[]>;
getSuggestionEntry: (entry: T) => SuggestionResult;
onSelectSuggestion: (entry: T) => void;
style?: Partial<CSSStyleDeclaration>;
};
type SuggestSyncProps = {
defaultPrefix: JSX.Element | string;
/** Static list of string suggestions. Filtered client-side by the search term. When the term is empty, all suggestions are shown. */
suggestions: string[];
onSelectSuggestion: (entry: string) => void;
style?: Partial<CSSStyleDeclaration>;
};
export type SuggestProps<T> = SuggestAsyncProps<T> | SuggestSyncProps;
export declare const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX.Element<any>;
//# sourceMappingURL=index.d.ts.map