Skip to main content

Module: react-querybuilder

Namespaces

Interfaces

References

default

Renames and re-exports QueryBuilder

Type Aliases

AccessibleDescriptionGenerator

AccessibleDescriptionGenerator: (props: { path: Path ; qbId: string }) => string

Signature of accessibleDescriptionGenerator prop, used by QueryBuilder to generate accessible descriptions for each RuleGroup.

Type declaration

(props): string

Parameters
NameType
propsObject
props.pathPath
props.qbIdstring
Returns

string

Defined in

packages/react-querybuilder/src/types/basic.ts:287


Arity

Arity: number | "unary" | "binary" | "ternary"

Allowed values of the FullOperator property arity. A value of "unary" or a number less than two will cause the default ValueEditor to render null.

Defined in

packages/react-querybuilder/src/types/basic.ts:195


BaseOptionMap

BaseOptionMap<V, K>: { [k in K]?: ToFlexibleOption<V> }

Map of option identifiers to their respective Option.

Type parameters

NameType
Vextends BaseOption = BaseOption
Kextends string = GetOptionIdentifierType<V>

Defined in

packages/react-querybuilder/src/types/options.ts:141


Classname

Classname: string | string[] | Record<string, any>

String of classnames, array of classname strings, or object where the keys are classnames and those with truthy values will be included. Suitable for passing to the clsx package.

Defined in

packages/react-querybuilder/src/types/basic.ts:22


Combinator

Combinator<N>: WithUnknownIndex<SetOptional<BaseFullOption<N>, "value"> & HasOptionalClassName>

Combinator definition used in the combinators prop of QueryBuilder. This type is an extension of FullCombinator where only name and label are required.

The name/value properties of this interface can be narrowed with generics.

Type parameters

NameType
Nextends string = string

Defined in

packages/react-querybuilder/src/types/basic.ts:259


CombinatorByValue

CombinatorByValue<N>: WithUnknownIndex<SetOptional<BaseFullOption<N>, "name"> & HasOptionalClassName>

Combinator definition used in the combinators prop of QueryBuilder. This type is an extension of FullCombinator where only value and label are required.

The name/value properties of this interface can be narrowed with generics.

Type parameters

NameType
Nextends string = string

Defined in

packages/react-querybuilder/src/types/basic.ts:270


DefaultCombinator

DefaultCombinator: FullCombinator<DefaultCombinatorName>

A FullCombinator definition with a DefaultCombinatorName name property.

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:120


DefaultCombinatorExtended

DefaultCombinatorExtended: FullCombinator<DefaultCombinatorNameExtended>

A FullCombinator definition with a DefaultCombinatorNameExtended name property.

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:125


DefaultCombinatorName

DefaultCombinatorName: "and" | "or"

Default allowed values for the combinator property.

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:88


DefaultCombinatorNameExtended

DefaultCombinatorNameExtended: DefaultCombinatorName | "xor"

Default allowed values for the combinator property, plus "xor".

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:92


DefaultOperator

DefaultOperator: FullOperator<DefaultOperatorName>

An FullOperator definition with a DefaultOperatorName name property.

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:130


DefaultOperatorName

DefaultOperatorName: "=" | "!=" | "<" | ">" | "<=" | ">=" | "contains" | "beginsWith" | "endsWith" | "doesNotContain" | "doesNotBeginWith" | "doesNotEndWith" | "null" | "notNull" | "in" | "notIn" | "between" | "notBetween"

Default values for the operator property.

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:97


DefaultRuleGroupArray

DefaultRuleGroupArray<F>: RuleGroupArray<DefaultRuleGroupType, DefaultRuleType<F>>

The type of the rules array in a DefaultRuleGroupType.

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:64


DefaultRuleGroupICArray

DefaultRuleGroupICArray<F>: RuleGroupICArray<DefaultRuleGroupTypeIC<F>, DefaultRuleType<F>, DefaultCombinatorName>

The type of the rules array in a DefaultRuleGroupTypeIC.

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:52


DefaultRuleGroupType

DefaultRuleGroupType<F>: RuleGroupType<DefaultRuleType<F>, DefaultCombinatorNameExtended> & { rules: DefaultRuleGroupArray<F> }

RuleGroupType with the combinator property limited to DefaultCombinatorNameExtended and rules limited to DefaultRuleType.

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:73


DefaultRuleGroupTypeAny

DefaultRuleGroupTypeAny<F>: DefaultRuleGroupType<F> | DefaultRuleGroupTypeIC<F>

Shorthand for "either DefaultRuleGroupType or DefaultRuleGroupTypeIC".

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:77


DefaultRuleOrGroupArray

DefaultRuleOrGroupArray<F>: DefaultRuleGroupArray<F> | DefaultRuleGroupICArray<F>

Shorthand for "either DefaultRuleGroupArray or DefaultRuleGroupICArray".

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:61


DefaultRuleType

DefaultRuleType<F>: RuleType<F, DefaultOperatorName>

RuleType with the operator property limited to DefaultOperatorName.

Type parameters

NameType
Fextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:83


DndDropTargetType

DndDropTargetType: "rule" | "ruleGroup" | "inlineCombinator"

Defined in

packages/react-querybuilder/src/types/dnd.ts:5


DraggedItem

DraggedItem: RuleType & { path: Path } | RuleGroupTypeAny & { path: Path }

Defined in

packages/react-querybuilder/src/types/dnd.ts:7


DropEffect

DropEffect: "move" | "copy"

Defined in

packages/react-querybuilder/src/types/dnd.ts:9


ExportFormat

ExportFormat: "json" | "sql" | "json_without_ids" | "parameterized" | "parameterized_named" | "mongodb" | "cel" | "jsonlogic" | "spel" | "elasticsearch" | "jsonata"

Available export formats for formatQuery.

Defined in

packages/react-querybuilder/src/types/importExport.ts:11


Field

Field<FieldName, OperatorName, ValueName, OperatorObj>: WithUnknownIndex<{ value?: FieldName } & Pick<BaseFullField<FieldName, OperatorName, ValueName, OperatorObj>, Exclude<keyof BaseFullField, "value">>>

Field definition used in the fields prop of QueryBuilder. This type is an extension of FullField where only name and label are required.

The name/value, operators, and values properties of this interface can be narrowed with generics.

Type parameters

NameType
FieldNameextends string = string
OperatorNameextends string = string
ValueNameextends string = string
OperatorObjextends Option = Option<OperatorName>

Defined in

packages/react-querybuilder/src/types/basic.ts:134


FieldByValue

FieldByValue<FieldName, OperatorName, ValueName, OperatorObj>: WithUnknownIndex<{ name?: FieldName } & Pick<BaseFullField<FieldName, OperatorName, ValueName, OperatorObj>, Exclude<keyof BaseFullField, "name">>>

Field definition used in the fields prop of QueryBuilder. This type is an extension of FullField where only value and label are required.

The name/value, operators, and values properties of this interface can be narrowed with generics.

Type parameters

NameType
FieldNameextends string = string
OperatorNameextends string = string
ValueNameextends string = string
OperatorObjextends Option = Option<OperatorName>

Defined in

packages/react-querybuilder/src/types/basic.ts:154


FindPathReturnType

FindPathReturnType: RuleGroupTypeAny | RuleType | null

Return type for findPath.

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:8


FlexibleOption

FlexibleOption<N>: WithUnknownIndex<RequireAtLeastOne<BaseOption<N>, "name" | "value">>

A generic Option with either a name or value as its primary identifier. OptionList-type props on the QueryBuilder component accept this type, but corresponding props passed down to subcomponents will always be translated to FullOption first.

Type parameters

NameType
Nextends string = string

Defined in

packages/react-querybuilder/src/types/options.ts:54


FlexibleOptionGroup

FlexibleOptionGroup<Opt>: Object

A BaseOption group within a FlexibleOptionList.

Type parameters

NameType
Optextends BaseOption = BaseOption

Type declaration

NameType
labelstring
optionsOpt extends BaseFullOption ? Opt : ToFlexibleOption<Opt>[]

Defined in

packages/react-querybuilder/src/types/options.ts:111


FlexibleOptionList

FlexibleOptionList<Opt>: ToFlexibleOption<Opt>[] | FlexibleOptionGroup<ToFlexibleOption<Opt>>[]

An array of options or option groups, like OptionList, but each member may use either name or value as the primary identifier.

Type parameters

NameType
Optextends BaseOption

Defined in

packages/react-querybuilder/src/types/options.ts:125


FullOptionList

FullOptionList<Opt>: Opt extends BaseFullOption ? Opt[] | OptionGroup<Opt>[] : ToFullOption<Opt>[] | OptionGroup<ToFullOption<Opt>>[]

An array of options or option groups, like OptionList, but using FullOption instead of Option. This means that every member is guaranteed to have both name and value.

Type parameters

NameType
Optextends BaseOption

Defined in

packages/react-querybuilder/src/types/options.ts:134


FullOptionMap

FullOptionMap<V, K>: { [k in K]?: V }

Map of option identifiers to their respective FullOption.

Type parameters

NameType
Vextends BaseFullOption
Kextends string = GetOptionIdentifierType<V>

Defined in

packages/react-querybuilder/src/types/options.ts:151


FullOptionRecord

FullOptionRecord<V, K>: Record<K, V>

Map of option identifiers to their respective FullOption. Must include all possible strings from the identifier type.

Type parameters

NameType
Vextends BaseFullOption
Kextends string = GetOptionIdentifierType<V>

Defined in

packages/react-querybuilder/src/types/options.ts:162


GetCompatContextProviderProps

GetCompatContextProviderProps: Pick<QueryBuilderContextProps<FullField, string>, "controlClassnames" | "controlElements" | "translations"> & { key: string }

Defined in

packages/react-querybuilder/src/utils/getCompatContextProvider.tsx:8


GetOptionIdentifierType

GetOptionIdentifierType<Opt>: Opt extends Option<infer NameType> | ValueOption<infer NameType> ? NameType : string

Extracts the type of the identifying property from a BaseOption.

Type parameters

NameType
Optextends BaseOption

Defined in

packages/react-querybuilder/src/types/options.ts:12


GetOptionType

GetOptionType<OL>: OL extends FlexibleOptionList<infer Opt> ? Opt : never

Extracts the Option type from a FlexibleOptionList.

Type parameters

NameType
OLextends FlexibleOptionList<FullOption>

Defined in

packages/react-querybuilder/src/types/options.ts:6


GetRuleGroupType

GetRuleGroupType<RG>: RG extends { combinator: string } ? RuleGroupType : RuleGroupTypeIC

Determines if a type extending RuleGroupTypeAny is actually RuleGroupType or RuleGroupTypeIC.

Type parameters

Name
RG

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:85


GetRuleTypeFromGroupWithFieldAndOperator

GetRuleTypeFromGroupWithFieldAndOperator<RG, F, O>: RG extends RuleGroupType<infer RT> | RuleGroupTypeIC<infer RT> ? RT extends RuleType<infer RuleFieldName, infer RuleOperatorName, infer RuleValueName, infer RuleCombinatorName> ? RuleFieldName extends GetOptionIdentifierType<F> ? RuleOperatorName extends GetOptionIdentifierType<O> ? RuleType<RuleFieldName, RuleOperatorName, RuleValueName, RuleCombinatorName> : RuleType<RuleFieldName, GetOptionIdentifierType<O>, RuleValueName, RuleCombinatorName> : RuleOperatorName extends GetOptionIdentifierType<O> ? RuleType<GetOptionIdentifierType<F>, RuleOperatorName, RuleValueName, RuleCombinatorName> : RuleType<GetOptionIdentifierType<F>, GetOptionIdentifierType<O>, RuleValueName, RuleCombinatorName> : never : never

Determines the RuleType of a given RuleGroupType or RuleGroupTypeIC. If the field and operator name types of the rule type extend the identifier types of the provided Field and Operator types, the given rule type is returned as is. Otherwise, the rule type has its field and operator types narrowed to the identifier types of the provided Field and Operator types.

Type parameters

NameType
RGextends RuleGroupTypeAny
Fextends BaseOption
Oextends BaseOption

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:97


InputType

InputType: "button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week" | string &

HTML5 input types

Defined in

packages/react-querybuilder/src/types/basic.ts:56


JsonLogicAnd

JsonLogicAnd<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, "and">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:134


JsonLogicDoubleNegation

JsonLogicDoubleNegation: Pick<AllReservedOperationsInterface, "!!">

Defined in

node_modules/@types/json-logic-js/index.d.ts:129


JsonLogicEqual

JsonLogicEqual: Pick<AllReservedOperationsInterface, "==">

Defined in

node_modules/@types/json-logic-js/index.d.ts:124


JsonLogicGreaterThan

JsonLogicGreaterThan<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, ">">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:138


JsonLogicGreaterThanOrEqual

JsonLogicGreaterThanOrEqual<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, ">=">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:142


JsonLogicInArray

JsonLogicInArray<AddOps>: RenameToIn<Pick<AllReservedOperationsInterface<AddOps>, "inArray">>

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:210


