@helpwave/hightide
Version:
helpwave's component and theming library
23 lines (20 loc) • 725 B
TypeScript
import * as react from 'react';
type UseSearchProps<T> = {
list: T[];
searchMapping: (item: T) => string[];
initialSearch?: string;
additionalSearchTags?: string[];
isSearchInstant?: boolean;
sortingFunction?: (a: T, b: T) => number;
filter?: (item: T) => boolean;
disabled?: boolean;
};
declare const useSearch: <T>({ list, initialSearch, searchMapping, additionalSearchTags, isSearchInstant, sortingFunction, filter, disabled, }: UseSearchProps<T>) => {
result: T[];
hasResult: boolean;
allItems: T[];
updateSearch: (newSearch?: string) => void;
search: string;
setSearch: react.Dispatch<react.SetStateAction<string>>;
};
export { type UseSearchProps, useSearch };