Fieldset
Groups related form fields with an accessible legend.1<Fieldset legend="Personal Information">2 <Field label="First Name" required>3 <InputField placeholder="John" />4 </Field>5 <Field label="Last Name" required>6 <InputField placeholder="Doe" />7 </Field>8 <Field label="Email" required>9 <InputField type="email" placeholder="john@example.com" />10 </Field>11</Fieldset>
Anatomy
Fieldset supports a simple props API and a sub-component API.
Simple API
1import { Fieldset, Field, InputField } from "@raystack/apsara";23<Fieldset legend="Personal Information">4 <Field label="First Name">5 <InputField placeholder="John" />6 </Field>7 <Field label="Last Name">8 <InputField placeholder="Doe" />9 </Field>10</Fieldset>
Sub-component API
1import { Fieldset, Field, InputField } from "@raystack/apsara";23<Fieldset>4 <Fieldset.Legend>Personal Information</Fieldset.Legend>5 <Field label="First Name">6 <InputField placeholder="John" />7 </Field>8</Fieldset>
API Reference
Root
Groups related fields with a shared legend. Renders a <fieldset> element.
Prop
Type
Legend
An accessible legend for the fieldset. Renders a <div> element with role="presentation".
Prop
Type
Examples
Basic Fieldset
A fieldset grouping related fields with a legend.
1<Fieldset legend="Contact Details">2 <Field label="Phone" required>3 <InputField type="tel" placeholder="+1 (555) 000-0000" />4 </Field>5 <Field label="Address" optional>6 <InputField placeholder="123 Main St" />7 </Field>8</Fieldset>
Sub-component API
Using Fieldset.Legend for custom legend styling.
1<Fieldset>2 <Fieldset.Legend>Account Settings</Fieldset.Legend>3 <Field label="Username" required>4 <InputField placeholder="Enter username" />5 </Field>6 <Field label="Password" required>7 <InputField type="password" placeholder="Enter password" />8 </Field>9</Fieldset>
Disabled Fieldset
All fields within a disabled fieldset are disabled.
1<Fieldset legend="Disabled Section" disabled>2 <Field label="Read Only Field">3 <InputField placeholder="Cannot edit" />4 </Field>5 <Field label="Another Field">6 <InputField placeholder="Also disabled" />7 </Field>8</Fieldset>
Nested Fieldsets
Fieldsets can be nested to create logical groupings.
1<Form>2 <Fieldset legend="Personal Info">3 <Field label="Full Name" required>4 <InputField placeholder="John Doe" />5 </Field>6 </Fieldset>7 <Fieldset legend="Work Info">8 <Field label="Company" required>9 <InputField placeholder="Acme Inc." />10 </Field>11 <Field label="Role" optional>12 <InputField placeholder="Software Engineer" />13 </Field>14 </Fieldset>15 <Button type="submit">Save</Button>
Accessibility
- Renders a native
<fieldset>element for semantic grouping Fieldset.Legendprovides an accessible name for the group- The
disabledprop propagates to all child form controls