Install the package along with FormEngine Core and Mantine dependencies:
npm install @react-form-builder/core @react-form-builder/components-mantine
npm i @react-form-builder/core @react-form-builder/components-mantine
Mantine offers clean, modern components with excellent attention to detail. Your forms will look professional out of the box.
Both FormEngine Core and the Mantine components package are MIT licensed. Use them freely in commercial and personal projects.
TextInput, NumberInput, Select, MultiSelect, Checkbox, Radio, Switch, Slider, DatePicker, ColorPicker, and more.
Mantine is known for its developer experience. Great TypeScript support, intuitive APIs, and comprehensive documentation.
Mantine components are built with accessibility in mind. ARIA attributes, keyboard navigation, and screen reader support included.
Full TypeScript definitions for all components. Get autocomplete and type checking in your IDE.
Use Mantine's CSS-in-JS styling, CSS modules, or Tailwind CSS. Style your forms however you prefer.
Built-in validation with Mantine-styled error messages. Works with FormEngine's validation system and third-party libraries.
Mantine supports RTL languages. Build forms for Arabic, Hebrew, and other RTL locales with ease.
FormEngine Core maps a JSON form definition to a dynamic HTML form and lets you plug in your own UI components — or use the ready-made Mantine pack.
Use Mantine components via @react-form-builder/components-mantine.
Keep the renderer independent from UI. Swap themes when needed.
Copy, version, and reuse forms across applications and teams.
Works smoothly with Next.js, Remix, and other React setups.
MUI, shadcn/ui, React Suite, Mantine — with more on the way.
Start with the free MIT core and scale to a drag-and-drop workflow when needed.
Install the package along with FormEngine Core and Mantine dependencies:
npm install @react-form-builder/core @react-form-builder/components-mantine
Here's an example of how to set up FormEngine with Mantine components:
import {view} from '@react-form-builder/components-mantine'
import {buildForm, FormViewer} from '@react-form-builder/core'
import '@mantine/core/styles.css'
import '@mantine/dates/styles.css'
const simpleForm = buildForm()
.component('container', 'MtContainer')
.style({flexDirection: 'row'})
.children((builder) =>
builder
.component('firstName', 'MtTextInput')
.prop('placeholder', 'Enter your first name')
.prop('label', 'First Name')
.validation('required')
.component('lastName', 'MtTextInput')
.prop('placeholder', 'Enter your last name')
.prop('label', 'Last Name')
.validation('required')
)
.component('birthDate', 'MtDatePickerInput')
.prop('label', 'Birth Date')
.validation('min').args({value: '1980-01-07T00:00:00.000Z'})
.component('submit', 'MtButton')
.prop('children', 'Submit')
.event('onClick')
.commonAction('validate').args({failOnError: true})
.customAction('onSubmit')
.json()
export const App = () => {
return <FormViewer
view={view}
getForm={() => simpleForm}
actions={{
onSubmit: (e) => {
// submit the form to the backend
alert('Form data: ' + JSON.stringify(e.data))
},
}}
/>
}
Yes. The core library is MIT-licensed, which is suitable for commercial use.
Yes — the JSON schema can be loaded from any source (file, DB, CMS, API) and rendered in the client.
The repository provides a benchmark example: ~188.54 KB gzip for FormEngine Core (JS + CSS).
Install @react-form-builder/components-mantine and render forms with FormViewer using the provided Mantine view.
Yes — it's designed to work smoothly with modern React stacks, including Next.js and Remix.
Yes — the core is designed to render using your components; the Mantine pack is a ready-made option.
No. You can render and manage forms purely from JSON. A visual builder can be added later if your workflow needs it.
MUI, shadcn/ui, React Suite, Mantine are listed as supported themes, with more coming soon.
Start with the MIT-licensed core, render your first form, and keep your UI consistent with Mantine.