JsonLogicInString

JsonLogicInString<AddOps>: RenameToIn<Pick<AllReservedOperationsInterface<AddOps>, "inString">>

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:213


JsonLogicLessThan

JsonLogicLessThan<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, "<">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:146


JsonLogicLessThanOrEqual

JsonLogicLessThanOrEqual<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, "<=">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:150


JsonLogicNegation

JsonLogicNegation: Pick<AllReservedOperationsInterface, "!">

Defined in

node_modules/@types/json-logic-js/index.d.ts:128


JsonLogicNotEqual

JsonLogicNotEqual: Pick<AllReservedOperationsInterface, "!=">

Defined in

node_modules/@types/json-logic-js/index.d.ts:126


JsonLogicOr

JsonLogicOr<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, "or">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:130


JsonLogicReservedOperations

JsonLogicReservedOperations: "var" | "missing" | "missing_some" | "if" | "==" | "===" | "!=" | "!==" | "!" | "!!" | "or" | "and" | ">" | ">=" | "<" | "<=" | "max" | "min" | "+" | "-" | "*" | "/" | "%" | "map" | "filter" | "reduce" | "all" | "none" | "some" | "merge" | "in" | "cat" | "substr" | "log"

Defined in

node_modules/@types/json-logic-js/index.d.ts:29


JsonLogicRulesLogic

JsonLogicRulesLogic<AddOps>: boolean | string | number | JsonLogicVar<AddOps> | JsonLogicMissing<AddOps> | JsonLogicMissingSome<AddOps> | JsonLogicIf | JsonLogicEqual | JsonLogicStrictEqual | JsonLogicNotEqual | JsonLogicStrictNotEqual | JsonLogicNegation | JsonLogicDoubleNegation | JsonLogicOr<AddOps> | JsonLogicAnd<AddOps> | JsonLogicGreaterThan<AddOps> | JsonLogicGreaterThanOrEqual<AddOps> | JsonLogicLessThan<AddOps> | JsonLogicLessThanOrEqual<AddOps> | JsonLogicMax<AddOps> | JsonLogicMin<AddOps> | JsonLogicSum<AddOps> | JsonLogicDifference<AddOps> | JsonLogicProduct<AddOps> | JsonLogicQuotient<AddOps> | JsonLogicRemainder<AddOps> | JsonLogicMap<AddOps> | JsonLogicFilter<AddOps> | JsonLogicReduce<AddOps> | JsonLogicAll<AddOps> | JsonLogicNone<AddOps> | JsonLogicSome<AddOps> | JsonLogicMerge<AddOps> | JsonLogicInArray<AddOps> | JsonLogicInString<AddOps> | JsonLogicCat<AddOps> | JsonLogicSubstr<AddOps> | JsonLogicLog<AddOps> | AddOps

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:229


JsonLogicStrictEqual

JsonLogicStrictEqual: Pick<AllReservedOperationsInterface, "===">

Defined in

node_modules/@types/json-logic-js/index.d.ts:125


JsonLogicStrictNotEqual

JsonLogicStrictNotEqual: Pick<AllReservedOperationsInterface, "!==">

Defined in

node_modules/@types/json-logic-js/index.d.ts:127


JsonLogicVar

JsonLogicVar<AddOps>: Pick<AllReservedOperationsInterface<AddOps>, "var">

Type parameters

NameType
AddOpsextends AdditionalOperation = never

Defined in

node_modules/@types/json-logic-js/index.d.ts:111


Operator

Operator<N>: WithUnknownIndex<SetOptional<BaseFullOption<N>, "value"> & HasOptionalClassName & { arity?: Arity }>

Operator definition used in the operators/getOperators props of QueryBuilder. This type is an extension of FullOperator where only name and label are required.

The name/value properties of this interface can be narrowed with generics.

Type parameters

NameType
Nextends string = string

Defined in

packages/react-querybuilder/src/types/basic.ts:219


OperatorByValue

OperatorByValue<N>: WithUnknownIndex<SetOptional<BaseFullOption<N>, "name"> & HasOptionalClassName & { arity?: Arity }>

Operator definition used in the operators/getOperators props of QueryBuilder. This type is an extension of FullOperator where only value and label are required.

The name/value properties of this interface can be narrowed with generics.

Type parameters

NameType
Nextends string = string

Defined in

packages/react-querybuilder/src/types/basic.ts:233


OptionList

OptionList<Opt>: Opt[] | OptionGroup<Opt>[]

Either an array of Option or an array of OptionGroup.

Type parameters

NameType
Optextends Option = Option

Defined in

packages/react-querybuilder/src/types/options.ts:119


ParseNumbersMethod

ParseNumbersMethod: boolean | "enhanced" | "native" | "strict"

Methods used by parseNumbers.

  • false avoids parsing
  • true/"enhanced" (default) uses numeric-quantity
  • "strict" is the same as true, but bails out when trailing invalid characters are present
  • "native" forces the use of parseFloat, returning NaN when parsing fails

Defined in

packages/react-querybuilder/src/types/basic.ts:281


Path

Path: number[]

See

https://react-querybuilder.js.org/docs/tips/path

Defined in

packages/react-querybuilder/src/types/basic.ts:14


QueryBuilderContextProvider

QueryBuilderContextProvider<ExtraProps>: ComponentType<QueryBuilderContextProviderProps & ExtraProps>

Type parameters

NameType
ExtraPropsextends object = Record<string, any>

Defined in

packages/react-querybuilder/src/types/propsUsingReact.ts:495


QueryBuilderContextProviderProps

QueryBuilderContextProviderProps: QueryBuilderContextProps<FullField, string> & { children?: ReactNode }

Defined in

packages/react-querybuilder/src/types/propsUsingReact.ts:491


QueryBuilderProps

QueryBuilderProps<RG, F, O, C>: RG extends RuleGroupType<infer R> | RuleGroupTypeIC<infer R> ? QueryBuilderContextProps<F, GetOptionIdentifierType<O>> & { accessibleDescriptionGenerator?: AccessibleDescriptionGenerator ; addRuleToNewGroups?: boolean ; autoSelectField?: boolean ; autoSelectOperator?: boolean ; combinators?: FlexibleOptionList<C> ; context?: any ; defaultQuery?: RG ; disabled?: boolean | Path[] ; fields?: FlexibleOptionList<F> | BaseOptionMap<F, GetOptionIdentifierType<F>> ; getDefaultField?: GetOptionIdentifierType<F> | (fieldsData: FullOptionList<F>) => string ; getDefaultOperator?: GetOptionIdentifierType<O> | (field: GetOptionIdentifierType<F>, misc: { fieldData: F }) => string ; idGenerator?: () => string ; independentCombinators?: boolean ; listsAsArrays?: boolean ; operators?: FlexibleOptionList<O> ; parseNumbers?: ParseNumbersMethod ; query?: RG ; resetOnFieldChange?: boolean ; resetOnOperatorChange?: boolean ; showCloneButtons?: boolean ; showCombinatorsBetweenRules?: boolean ; showLockButtons?: boolean ; showNotToggle?: boolean ; showShiftActions?: boolean ; validator?: QueryValidator ; getDefaultValue?: (rule: R, misc: { fieldData: F }) => any ; getInputType?: (field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, misc: { fieldData: F }) => null | InputType ; getOperators?: (field: GetOptionIdentifierType<F>, misc: { fieldData: F }) => null | FlexibleOptionList<FullOperator<string>> ; getRuleClassname?: (rule: R, misc: { fieldData: F }) => Classname ; getRuleGroupClassname?: (ruleGroup: RG<RG>) => Classname ; getValueEditorSeparator?: (field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, misc: { fieldData: F }) => ReactNode ; getValueEditorType?: (field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, misc: { fieldData: F }) => ValueEditorType ; getValueSources?: (field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, misc: { fieldData: F }) => ValueSources ; getValues?: (field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, misc: { fieldData: F }) => FlexibleOptionList<Option<string>> ; onAddGroup?: (ruleGroup: RG<RG>, parentPath: Path, query: RG<RG>, context?: any) => false | RG<RG> ; onAddRule?: (rule: R, parentPath: Path, query: RG<RG>, context?: any) => false | RuleType<string, string, any, string> ; onLog?: (obj: any) => void ; onQueryChange?: (query: RG<RG>) => void ; onRemove?: (ruleOrGroup: R | RG<RG>, path: Path, query: RG<RG>, context?: any) => boolean } : never

Props for QueryBuilder.

Notes:

  • Only one of query or defaultQuery should be provided. If query is present, then defaultQuery should be undefined and vice versa.
  • If rendered initially with a query prop, then query must be defined in every subsequent render or warnings will be logged (in non-production modes only).

Type parameters

NameType
RGextends RuleGroupTypeAny
Fextends FullField
Oextends FullOperator
Cextends FullCombinator

Defined in

packages/react-querybuilder/src/types/propsUsingReact.ts:507


QueryValidator

QueryValidator: (query: RuleGroupTypeAny) => boolean | ValidationMap

Function that validates a query.

Type declaration

(query): boolean | ValidationMap

Parameters
NameType
queryRuleGroupTypeAny
Returns

boolean | ValidationMap

Defined in

packages/react-querybuilder/src/types/validation.ts:21


RQBJsonLogic

RQBJsonLogic: JsonLogicRulesLogic<RQBJsonLogicStartsWith | RQBJsonLogicEndsWith>

JsonLogic rule object with additional operators generated by formatQuery and accepted by parseJsonLogic.

Defined in

packages/react-querybuilder/src/types/importExport.ts:249


RqbState

RqbState: Object

Type declaration

NameType
queriesReturnType<typeof queriesSlice.getInitialState>

Defined in

packages/react-querybuilder/src/redux/index.ts:8


RuleGroupArray

RuleGroupArray<RG, R>: (R | RG)[]

The type of the rules array in a RuleGroupType.

Type parameters

NameType
RGextends RuleGroupType = RuleGroupType
Rextends RuleType = RuleType

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:47


RuleGroupICArray

RuleGroupICArray<RG, R, C>: [R | RG] | [R | RG, ...MappedTuple<[C, R | RG]>] | (R | RG)[] & { length: 0 }

The type of the rules array in a RuleGroupTypeIC.

Type parameters

NameType
RGextends RuleGroupTypeIC = RuleGroupTypeIC
Rextends RuleType = RuleType
Cextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:38


RuleGroupTypeAny

RuleGroupTypeAny<R, C>: RuleGroupType<R, C> | RuleGroupTypeIC<R, C>

Shorthand for "either RuleGroupType or RuleGroupTypeIC".

Type parameters

NameType
Rextends RuleType = RuleType
Cextends string = string

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:31


RuleOrGroupArray

RuleOrGroupArray: RuleGroupArray | RuleGroupICArray

Shorthand for "either RuleGroupArray or RuleGroupICArray".

Defined in

packages/react-querybuilder/src/types/ruleGroupsIC.ts:47


RuleProcessor

RuleProcessor: (rule: RuleType, options?: ValueProcessorOptions, meta?: { processedParams?: Record<string, any> | any[] }) => any

Function to produce a result that formatQuery uses when processing a RuleType object.

See the default rule processor for each format to know what type to return.

FormatDefault rule processor
sqldefaultRuleProcessorSQL
parameterizeddefaultRuleProcessorParameterized
parameterized_nameddefaultRuleProcessorParameterized
mongodbdefaultRuleProcessorMongoDB
celdefaultRuleProcessorCEL
speldefaultRuleProcessorSpEL
jsonlogicdefaultRuleProcessorJsonLogic
elasticsearchdefaultRuleProcessorElasticSearch
jsonatadefaultRuleProcessorJSONata

Type declaration

(rule, options?, meta?): any

Parameters
NameType
ruleRuleType
options?ValueProcessorOptions
meta?Object
meta.processedParams?Record<string, any> | any[]
Returns

any

Defined in

packages/react-querybuilder/src/types/importExport.ts:201


RuleValidator

RuleValidator: (rule: RuleType) => boolean | ValidationResult

Function that validates a rule.

Type declaration

(rule): boolean | ValidationResult

Parameters
NameType
ruleRuleType
Returns

boolean | ValidationResult

Defined in

packages/react-querybuilder/src/types/validation.ts:26


ToFlexibleOption

ToFlexibleOption<Opt>: WithUnknownIndex<RequireAtLeastOne<Opt, "name" | "value">>

Utility type to turn an Option into a BaseOption.

Type parameters

NameType
Optextends BaseOption

Defined in

packages/react-querybuilder/src/types/options.ts:61


ToFullOption

ToFullOption<Opt>: Opt extends BaseFullOption ? Opt : Opt extends BaseOption<infer IdentifierType> ? WithUnknownIndex<Opt & FullOption<IdentifierType>> : never

Utility type to turn an Option, ValueOption or BaseOption into a FullOption.

Type parameters

NameType
Optextends BaseOption

Defined in

packages/react-querybuilder/src/types/options.ts:89


TranslationsFull

