UNPKG

react-querybuilder

Version:

React Query Builder component for constructing queries and filters, with utilities for executing them in various database and evaluation contexts

38 lines (37 loc) 1.58 kB
import type { Classnames, Controls, FullField, QueryBuilderContextProps, RuleGroupTypeAny, Translations, TranslationsFull } from "../types/index.mjs"; export type UseMergedContextParams< F extends FullField = FullField, O extends string = string, Finalize extends boolean | undefined = undefined > = QueryBuilderContextProps<F, O> & { initialQuery?: RuleGroupTypeAny; qbId?: string; /** * When true, props and context are merged with defaults to ensure all properties * are defined. Action elements and value selectors are merged with their respective * bulk override components. Only needs to be true when run from `QueryBuilder`. */ finalize?: Finalize; }; export type UseMergedContextReturn< F extends FullField = FullField, O extends string = string, Finalize extends boolean | undefined = undefined > = QueryBuilderContextProps<F, O> & { initialQuery?: RuleGroupTypeAny; qbId?: string; } & { controlElements: Finalize extends true ? Controls<F, O> : Partial<Controls<F, O>>; controlClassnames: Classnames; translations: Finalize extends true ? TranslationsFull : Partial<Translations>; } & Required<Pick<QueryBuilderContextProps<F, O>, "debugMode" | "enableDragAndDrop" | "enableMountQueryChange">>; /** * Merges inherited context values with props, giving precedence to props. * * @group Hooks */ export declare const useMergedContext: < F extends FullField = FullField, O extends string = string, Finalize extends boolean | undefined = undefined >({ finalize,...props }: UseMergedContextParams<F, O, Finalize>) => UseMergedContextReturn<F, O, Finalize>;