インタラクティブな見出しを垂直に積み重ねたセットで、それぞれに関連付けられたコンテンツセクションが表示されます。
import React from 'react';import * as Accordion from '@radix-ui/react-accordion';import classNames from 'classnames';import { ChevronDownIcon } from '@radix-ui/react-icons';import './styles.css';const AccordionDemo = () => (<Accordion.Root className="AccordionRoot" type="single" defaultValue="item-1" collapsible><Accordion.Item className="AccordionItem" value="item-1"><AccordionTrigger>Is it accessible?</AccordionTrigger><AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent></Accordion.Item><Accordion.Item className="AccordionItem" value="item-2"><AccordionTrigger>Is it unstyled?</AccordionTrigger><AccordionContent>Yes. It's unstyled by default, giving you freedom over the look and feel.</AccordionContent></Accordion.Item><Accordion.Item className="AccordionItem" value="item-3"><AccordionTrigger>Can it be animated?</AccordionTrigger><Accordion.Content className="AccordionContent"><div className="AccordionContentText">Yes! You can animate the Accordion with CSS or JavaScript.</div></Accordion.Content></Accordion.Item></Accordion.Root>);const AccordionTrigger = React.forwardRef(({ children, className, ...props }, forwardedRef) => (<Accordion.Header className="AccordionHeader"><Accordion.Trigger className={classNames('AccordionTrigger', className)} {...props} ref={forwardedRef} >{children}<ChevronDownIcon className="AccordionChevron" aria-hidden /></Accordion.Trigger></Accordion.Header>));const AccordionContent = React.forwardRef(({ children, className, ...props }, forwardedRef) => (<Accordion.Content className={classNames('AccordionContent', className)} {...props} ref={forwardedRef} ><div className="AccordionContentText">{children}</div></Accordion.Content>));export default AccordionDemo;
完全なキーボードナビゲーション。
水平/垂直方向をサポートします。
右から左への方向をサポートします。
1つまたは複数のアイテムを展開できます。
制御することも、制御解除することもできます。
コマンドラインからコンポーネントをインストールします。
すべてのパーツをインポートして、それらをまとめて組み立てます。
アコーディオンのすべてのパーツが含まれています。
折りたたみ可能なセクションのすべてのパーツが含まれています。
Accordion.Trigger
をラップします。asChild
プロパティを使用して、ページに適した見出しレベルに更新します。
関連付けられたアイテムの折りたたみ状態を切り替えます。Accordion.Header
内にネストする必要があります。
アイテムの折りたたみ可能なコンテンツが含まれています。
defaultValue
プロパティを使用して、デフォルトで開くアイテムを定義します。
collapsible
プロパティを使用して、すべてのアイテムを閉じることができるようにします。
type
プロパティを multiple
に設定すると、複数の項目を同時に開くことができます。
シェブロンなどの装飾要素を追加し、項目が開いたときに回転させることができます。
orientation
プロパティを使用して、横方向のアコーディオンを作成します。
--radix-accordion-content-width
および/または --radix-accordion-content-height
CSS変数を使用して、開閉時のコンテンツのサイズをアニメーション化します。
アコーディオン WAI-ARIA デザインパターンに準拠しています。