TranslationsFull: { [K in keyof Translations]: { [T in keyof Translations[K]]-?: string } }

The full translations interface with all properties required.

Defined in

packages/react-querybuilder/src/types/props.ts:317


UpdateableProperties

UpdateableProperties: Exclude<keyof RuleType & RuleGroupType, "id" | "path" | "rules">

All updateable properties of rules and groups (everything except id, path, and rules).

Defined in

packages/react-querybuilder/src/types/ruleGroups.ts:56


UseMergedContextProps

UseMergedContextProps<F, O>: QueryBuilderContextProps<F, O>

Type parameters

NameType
Fextends FullField = FullField
Oextends string = string

Defined in

packages/react-querybuilder/src/hooks/useMergedContext.ts:17


UseValueEditorParams

UseValueEditorParams: Pick<ValueEditorProps, "handleOnChange" | "inputType" | "operator" | "value" | "listsAsArrays" | "type" | "values" | "parseNumbers" | "skipHook">

Defined in

packages/react-querybuilder/src/hooks/useValueEditor.ts:6


UseValueSelectorParams

UseValueSelectorParams: Pick<ValueSelectorProps, "handleOnChange" | "listsAsArrays" | "multiple" | "value">

Defined in

packages/react-querybuilder/src/hooks/useValueSelector.ts:5


ValidationMap

ValidationMap: Record<string, boolean | ValidationResult>

Map of rule/group id to its respective ValidationResult.

Defined in

packages/react-querybuilder/src/types/validation.ts:16


ValueEditorType

ValueEditorType: "text" | "select" | "checkbox" | "radio" | "textarea" | "switch" | "multiselect" | null

Type of ValueEditor that will be displayed.

Defined in

packages/react-querybuilder/src/types/basic.ts:32


ValueProcessor

ValueProcessor: ValueProcessorLegacy

Defined in

packages/react-querybuilder/src/types/importExport.ts:182


ValueProcessorByRule

ValueProcessorByRule: (rule: RuleType, options?: ValueProcessorOptions) => string

Function that produces a processed value for a given RuleType.

Type declaration

(rule, options?): string

Parameters
NameType
ruleRuleType
options?ValueProcessorOptions
Returns

string

Defined in

packages/react-querybuilder/src/types/importExport.ts:168


ValueProcessorLegacy

ValueProcessorLegacy: (field: string, operator: string, value: any, valueSource?: ValueSource) => string

Function that produces a processed value for a given field, operator, value, and valueSource.

Type declaration

(field, operator, value, valueSource?): string

Parameters
NameType
fieldstring
operatorstring
valueany
valueSource?ValueSource
Returns

string

Defined in

packages/react-querybuilder/src/types/importExport.ts:174


ValueSource

ValueSource: "value" | "field"

A source for the value property of a rule.

Defined in

packages/react-querybuilder/src/types/basic.ts:27


ValueSources

ValueSources: ["value"] | ["value", "field"] | ["field", "value"] | ["field"]

A valid array of potential value sources.

See

ValueSource

Defined in

packages/react-querybuilder/src/types/basic.ts:47


VersatileSelectorProps

VersatileSelectorProps: ValueSelectorProps & Partial<FieldSelectorProps<FullField>> & Partial<OperatorSelectorProps> & Partial<CombinatorSelectorProps>

Utility type representing props for selector components that could potentially be any of the standard selector types.

Defined in

packages/react-querybuilder/src/types/props.ts:142


WithRequired

WithRequired<T, K>: T & { [P in K]-?: T[P] }

Utility type to make one or more properties required.

Type parameters

NameType
TT
Kextends keyof T

Defined in

packages/react-querybuilder/src/types/basic.ts:189


WithUnknownIndex

WithUnknownIndex<T>: T & { [key: string]: unknown; }

Adds an unknown index property to an interface.

Type parameters

Name
T

Defined in

packages/react-querybuilder/src/types/options.ts:21

Variables

LogType

Const LogType: Object

Type declaration

NameType
add"rule or group added"
move"rule or group moved"
onAddGroupFalse"onAddGroup callback returned false"
onAddRuleFalse"onAddRule callback returned false"
onRemoveFalse"onRemove callback returned false"
parentPathDisabled"action aborted: parent path disabled"
pathDisabled"action aborted: path is disabled"
queryUpdate"query updated"
remove"rule or group removed"
update"rule or group updated"

Defined in

packages/react-querybuilder/src/defaults.ts:299


QueryBuilderContext

Const QueryBuilderContext: Context<QueryBuilderContextProps<any, any>>

Context provider for QueryBuilder. Any descendant query builders will inherit the props from a context provider.

Defined in

packages/react-querybuilder/src/components/QueryBuilderContext.ts:9


QueryBuilderStateContext

Const QueryBuilderStateContext: Context<null | ReactReduxContextValue<RqbState, UnknownAction>>

Defined in

packages/react-querybuilder/src/redux/index.ts:25


TestID

Const TestID: Object

Component identifiers for testing.

Type declaration

NameType
addGroup"add-group"
addRule"add-rule"
cloneGroup"clone-group"
cloneRule"clone-rule"
combinators"combinators"
dragHandle"drag-handle"
fields"fields"
inlineCombinator"inline-combinator"
lockGroup"lock-group"
lockRule"lock-rule"
notToggle"not-toggle"
operators"operators"
removeGroup"remove-group"
removeRule"remove-rule"
rule"rule"
ruleGroup"rule-group"
shiftActions"shift-actions"
valueEditor"value-editor"
valueSourceSelector"value-source-selector"

Defined in

packages/react-querybuilder/src/defaults.ts:277


defaultCombinators

Const defaultCombinators: ({ label: "AND" = 'AND'; name: "and" = 'and'; value: "and" = 'and' } | { label: "OR" = 'OR'; name: "or" = 'or'; value: "or" = 'or' })[]

Default combinator list.

Defined in

packages/react-querybuilder/src/defaults.ts:184


defaultCombinatorsExtended

Const defaultCombinatorsExtended: ({ label: "AND" = 'AND'; name: "and" = 'and'; value: "and" = 'and' } | { label: "OR" = 'OR'; name: "or" = 'or'; value: "or" = 'or' } | { label: "XOR" = 'XOR'; name: "xor" = 'xor'; value: "xor" = 'xor' })[]

Default combinator list, with XOR added.

Defined in

packages/react-querybuilder/src/defaults.ts:193


defaultControlClassnames

Const defaultControlClassnames: Object

Default classnames for each component.

Type declaration

NameType
actionElementstring
addGroupstring
addRulestring
bodystring
cloneGroupstring
cloneRulestring
combinatorsstring
dragHandlestring
fieldsstring
headerstring
lockGroupstring
lockRulestring
notTogglestring
operatorsstring
queryBuilderstring
removeGroupstring
removeRulestring
rulestring
ruleGroupstring
shiftActionsstring
valuestring
valueSelectorstring
valueSourcestring

Defined in

packages/react-querybuilder/src/defaults.ts:239


defaultControlElements

Const defaultControlElements: Object

Default components used by QueryBuilder.

Type declaration

NameType
actionElement(__namedParameters: ActionProps) => Element
actionElement.displayNamestring
addGroupAction(__namedParameters: ActionProps) => Element
addGroupAction.displayNamestring
addRuleAction(__namedParameters: ActionProps) => Element
addRuleAction.displayNamestring
cloneGroupAction(__namedParameters: ActionProps) => Element
cloneGroupAction.displayNamestring
cloneRuleAction(__namedParameters: ActionProps) => Element
cloneRuleAction.displayNamestring
combinatorSelector<Opt>(__namedParameters: ValueSelectorProps<Opt>) => Element
combinatorSelector.displayNamestring
dragHandleForwardRefExoticComponent<DragHandleProps & RefAttributes<HTMLSpanElement>>
fieldSelector<Opt>(__namedParameters: ValueSelectorProps<Opt>) => Element
fieldSelector.displayNamestring
inlineCombinator(__namedParameters: InlineCombinatorProps) => Element
inlineCombinator.displayNamestring
lockGroupAction(__namedParameters: ActionProps) => Element
lockGroupAction.displayNamestring
lockRuleAction(__namedParameters: ActionProps) => Element
lockRuleAction.displayNamestring
notToggle(__namedParameters: NotToggleProps) => Element
notToggle.displayNamestring
operatorSelector<Opt>(__namedParameters: ValueSelectorProps<Opt>) => Element
operatorSelector.displayNamestring
removeGroupAction(__namedParameters: ActionProps) => Element
removeGroupAction.displayNamestring
removeRuleAction(__namedParameters: ActionProps) => Element
removeRuleAction.displayNamestring
ruleMemoExoticComponent<(props: RuleProps<string, string>) => Element>
ruleGroupMemoExoticComponent<(props: RuleGroupProps<FullOption<string>, string>) => Element>
shiftActions(__namedParameters: ShiftActionsProps) => Element
shiftActions.displayNamestring
valueEditor<F>(allProps: ValueEditorProps<F, string>) => null | Element
valueEditor.displayNamestring
valueSelector<Opt>(__namedParameters: ValueSelectorProps<Opt>) => Element
valueSelector.displayNamestring
valueSourceSelector<Opt>(__namedParameters: ValueSelectorProps<Opt>) => Element
valueSourceSelector.displayNamestring

Defined in

packages/react-querybuilder/src/components/defaults.ts:15


defaultJoinChar

Const defaultJoinChar: ","

Default character used to .join and .split arrays.

Defined in

packages/react-querybuilder/src/defaults.ts:43


defaultOperatorNegationMap

Const defaultOperatorNegationMap: Object

Map of default operators to their respective opposite/negating operators.

Type declaration

NameType
!="="
<">="
<=">"
="!="
>"<="
>="<"
beginsWith"doesNotBeginWith"
between"notBetween"
contains"doesNotContain"
doesNotBeginWith"beginsWith"
doesNotContain"contains"
doesNotEndWith"endsWith"
endsWith"doesNotEndWith"
in"notIn"
notBetween"between"
notIn"in"
notNull"null"
null"notNull"

Defined in

packages/react-querybuilder/src/defaults.ts:159


defaultOperators

Const defaultOperators: ({ label: "=" = '='; name: "=" = '='; value: "=" = '=' } | { label: "!=" = '!='; name: "!=" = '!='; value: "!=" = '!=' } | { label: "<" = '<'; name: "<" = '<'; value: "<" = '<' } | { label: ">" = '>'; name: ">" = '>'; value: ">" = '>' } | { label: "<=" = '<='; name: "<=" = '<='; value: "<=" = '<=' } | { label: ">=" = '>='; name: ">=" = '>='; value: ">=" = '>=' } | { label: "contains" = 'contains'; name: "contains" = 'contains'; value: "contains" = 'contains' } | { label: "begins with" = 'begins with'; name: "beginsWith" = 'beginsWith'; value: "beginsWith" = 'beginsWith' } | { label: "ends with" = 'ends with'; name: "endsWith" = 'endsWith'; value: "endsWith" = 'endsWith' } | { label: "does not contain" = 'does not contain'; name: "doesNotContain" = 'doesNotContain'; value: "doesNotContain" = 'doesNotContain' } | { label: "does not begin with" = 'does not begin with'; name: "doesNotBeginWith" = 'doesNotBeginWith'; value: "doesNotBeginWith" = 'doesNotBeginWith' } | { label: "does not end with" = 'does not end with'; name: "doesNotEndWith" = 'doesNotEndWith'; value: "doesNotEndWith" = 'doesNotEndWith' } | { label: "is null" = 'is null'; name: "null" = 'null'; value: "null" = 'null' } | { label: "is not null" = 'is not null'; name: "notNull" = 'notNull'; value: "notNull" = 'notNull' } | { label: "in" = 'in'; name: "in" = 'in'; value: "in" = 'in' } | { label: "not in" = 'not in'; name: "notIn" = 'notIn'; value: "notIn" = 'notIn' } | { label: "between" = 'between'; name: "between" = 'between'; value: "between" = 'between' } | { label: "not between" = 'not between'; name: "notBetween" = 'notBetween'; value: "notBetween" = 'notBetween' })[]

Default operator list.

Defined in

packages/react-querybuilder/src/defaults.ts:134


defaultPlaceholderFieldGroupLabel

Const defaultPlaceholderFieldGroupLabel: "------"

Default label for placeholder option group in the fields array.

Defined in

packages/react-querybuilder/src/defaults.ts:26


defaultPlaceholderFieldLabel

Const defaultPlaceholderFieldLabel: "------"

Default label for placeholder option in the fields array.

Defined in

packages/react-querybuilder/src/defaults.ts:22


defaultPlaceholderFieldName

Const defaultPlaceholderFieldName: "~"

Default name for placeholder option in the fields array.

Defined in

packages/react-querybuilder/src/defaults.ts:18


defaultPlaceholderOperatorGroupLabel

Const defaultPlaceholderOperatorGroupLabel: "------"

Default label for placeholder option group in the operators array.

Defined in

packages/react-querybuilder/src/defaults.ts:38


