
Build forms with ease
Use "Form, Please" to build product forms quickly from an existing design system. Wrap product controls and structural slots once, then reuse them across generated or manually composed forms. It handles state, validation, and submission while your application keeps control of components, markup, styling, and product logic. Start with native controls or bring your own design system.
Build your first form, explore the live examples, or review the API.
See it work
Edit the profile and submit it. The React Hook Form resolver validates and transforms the input once, then "Form, Please" displays the typed output.
Live demo
Edit the profile. Submit it to see the schema-validated output.
Submit the form to see typed output.What stays explicit
- Your Standard Schema owns validation and transformed submit output.
- Your definition owns fields, sections, arrays, labels, and conditional UI.
- Your controls and slots own the rendered design system.
- React Hook Form owns editable state and its low-level API.
Use RHF register, Controller, and hooks such as useWatch when a generated
definition is not enough. kit.Form supplies FormProvider.
Supported package entries
The package has seven JavaScript entries: form-please,
form-please/default-slots, form-please/history,
form-please/native-controls, form-please/persistence,
form-please/preset-native, and form-please/preset-mui.
Release automation controls the exact version. Breaking public behavior starts a new major release line.
Kudos
Kudos to Evgeniy Ivaha for the idea and the example implementation.