@react-querybuilder/fluent
Advanced tools
Changelog
[v8.8.2] - 2025-08-07
ruleGroup
prop is now destructured and ignored on all *ValueSelector
components, preventing it from being passed to DOM elements.ActionWithRulesProps
and ActionWithRulesAndAddersProps
.Changelog
[v8.8.1] - 2025-07-09
Changelog
[v8.8.0] - 2025-07-09
RuleType
property match?: { mode: MatchMode, threshold?: number }
type MatchMode = 'all' | 'some' | 'none' | 'atLeast' | 'atMost' | 'exactly'
operator
will be ignored when match
is present and valid.MatchModeEditor
, which renders when a field is determined to have one or more match modes. The mode selector is the configured valueSelector
and—when a threshold is appropriate—the threshold editor is the configured valueEditor
with inputType: "number"
.getMatchModes
and getSubQueryBuilderProps
to manage these configurations at the top level.Field
properties matchModes
and subproperties
to manage these configurations at the field level.parseJsonLogic
support for "all", "none", and "some" operations.formatQuery
(partial) support for the match
rule property.
preset: "postgresql"
, and only with nested arrays of primitives like strings or numbers.bigIntOnOverflow
. When true, a bigint
will be generated for parsed tokens that represent valid integers outside the safe boundaries of the number
type. (This currently only applies to parseSQL
.)inputType: "bigint"
in all value editors, which will render an input with type="text"
but will store the value as a bigint
if a valid integer is entered.fields
prop processing logic to new useFields
hook.queryBuilder-justified
class to the query builder using the controlClassnames
prop, or to any ancestor element.<label>
elements now have htmlFor
attributes linking their corresponding <input>
elements using an id
generated with useId()
.getValueSources
prop and the Field#valueSources
property can now evaluate to a full option list instead of a simple array of value source strings. This enables translations of the value sources through the label
property.fields
, operators
, combinators
, getOperators
, and getValues
) can now include strings in addition to—or instead of—Option
objects (e.g. ["=", "between"]
). The string itself will be used as both the identifier and label, except in the case of operators and combinators where the default labels will be used if the string matches a value from the default set.parseSQL
maintains precision for large integers by generating a bigint
instead of a number
when necessary.React.Fragment
explicitly instead of the shorthand <>...</>
.preset
option for formatQuery
is one from sqlDialectPresets
, it will only apply if the format
is undefined or one of the SQL-based formats.Changelog
[v8.7.1] - 2025-06-09
rqb-base-color
. rqb-background-color
is rqb-base-color
with 20% opacity (effectively the same color as before, just calculated differently).maxLevels
prop to limit the addition of new rule groups beyond the specified nesting level. Default is Infinity
(allows unlimited levels), and values other than 1 or greater will be ignored.Changelog
[v8.7.0] - 2025-05-13
@react-querybuilder/drizzle
package.Changelog
[v8.6.2] - 2025-05-12
@react-querybuilder/material
.Changelog
[v8.6.1] - 2025-05-06
Changelog
[v8.6.0] - 2025-05-05
@react-querybuilder/drizzle
for integration with the Drizzle ORM query builder API.formatQuery
option ruleGroupProcessor
enabling development of custom output formats without completely reimplementing formatQuery
.
formatQuery
and can be used independently or as fallbacks from custom processors.add
, update
, remove
, move
, and group
can now accept a string
or Path
where they previously accepted only Path
-type arguments. A string
would represent the id
property of the subject rule/group, but otherwise the functionality of each tool is the same.findID
returns the rule or group with the given id
property within a query hierarchy (similar to findPath
), and getPathOfID
returns the path
of the rule or group with the given id
.parseSQL
was translating NOT LIKE '[...]'
(no leading or trailing wildcards) to operator: "="
instead of operator: "!="
.react-querybuilder/formatQuery
no longer has a dependency on react
.