UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

4 lines (3 loc) 1.55 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("classnames"),u=require("./styles.module.scss.cjs"),t=require("../../helpers/common.cjs");function i(e){return e&&e.__esModule?e:{default:e}}var l=i(a);exports.default=a=>{const{activeMainMenuClassName:i,activeMainMenuStyle:n,activeSubMenuClassName:r,activeSubMenuStyle:c,className:d,mainMenuClassName:m,mainMenuStyle:f,menu:o,subMenuClassName:p,subMenuStyle:b,subMenuWrapperClassName:v,subMenuWrapperStyle:M,...h}=a,[y,_]=s.useState({isOpen:!0,height:"auto"}),{isOpen:N,height:j}=y,x=N?j:0,S=s.useRef(null),g=l.default(u.default.legion_sidebar_menu,d,{[u.default.open]:N}),C=l.default(u.default.sidebar_submenu_wrapper,v),{menu:O,subMenu:q}=o,{label:A,isActive:E}=O,w=l.default(u.default.sidebar_menu,m,{[u.default.active]:E,[`${i}`]:E});s.useEffect(()=>{if(S&&S.current){const e=o.subMenu?.some(e=>e.isActive);_({isOpen:!!e,height:S.current.offsetHeight})}},[]);return e.jsxs("div",{className:g,...h,children:[e.jsxs("div",{className:w,style:{...f,...E?n:{}},onClick:()=>{_(e=>({...e,isOpen:!e.isOpen}))},children:[A,!t.isEmpty(q)&&e.jsx("i",{className:u.default.sidebar_menu_arrow})]}),!t.isEmpty(q)&&e.jsx("div",{ref:S,className:C,style:{...M,height:x},children:q?.map((s,a)=>{const{label:t,isActive:i}=s,n=l.default(u.default.sidebar_submenu,p,{[u.default.active]:i,[`${r}`]:i});return e.jsx("div",{className:n,style:{...b,...i?c:{}},children:t},a)})})]})}; //# sourceMappingURL=SidebarMenu.cjs.map