Accordion
description
- Since the callback returns a target, you can freely animate it with GSAP or similar.
- If you set isView to true, it will be in an open state.
demo
コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。コンテンツが入ります。
code
const Demo = () => {
return (
<Accordion.Context defaultValue={["accordion-1"]}>
{accordionList.map((list) => (
<div key={list.value} className={s.accordion}>
<Accordion.Button value={list.value} className={s.button}>
<div className={s.buttonContent}>
<p>{list.buttonTxt}</p>
<div className={s.icon}>
<span></span>
<span></span>
</div>
</div>
</Accordion.Button>
<Accordion.Content
value={list.value}
onOpen={(props) => {
accordionEvent(props, true);
}}
onClose={(props) => {
accordionEvent(props, false);
}}>
<div className={s.content}>
<p>{list.contentTxt}</p>
<button>
コンテンツ内のクリック要素のtabIndexはclose時は自動的に-1になります。
</button>
</div>
</Accordion.Content>
</div>
))}
</Accordion.Context>
);
};