
Security News
Django Joins curl in Pushing Back on AI Slop Security Reports
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
@react-querybuilder/fluent
Advanced tools
Official react-querybuilder components for Fluent UI.
To see them in action, check out the react-querybuilder
demo or load the example in CodeSandbox.
npm i react-querybuilder @react-querybuilder/fluent @fluentui/react-components @fluentui/react-icons-mdl2
# OR yarn add / pnpm add / bun add
To render Fluent UI-compatible components in the query builder, wrap the <QueryBuilder />
element in <QueryBuilderFluent />
.
import { FluentProvider, webLightTheme } from '@fluentui/react-components';
import { QueryBuilderFluent } from '@react-querybuilder/fluent';
import { QueryBuilder, RuleGroupType } from 'react-querybuilder';
const fields = [
{ name: 'firstName', label: 'First Name' },
{ name: 'lastName', label: 'Last Name' },
];
const App = () => {
const [query, setQuery] = useState<RuleGroupType>({ combinator: 'and', rules: [] });
return (
<FluentProvider theme={webLightTheme}>
<QueryBuilderFluent>
<QueryBuilder fields={fields} query={query} onQueryChange={setQuery} />
</QueryBuilderFluent>
</FluentProvider>
);
};
fluentControlElements
which can be assigned directly to the controlElements
prop on <QueryBuilder />
(and also exports each component individually), but wrapping <QueryBuilder />
in <QueryBuilderFluent />
is the recommended method.[v7.7.0] - 2024-10-08
useValueEditor
hook now requires the entire ValueEditorProps
object instead of only requiring a subset of the props.controlElements
properties ruleGroupHeaderElements
and ruleGroupBodyElements
, enabling customization/replacement/augmentation of the subcomponents within the rule group header and body wrappers without needing to reimplement the entire RuleGroup
component.suppressStandardClassnames
. When true
, no classes will be added automatically to any elements (custom classes defined in controlClassnames
will still be applied). This includes conditional and event-based classes for validation, drag-and-drop, etc.#669933
) instead of rebeccapurple
(#663399
).useQueryBuilderNative
hook. Works the same as useQueryBuilder
, but tailored for React Native implementations.parseNumbers
prop now accepts an optional "-limited" suffix on existing string
config values "enhanced", "strict", and "native". When the "-limited" suffix is used (e.g., parseNumbers="strict-limited"
), values will only be parsed for numericity when the inputType
is "number"
.formatQuery
now accepts an optional concatOperator
parameter to support non-standard concatenation methods in the various SQL dialects. The default is the ANSI standard "||"
, which is supported by PostgreSQL, Oracle, SQLite, and various others, while SQL Server uses "+"
. A value of "CONCAT"
will enable MySQL compatibility by using the CONCAT
function (do not use this for Oracle as its CONCAT
function is limited).toArray
method now accepts an optional configuration parameter. If the retainEmptyStrings
property of that object is true
, the function will not filter out string elements that are empty or purely whitespace.useValueEditor
now includes a parseNumberMethod
property, which is a processed version of the parseNumbers
prop.formatQuery
now accepts an optional preset
option as a shortcut to configure the output for improved compatibility with different query language dialects. Options include "ansi", "mssql", "mysql", "oracle", "postgres", and "sqlite".formatQuery
now accepts an optional fieldIdentifierSeparator
string. When used in conjunction with the quoteFieldNamesWith
option, field names will be separated by this string and bracketed individually per the quoteFieldNamesWith
configuration (e.g., [table name].[field name] = 'value'
instead of [table name.field name] = 'value'
).formatQuery
export format "natural_language", similar to the "sql" or "cel" formats but with English-language operators.ParseNumbersMethod
renamed to ParseNumberMethod
(singular) to better reflect its assocation with the parseNumber
method as opposed to the parseNumbers
prop.formatQuery
uses actual JSON objects instead of manually constructing JSON.parse
-able strings. This should lead to more reliably valid results.operator
is "between" or "notBetween", (2) the values are numeric, and (3) parseNumbers
is true
, formatQuery
will place the smaller value first and the larger value second, regardless of their order in the rule's value
property.parseJSONata
encounters an expression group where only two conditions exist for the same field, one greater-than and one less-than, a single "between"/"notBetween" rule will be generated. Previously a rule group with two separate rules would be generated.MantineValueSelector
no longer sets the value to ""
when clicking the selected option again.FAQs
Custom Fluent UI components for react-querybuilder
The npm package @react-querybuilder/fluent receives a total of 218 weekly downloads. As such, @react-querybuilder/fluent popularity was classified as not popular.
We found that @react-querybuilder/fluent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.