Package Exports
- @react-querybuilder/material
- @react-querybuilder/material/package.json
Readme
@react-querybuilder/material
Official react-querybuilder components for MUI/Material Design.
To see them in action, check out the react-querybuilder demo or load the example in CodeSandbox.
Installation
npm i react-querybuilder @react-querybuilder/material @mui/icons-material @mui/material
# OR yarn add / pnpm add / bun addUsage
To render MUI-compatible components in the query builder, wrap the <QueryBuilder /> element in <QueryBuilderMaterial />.
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { QueryBuilderMaterial } from '@react-querybuilder/material';
import { QueryBuilder, RuleGroupType } from 'react-querybuilder';
const muiTheme = createTheme();
const fields = [
  { name: 'firstName', label: 'First Name' },
  { name: 'lastName', label: 'Last Name' },
];
const App = () => {
  const [query, setQuery] = useState<RuleGroupType>({ combinator: 'and', rules: [] });
  return (
    <ThemeProvider theme={muiTheme}>
      <QueryBuilderMaterial>
        <QueryBuilder fields={fields} query={query} onQueryChange={setQuery} />
      </QueryBuilderMaterial>
    </ThemeProvider>
  );
};Notes
- This package exports materialControlElementswhich can be assigned directly to thecontrolElementsprop on<QueryBuilder />(and also exports each component individually), but wrapping<QueryBuilder />in<QueryBuilderMaterial />is the recommended method.
- In an environment based on React Server Components, preloading the MUI components may be necessary.