defaultPlaceholderOperatorLabel

Const defaultPlaceholderOperatorLabel: "------"

Default label for placeholder option in the operators array.

Defined in

packages/react-querybuilder/src/defaults.ts:34


defaultPlaceholderOperatorName

Const defaultPlaceholderOperatorName: "~"

Default name for placeholder option in the operators array.

Defined in

packages/react-querybuilder/src/defaults.ts:30


defaultTranslations

Const defaultTranslations: Object

Default configuration of translatable strings.

Type declaration

NameType
addGroup{ label: "+ Group" = '+ Group'; title: "Add group" = 'Add group' }
addGroup.label"+ Group"
addGroup.title"Add group"
addRule{ label: "+ Rule" = '+ Rule'; title: "Add rule" = 'Add rule' }
addRule.label"+ Rule"
addRule.title"Add rule"
cloneRule{ label: "⧉" = '⧉'; title: "Clone rule" = 'Clone rule' }
cloneRule.label"⧉"
cloneRule.title"Clone rule"
cloneRuleGroup{ label: "⧉" = '⧉'; title: "Clone group" = 'Clone group' }
cloneRuleGroup.label"⧉"
cloneRuleGroup.title"Clone group"
combinators{ title: "Combinators" = 'Combinators' }
combinators.title"Combinators"
dragHandle{ label: "⁞⁞" = '⁞⁞'; title: "Drag handle" = 'Drag handle' }
dragHandle.label"⁞⁞"
dragHandle.title"Drag handle"
fields{ placeholderGroupLabel: "------" = defaultPlaceholderFieldGroupLabel; placeholderLabel: "------" = defaultPlaceholderFieldLabel; placeholderName: "~" = defaultPlaceholderFieldName; title: "Fields" = 'Fields' }
fields.placeholderGroupLabel"------"
fields.placeholderLabel"------"
fields.placeholderName"~"
fields.title"Fields"
lockGroup{ label: "🔓" = '🔓'; title: "Lock group" = 'Lock group' }
lockGroup.label"🔓"
lockGroup.title"Lock group"
lockGroupDisabled{ label: "🔒" = '🔒'; title: "Unlock group" = 'Unlock group' }
lockGroupDisabled.label"🔒"
lockGroupDisabled.title"Unlock group"
lockRule{ label: "🔓" = '🔓'; title: "Lock rule" = 'Lock rule' }
lockRule.label"🔓"
lockRule.title"Lock rule"
lockRuleDisabled{ label: "🔒" = '🔒'; title: "Unlock rule" = 'Unlock rule' }
lockRuleDisabled.label"🔒"
lockRuleDisabled.title"Unlock rule"
notToggle{ label: "Not" = 'Not'; title: "Invert this group" = 'Invert this group' }
notToggle.label"Not"
notToggle.title"Invert this group"
operators{ placeholderGroupLabel: "------" = defaultPlaceholderOperatorGroupLabel; placeholderLabel: "------" = defaultPlaceholderOperatorLabel; placeholderName: "~" = defaultPlaceholderOperatorName; title: "Operators" = 'Operators' }
operators.placeholderGroupLabel"------"
operators.placeholderLabel"------"
operators.placeholderName"~"
operators.title"Operators"
removeGroup{ label: "⨯" = '⨯'; title: "Remove group" = 'Remove group' }
removeGroup.label"⨯"
removeGroup.title"Remove group"
removeRule{ label: "⨯" = '⨯'; title: "Remove rule" = 'Remove rule' }
removeRule.label"⨯"
removeRule.title"Remove rule"
shiftActionDown{ label: "˅" = '˅'; title: "Shift down" = 'Shift down' }
shiftActionDown.label"˅"
shiftActionDown.title"Shift down"
shiftActionUp{ label: "˄" = '˄'; title: "Shift up" = 'Shift up' }
shiftActionUp.label"˄"
shiftActionUp.title"Shift up"
value{ title: "Value" = 'Value' }
value.title"Value"
valueSourceSelector{ title: "Value source" = 'Value source' }
valueSourceSelector.title"Value source"

Defined in

packages/react-querybuilder/src/defaults.ts:49


groupInvalidReasons

Const groupInvalidReasons: Object

Default reason codes for a group being invalid.

Type declaration

NameType
empty"empty"
invalidCombinator"invalid combinator"
invalidIndependentCombinators"invalid independent combinators"

Defined in

packages/react-querybuilder/src/defaults.ts:268


jsonLogicAdditionalOperators

Const jsonLogicAdditionalOperators: Object

Register these operators with jsonLogic before applying the result of formatQuery(query, 'jsonlogic').

Example

for (const [op, func] of Object.entries(jsonLogicAdditionalOperators)) {
jsonLogic.add_operation(op, func);
}
jsonLogic.apply({ "startsWith": [{ "var": "firstName" }, "Stev"] }, data);

Type declaration

NameType
endsWith(a: string, b: string) => boolean
startsWith(a: string, b: string) => boolean

Defined in

packages/react-querybuilder/src/utils/formatQuery/utils.ts:62


numericRegex

Const numericRegex: RegExp

Regex matching numeric strings. Passes for positive/negative integers, decimals, and E notation, with optional surrounding whitespace.

Defined in

packages/react-querybuilder/src/utils/misc.ts:7


queryBuilderStore

Const queryBuilderStore: EnhancedStore<{ queries: QueriesSliceState = queriesSlice.reducer }, UnknownAction, Tuple<[StoreEnhancer<{ dispatch: ThunkDispatch<{ queries: QueriesSliceState = queriesSlice.reducer }, undefined, UnknownAction> }>, StoreEnhancer]>>

Defined in

packages/react-querybuilder/src/redux/index.ts:11


rootPath

Const rootPath: never[]

The Path of the root group.

Defined in

packages/react-querybuilder/src/components/QueryBuilder.tsx:20


standardClassnames

Const standardClassnames: Object

Standard classnames applied to each component.

Type declaration

NameType
addGroup"ruleGroup-addGroup"
addRule"ruleGroup-addRule"
betweenRules"betweenRules"
body"ruleGroup-body"
branches"queryBuilder-branches"
cloneGroup"ruleGroup-cloneGroup"
cloneRule"rule-cloneRule"
combinators"ruleGroup-combinators"
disabled"queryBuilder-disabled"
dndCopy"dndCopy"
dndDragging"dndDragging"
dndOver"dndOver"
dragHandle"queryBuilder-dragHandle"
fields"rule-fields"
header"ruleGroup-header"
invalid"queryBuilder-invalid"
lockGroup"ruleGroup-lock"
lockRule"rule-lock"
notToggle"ruleGroup-notToggle"
operators"rule-operators"
queryBuilder"queryBuilder"
removeGroup"ruleGroup-remove"
removeRule"rule-remove"
rule"rule"
ruleGroup"ruleGroup"
shiftActions"shiftActions"
valid"queryBuilder-valid"
value"rule-value"
valueListItem"rule-value-list-item"
valueSource"rule-valueSource"

Defined in

packages/react-querybuilder/src/defaults.ts:202

Functions

ActionElement

ActionElement(«destructured»): Element

Default <button> component used by QueryBuilder.

Parameters

NameType
«destructured»ActionProps

Returns

Element

Defined in

packages/react-querybuilder/src/components/ActionElement.tsx:7


DragHandle

DragHandle(props): ReactNode

Defaut drag handle component used by QueryBuilder when enableDragAndDrop is true.

Parameters

NameType
propsDragHandleProps & RefAttributes<HTMLSpanElement>

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/DragHandle.tsx:9


InlineCombinator

InlineCombinator(«destructured»): Element

Default inlineCombinator component used by QueryBuilder. A small <div> wrapper around the combinatorSelector component, used when either showCombinatorsBetweenRules or independentCombinators are true.

Parameters

NameType
«destructured»InlineCombinatorProps

Returns

Element

Defined in

packages/react-querybuilder/src/components/InlineCombinator.tsx:10


NotToggle

NotToggle(«destructured»): Element

Default notToggle (aka inversion) component used by QueryBuilder.

Parameters

NameType
«destructured»NotToggleProps

Returns

Element

Defined in

packages/react-querybuilder/src/components/NotToggle.tsx:7


QueryBuilder

QueryBuilder<RG, F, O, C>(props): Element

The query builder component for React.

See https://react-querybuilder.js.org/ for demos and documentation.

Type parameters

NameType
RGextends RuleGroupTypeAny
Fextends FullField<string, string, string, Option<string>, Option<string>>
Oextends FullOperator<string>
Cextends FullCombinator<string>

Parameters

NameType
propsQueryBuilderProps<RG, F, O, C>

Returns

Element

Defined in

packages/react-querybuilder/src/components/QueryBuilder.tsx:84


QueryBuilderStateProvider

QueryBuilderStateProvider(«destructured»): Element

Context provider for the {@link QueryBuilder} state store.

Parameters

NameType
«destructured»Object
› childrenReactNode

Returns

Element

Defined in

packages/react-querybuilder/src/components/QueryBuilder.tsx:25


Rule

Rule(props): ReactNode

Default component to display RuleType objects. This is actually a small wrapper around RuleComponents.

Parameters

NameType
propsRuleProps<string, string>

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/Rule.tsx:10


RuleComponents

RuleComponents(props): ReactNode

Renders a React.Fragment containing an array of form controls for managing a RuleType.

Parameters

NameType
propsRuleProps<string, string> & { actions: QueryActions ; classNames: { cloneRule: string ; dragHandle: string ; fields: string ; lockRule: string ; operators: string ; removeRule: string ; shiftActions: string ; value: string ; valueSource: string } ; cloneRule: (_event?: any, _context?: any) => void ; context?: any ; disabled: boolean ; dndRef: Ref<HTMLDivElement> ; dragMonitorId: string | symbol ; dragRef: Ref<HTMLSpanElement> ; dropEffect?: DropEffect ; dropMonitorId: string | symbol ; field?: string ; fieldData: FullField<string, string, string, Option<string>, Option<string>> ; generateOnChangeHandler: (prop: "value" | "disabled" | "field" | "operator" | "valueSource" | "combinatorPreceding") => (value: any, _context?: any) => void ; hideValueControls: boolean ; id?: string ; inputType: null | InputType ; isDragging?: boolean ; isOver?: boolean ; operator?: string ; operators: FullOperator<string>[] | OptionGroup<FullOperator<string>>[] ; outerClassName: string ; parentDisabled?: boolean ; path: Path ; removeRule: (_event?: any, _context?: any) => void ; rule: RuleType<string, string, any, string> ; schema: Schema<FullOption<string>, string> ; shiftDownDisabled?: boolean ; shiftRuleDown: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftRuleUp: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftUpDisabled?: boolean ; toggleLockRule: (_event?: any, _context?: any) => void ; translations: Translations ; validationResult: boolean | ValidationResult ; value?: any ; valueEditorSeparator: ReactNode ; valueEditorType: ValueEditorType ; valueSource?: ValueSource ; valueSourceOptions: { label: "value" | "field" = vs; name: "value" | "field" = vs; value: "value" | "field" = vs }[] ; valueSources: ValueSources ; values: FlexibleOptionList<Option<string>> }

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/Rule.tsx:40


RuleGroup

RuleGroup(props): ReactNode

Default component to display RuleGroupType and RuleGroupTypeIC objects. This is actually a small wrapper around RuleGroupHeaderComponents and RuleGroupBodyComponents.

Parameters

NameType
propsRuleGroupProps<FullOption<string>, string>

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/RuleGroup.tsx:13


RuleGroupBodyComponents

RuleGroupBodyComponents(props): ReactNode

Renders a React.Fragment containing an array of either (1) Rule and RuleGroup, or (2) Rule, RuleGroup, and InlineCombinator.

Parameters

NameType
propsRuleGroupProps<FullOption<string>, string> & { accessibleDescription: string ; actions: QueryActions ; addGroup: (_event?: any, context?: any) => void ; addRule: (_event?: any, context?: any) => void ; classNames: { addGroup: string ; addRule: string ; body: string ; cloneGroup: string ; combinators: string ; dragHandle: string ; header: string ; lockGroup: string ; notToggle: string ; removeGroup: string ; shiftActions: string } ; cloneGroup: (_event?: any, _context?: any) => void ; combinator: string ; context?: any ; disabled: boolean ; dragMonitorId: string | symbol ; dragRef: Ref<HTMLSpanElement> ; dropEffect?: DropEffect ; dropMonitorId: string | symbol ; dropRef: Ref<HTMLDivElement> ; id?: string ; isDragging: boolean ; isOver: boolean ; not?: boolean ; onCombinatorChange: (value: any, _context?: any) => void ; onGroupAdd: (group: RuleGroupTypeAny, parentPath: Path, context?: any) => void ; onIndependentCombinatorChange: (value: any, index: number, _context?: any) => void ; onNotToggleChange: (checked: boolean, _context?: any) => void ; outerClassName: string ; parentDisabled: undefined | boolean ; path: Path ; pathsMemo: { disabled: boolean ; path: Path }[] ; previewRef: Ref<HTMLDivElement> ; removeGroup: (_event?: any, _context?: any) => void ; ruleGroup: RuleGroupType<RuleType<string, string, any, string>, string> | { combinator?: string ; combinatorPreceding?: string ; disabled?: boolean ; id?: string ; not?: boolean ; path?: Path ; rules: RuleGroupICArray<RuleGroupTypeIC<RuleType<string, string, any, string>, string>, RuleType<string, string, any, string>, string> } ; rules?: RuleOrGroupArray ; schema: Schema<FullOption<string>, string> ; shiftDownDisabled?: boolean ; shiftGroupDown: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftGroupUp: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftUpDisabled?: boolean ; toggleLockGroup: (_event?: any, _context?: any) => void ; translations: Translations ; validationClassName: string ; validationResult: boolean | ValidationResult }

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/RuleGroup.tsx:246


