@jungle-commerce/typesense-react
Version:
React hooks and components for building search interfaces with Typesense
40 lines • 1.29 kB
TypeScript
/**
* @fileoverview Hook for managing UI state of facets (search, expansion, scroll position)
* that needs to persist across re-renders but not in the main search state.
*/
/**
* UI state for individual facets
*/
interface FacetUIState {
searchQuery: string;
isExpanded: boolean;
scrollTop: number;
}
/**
* Hook for managing facet UI state
* @returns Facet UI state and management functions
*/
export declare function useFacetState(): {
getFacetState: (field: string) => FacetUIState;
setFacetSearch: (field: string, query: string) => void;
toggleFacetExpansion: (field: string, expanded?: boolean) => void;
setFacetScroll: (field: string, scrollTop: number) => void;
resetFacetState: (field: string) => void;
resetAllFacetStates: () => void;
};
/**
* Hook for managing a single facet's UI state
* @param field - Facet field name
* @returns UI state and actions for the specific facet
*/
export declare function useSingleFacetState(field: string): {
searchQuery: string;
isExpanded: boolean;
scrollTop: number;
setSearch: (query: string) => void;
toggleExpansion: (expanded?: boolean) => void;
setScroll: (scrollTop: number) => void;
reset: () => void;
};
export {};
//# sourceMappingURL=useFacetState.d.ts.map