@jungle-commerce/typesense-react
Version:
React hooks and components for building search interfaces with Typesense
49 lines • 1.82 kB
TypeScript
import { UseAdvancedFacetsReturn } from '../types';
/**
* Hook for managing advanced faceting functionality
* @param onFacetChange - Optional callback when facets change
* @returns Advanced facets state and actions
*/
export declare function useAdvancedFacets(onFacetChange?: (filterType: string, field: string, value: any) => void): UseAdvancedFacetsReturn;
/**
* Helper function to parse filters from URL or saved state
* @param filterString - Filter string to parse
* @returns Parsed filter states
*/
export declare function parseFilters(filterString: string): {
disjunctiveFacets: import('..').DisjunctiveFacetState;
numericFilters: import('..').NumericFilterState;
selectiveFilters: import('..').SelectiveFilterState;
remainingFilters: string;
};
/**
* Helper function to check if a field has active filters
* @param field - Field name to check
* @param filters - Filter states
* @returns True if field has active filters
*/
export declare function hasActiveFilters(field: string, filters: {
disjunctiveFacets?: Record<string, string[]>;
numericFilters?: Record<string, {
min?: number;
max?: number;
}>;
dateFilters?: Record<string, {
start?: Date | string;
end?: Date | string;
}>;
selectiveFilters?: Record<string, string>;
customFilters?: Record<string, string[]>;
}): boolean;
/**
* Helper function to get active filter values for a field
* @param field - Field name
* @param filters - Filter states
* @returns Array of active filter values
*/
export declare function getActiveFilterValues(field: string, filters: {
disjunctiveFacets?: Record<string, string[]>;
selectiveFilters?: Record<string, string>;
customFilters?: Record<string, string[]>;
}): string[];
//# sourceMappingURL=useAdvancedFacets.d.ts.map