Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@react-querybuilder/chakra
Advanced tools
Official react-querybuilder components for Chakra UI.
To see them in action, check out the react-querybuilder
demo or load the example in CodeSandbox.
npm i react-querybuilder @react-querybuilder/chakra @chakra-ui/icons @chakra-ui/react @chakra-ui/system @emotion/react @emotion/styled framer-motion
# OR yarn add / pnpm add / bun add
To render Chakra-compatible components in the query builder, wrap the <QueryBuilder />
element in <QueryBuilderChakra />
.
import { ChakraProvider, extendTheme } from '@chakra-ui/react';
import { QueryBuilderChakra } from '@react-querybuilder/chakra';
import { QueryBuilder, RuleGroupType } from 'react-querybuilder';
const chakraTheme = extendTheme();
const fields = [
{ name: 'firstName', label: 'First Name' },
{ name: 'lastName', label: 'Last Name' },
];
const App = () => {
const [query, setQuery] = useState<RuleGroupType>({ combinator: 'and', rules: [] });
return (
<ChakraProvider theme={chakraTheme}>
<QueryBuilderChakra>
<QueryBuilder fields={fields} query={query} onQueryChange={setQuery} />
</QueryBuilderChakra>
</ChakraProvider>
);
};
Some additional styling may be necessary, e.g.:
.queryBuilder .chakra-select__wrapper {
width: fit-content;
display: inline-block;
}
.queryBuilder .chakra-input {
width: auto;
display: inline-block;
}
.queryBuilder .chakra-radio-group {
display: inline-block;
}
This package exports chakraControlElements
which can be assigned directly to the controlElements
prop on <QueryBuilder />
(and also exports each component individually), but this method does not support customized Chakra themes like <QueryBuilderChakra />
.
[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.Alt
or Option ⌥
) is pressed while the drag phase begins. When using the default styles, the drag-and-drop indicator line will be green (#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 Chakra UI components for react-querybuilder
The npm package @react-querybuilder/chakra receives a total of 4,237 weekly downloads. As such, @react-querybuilder/chakra popularity was classified as popular.
We found that @react-querybuilder/chakra demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.