A form renderer for the moving parts of your application.
tired of forms?
use <de-form> now
Construct forms from application state and data, not hard-coded screens. Built with web components. Framework agnostic.
Render forms at runtime,
based on your data.
Make a simple form,
- set what's mandatory/optional
- reveal further questions based on values
- sensible validation out of the box
Try selecting "Phone"
This is a local example. Nothing is submitted to a server.
Configuration for simple only.
The configuration above is passed to the live form. The Lit template shows how to bind it and your own saved values; currentStateFromDB is a placeholder for your data.
15 field types.
And growing.
Pick the field type in your configuration; deForm handles the rendering.
Enter something
- Text
text - Email
email - Password
password - Number
number - Long text
textarea - Date
date - Color
color
Make a choice
- Select
select - Radio group
radio - Radio buttons
radioButton - Checkbox
checkbox - Toggle
toggle - Switchable field
toggleField
Set a value
- Range
range - Rating
rating
These are configuration types, not separate components. The same <de-form> renders them all.
A form is a view
of your data.
Product types, account roles, existing records, feature flags: your application already carries the information that determines what a form should ask. Use that information to assemble a configuration, then hand it to <de-form>.
The component renders typed fields, handles validation and change tracking, and can reveal fields when answers change. Your application stays in charge of the data and submission.
+ data
configuration
One custom element.
Your choice of framework.
deForm is built with Lit and Shoelace. It uses the web component standard, so the form can live alongside the rest of your application without dictating its framework.
npm install @deform-wg/deform@rcimport '@deform-wg/deform';<de-form></de-form>Open source · MIT licensed