@elacity-js/uikit
Version:
React / Material UI Design kit for Elacity project
30 lines (29 loc) • 859 B
TypeScript
import React from 'react';
declare type UseQueryHook<T> = (searchTerm: string, o: {
skip?: boolean;
}) => {
data: T;
isFetching?: boolean;
};
interface SearchContext<T> {
anchorEl?: React.MutableRefObject<HTMLDivElement>;
searchValue?: string;
onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
onTeardown?: () => void;
searching?: boolean;
hasWindow?: boolean;
openResult?: boolean;
result?: T;
}
declare const SearchContext: React.Context<SearchContext<unknown>>;
interface SearchProviderProps<T> {
minTerm?: number;
useQuery: UseQueryHook<T>;
}
export declare const SearchProvider: {
<T extends unknown>({ minTerm, useQuery, children }: React.PropsWithChildren<SearchProviderProps<T>>): JSX.Element;
defaultProps: {
minTerm: number;
};
};
export default SearchContext;