v0.1 public beta early access on GitHub
Home / Components / form

FormiOS

Labeled field wrapper with validation messaging.

$ npx lumioui add form
import { useFormContext, useFormField, Form } from "@/components/ui/form/form";
Parts: useFormContext · useFormField
Props27
Form
disabled? boolean Disable all fields in the form (exposed via useFormContext).
className? string
FormField
name? string Field name (for identification/analytics).
label? string Shorthand label — equivalent to rendering <Form.Label>.
required? boolean Show a required asterisk on the label.
error? string Error message — renders <Form.Message> and marks the field invalid.
description? string Hint text shown when there is no error.
className? string
labelClassName? string
FormLabel
className? string
FormMessage
className? string
FormSection
title? string Optional header text rendered above the group, iOS-settings style.
footer? string Optional footer text rendered below the group.
titleClassName? string Extra classes for the header text.
footerClassName? string Extra classes for the footer text.
className? string
FormRow
label string Primary label.
description? string Secondary description below the label.
leading? React.ReactNode Slot rendered before the label (icon, avatar).
trailing? React.ReactNode Control rendered on the trailing side (Switch, value text, etc.).
showChevron? boolean Show a disclosure chevron on the trailing edge.
haptic? "light" | "selection" | false Haptic on press. Default "selection"; false to disable.
className? string
labelClassName? string
descriptionClassName? string
children? React.ReactNode
FormSeparator
className? string
Form — Checkoutcheckout.tsx
form/variants/checkout.tsx open

Labeled field wrapper with validation messaging.

Form — Preferencespreferences.tsx
form/variants/preferences.tsx open

Labeled field wrapper with validation messaging.