Radio Group
各項目を実際の input[type=radio] としてレンダリングし、React context を通じて name と選択状態を共有します。制御・非制御の値、水平・垂直 layout、disabled、required に対応します。
@neumorphism-ui/radio-groupプレビュー
インストール
インストール: radio-group
npx shadcn@latest add @neumorphism-ui/radio-groupCLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。
この Registry を初めて使う場合は、先に namespace の設定 を完了してください。
使い方
使い方: インストール
npx shadcn@latest add @neumorphism-ui/radio-group @neumorphism-ui/labelImport
Radio Group の import コード
import {
RadioGroup,
RadioGroupItem,
} from "@/components/ui/radio-group"
import { Label } from "@/components/ui/label"Example
Radio Group の使用コード
<RadioGroup
defaultValue="comfortable"
orientation="horizontal"
aria-label="表示密度"
>
<Label className="flex gap-2" htmlFor="density-compact">
<RadioGroupItem id="density-compact" value="compact" />
コンパクト
</Label>
<Label className="flex gap-2" htmlFor="density-comfortable">
<RadioGroupItem id="density-comfortable" value="comfortable" />
ゆったり
</Label>
</RadioGroup>API リファレンス
| コンポーネント | プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|---|
RadioGroup | value / defaultValue | string | — | 制御された選択値、または非制御時の初期値です。 |
RadioGroup | onValueChange | (value: string) => void | — | 選択値が変わったときに呼び出されます。 |
RadioGroup | orientation | "horizontal" | "vertical" | "vertical" | layout の向きと aria-orientation を設定します。 |
RadioGroup | name | string | generated id | すべての項目で共有する native radio name です。 |
RadioGroup | disabled / required | boolean | false | すべての項目に input の制約を設定します。 |
RadioGroupItem | value必須 | string | — | 項目が選択されたときに group へ渡す値です。 |
アクセシビリティ
- 01
RadioGroup の root には aria-label または aria-labelledby でアクセシブルな group 名を指定してください。
- 02
各 RadioGroupItem の id と Label の htmlFor を関連付けてください。
- 03
実際の radio input により、native form 送信とキーボードによる選択動作が維持されます。