@fremtind/jkl-accordion-react
Version:
Jøkul react accordion component
3 lines (2 loc) • 1.04 kB
JavaScript
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{ArrowVerticalAnimated as a}from"@fremtind/jkl-icons-react";import{useAnimatedDetails as i}from"@fremtind/jkl-react-hooks";import r from"classnames";import{useState as o}from"react";const c=({children:c,title:n,className:s,startExpanded:m=!1,onClick:d,id:l,...k})=>{const[p,f]=o(m),[j]=o((()=>m)),{detailsRef:_,summaryRef:h,contentRef:u,onSummaryClick:x}=i({onOpenChange:(e,t)=>{f(e),d&&d(t,e)},isExpanded:j});return e("details",{"data-testid":"jkl-accordion-item",...k,className:r("jkl-accordion-item",s),ref:_,id:l,children:[e("summary",{"data-testid":"jkl-accordion-item__title",className:"jkl-accordion-item__title",onClick:x,ref:h,children:[n,t(a,{className:"jkl-accordion-item__arrow",pointingDown:!p,bold:p})]}),t("div",{"data-testid":"jkl-accordion-item__content-wrapper",className:"jkl-accordion-item__content-wrapper",ref:u,children:t("div",{className:"jkl-accordion-item__content",children:c})})]})};export{c as AccordionItem};
//# sourceMappingURL=AccordionItem.js.map