Data Driven Forms is a open source React library that uses a data driven approach for building React forms. This approach is based on rendering JSON schemas as React forms with all needed functionality provided by the renderer. It includes features such as validation, conditional fields and many more. It helps web developers to write forms much quicker, simpler and to achieve a consistency across the whole application.
A mapper is a set of components integrated with Data Driven Forms API. This set allows users to write forms without any need to implement their own components, so they can immediately write fully working forms with a wide range of features (displaying errors, wizard forms, etc.) You can also check the other mappers including components from Semantic UI React, Ant Design or BlueprintJS.
Carbon Design System is a set of patterns, rules and components for building modern web applications. This system is fully open sourced and maintained by IBM.
- Form state management, validation, conditions and much more.
- Treeshaking: select between CommonJS, ESM or UMD packages to achieve the minimal bundle size.
- Typescript definitions.
- Additional components and additional props:
- all components supports helperText,
- all components display error texts.
- Wizard forms (see below.)
- including AM/PM and timezone selectors
- allows to lazy load initial data
- allows to divide forms into sub groups
- allows to render any text
Wizard (custom component)
- branching paths
- interactive navigation
- submits only visited values
DualListSelect (custom componet)
- allows to move options between two lists
- filtering, sorting
FieldArray (custom component)
- allows to dynamically add form fields into forms
- i.e. registering multiple users at once
- the form (spacing, buttons) is designed according Carbon's guidelines
npm install --save @data-driven-forms/carbon-component-mapper
yarn add @data-driven-forms/carbon-component-mapper
For more information, please reach the documentation page.
Data Driven Forms is an open source project, all community contributions are welcomed. If you encounter any issue, please let us know on GitHub issues page or open a PR. You can also follow the project on Twitter @DataDrivenForms or reach us on our Discord server.