ナビゲーションと開示@neumorphism-ui/accordion

Accordion

Base UI Accordion の状態管理とアクセシビリティ上の関連付けを維持しながら、展開中の項目を inset サーフェスとして表示します。multiple モードに加え、制御・非制御の両方の使い方に対応します。

@neumorphism-ui/accordion
Registry JSON

プレビュー

最初のコンポーネントを追加すると、ニューモーフィズムの surface、shadow、radius トークンもプロジェクトの CSS に接続されます。

インストール

インストール: accordionnpx shadcn@latest add @neumorphism-ui/accordion

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

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

使い方

Import

Accordion の import コード
import {
  Accordion,
  AccordionContent,
  AccordionItem,
  AccordionTrigger,
} from "@/components/ui/accordion"

Example

Accordion の使用コード
<Accordion defaultValue={["shipping"]}>
  <AccordionItem value="shipping">
    <AccordionTrigger>配送にはどのくらいかかりますか?</AccordionTrigger>
    <AccordionContent>
      ご注文の商品は2〜3営業日以内に発送されます。
    </AccordionContent>
  </AccordionItem>
  <AccordionItem value="returns">
    <AccordionTrigger>注文を返品できますか?</AccordionTrigger>
    <AccordionContent>
      商品の到着後14日以内であれば返品を申請できます。
    </AccordionContent>
  </AccordionItem>
</Accordion>

API リファレンス

コンポーネントプロパティ型デフォルト説明
Accordionmultiplebooleanfalse複数の項目を同時に展開できるようにします。
Accordionvalue / defaultValuestring[]—展開中の項目を表す制御値、または非制御時の初期値です。
AccordiononValueChange(value) => void—展開中の項目が変わったときに呼び出されます。
AccordionItemvalue必須string—項目を識別する一意の値です。
AccordionItemdisabledbooleanfalse項目の trigger を無効にします。
AccordionContentkeepMountedbooleanfalse閉じている間も panel を DOM に保持します。

アクセシビリティ

  • 01

    Base UI が各 trigger と panel の aria-expanded および aria-controls の関連付けを管理します。

  • 02

    Tab で trigger にフォーカスを移し、Enter または Space で項目を開閉します。

  • 03

    AccordionTrigger は実際の button をレンダリングするため、その見出し内に別の button を配置しないでください。