RuleGroupHeaderComponents

RuleGroupHeaderComponents(props): ReactNode

Renders a React.Fragment containing an array of form controls for managing a RuleGroupType or RuleGroupTypeIC.

Parameters

NameType
propsRuleGroupProps<FullOption<string>, string> & { accessibleDescription: string ; actions: QueryActions ; addGroup: (_event?: any, context?: any) => void ; addRule: (_event?: any, context?: any) => void ; classNames: { addGroup: string ; addRule: string ; body: string ; cloneGroup: string ; combinators: string ; dragHandle: string ; header: string ; lockGroup: string ; notToggle: string ; removeGroup: string ; shiftActions: string } ; cloneGroup: (_event?: any, _context?: any) => void ; combinator: string ; context?: any ; disabled: boolean ; dragMonitorId: string | symbol ; dragRef: Ref<HTMLSpanElement> ; dropEffect?: DropEffect ; dropMonitorId: string | symbol ; dropRef: Ref<HTMLDivElement> ; id?: string ; isDragging: boolean ; isOver: boolean ; not?: boolean ; onCombinatorChange: (value: any, _context?: any) => void ; onGroupAdd: (group: RuleGroupTypeAny, parentPath: Path, context?: any) => void ; onIndependentCombinatorChange: (value: any, index: number, _context?: any) => void ; onNotToggleChange: (checked: boolean, _context?: any) => void ; outerClassName: string ; parentDisabled: undefined | boolean ; path: Path ; pathsMemo: { disabled: boolean ; path: Path }[] ; previewRef: Ref<HTMLDivElement> ; removeGroup: (_event?: any, _context?: any) => void ; ruleGroup: RuleGroupType<RuleType<string, string, any, string>, string> | { combinator?: string ; combinatorPreceding?: string ; disabled?: boolean ; id?: string ; not?: boolean ; path?: Path ; rules: RuleGroupICArray<RuleGroupTypeIC<RuleType<string, string, any, string>, string>, RuleType<string, string, any, string>, string> } ; rules?: RuleOrGroupArray ; schema: Schema<FullOption<string>, string> ; shiftDownDisabled?: boolean ; shiftGroupDown: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftGroupUp: (event?: MouseEvent<Element, MouseEvent>, _context?: any) => void ; shiftUpDisabled?: boolean ; toggleLockGroup: (_event?: any, _context?: any) => void ; translations: Translations ; validationClassName: string ; validationResult: boolean | ValidationResult }

Returns

ReactNode

Defined in

packages/react-querybuilder/src/components/RuleGroup.tsx:51


ShiftActions

ShiftActions(«destructured»): Element

Default "shift up"/"shift down" buttons used by QueryBuilder.

Parameters

NameType
«destructured»ShiftActionsProps

Returns

Element

Defined in

packages/react-querybuilder/src/components/ShiftActions.tsx:7


ValueEditor

ValueEditor<F>(allProps): null | Element

Default valueEditor component used by QueryBuilder.

Type parameters

NameType
Fextends FullField<string, string, string, Option<string>, Option<string>>

Parameters

NameType
allPropsValueEditorProps<F, string>

Returns

null | Element

Defined in

packages/react-querybuilder/src/components/ValueEditor.tsx:10


ValueSelector

ValueSelector<Opt>(«destructured»): Element

Default <select> component used by QueryBuilder.

Type parameters

NameType
Optextends FullOption<string> = FullOption<string>

Parameters

NameType
«destructured»ValueSelectorProps<Opt>

Returns

Element

Defined in

packages/react-querybuilder/src/components/ValueSelector.tsx:9


add

add<RG>(query, ruleOrGroup, parentPath, «destructured»?): RG

Adds a rule or group to a query.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameTypeDescription
queryRGThe query to update.
ruleOrGroupRuleType<string, string, any, string> | RGThe rule or group to add.
parentPathPathPath of the group to add to.
«destructured»AddOptionsOptions object.

Returns

RG

The new query with the rule or group added.

Defined in

packages/react-querybuilder/src/utils/queryTools.ts:44


convertFromIC

convertFromIC<RG>(rg): RG

Converts a RuleGroupTypeIC to RuleGroupType.

This function is idempotent: RuleGroupType queries will be returned as-is.

Type parameters

NameType
RGextends RuleGroupType<RuleType<string, string, any, string>, string> = RuleGroupType<RuleType<string, string, any, string>, string>

Parameters

NameType
rgRuleGroupTypeIC<RuleType<string, string, any, string>, string>

Returns

RG

Defined in

packages/react-querybuilder/src/utils/convertQuery.ts:72


convertQuery

convertQuery(query): RuleGroupTypeIC

Converts a RuleGroupType to RuleGroupTypeIC. For a more explicit operation, use convertToIC.

Parameters

NameType
queryRuleGroupType<RuleType<string, string, any, string>, string>

Returns

RuleGroupTypeIC

Defined in

packages/react-querybuilder/src/utils/convertQuery.ts:119

convertQuery(query): RuleGroupType

Converts a RuleGroupTypeIC to RuleGroupType. For a more explicit operation, use convertFromIC.

Parameters

NameType
queryRuleGroupTypeIC<RuleType<string, string, any, string>, string>

Returns

RuleGroupType

Defined in

packages/react-querybuilder/src/utils/convertQuery.ts:124


convertToIC

convertToIC<RGIC>(rg): RGIC

Converts a RuleGroupType to RuleGroupTypeIC.

This function is idempotent: RuleGroupTypeIC queries will be returned as-is.

Type parameters

NameType
RGICextends RuleGroupTypeIC<RuleType<string, string, any, string>, string> = RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Parameters

NameType
rgRuleGroupType<RuleType<string, string, any, string>, string>

Returns

RGIC

Defined in

packages/react-querybuilder/src/utils/convertQuery.ts:93


defaultCELValueProcessor

defaultCELValueProcessor(field, operator, value, valueSource?): string

Parameters

NameType
fieldstring
operatorstring
valueany
valueSource?ValueSource

Returns

string

Deprecated

Prefer defaultRuleProcessorCEL.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:33


defaultMongoDBValueProcessor

defaultMongoDBValueProcessor(field, operator, value, valueSource?): string

Parameters

NameType
fieldstring
operatorstring
valueany
valueSource?ValueSource

Returns

string

Deprecated

Prefer defaultRuleProcessorMongoDB.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:29


defaultRuleProcessorCEL

defaultRuleProcessorCEL(rule, options?, meta?): any

Default rule processor used by formatQuery for "cel" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorCEL.ts:16


defaultRuleProcessorElasticSearch

defaultRuleProcessorElasticSearch(rule, options?, meta?): any

Default rule processor used by formatQuery for "elasticsearch" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorElasticSearch.ts:69


defaultRuleProcessorJSONata

defaultRuleProcessorJSONata(rule, options?, meta?): any

Default rule processor used by formatQuery for "jsonata" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorJSONata.ts:19


defaultRuleProcessorJsonLogic

defaultRuleProcessorJsonLogic(rule, options?, meta?): any

Default rule processor used by formatQuery for "jsonlogic" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorJsonLogic.ts:18


defaultRuleProcessorMongoDB

defaultRuleProcessorMongoDB(rule, options?, meta?): any

Default rule processor used by formatQuery for "mongodb" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorMongoDB.ts:12


defaultRuleProcessorParameterized

defaultRuleProcessorParameterized(rule, options?, meta?): any

Default rule processor used by formatQuery for "sql" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorParameterized.ts:10


defaultRuleProcessorSQL

defaultRuleProcessorSQL(rule, options?, meta?): any

Default rule processor used by formatQuery for "sql" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorSQL.ts:8


defaultRuleProcessorSpEL

defaultRuleProcessorSpEL(rule, options?, meta?): any

Default rule processor used by formatQuery for "spel" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultRuleProcessorSpEL.ts:18


defaultSpELValueProcessor

defaultSpELValueProcessor(field, operator, value, valueSource?): string

Parameters

NameType
fieldstring
operatorstring
valueany
valueSource?ValueSource

Returns

string

Deprecated

Prefer defaultRuleProcessorSpEL.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:37


defaultValidator

defaultValidator(query): boolean | ValidationMap

This is an example validation function you can pass to QueryBuilder in the validator prop. It assumes that you want to validate groups, and has a no-op for validating rules which you can replace with your own implementation.

Parameters

NameType
queryRuleGroupTypeAny

Returns

boolean | ValidationMap

Defined in

packages/react-querybuilder/src/utils/defaultValidator.ts:15


defaultValueProcessor

defaultValueProcessor(field, operator, value, valueSource?): string

Default value processor used by formatQuery for "sql" format.

Parameters

NameType
fieldstring
operatorstring
valueany
valueSource?ValueSource

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:25


defaultValueProcessorByRule

defaultValueProcessorByRule(rule, options?): string

Default value processor used by formatQuery for "sql" format.

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/defaultValueProcessorByRule.ts:13


defaultValueProcessorCELByRule

defaultValueProcessorCELByRule(rule, options?, meta?): any

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Deprecated

Renamed to defaultRuleProcessorCEL.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:55


defaultValueProcessorMongoDBByRule

defaultValueProcessorMongoDBByRule(rule, options?, meta?): any

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Deprecated

Renamed to defaultRuleProcessorMongoDB.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:59


defaultValueProcessorSpELByRule

defaultValueProcessorSpELByRule(rule, options?, meta?): any

Parameters

NameType
ruleRuleType<string, string, any, string>
options?ValueProcessorOptions
meta?Object
meta.processedParams?any[] | Record<string, any>

Returns

any

Deprecated

Renamed to defaultRuleProcessorSpEL.

Defined in

packages/react-querybuilder/src/utils/formatQuery/index.ts:63


filterFieldsByComparator

filterFieldsByComparator(field, fields, operator): FullField<string, string, string, Option<string>, Option<string>>[] | { label: string ; options: WithUnknownIndex<FullField<string, string, string, Option<string>, Option<string>>>[] }[]

For a given FullField, returns the fields list filtered for other fields that match by comparator. Only fields other than the one in question will ever be included, even if comparator is null or undefined. If comparator is a string, fields with the same value for that property will be included. If comparator is a function, each field will be passed to the function along with the operator and fields for which the function returns true will be included.

Parameters

NameTypeDescription
fieldFullField<string, string, string, Option<string>, Option<string>>The field in question.
fieldsOptionList<FullField<string, string, string, Option<string>, Option<string>>>The full FullField list to be filtered.
operatorstring-

Returns

FullField<string, string, string, Option<string>, Option<string>>[] | { label: string ; options: WithUnknownIndex<FullField<string, string, string, Option<string>, Option<string>>>[] }[]

Defined in

packages/react-querybuilder/src/utils/filterFieldsByComparator.ts:26


findPath

findPath(path, query): FindPathReturnType

Returns the RuleType or RuleGroupType/RuleGroupTypeIC at the given path within a query.

Parameters

NameType
pathPath
queryRuleGroupTypeAny

Returns

FindPathReturnType

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:14


formatQuery

formatQuery(ruleGroup): string

Generates a formatted (indented two spaces) JSON string from a query object.

Parameters

NameType
ruleGroupRuleGroupTypeAny

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:45

formatQuery(ruleGroup, options): ParameterizedSQL

Generates a ParameterizedSQL object from a query object.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"parameterized" | Omit<FormatQueryOptions, "format"> & { format: "parameterized" }

Returns

ParameterizedSQL

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:49

formatQuery(ruleGroup, options): ParameterizedNamedSQL

Generates a ParameterizedNamedSQL object from a query object.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"parameterized_named" | Omit<FormatQueryOptions, "format"> & { format: "parameterized_named" }

Returns

ParameterizedNamedSQL

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:56

formatQuery(ruleGroup, options): RQBJsonLogic

Generates a JsonLogic object from a query object.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"jsonlogic" | Omit<FormatQueryOptions, "format"> & { format: "jsonlogic" }

Returns

RQBJsonLogic

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:65

formatQuery(ruleGroup, options): Record<string, any>

Generates an ElasticSearch query object from an RQB query object.

