UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 1.79 kB
import{__rest as t}from"tslib";import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useRef as r,useState as i,useEffect as n}from"react";import{useTransition as l}from"@react-spring/web";import{SidebarDropdownStyled as c,SidebarDropdownToggler as s,SidebarDropdownTogglerIcon as m,SidebarDropdownContent as d,SidebarDropdownList as p}from"./styled.js";import{SidebarDropdownProvider as a}from"./context.js";import{IconProvider as u}from"../../icon/context.js";import"../../icon/styled.js";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import{useTheme as f}from"../../../theme/hook.js";const v=v=>{var h,j,{children:w}=v,g=t(v,["children"]);const b=f(),y=r(null),[x,E]=i(!1),L=r(null),k=r(null);n(()=>{const t=y.current;if(null!==t){const e=e=>{t.contains(e.target)||E(!1)},o=()=>E(!1),r=()=>E(!1);return document.addEventListener("click",e,!0),window.addEventListener("blur",o,!0),window.addEventListener("scroll",r,!0),()=>{document.removeEventListener("click",e,!0),window.removeEventListener("blur",o,!0),window.removeEventListener("scroll",r,!0)}}},[]);const O=null!==(j=null===(h=y.current)||void 0===h?void 0:h.getBoundingClientRect())&&void 0!==j?j:{right:0,bottom:0},C=l(x,{from:{opacity:0},enter:{opacity:1},leave:{opacity:0},config:{duration:150}});return e(a,{setIsOpen:E,children:o(c,Object.assign({},g,{ref:y,children:[e(s,{ref:L,onClick:t=>{t.stopPropagation(),t.preventDefault(),E(t=>!t)},children:e(u,{fill:b.colors.base.white,children:e(m,{})})}),C((t,o)=>o&&e(d,{style:Object.assign(Object.assign({},t),{top:O.bottom,left:O.right}),ref:k,children:e(p,{children:w})}))]}))})};export{v as SidebarListActions};