Accordion
関連する項目を一覧し、必要な詳細だけを開く場合に使います。独立した領域が一つなら Collapsible が適しています。
プレビュー
コンポーネント設定の質問
トークン、ソース編集、キーボード操作の 3 項目を展開します。トークンの回答が最初から開いています。
インストール
この Registry を初めて使う場合は、先に 基本設定と共通スタイルの導入 を完了してください。
npx shadcn@latest add @neumorphism-ui/accordion共有 base を一度導入した後、CLI でコンポーネントと依存関係を追加します。
使い方
各 AccordionItem に AccordionTrigger と AccordionContent を置き、固有の value を指定します。複数の回答を開いたままにする場合は multiple を設定します。
"use client";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
export default function Example() {
return (
<Accordion>
<AccordionItem value="shipping">
<AccordionTrigger>When will my order arrive?</AccordionTrigger>
<AccordionContent>Orders ship in 2–3 business days.</AccordionContent>
</AccordionItem>
</Accordion>
);
}API リファレンス
Base UI Accordion の状態管理とアクセシビリティ上の関連付けを維持しながら、展開中の項目を inset サーフェスとして表示します。multiple モードに加え、制御・非制御の両方の使い方に対応します。
| コンポーネント | プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|---|
Accordion | multiple | boolean | false | 複数の項目を同時に展開できるようにします。 |
Accordion | value / defaultValue | string[] | — | 展開中の項目を表す制御値、または非制御時の初期値です。 |
Accordion | onValueChange | (value) => void | — | 展開中の項目が変わったときに呼び出されます。 |
AccordionItem | value必須 | string | — | 項目を識別する一意の値です。 |
AccordionItem | disabled | boolean | false | 項目の trigger を無効にします。 |
AccordionContent | keepMounted | boolean | false | 閉じている間も panel を DOM に保持します。 |
アクセシビリティ
- 01
Base UI が各 trigger と panel の aria-expanded および aria-controls の関連付けを管理します。
- 02
Tab で trigger にフォーカスを移し、Enter または Space で項目を開閉します。
- 03
AccordionTrigger は実際の button をレンダリングするため、その見出し内に別の button を配置しないでください。