UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 1.4 kB
import{jsx as e}from"react/jsx-runtime";import{useState as n,useRef as l,useEffect as t}from"react";import{MultiLevelMenuStyled as o,MultiLevelMenuWrapper as u}from"./styled.js";export{ArticleIconMultiLevelMenu,MultiLevelMenuActionChatIcon,MultiLevelMenuArrowRight45,MultiLevelMenuBlogCircleIcon,MultiLevelMenuBlogNewsIcon,MultiLevelMenuFlexIcon,MultiLevelMenuGearIcon,MultiLevelMenuPublicIcon,MultiLevelMenuReferalIcon,MultiLevelMenuSecondLevelArrowRight45,MultiLevelMenuSetchelIcon,MultiLevelMenuStarIconBasic,MultiLevelMenuStarIconDeluxe,MultiLevelMenuStarIconElite,MultiLevelMenuStarIconPlans,MultiLevelMenuStarIconPremium,StartsIconMultiLevelMenu,TgCircleIconMultiLevelMenu}from"./styled.js";import{MultiLevelMenuAccordion as i}from"./multi-level-menu-accordion/ui/index.js";const r=({config:r})=>{const c=r,[M,v]=n(null),a=l(null);t((()=>{const e=a.current;if(null!==e){const n=n=>{e.contains(n.target)||v(null)},l=()=>v(null);return document.addEventListener("click",n),window.addEventListener("blur",l),()=>{document.removeEventListener("click",n),window.removeEventListener("blur",l)}}}),[]);const L=()=>v(null);return e(o,{children:e(u,{ref:a,children:c&&c.map(((n,l)=>e(i,{accordionIndex:l,openAccordion:l===M,handleAccordionToggle:()=>{var e;v(M===(e=l)?null:e)},handleCloseAccordion:L,menuItem:n},l)))})})};export{o as MultiLevelMenuStyled,u as MultiLevelMenuWrapper,r as MultilevelMenu};