@react-form-builder/components-mantine package provides a free, MIT-licensed component set built on Mantine. It is the richest of the three FormEngine component sets — 45+ components including color pickers, ratings, range sliders, chip groups, a JSON editor, and 20+ date/time picker variants.
FormEngine ships three independent component sets — Mantine, Material UI, and React Suite. A single form uses one set at a time. See the Components Library overview for a side-by-side comparison.
Installation
withCssLoader helper. Add the imports to your app entry:
Mantine CSS imports (app entry)
Basic setup
Wrap your app withMantineProvider and pass the Mantine component set to FormViewer:
MtTextInput, MtSelect, MtCheckbox, and so on. See the full list below.
Theming
Mantine default color palettes (gray, grape, blue, and others) follow the Open Color scale in the default theme. Pass a theme object to MantineProvider to customize colors, fonts, and radii:
Light and dark color scheme
MantineProvider is the central manager for color scheme. It handles light / dark / auto through defaultColorScheme, persists the selected value through a colorSchemeManager, and applies the resolved mode via the data-mantine-color-scheme attribute used by component styles.
Color scheme with system preference and persistence
getInitialValueInEffect: true to useColorScheme.
For color scheme APIs, see:
BiDi and RTL support
Mantine supports right-to-left layouts in several ways. The simplest is to wrap the app withDirectionProvider:
DirectionProvider with MantineProvider
dir="rtl" on the root <html> element, switch direction at runtime with the useDirection hook, or add RTL-specific CSS overrides using the rtl mixin from postcss-preset-mantine.
See RTL direction for the full setup.
Available components
Each row links to the FormEngine component reference and to the corresponding Mantine documentation.Input components
| Component | Description | Mantine docs |
|---|---|---|
| MtTextInput | Single-line text input | TextInput |
| MtTextarea | Multi-line text input | Textarea |
| MtNumberInput | Numeric input with stepper | NumberInput |
| MtPasswordInput | Password input with visibility toggle | PasswordInput |
| MtCheckbox | Single checkbox | Checkbox |
| MtCheckboxGroup | Group of checkboxes | Checkbox.Group |
| MtRadio | Single radio option | Radio |
| MtRadioGroup | Radio button group | Radio.Group |
| MtSwitch | Toggle switch | Switch |
| MtSwitchGroup | Group of switches | Switch.Group |
| MtFileInput | File input | FileInput |
| MtJsonInput | JSON editor input | JsonInput |
| MtLabel | Label for form controls | Input label |
Specialized inputs
Components unique to the Mantine set, not available in RSuite or Material UI:| Component | Description | Mantine docs |
|---|---|---|
| MtColorInput | Color picker input | ColorInput |
| MtColorPicker | Color picker with swatches | ColorPicker |
| MtRating | Star or custom-symbol rating | Rating |
| MtSlider | Slider for a single value | Slider |
| MtRangeSlider | Slider for a value range | RangeSlider |
| MtSegmentedControl | Segmented control for exclusive options | SegmentedControl |
| MtChip | Chip for tags or filters | Chip |
| MtChipCheckboxGroup | Chip-based checkbox group | Chip |
| MtChipRadioGroup | Chip-based radio group | Chip |
Select and combobox
| Component | Description | Mantine docs |
|---|---|---|
| MtSelect | Single-value dropdown | Select |
| MtMultiSelect | Multi-value dropdown | MultiSelect |
| MtNativeSelect | Native HTML <select> styled with Mantine | NativeSelect |
| MtAutocomplete | Autocomplete with suggestions | Autocomplete |
| MtTagsInput | Free-form tag entry | TagsInput |
Date and time
Require@mantine/dates:
Layout and typography
| Component | Description | Mantine docs |
|---|---|---|
| MtContainer | Container for centering and constraining content | Container |
| MtDivider | Visual divider | Divider |
| MtText | Text component for body content | Text |
| MtTitle | Heading component | Title |
| MtTypography | Typography with preset text styles | TypographyStylesProvider |
Overlays and feedback
| Component | Description | Mantine docs |
|---|---|---|
| MtTooltip | Tooltip for additional information | Tooltip |
| MtDialog | Modal dialog container | Modal |
| MtErrorWrapper | Error display wrapper | Custom FormEngine component |
Buttons
Optional extensions
Require additional Mantine packages:| Component | Description | Mantine docs |
|---|---|---|
| MtDropzone | File upload dropzone | Dropzone (requires @mantine/dropzone) |
| MtTiptap | Rich text editor | Tiptap (requires @mantine/tiptap) |
Additional resources
Support
For issues with the Mantine integration, contact support@optimajet.com or open a ticket on the FormEngine GitHub issues page.Next steps
- Mantine components reference — Full reference for every Mantine component, with props and examples
- Components Library overview — Compare the Mantine, Material UI, and RSuite component sets side by side
- Integrations overview — Explore other framework and UI integrations