UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 1.96 kB
import{__rest as e}from"tslib";import{jsx as t,jsxs as o}from"react/jsx-runtime";import{useRef as r,useState as i,useCallback as s,useEffect as n}from"react";import{useTransition as c}from"@react-spring/web";import{SidebarMenuStyled as l,SidebarMenuToggleButton as m,SidebarMenuBlock as d,SidebarMenuBlockScrollbarWrapper as a,SidebarMenuBlockContent as p}from"./styled.js";export{SidebarMenuNav}from"./styled.js";import{CloseIcon as u}from"../../../icons/close/index.js";import{MenuIcon as f}from"../../../icons/menu/index.js";import{SidebarMenuProvider as b}from"./context.js";export{SidebarMenuConsumer,SidebarMenuContext,useSidebarMenu}from"./context.js";import{useSidebar as j}from"../context.js";import"../../../theme/index.js";import"./nav/link/styled.js";import"../../icon/styled.js";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../tooltip/context.js";import{useTheme as h}from"../../../theme/hook.js";const x=x=>{var{children:y,disabled:g=!1}=x,v=e(x,["children","disabled"]);const k=h(),O=r(null),[M,S]=i(!1),{isOpen:w}=j(),C=s((()=>{S(!M)}),[M]);n((()=>{const e=e=>{const t=O.current;null!==t&&(t.contains(e.target)||S(!1))};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]);const E=c(M,{from:{opacity:0,scale:.85},enter:{opacity:1,scale:1},leave:{opacity:0,scale:.85},config:{duration:150}});return t(b,{isOpen:M,setIsOpen:S,children:o(l,Object.assign({},v,{ref:O,children:[t(m,{disabled:g,onClick:C,"data-test":"sidebar-toggle-button",children:t(M?u:f,{fill:k.bright?k.default.colors.base.black:k.default.colors.base.white})}),E(((e,o)=>o&&t(d,{style:e,$sidebarOpen:w,children:t(a,{children:t(p,{children:y})})})))]}))})};export{x as SidebarMenu,d as SidebarMenuBlock,p as SidebarMenuBlockContent,a as SidebarMenuBlockScrollbarWrapper,b as SidebarMenuProvider,l as SidebarMenuStyled,m as SidebarMenuToggleButton};