NOTE: Support for the ElasticSearch format is experimental. You may have better results exporting "sql" format then using ElasticSearch SQL.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"elasticsearch" | Omit<FormatQueryOptions, "format"> & { format: "elasticsearch" }

Returns

Record<string, any>

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:76

formatQuery(ruleGroup, options): string

Generates a JSONata query string from an RQB query object.

NOTE: The parseNumbers option is recommended for this format.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"jsonata" | Omit<FormatQueryOptions, "format"> & { format: "jsonata" }

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:86

formatQuery(ruleGroup, options): string

Generates a formatted (indented two spaces) JSON string from a query object.

Parameters

NameType
ruleGroupRuleGroupTypeAny
optionsOmit<FormatQueryOptions, "format">

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:93

formatQuery(ruleGroup, options): string

Generates a query string in the requested format.

Parameters

NameType
ruleGroupRuleGroupTypeAny
options"json" | "sql" | "json_without_ids" | "mongodb" | "cel" | "spel"

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:100

formatQuery(ruleGroup, options): string

Generates a query string in the requested format.

Parameters

NameType
ruleGroupRuleGroupTypeAny
optionsOmit<FormatQueryOptions, "format"> & { format: "json" | "sql" | "json_without_ids" | "mongodb" | "cel" | "spel" }

Returns

string

Defined in

packages/react-querybuilder/src/utils/formatQuery/formatQuery.ts:110


generateAccessibleDescription

generateAccessibleDescription(props): string

Parameters

NameType
propsObject
props.pathPath
props.qbIdstring

Returns

string

Defined in

packages/react-querybuilder/src/utils/generateAccessibleDescription.ts:4


generateID

generateID(): string

Default id generator. Generates a valid v4 UUID. Uses crypto.randomUUID() when available, otherwise uses an alternate method based on getRandomValues. The returned string is guaranteed to match this regex:

/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i

Returns

string

Valid v4 UUID

Defined in

packages/react-querybuilder/src/utils/generateID.ts:14


getCommonAncestorPath

getCommonAncestorPath(path1, path2): Path

Finds the deepest/longest path that two paths have in common.

Parameters

NameType
path1Path
path2Path

Returns

Path

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:51


getCompatContextProvider

getCompatContextProvider(«destructured»): QueryBuilderContextProvider

Generates a context provider for a compatibility package.

Parameters

NameType
«destructured»GetCompatContextProviderProps

Returns

QueryBuilderContextProvider

Defined in

packages/react-querybuilder/src/utils/getCompatContextProvider.tsx:17


getFirstOption

getFirstOption<Opt>(arr?): GetOptionIdentifierType<Opt>

Gets the first option from an OptionList.

Type parameters

NameType
Optextends BaseOption<string>

Parameters

NameType
arr?FlexibleOptionGroup<Opt>[] | Opt[]

Returns

GetOptionIdentifierType<Opt>

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:61


getOption

getOption<OptType>(arr, name): undefined | OptType

Gets the option from an OptionList with the given name. Handles Option arrays as well as OptionGroup arrays.

Type parameters

NameType
OptTypeextends Option<string> = Option<string>

Parameters

NameType
arrOptionList<OptType>
namestring

Returns

undefined | OptType

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:52


getParentPath

getParentPath(path): number[]

Truncates the last element of an array and returns the result as a new array.

Parameters

NameType
pathPath

Returns

number[]

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:33


getQuerySelectorById

getQuerySelectorById(qbId): (state: RqbState) => RuleGroupTypeAny

Given a qbId (provided as part of the schema prop), returns a selector for use with useQueryBuilderSelector.

Parameters

NameType
qbIdstring

Returns

fn

(state): RuleGroupTypeAny

Parameters
NameType
stateRqbState
Returns

RuleGroupTypeAny

Defined in

packages/react-querybuilder/src/redux/index.ts:43


getValidationClassNames

getValidationClassNames(validationResult): "" | "queryBuilder-valid" | "queryBuilder-invalid"

Gets the standard classname for valid or invalid components based on the given validation result.

Parameters

NameType
validationResultboolean | ValidationResult

Returns

"" | "queryBuilder-valid" | "queryBuilder-invalid"

Defined in

packages/react-querybuilder/src/utils/getValidationClassNames.ts:8


getValueSourcesUtil

getValueSourcesUtil<F, O>(fieldData, operator, getValueSources?): ValueSources

Utility function to get the value sources array for the given field and operator. If the field definition does not define a valueSources property, the getValueSources prop is used. Returns ["value"] by default.

Type parameters

NameType
Fextends FullField<string, string, string, Option<string>, Option<string>>
Oextends string

Parameters

NameType
fieldDataF
operatorstring
getValueSources?(field: GetOptionIdentifierType<F>, operator: O, misc: { fieldData: F }) => ValueSources

Returns

ValueSources

Defined in

packages/react-querybuilder/src/utils/getValueSourcesUtil.ts:19


isAncestor

isAncestor(maybeAncestor, path): boolean

Determines if the first path is an ancestor of the second path. The first path must be shorter and exactly match the second path up through the length of the first path.

Parameters

NameType
maybeAncestorPath
pathPath

Returns

boolean

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:45


isFlexibleOptionGroupArray

isFlexibleOptionGroupArray(arr): arr is FlexibleOptionGroup[]

Determines if a FlexibleOptionList is a FlexibleOptionGroup array.

Parameters

NameType
arrany

Returns

arr is FlexibleOptionGroup[]

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:25


isFullOptionGroupArray

isFullOptionGroupArray(arr): arr is OptionGroup<FullOption<string>>[]

Determines if a FlexibleOptionList is a OptionGroup array of FullOption.

Parameters

NameType
arrany

Returns

arr is OptionGroup<FullOption<string>>[]

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:38


isOptionGroupArray

isOptionGroupArray(arr): arr is OptionGroup<BaseOption<string>>[]

Determines if an OptionList is an OptionGroup array.

Parameters

NameType
arrany

Returns

arr is OptionGroup<BaseOption<string>>[]

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:18


isPojo

isPojo(obj): obj is Record<string, any>

Determines if a variable is a plain old JavaScript object, aka POJO.

Parameters

NameType
objany

Returns

obj is Record<string, any>

Defined in

packages/react-querybuilder/src/utils/misc.ts:15


isRuleGroup

isRuleGroup(rg): rg is RuleGroupTypeAny

Determines if an object is a RuleGroupType or RuleGroupTypeIC.

Parameters

NameType
rgany

Returns

rg is RuleGroupTypeAny

Defined in

packages/react-querybuilder/src/utils/isRuleGroup.ts:8


isRuleGroupType

isRuleGroupType(rg): rg is RuleGroupType<RuleType<string, string, any, string>, string>

Determines if an object is a RuleGroupType.

Parameters

NameType
rgany

Returns

rg is RuleGroupType<RuleType<string, string, any, string>, string>

Defined in

packages/react-querybuilder/src/utils/isRuleGroup.ts:15


isRuleGroupTypeIC

isRuleGroupTypeIC(rg): rg is RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Determines if an object is a RuleGroupTypeIC.

Parameters

NameType
rgany

Returns

rg is RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Defined in

packages/react-querybuilder/src/utils/isRuleGroup.ts:22


isRuleOrGroupValid

isRuleOrGroupValid(rg, validationResult?, validator?): boolean

Determines if a rule or group is valid based on a validation result (if defined) or a validator function. Returns true if neither are defined.

Parameters

NameType
rgRuleType<string, string, any, string> | RuleGroupTypeAny
validationResult?boolean | ValidationResult
validator?RuleValidator

Returns

boolean

Defined in

packages/react-querybuilder/src/utils/isRuleOrGroupValid.ts:20


isValidationResult

isValidationResult(vr?): vr is ValidationResult

Determines if an object is useful as a validation result.

Parameters

NameType
vr?ValidationResult

Returns

vr is ValidationResult

Defined in

packages/react-querybuilder/src/utils/isRuleOrGroupValid.ts:13


joinWith

joinWith(strArr, joinChar?): string

