Files
shadcn-ui/apps/v4/examples/base/radio-fields.tsx
shadcn 47c47eaed2 feat: add docs for base-ui components (#9304)
* feat: add base and radix docs

* feat: transform code for display

* fix

* fix

* fix

* fix

* fix

* chore: remove claude files

* fix

* fix

* fix

* chore: run format:write

* fix

* feat: add more examples

* fix

* feat: add aspect-ratio

* feat: add avatar

* feat: add badge

* feat: add breadcrumb

* fix

* feat: add button

* fix

* fix

* fix

* feat: add calendar and card

* feat: add carousel

* fix: chart

* feat: add checkbox

* feat: add collapsible

* feat: add combobox

* feat: add command

* feat: add context menu

* feat: add data-table dialog and drawer

* feat: dropdown-menu

* feat: add date-picker

* feat: add empty

* feat: add field and hover-card

* fix: input

* feat: add input

* feat: add input-group

* feat: add input-otp

* feat: add item

* feat: add kbd and label

* feat: add menubar

* feat: add native-select

* feat: add more components

* feat: more components

* feat: more components

* feat: add skeleton, slider and sonner

* feat: add spinner and switch

* feat: add more components

* fix: tabs

* fix: tabs

* feat: add docs for sidebar

* fix

* fix

* fi

* docs: update

* fix: create page

* fix

* fix

* chore: add changelog

* fix
2026-01-20 19:31:38 +04:00

150 lines
5.4 KiB
TypeScript

import {
Field,
FieldContent,
FieldDescription,
FieldGroup,
FieldLabel,
FieldLegend,
FieldSet,
FieldTitle,
} from "@/examples/base/ui/field"
import { RadioGroup, RadioGroupItem } from "@/examples/base/ui/radio-group"
export function RadioFields() {
return (
<FieldGroup>
<FieldSet>
<FieldLegend variant="label">Subscription Plan</FieldLegend>
<RadioGroup defaultValue="free">
<Field orientation="horizontal">
<RadioGroupItem value="free" id="radio-free" />
<FieldLabel htmlFor="radio-free" className="font-normal">
Free Plan
</FieldLabel>
</Field>
<Field orientation="horizontal">
<RadioGroupItem value="pro" id="radio-pro" />
<FieldLabel htmlFor="radio-pro" className="font-normal">
Pro Plan
</FieldLabel>
</Field>
<Field orientation="horizontal">
<RadioGroupItem value="enterprise" id="radio-enterprise" />
<FieldLabel htmlFor="radio-enterprise" className="font-normal">
Enterprise
</FieldLabel>
</Field>
</RadioGroup>
</FieldSet>
<FieldSet>
<FieldLegend variant="label">Battery Level</FieldLegend>
<FieldDescription>
Choose your preferred battery level.
</FieldDescription>
<RadioGroup>
<Field orientation="horizontal">
<RadioGroupItem value="high" id="battery-high" />
<FieldLabel htmlFor="battery-high">High</FieldLabel>
</Field>
<Field orientation="horizontal">
<RadioGroupItem value="medium" id="battery-medium" />
<FieldLabel htmlFor="battery-medium">Medium</FieldLabel>
</Field>
<Field orientation="horizontal">
<RadioGroupItem value="low" id="battery-low" />
<FieldLabel htmlFor="battery-low">Low</FieldLabel>
</Field>
</RadioGroup>
</FieldSet>
<RadioGroup className="gap-6">
<Field orientation="horizontal">
<RadioGroupItem value="option1" id="radio-content-1" />
<FieldContent>
<FieldLabel htmlFor="radio-content-1">Enable Touch ID</FieldLabel>
<FieldDescription>
Enable Touch ID to quickly unlock your device.
</FieldDescription>
</FieldContent>
</Field>
<Field orientation="horizontal">
<RadioGroupItem value="option2" id="radio-content-2" />
<FieldContent>
<FieldLabel htmlFor="radio-content-2">
Enable Touch ID and Face ID to make it even faster to unlock your
device. This is a long label to test the layout.
</FieldLabel>
<FieldDescription>
Enable Touch ID to quickly unlock your device.
</FieldDescription>
</FieldContent>
</Field>
</RadioGroup>
<RadioGroup className="gap-3">
<FieldLabel htmlFor="radio-title-1">
<Field orientation="horizontal">
<RadioGroupItem value="title1" id="radio-title-1" />
<FieldContent>
<FieldTitle>Enable Touch ID</FieldTitle>
<FieldDescription>
Enable Touch ID to quickly unlock your device.
</FieldDescription>
</FieldContent>
</Field>
</FieldLabel>
<FieldLabel htmlFor="radio-title-2">
<Field orientation="horizontal">
<RadioGroupItem value="title2" id="radio-title-2" />
<FieldContent>
<FieldTitle>
Enable Touch ID and Face ID to make it even faster to unlock
your device. This is a long label to test the layout.
</FieldTitle>
<FieldDescription>
Enable Touch ID to quickly unlock your device.
</FieldDescription>
</FieldContent>
</Field>
</FieldLabel>
</RadioGroup>
<FieldSet>
<FieldLegend variant="label">Invalid Radio Group</FieldLegend>
<RadioGroup>
<Field data-invalid orientation="horizontal">
<RadioGroupItem
value="invalid1"
id="radio-invalid-1"
aria-invalid
/>
<FieldLabel htmlFor="radio-invalid-1">Invalid Option 1</FieldLabel>
</Field>
<Field data-invalid orientation="horizontal">
<RadioGroupItem
value="invalid2"
id="radio-invalid-2"
aria-invalid
/>
<FieldLabel htmlFor="radio-invalid-2">Invalid Option 2</FieldLabel>
</Field>
</RadioGroup>
</FieldSet>
<FieldSet>
<FieldLegend variant="label">Disabled Radio Group</FieldLegend>
<RadioGroup disabled>
<Field data-disabled orientation="horizontal">
<RadioGroupItem value="disabled1" id="radio-disabled-1" disabled />
<FieldLabel htmlFor="radio-disabled-1">
Disabled Option 1
</FieldLabel>
</Field>
<Field data-disabled orientation="horizontal">
<RadioGroupItem value="disabled2" id="radio-disabled-2" disabled />
<FieldLabel htmlFor="radio-disabled-2">
Disabled Option 2
</FieldLabel>
</Field>
</RadioGroup>
</FieldSet>
</FieldGroup>
)
}