Custom Mantine components for react-querybuilder
npm install @react-querybuilder/mantineOfficial react-querybuilder compatibility package for Mantine.
- Demo
- Full documentation
- CodeSandbox / StackBlitz example projects
``bash`
npm i react-querybuilder @react-querybuilder/mantine @mantine/core @mantine/dates @mantine/hooksOR yarn add / pnpm add / bun add
To configure the query builder to use Mantine-compatible components, place QueryBuilderMantine above QueryBuilder in the component hierarchy.
`tsx
import { QueryBuilderMantine } from '@react-querybuilder/mantine';
import { useState } from 'react';
import { type Field, QueryBuilder, type RuleGroupType } from 'react-querybuilder';
const fields: Field[] = [
{ name: 'firstName', label: 'First Name' },
{ name: 'lastName', label: 'Last Name' },
];
export function App() {
const [query, setQuery] = useState
return (
);
}
`
QueryBuilderMantine is a React context provider that assigns the following props to all descendant QueryBuilder elements. The props can be overridden on the QueryBuilder or used directly without the context provider.
| Export | QueryBuilder prop |mantineControlElements
| ------------------------ | ------------------------------- |
| | controlElements |MantineActionElement
| | controlElements.actionElement |MantineNotToggle
| | controlElements.notToggle |MantineShiftActions
| | controlElements.shiftActions |MantineValueEditor
| | controlElements.valueEditor |MantineValueSelector
| | controlElements.valueSelector` |