@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 1.37 kB
JavaScript
import{jsxs as o,jsx as r}from"react/jsx-runtime";import{useRef as t,useState as e,useCallback as i,useEffect as s}from"react";import{useTransition as m}from"@react-spring/web";import{Button as n}from"../../button/index.js";import{CloseIcon as c}from"../../../icons/close/index.js";import{MenuIcon as l}from"../../../icons/menu/index.js";import{SidebarMenuStyled as p,SidebarMenuList as a}from"./styled.js";import{useSidebar as u}from"../context.js";import{SidebarMenuProvider as d}from"./context.js";import{useOnClickOutside as f}from"../../../utils/useOnClickOutside.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"tslib";import"../../../theme/index.js";const j=({children:j})=>{const h=t(null),{isOpen:x}=u(),[y,k]=e(!1),[w,O]=e(!1),b=i(()=>{k(o=>!o)},[y]);s(()=>{k(!1)},[x]);const g=m(y,{from:{opacity:0,scale:.85},enter:{opacity:1,scale:1},leave:{opacity:0,scale:.85},config:{duration:150}}),v=i(()=>{O(!0)},[]),C=i(()=>{O(!1)},[]);return f(h,()=>{k(!1)}),o(p,{ref:h,children:[o(n,{size:"small",onClick:b,children:[y&&r(c,{}),!y&&r(l,{})]}),r(d,{value:{isShowTooltips:w,setShowTooltips:O},children:g((o,t)=>t&&r(a,{onMouseEnter:v,onMouseLeave:C,$isOpen:x,style:o,children:j}))})]})};export{j as SidebarMenu};