UNPKG

react-qif

Version:

Powerful filtering system for React.js applications

19 lines (18 loc) 714 B
import { Dispatch, SetStateAction } from 'react'; export type FiltersValue = Record<string, unknown>; export interface FiltersContextType<T extends FiltersValue> { filters: T; reset: () => void; isResetDisabled: boolean; unregister: (name: keyof T) => void; getValue: (name: keyof T) => unknown; setFilters: Dispatch<SetStateAction<T>>; setValue: (name: keyof T, value: unknown) => void; register: (name: keyof T, defaultValue: unknown) => void; } export interface FilterProviderProps<T extends FiltersValue> { filters: T; syncSearchParams?: boolean; setFilters: Dispatch<SetStateAction<T>>; onBeforStateChange?: (_: FiltersValue, reason: keyof T | 'clear') => T; }