Joins an array of strings using the given character (see defaultJoinChar. When the given character appears in an array element, a backslash will be added just before it to distinguish it from the join character. Inverse of splitBy.

Parameters

NameTypeDefault value
strArrany[]undefined
joinCharstringdefaultJoinChar

Returns

string

Example

joinWith(['this,,that', '', 'the other', '', '', ','])
// would return
'this\\,\\,that,,the other,,,\\,'

Defined in

packages/react-querybuilder/src/utils/arrayUtils.ts:43


mergeClassnames

mergeClassnames(...args): Classnames

Merges a list of partial Classnames definitions into a single definition.

Parameters

NameType
...args(undefined | Partial<Classnames>)[]

Returns

Classnames

Defined in

packages/react-querybuilder/src/utils/mergeClassnames.ts:7


mergeTranslations

mergeTranslations(...args): Partial<Translations>

Merges any number of partial Translations into a single definition.

Parameters

NameType
...args(undefined | Partial<Translations>)[]

Returns

Partial<Translations>

Defined in

packages/react-querybuilder/src/utils/mergeTranslations.ts:10


move

move<RG>(query, oldPath, newPath, «destructured»?): RG

Moves a rule or group from one path to another. In the options parameter, pass { clone: true } to copy instead of move.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameTypeDescription
queryRGThe query to update.
oldPathPathOriginal path of the rule or group to move.
newPathPath | "up" | "down"Path to move the rule or group to, or a shift direction.
«destructured»MoveOptionsOptions object.

Returns

RG

The new query with the rule or group moved or cloned.

Defined in

packages/react-querybuilder/src/utils/queryTools.ts:310


nullFreeArray

nullFreeArray<T>(arr): arr is Exclude<T, null>[]

Determines if an array is free of null/undefined.

Type parameters

Name
T

Parameters

NameType
arrT[]

Returns

arr is Exclude<T, null>[]

Defined in

packages/react-querybuilder/src/utils/arrayUtils.ts:71


objectEntries

objectEntries<Type>(value): [Exclude<keyof Type, symbol>, Type[Exclude<keyof Type, symbol>]][]

A strongly-typed version of Object.entries().

Original source

Type parameters

NameType
Typeextends Record<PropertyKey, unknown>

Parameters

NameType
valueType

Returns

[Exclude<keyof Type, symbol>, Type[Exclude<keyof Type, symbol>]][]

Defined in

packages/react-querybuilder/src/utils/objectUtils.ts:27


objectKeys

objectKeys<Type>(value): Exclude<keyof Type, symbol>[]

A strongly-typed version of Object.keys().

Original source

Type parameters

NameType
Typeextends object

Parameters

NameType
valueType

Returns

Exclude<keyof Type, symbol>[]

Defined in

packages/react-querybuilder/src/utils/objectUtils.ts:18


parseNumber

parseNumber(v, «destructured»?): any

Converts a string to a number. Uses native parseFloat if parseNumbers is "native", otherwise uses numeric-quantity. If that returns NaN, the string is returned unchanged. Numeric values are returned as-is regardless of the parseNumbers option.

Parameters

NameType
vany
«destructured»ParseNumberOptions

Returns

any

Defined in

packages/react-querybuilder/src/utils/parseNumber.ts:18


pathIsDisabled

pathIsDisabled(path, query): boolean

Determines if the rule or group at the specified path is either disabled itself or disabled by an ancestor group.

Parameters

NameType
pathPath
queryRuleGroupTypeAny

Returns

boolean

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:69


pathsAreEqual

pathsAreEqual(path1, path2): boolean

Determines if two paths (each Path) are equivalent.

Parameters

NameType
path1Path
path2Path

Returns

boolean

Defined in

packages/react-querybuilder/src/utils/pathUtils.ts:38


prepareRule

prepareRule(rule, «destructured»?): RuleType<string, string, any, string>

Ensures that a rule is valid by adding an id property if it does not already exist.

Parameters

NameType
ruleRuleType<string, string, any, string>
«destructured»PreparerOptions

Returns

RuleType<string, string, any, string>

Defined in

packages/react-querybuilder/src/utils/prepareQueryObjects.ts:21


prepareRuleGroup

prepareRuleGroup<RG>(queryObject, «destructured»?): RG

Ensures that a rule group is valid by recursively adding an id property to the group itself and all its rules and subgroups where one does not already exist.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameType
queryObjectRG
«destructured»PreparerOptions

Returns

RG

Defined in

packages/react-querybuilder/src/utils/prepareQueryObjects.ts:32


prepareRuleOrGroup

prepareRuleOrGroup<RG>(rg, «destructured»?): RuleType<string, string, any, string> | RG & RuleGroupType<RuleType<string, string, any, string>, string> | RG & RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Ensures that a rule or group is valid. See prepareRule and prepareRuleGroup.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameType
rgRuleType<string, string, any, string> | RG
«destructured»PreparerOptions

Returns

RuleType<string, string, any, string> | RG & RuleGroupType<RuleType<string, string, any, string>, string> | RG & RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Defined in

packages/react-querybuilder/src/utils/prepareQueryObjects.ts:52


regenerateID

regenerateID(rule, «destructured»?): RuleType<string, string, any, string>

Generates a new id property for a rule.

Parameters

NameType
ruleRuleType<string, string, any, string>
«destructured»RegenerateIdOptions

Returns

RuleType<string, string, any, string>

Defined in

packages/react-querybuilder/src/utils/regenerateIDs.ts:22


regenerateIDs

regenerateIDs(ruleOrGroup, «destructured»?): RuleGroupType<RuleType<string, string, any, string>, string> | RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Recursively generates new id properties for a group and all its rules and subgroups.

Parameters

NameType
ruleOrGroupRuleGroupType<RuleType<string, string, any, string>, string> | RuleGroupTypeIC<RuleType<string, string, any, string>, string>
«destructured»RegenerateIdOptions

Returns

RuleGroupType<RuleType<string, string, any, string>, string> | RuleGroupTypeIC<RuleType<string, string, any, string>, string>

Defined in

packages/react-querybuilder/src/utils/regenerateIDs.ts:30


remove

remove<RG>(query, path): RG

Removes a rule or group from a query.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameTypeDescription
queryRGThe query to update.
pathPathPath of the rule or group to remove.

Returns

RG

The new query with the rule or group removed.

Defined in

packages/react-querybuilder/src/utils/queryTools.ts:200


splitBy

splitBy(str?, splitChar?): string[]

Splits a string by a given character (see defaultJoinChar. Escaped characters (characters preceded by a backslash) will not apply to the split, and the backslash will be removed in the array element. Inverse of joinWith.

Parameters

NameTypeDefault value
str?stringundefined
splitCharstringdefaultJoinChar

Returns

string[]

Example

splitBy('this\\,\\,that,,the other,,,\\,')
// or
splitBy('this\\,\\,that,,the other,,,\\,', ',')
// would return
['this,,that', '', 'the other', '', '', ',']

Defined in

packages/react-querybuilder/src/utils/arrayUtils.ts:15


toArray

toArray(v): any[]

Splits a string by comma then trims each element. Arrays are returned as is except any string elements are trimmed.

Parameters

NameType
vany

Returns

any[]

Defined in

packages/react-querybuilder/src/utils/arrayUtils.ts:57


toFlatOptionArray

toFlatOptionArray<T, OL>(arr): T[]

Flattens FlexibleOptionGroup arrays into BaseOption arrays. If the array is already flat, it is returned as is.

Type parameters

NameType
Textends FullOption<string>
OLextends FullOption<string>[] | OptionGroup<FullOption<string>>[]

Parameters

NameType
arrOL

Returns

T[]

Defined in

packages/react-querybuilder/src/utils/optGroupUtils.ts:72


toFullOption

toFullOption<Opt>(opt): ToFullOption<Opt>

Converts an Option or ValueOption (i.e., BaseOption) into a FullOption. Full options are left unchanged.

Type parameters

NameType
Optextends BaseOption<string>

Parameters

NameType
optOpt

Returns

ToFullOption<Opt>

Defined in

packages/react-querybuilder/src/utils/toFullOption.ts:24


toFullOptionList

toFullOptionList<Opt, OptList>(optList): FullOptionList<Opt>

Converts an OptionList or FlexibleOptionList into a FullOptionList. Lists of full options are left unchanged.

Type parameters

NameType
Optextends BaseOption<string>
OptListextends FlexibleOptionList<Opt>

Parameters

NameType
optListOptList

Returns

FullOptionList<Opt>

Defined in

packages/react-querybuilder/src/utils/toFullOption.ts:39


toFullOptionMap

toFullOptionMap<OptMap>(optMap): OptMap extends BaseOptionMap<infer V, infer K> ? Partial<Record<K, ToFullOption<V>>> : never

Converts a FlexibleOptionList into a FullOptionList. Lists of full options are left unchanged.

Type parameters

NameType
OptMapextends BaseOptionMap

Parameters

NameType
optMapOptMap

Returns

OptMap extends BaseOptionMap<infer V, infer K> ? Partial<Record<K, ToFullOption<V>>> : never

Defined in

packages/react-querybuilder/src/utils/toFullOption.ts:63


toOptions

toOptions(arr?): null | Element[]

Generates an array of <option> or <optgroup> elements from a given OptionList.

Parameters

NameType
arr?OptionList

Returns

null | Element[]

Defined in

packages/react-querybuilder/src/utils/toOptions.tsx:9


transformQuery

transformQuery(query, options?): any

Recursively process a query heirarchy using this versatile utility function.

Documentation

Parameters

NameType
queryRuleGroupType<RuleType<string, string, any, string>, string>
options?TransformQueryOptions<RuleGroupType<RuleType<string, string, any, string>, string>>

Returns

any

Defined in

packages/react-querybuilder/src/utils/transformQuery.ts:135

transformQuery(query, options?): any

Recursively process a query heirarchy with independent combinators using this versatile utility function.

Documentation

Parameters

NameType
queryRuleGroupTypeIC<RuleType<string, string, any, string>, string>
options?TransformQueryOptions<RuleGroupTypeIC<RuleType<string, string, any, string>, string>>

Returns

any

Defined in

packages/react-querybuilder/src/utils/transformQuery.ts:146


trimIfString

trimIfString(val): any

Trims the value if it is a string. Otherwise returns the value as is.

Parameters

NameType
valany

Returns

any

Defined in

packages/react-querybuilder/src/utils/arrayUtils.ts:50


uniqByIdentifier

uniqByIdentifier<T>(originalArray): T[]

Generates a new array of objects with duplicates removed based on the identifying property (value or name)

Type parameters

NameType
Textends RequireAtLeastOne<{ name: string ; value: string }, "name" | "value">

Parameters

NameType
originalArrayT[]

Returns

T[]

Defined in

packages/react-querybuilder/src/utils/uniq.ts:26


uniqByName

uniqByName<T>(originalArray): T[]

Type parameters

NameType
Textends { name: string ; value?: string } | { name?: string ; value: string }

Parameters

NameType
originalArrayT[]

Returns

T[]

Deprecated

Renamed to uniqByIdentifier.

Defined in

packages/react-querybuilder/src/utils/uniq.ts:16


uniqOptGroups

uniqOptGroups<T>(originalArray): OptionGroup<ToFullOption<T>>[]

Generates a new OptionGroup array with duplicates removed based on the identifying property (value or name).

Type parameters

NameType
Textends BaseOption<string>

Parameters

NameType
originalArrayFlexibleOptionGroup<T>[]

Returns

OptionGroup<ToFullOption<T>>[]

Defined in

packages/react-querybuilder/src/utils/uniq.ts:46


uniqOptList

uniqOptList<T>(originalArray): OptionGroup<ToFullOption<T>>[] | WithUnknownIndex<BaseOption<string> & FullOption<string>>[]

Generates a new Option or OptionGroup array with duplicates removed based on the identifier property (value or name).

Type parameters

NameType
Textends BaseOption<string>

Parameters

NameType
originalArrayFlexibleOptionList<T>

Returns

OptionGroup<ToFullOption<T>>[] | WithUnknownIndex<BaseOption<string> & FullOption<string>>[]

Defined in

packages/react-querybuilder/src/utils/uniq.ts:73


update

update<RG>(query, prop, value, path, «destructured»?): RG

Updates a property of a rule or group within a query.

Type parameters

NameType
RGextends RuleGroupTypeAny

Parameters

NameTypeDescription
queryRGThe query to update.
propUpdateablePropertiesThe name of the property to update.
valueanyThe new value of the property.
pathPathThe path of the rule or group to update.
«destructured»UpdateOptionsOptions object.

Returns

RG

The new query with the rule or group property updated.

Defined in

packages/react-querybuilder/src/utils/queryTools.ts:109


useControlledOrUncontrolled

useControlledOrUncontrolled(«destructured»): void

Logs a warning when the component changes from controlled to uncontrolled, vice versa, or both query and defaultQuery are provided.

Parameters

NameType
«destructured»UseControlledOrUncontrolledParams

Returns

void

Defined in

packages/react-querybuilder/src/hooks/useControlledOrUncontrolled.ts:22


useDeprecatedProps

useDeprecatedProps(type, logWarning, otherParams): void

Logs an error to the console if any of the following are true:

  • QueryBuilder is rendered with an independentCombinators prop
  • RuleGroup is rendered with combinator or rules props (deprecated in favor of ruleGroup)
  • Rule is rendered with field, operator, or value props (deprecated in favor of rule)

Parameters

NameType
type"independentCombinators"
logWarningboolean
otherParams"invalid" | "unnecessary"

Returns

void

Defined in

packages/react-querybuilder/src/hooks/useDeprecatedProps.ts:19

useDeprecatedProps(type, logWarning): void

Parameters

NameType
type"rule" | "ruleGroup"
logWarningboolean

Returns

void

Defined in

packages/react-querybuilder/src/hooks/useDeprecatedProps.ts:24


useMergedContext

useMergedContext<F, O>(props): Object

Merges inherited context values with props, giving precedence to props.

Type parameters

NameType
Fextends FullField<string, string, string, Option<string>, Option<string>> = FullField<string, string, string, Option<string>, Option<string>>
Oextends string = string

Parameters

NameType
propsUseMergedContextProps<F, O>

Returns

Object

NameType
controlClassnamesClassnames
controlElementsControls<F, O>
debugModeboolean
enableDragAndDropboolean
enableMountQueryChangeboolean
translationsTranslationsFull

Defined in

packages/react-querybuilder/src/hooks/useMergedContext.ts:25


usePreferAnyProp

usePreferAnyProp(def?, prop?, context?): any

For given default, prop, and context values, return the first provided of prop, context, and default, in that order.

Parameters

NameType
def?any
prop?any
context?any

Returns

any

Defined in

packages/react-querybuilder/src/hooks/usePreferProp.ts:24


usePreferProp

usePreferProp(def, prop?, context?): boolean

For given default, prop, and context values, return the first provided of prop, context, and default, in that order.

Parameters

NameType
defboolean
prop?boolean
context?boolean

Returns

boolean

Defined in

packages/react-querybuilder/src/hooks/usePreferProp.ts:16


usePrevious

usePrevious<T>(value): null | T

Returns the prop value from the last render.

Adapted from https://usehooks.com/usePrevious/.

Type parameters

Name
T

Parameters

NameType
valueT

Returns

null | T

Defined in

packages/react-querybuilder/src/hooks/usePrevious.ts:8


useQueryBuilderSchema

useQueryBuilderSchema<RG, F, O, C>(props, setup): QueryBuilderProps<RG, F, O, C> & { actions: QueryActions ; combinatorPropObject: Pick<RuleGroupProps<FullOption<string>, string>, "combinator"> ; dndEnabledAttr: string ; inlineCombinatorsAttr: string ; queryDisabled: boolean ; rootGroup: RuleGroupTypeAny<GetRuleTypeFromGroupWithFieldAndOperator<RG, F, O>> ; rootGroupDisabled: boolean ; rqbContext: { controlClassnames: Classnames ; controlElements: Controls<F, GetOptionIdentifierType<O>> ; debugMode: boolean ; enableDragAndDrop: boolean ; enableMountQueryChange: boolean ; translations: TranslationsFull } ; schema: Schema<F, GetOptionIdentifierType<O>> ; translations: TranslationsFull ; wrapperClassName: string }

For given QueryBuilderProps and setup values from useQueryBuilderSetup, prepares and returns all values required to render a query builder.

Type parameters

NameType
RGextends RuleGroupTypeAny
Fextends FullField<string, string, string, Option<string>, Option<string>>
Oextends FullOperator<string>
Cextends FullCombinator<string>

Parameters

NameTypeDefault value
propsQueryBuilderProps<RG, F, O, C>undefined
setupObjectundefined
setup.combinatorsWithUnknownIndex<BaseOption<string> & FullOption<string>>[] | OptionGroup<WithUnknownIndex<BaseOption<string> & FullOption<string>>>[]undefined
setup.createRule() => GetRuleTypeFromGroupWithFieldAndOperator<RG, F, O>undefined
setup.createRuleGroup(independentCombinators?: boolean) => RGundefined
setup.fieldMapFullOptionMap<FullField<string, string, string, Option<string>, Option<string>>, GetOptionIdentifierType<F>>undefined
setup.fieldsFullOptionList<F>undefined
setup.getInputTypeMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => InputTypeundefined
setup.getOperatorsMain(field: GetOptionIdentifierType<F>, __namedParameters: { fieldData: F }) => FullOptionList<O>undefined
setup.getRuleDefaultOperator(field: GetOptionIdentifierType<F>) => GetOptionIdentifierType<O>undefined
setup.getRuleDefaultValue<RT>(r: RT) => anyundefined
setup.getValueEditorTypeMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => ValueEditorTypeundefined
setup.getValueSourcesMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>) => ValueSourcesundefined
setup.getValuesMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => WithUnknownIndex<BaseOption<string> & FullOption<string>>[] | OptionGroup<WithUnknownIndex<BaseOption<string> & FullOption<string>>>[]undefined
setup.qbIdstringqbId.current
setup.rqbContextObjectundefined
setup.rqbContext.controlClassnamesClassnamesundefined
setup.rqbContext.controlElementsControls<F, GetOptionIdentifierType<O>>undefined
setup.rqbContext.debugModebooleanundefined
setup.rqbContext.enableDragAndDropbooleanundefined
setup.rqbContext.enableMountQueryChangebooleanundefined
setup.rqbContext.translationsTranslationsFullundefined

Returns

QueryBuilderProps<RG, F, O, C> & { actions: QueryActions ; combinatorPropObject: Pick<RuleGroupProps<FullOption<string>, string>, "combinator"> ; dndEnabledAttr: string ; inlineCombinatorsAttr: string ; queryDisabled: boolean ; rootGroup: RuleGroupTypeAny<GetRuleTypeFromGroupWithFieldAndOperator<RG, F, O>> ; rootGroupDisabled: boolean ; rqbContext: { controlClassnames: Classnames ; controlElements: Controls<F, GetOptionIdentifierType<O>> ; debugMode: boolean ; enableDragAndDrop: boolean ; enableMountQueryChange: boolean ; translations: TranslationsFull } ; schema: Schema<F, GetOptionIdentifierType<O>> ; translations: TranslationsFull ; wrapperClassName: string }

Defined in

packages/react-querybuilder/src/hooks/useQueryBuilderSchema.ts:64


useQueryBuilderSelector

useQueryBuilderSelector<TSelected>(selector, equalityFn?): TSelected

A useSelector hook for the RQB Redux store.

Type parameters

Name
TSelected

Parameters

NameType
selector(state: RqbState) => TSelected
equalityFn?EqualityFn<NoInfer<TSelected>>

Returns

TSelected

Defined in

packages/react-querybuilder/src/redux/index.ts:34

useQueryBuilderSelector<Selected>(selector, options?): Selected

A useSelector hook for the RQB Redux store.

Type parameters

NameType
Selectedunknown

Parameters

NameType
selector(state: RqbState) => Selected
options?UseSelectorOptions<Selected>

Returns

Selected

Defined in

packages/react-querybuilder/src/redux/index.ts:34


useQueryBuilderSetup

useQueryBuilderSetup<RG, F, O, C>(props): Object

Massages the props as necessary and prepares the basic update/generate methods for use by the QueryBuilder component.

Type parameters

NameType
RGextends RuleGroupTypeAny
Fextends FullField<string, string, string, Option<string>, Option<string>>
Oextends FullOperator<string>
Cextends FullCombinator<string>

Parameters

NameType
propsQueryBuilderProps<RG, F, O, C>

Returns

Object

NameType
combinatorsWithUnknownIndex<BaseOption<string> & FullOption<string>>[] | OptionGroup<WithUnknownIndex<BaseOption<string> & FullOption<string>>>[]
createRule() => GetRuleTypeFromGroupWithFieldAndOperator<RG, F, O>
createRuleGroup(independentCombinators?: boolean) => RG
fieldMapFullOptionMap<FullField<string, string, string, Option<string>, Option<string>>, GetOptionIdentifierType<F>>
fieldsFullOptionList<F>
getInputTypeMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => InputType
getOperatorsMain(field: GetOptionIdentifierType<F>, __namedParameters: { fieldData: F }) => FullOptionList<O>
getRuleDefaultOperator(field: GetOptionIdentifierType<F>) => GetOptionIdentifierType<O>
getRuleDefaultValue<RT>(r: RT) => any
getValueEditorTypeMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => ValueEditorType
getValueSourcesMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>) => ValueSources
getValuesMain(field: GetOptionIdentifierType<F>, operator: GetOptionIdentifierType<O>, __namedParameters: { fieldData: F }) => WithUnknownIndex<BaseOption<string> & FullOption<string>>[] | OptionGroup<WithUnknownIndex<BaseOption<string> & FullOption<string>>>[]
qbIdstring
rqbContext{ controlClassnames: Classnames ; controlElements: Controls<F, GetOptionIdentifierType<O>> ; debugMode: boolean ; enableDragAndDrop: boolean ; enableMountQueryChange: boolean ; translations: TranslationsFull }
rqbContext.controlClassnamesClassnames
rqbContext.controlElementsControls<F, GetOptionIdentifierType<O>>
rqbContext.debugModeboolean
rqbContext.enableDragAndDropboolean
rqbContext.enableMountQueryChangeboolean
rqbContext.translationsTranslationsFull

