import{r as e,j as t}from"./react-B_SyE9nW.js";import{g as n,b as r,o as c}from"./index-C6Ujt1Uk.js";function o(e){return e.substring(2).toLowerCase()}function u(u){const{children:s,disableReactTree:i=!1,mouseEvent:f="onClick",onClickAway:a,touchEvent:m="onTouchEnd"}=u,d=e.useRef(!1),l=e.useRef(null),E=e.useRef(!1),v=e.useRef(!1);e.useEffect((()=>(setTimeout((()=>{E.current=!0}),0),()=>{E.current=!1})),[]);const h=n(s.ref,l),p=r((e=>{const t=v.current;v.current=!1;const n=c(l.current);if(!E.current||!l.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}(e,n))return;if(d.current)return void(d.current=!1);let r;r=e.composedPath?e.composedPath().indexOf(l.current)>-1:!n.documentElement.contains(e.target)||l.current.contains(e.target),r||!i&&t||a(e)})),L=e=>t=>{v.current=!0;const n=s.props[e];n&&n(t)},g={ref:h};return!1!==m&&(g[m]=L(m)),e.useEffect((()=>{if(!1!==m){const e=o(m),t=c(l.current),n=()=>{d.current=!0};return t.addEventListener(e,p),t.addEventListener("touchmove",n),()=>{t.removeEventListener(e,p),t.removeEventListener("touchmove",n)}}}),[p,m]),!1!==f&&(g[f]=L(f)),e.useEffect((()=>{if(!1!==f){const e=o(f),t=c(l.current);return t.addEventListener(e,p),()=>{t.removeEventListener(e,p)}}}),[p,f]),t.jsx(e.Fragment,{children:e.cloneElement(s,g)})}export{u as C};