UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

4 lines (3 loc) 1.3 kB
"use client"; import{jsx as e}from"react/jsx-runtime";import{useState as o,useEffect as t}from"react";import s from"classnames";import l from"./styles.module.scss.js";import n from"./Accordion.js";import{isFunction as a}from"../../helpers/typeChecker.js";import{ACCORDION_GROUP_DEFAULT_PROPS as r}from"./Accordion.constant.js";const c=c=>{const{accordions:i=r.accordions,accordionClassName:m,className:d,contentClassName:g,contentStyle:p,headerClassName:C,headerStyle:y,isOpen:N,multiple:u,noToggle:S,onClick:f,openedClassName:h,openedStyle:j,titleClassName:k,titleStyle:A,toggleClassName:I,toggleIcon:x,toggleIconPosition:O,toggleStyle:P,...T}=c,[_,v]=o([]),b=s(d,l.legion_accordion_group);t(()=>Array.isArray(N)?v(u?[...N]:[N[0]]):v([N]),[N]);return e("div",{className:b,...T,children:i.map((o,t)=>{const s=t+1,{content:l,onClick:r,...c}=o,i=_.includes(s);return e(n,{className:m,isOpen:i,onClick:()=>{(e=>{let o;o=u?_.includes(e)?_.filter(o=>o!==e):[..._,e]:_.includes(e)?0:e,a(f)&&f(o)})(s),r?.(s)},contentClassName:g,contentStyle:p,headerClassName:C,headerStyle:y,openedClassName:h,openedStyle:j,titleClassName:k,titleStyle:A,toggleClassName:I,toggleIcon:x,toggleIconPosition:O,toggleStyle:P,noToggle:S,...c,children:l},t)})})};export{c as default}; //# sourceMappingURL=AccordionGroup.js.map