Defined in

packages/react-querybuilder/src/hooks/useQueryBuilderSetup.ts:56


useReactDndWarning

useReactDndWarning(enableDragAndDrop, dndRefs): void

Logs a warning if drag-and-drop is enabled but the required dependencies (react-dnd and react-dnd-html5-backend) were not detected.

Parameters

NameType
enableDragAndDropboolean
dndRefsboolean

Returns

void

Defined in

packages/react-querybuilder/src/hooks/useReactDndWarning.ts:9


useRule

useRule(props): Object

Prepares all values and methods used by the Rule component.

Parameters

NameType
propsRuleProps<string, string>

Returns

Object

NameTypeDescription
actionsQueryActions-
classNames{ cloneRule: string ; dragHandle: string ; fields: string ; lockRule: string ; operators: string ; removeRule: string ; shiftActions: string ; value: string ; valueSource: string }-
classNames.cloneRulestring-
classNames.dragHandlestring-
classNames.fieldsstring-
classNames.lockRulestring-
classNames.operatorsstring-
classNames.removeRulestring-
classNames.shiftActionsstring-
classNames.valuestring-
classNames.valueSourcestring-
cloneRule(_event?: any, _context?: any) => void-
context?any-
disabledboolean-
dndRefRef<HTMLDivElement>-
dragMonitorIdstring | symbol-
dragRefRef<HTMLSpanElement>-
dropEffect?DropEffect"move" by default; "copy" if the modifier key is pressed.
dropMonitorIdstring | symbol-
field?stringDeprecated Use the field property of the rule prop instead
fieldDataFullField<string, string, string, Option<string>, Option<string>>-
generateOnChangeHandler(prop: "value" | "disabled" | "field" | "operator" | "valueSource" | "combinatorPreceding") => (value: any, _context?: any) => void-
hideValueControlsboolean-
id?string-
inputTypenull | InputType-
isDragging?boolean-
isOver?boolean-
operator?stringDeprecated Use the operator property of the rule prop instead
operatorsFullOperator<string>[] | OptionGroup<FullOperator<string>>[]-
outerClassNamestring-
parentDisabled?boolean-
pathPath-
removeRule(_event?: any, _context?: any) => void-
ruleRuleType<string, string, any, string>-
schemaSchema<FullOption<string>, string>-
shiftDownDisabled?boolean-
shiftRuleDown(event?: MouseEvent<Element, MouseEvent>, _context?: any) => void-
shiftRuleUp(event?: MouseEvent<Element, MouseEvent>, _context?: any) => void-
shiftUpDisabled?boolean-
toggleLockRule(_event?: any, _context?: any) => void-
translationsTranslations-
validationResultboolean | ValidationResult-
value?anyDeprecated Use the value property of the rule prop instead
valueEditorSeparatorReactNode-
valueEditorTypeValueEditorType-
valueSource?ValueSourceDeprecated Use the valueSource property of the rule prop instead
valueSourceOptions{ label: "value" | "field" = vs; name: "value" | "field" = vs; value: "value" | "field" = vs }[]-
valueSourcesValueSources-
valuesFlexibleOptionList<Option<string>>-

Defined in

packages/react-querybuilder/src/hooks/useRule.ts:17


useRuleGroup

useRuleGroup(props): Object

Prepares all values and methods used by the RuleGroup component.

Parameters

NameType
propsRuleGroupProps<FullOption<string>, string>

Returns

Object

NameTypeDescription
accessibleDescriptionstring-
actionsQueryActions-
addGroup(_event?: any, context?: any) => void-
addRule(_event?: any, context?: any) => void-
classNames{ addGroup: string ; addRule: string ; body: string ; cloneGroup: string ; combinators: string ; dragHandle: string ; header: string ; lockGroup: string ; notToggle: string ; removeGroup: string ; shiftActions: string }-
classNames.addGroupstring-
classNames.addRulestring-
classNames.bodystring-
classNames.cloneGroupstring-
classNames.combinatorsstring-
classNames.dragHandlestring-
classNames.headerstring-
classNames.lockGroupstring-
classNames.notTogglestring-
classNames.removeGroupstring-
classNames.shiftActionsstring-
cloneGroup(_event?: any, _context?: any) => void-
combinatorstring-
context?any-
disabledboolean-
dragMonitorIdstring | symbol-
dragRefRef<HTMLSpanElement>-
dropEffect?DropEffect"move" by default; "copy" if the modifier key is pressed.
dropMonitorIdstring | symbol-
dropRefRef<HTMLDivElement>-
id?string-
isDraggingboolean-
isOverboolean-
not?booleanDeprecated Use the not property of the ruleGroup prop instead
onCombinatorChange(value: any, _context?: any) => void-
onGroupAdd(group: RuleGroupTypeAny, parentPath: Path, context?: any) => void-
onIndependentCombinatorChange(value: any, index: number, _context?: any) => void-
onNotToggleChange(checked: boolean, _context?: any) => void-
outerClassNamestring-
parentDisabledundefined | boolean-
pathPath-
pathsMemo{ disabled: boolean ; path: Path }[]-
previewRefRef<HTMLDivElement>-
removeGroup(_event?: any, _context?: any) => void-
ruleGroupRuleGroupType<RuleType<string, string, any, string>, string> | { combinator?: string ; combinatorPreceding?: string ; disabled?: boolean ; id?: string ; not?: boolean ; path?: Path ; rules: RuleGroupICArray<RuleGroupTypeIC<RuleType<string, string, any, string>, string>, RuleType<string, string, any, string>, string> }-
rules?RuleOrGroupArrayDeprecated Use the rules property of the ruleGroup prop instead
schemaSchema<FullOption<string>, string>-
shiftDownDisabled?boolean-
shiftGroupDown(event?: MouseEvent<Element, MouseEvent>, _context?: any) => void-
shiftGroupUp(event?: MouseEvent<Element, MouseEvent>, _context?: any) => void-
shiftUpDisabled?boolean-
toggleLockGroup(_event?: any, _context?: any) => void-
translationsTranslations-
validationClassNamestring-
validationResultboolean | ValidationResult-

Defined in

packages/react-querybuilder/src/hooks/useRuleGroup.ts:19


useSelectElementChangeHandler

useSelectElementChangeHandler(«destructured»): (e: ChangeEvent<HTMLSelectElement>) => void

Returns a memoized change handler for HTML <select> elements.

Parameters

NameType
«destructured»UseSelectElementChangeHandlerParams

Returns

fn

(e): void

Parameters
NameType
eChangeEvent<HTMLSelectElement>
Returns

void

Defined in

packages/react-querybuilder/src/hooks/useSelectElementChangeHandler.ts:12


useStopEventPropagation

useStopEventPropagation(method): RQBMouseEventHandler

Wraps an event handler function in another function that calls event.preventDefault() and event.stopPropagation() first. The returned function accepts and forwards a second context argument.

Parameters

NameType
methodRQBMouseEventHandler

Returns

RQBMouseEventHandler

Defined in

packages/react-querybuilder/src/hooks/useStopEventPropagation.ts:14


useValueEditor

useValueEditor(«destructured»): Object

This hook is primarily concerned with multi-value editors like date range pickers, editors for 'in' and 'between' operators, etc.

Parameters

NameType
«destructured»UseValueEditorParams

Returns

Object

The value as an array (valueAsArray) and a change handler for series of editors (multiValueHandler).

NOTE: The following logic only applies if skipHook is not true. To avoid automatically updating the value, pass { skipHook: true }.

If the value is an array of non-zero length, the operator is not one of the known multi-value operators ("between", "notBetween", "in", "notIn"), and the type is not "multiselect", then the value will be set to the first element of the array (i.e., value[0]).

The same thing will happen if inputType is "number" and value is a string containing a comma, since <input type="number"> doesn't handle commas.

NameType
multiValueHandler(v: any, i: number) => void
valueAsArrayany[]

Example

// Consider the following rule:
`{ field: "f1", operator: "in", value: ["twelve","fourteen"] }`
// If `operator` changes to "=", the value will be reset to "twelve".

Example

// Consider the following rule:
`{ field: "f1", operator: "between", value: "12,14" }`
// If `operator` changes to "=", the value will be reset to "12".

Defined in

packages/react-querybuilder/src/hooks/useValueEditor.ts:47


useValueSelector

useValueSelector(«destructured»): Object

Transforms a value into an array when appropriate and provides a memoized change handler.

Parameters

NameType
«destructured»UseValueSelectorParams

Returns

Object

NameType
onChange(v: string | string[]) => void
valundefined | string | any[]

Defined in

packages/react-querybuilder/src/hooks/useValueSelector.ts:14