フォームと選択@neumorphism-ui/radio-group

Radio Group

各項目を実際の input[type=radio] としてレンダリングし、React context を通じて name と選択状態を共有します。制御・非制御の値、水平・垂直 layout、disabled、required に対応します。

@neumorphism-ui/radio-group
Registry JSON

プレビュー

インストール

インストール: radio-groupnpx shadcn@latest add @neumorphism-ui/radio-group

CLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。

この Registry を初めて使う場合は、先に namespace の設定 を完了してください。

使い方

使い方: インストールnpx shadcn@latest add @neumorphism-ui/radio-group @neumorphism-ui/label

Import

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 リファレンス

コンポーネントプロパティ型デフォルト説明
RadioGroupvalue / defaultValuestring—制御された選択値、または非制御時の初期値です。
RadioGrouponValueChange(value: string) => void—選択値が変わったときに呼び出されます。
RadioGrouporientation"horizontal" | "vertical""vertical"layout の向きと aria-orientation を設定します。
RadioGroupnamestringgenerated idすべての項目で共有する native radio name です。
RadioGroupdisabled / requiredbooleanfalseすべての項目に input の制約を設定します。
RadioGroupItemvalue必須string—項目が選択されたときに group へ渡す値です。

アクセシビリティ

  • 01

    RadioGroup の root には aria-label または aria-labelledby でアクセシブルな group 名を指定してください。

  • 02

    各 RadioGroupItem の id と Label の htmlFor を関連付けてください。

  • 03

    実際の radio input により、native form 送信とキーボードによる選択動作が維持されます。