Field

Layout primitive that stacks a label, control, description, and error into a single semantic group. No motion — just a stable rhythm that survives invalid states without reflow.

Usage

We'll only use this to send the login code.

Orientations

Shown on comments and commits.

FieldGroup composition

Markdown is supported.

Select

Field wrapping a Select dropdown.

The framework used in this project.

Slider

Field wrapping a Slider range control.

Drag to adjust the output level.

Fieldset

Field.Set groups related fields under a shared legend — ideal for radio or checkbox clusters.

Payment method

Checkbox

Horizontal Field layout places the label to the right of the Checkbox.

You agree to our Terms of Service and Privacy Policy.

Radio

Field composing a RadioGroup with a shared label and description.

Choose which events trigger a notification.

Switch

Horizontal Field layout places label and description to the right of the Switch.

Receive updates about new features and offers.

Field.Field props

Renders a role=group div. Orientation drives how label, control, description, and error lay out. Sub-components (Label, Description, Error, Content, Title, Legend, Separator, Set) render their intended slot with tokenized spacing.

PropTypeDescription
'vertical' | 'horizontal' | 'responsive'Stack direction. Responsive flips to horizontal at the container's @md breakpoint.
HTMLDivElement | nullTwo-way-bindable element reference.
stringMerged onto the root via tailwind-merge.

Field.Error props

Renders a role=alert region only when there is content — absent by default so no layout is reserved.

PropTypeDescription
{ message?: string }[]Optional list of error descriptors. One message renders inline; many render as a list.
SnippetCustom error markup. Overrides the errors array when provided.
stringMerged onto the alert via tailwind-merge.