@legion-ui-kit/react-core
Version:
To install the package into your project:
4 lines (3 loc) • 1.81 kB
JavaScript
"use client";
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("classnames"),s=require("./styles.module.scss.cjs"),a=require("./Accordion.constant.cjs"),r=require("../../helpers/common.cjs"),c=require("../../helpers/typeChecker.cjs"),n=require("../../helpers/typography.cjs");function i(e){return e&&e.__esModule?e:{default:e}}var d=i(l);exports.default=l=>{const{children:i,className:o,contentClassName:u,contentStyle:f,disabled:g,headerClassName:O,headerStyle:h,isOpen:C=a.ACCORDION_DEFAULT_PROPS.isOpen,noToggle:N,onClick:_,openedClassName:m,openedStyle:p,style:y,title:j,titleClassName:I,titleStyle:S,toggleClassName:x,toggleIcon:q=a.ACCORDION_DEFAULT_PROPS.toggleIcon,toggleIconPosition:A=a.ACCORDION_TOGGLE_POSITION.right,toggleStyle:P,...R}=l,T=A===a.ACCORDION_TOGGLE_POSITION.left,D=t.useRef(null),[E,v]=t.useState(0),G=d.default(s.default.legion_accordion,o,{[s.default.left_toggle]:T,[s.default.disabled]:g,[`${m}`]:C&&!!m,[s.default.open]:C}),b=d.default(O,s.default.accordion_header),L=d.default(I,s.default.title),k=d.default(x,s.default.toggle_icon),F=d.default(s.default.toggle_default,{[s.default[n.snakeCase(q)]]:a.ACCORDION_TOGGLE_ICONS.includes(q)}),H=d.default(u,s.default.accordion_content),M={...y,...C?p:{}};t.useEffect(()=>{r.isEmpty(D?.current?.offsetHeight)||v(D?.current.offsetHeight)},[]);return e.jsxs("div",{className:G,style:M,...R,children:[e.jsxs("button",{className:b,style:h,onClick:()=>{c.isFunction(_)&&_(!C)},disabled:g,children:[e.jsx("span",{className:L,style:S,children:j}),!N&&e.jsx("span",{className:k,style:P,children:e.jsx("i",{className:F})})]}),e.jsx("div",{className:H,style:{...f,height:C?E:0},children:e.jsx("div",{ref:D,children:i})})]})};
//# sourceMappingURL=Accordion.cjs.map