FormField
v1.0.15Updated 19 Oct 2026Composite of Label + Input/Select/Textarea + description + error. The standard atom for any form row in build69.
Preview
Live · 16 storiesDefaultOpen ↗
▸Why this is recommendedformfieldinputlabel+2
The default, out-of-the-box FormField.
Recommended for+14
- ✓Every form field in build69
- ✓Settings forms
- ✓Multi-step wizards (one per step)
Tags+6
formfieldinputlabelerrordefault
Features+4
- Label + control + description + error slot
- Required indicator
- Disabled state
- Supports any input control as child
- Inline / stacked layout
- Error message wired to aria-describedby
- i18n: labels prop (FormField + FieldArray) overrides every built-in UI string (info aria, auto-save states, row-remove aria template) — see FormFieldLabels / DEFAULT_FORM_FIELD_LABELS
- Error and success status icons both reserve pr-9 on the control, so a trailing chevron / clear button laid out as the last flex child moves left of the icon instead of under it
- Status modes: a control declares setFormFieldStatusMode(Control, "ring" | "self") to get the state ring only (groups: RadioGroup, Rating, clocks) or no ring / strip / icon at all (wrapper-rooted controls that paint aria-invalid themselves: TagInput, SearchInput, OtpInput, SignaturePad, Slider, Switch, Checkbox)
Not recommended for−2
- ✕Read-only attribute lists (use KVList)
- ✕Custom-layout fields (compose manually)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
PropTypeRequired
labelField label
—descriptionHelper text
—errorValidation error message
—requiredMark required
—childrenInput control
yeslabelsOverride any built-in UI string — info aria, auto-save states, FieldArray row-remove template (i18n). Shared with FieldArray; merged over DEFAULT_FORM_FIELD_LABELS.
—