1import{r}from"./chunk-62JRHF6Z-CiITS9Lr.js";import{f as h,P as b,c as y,g as _}from"./index-CpFdIny-.js";import{u as x}from"./button-C3R2gXH6-DmcLPg6c.js";import{j as P}from"./jsx-runtime-BJcAWMsb.js";import{R as M}from"./index-BtCCAOm3.js";import{u as U}from"./index-DJ6FfBCX.js";function j(n,e=globalThis?.document){const t=h(n);r.useEffect(()=>{const o=s=>{s.key==="Escape"&&t(s)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[t,e])}var z="DismissableLayer",m="dismissableLayer.update",H="dismissableLayer.pointerDownOutside",K="dismissableLayer.focusOutside",R,T=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),X=r.forwardRef((n,e)=>{const{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:d,onDismiss:l,...E}=n,c=r.useContext(T),[u,F]=r.useState(null),f=u?.ownerDocument??globalThis?.document,[,I]=r.useState({}),S=x(e,i=>F(i)),D=Array.from(c.layers),[A]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),N=D.indexOf(A),O=u?D.indexOf(u):-1,W=c.layersWithOutsidePointerEventsDisabled.size>0,L=O>=N,k=G(i=>{const v=i.target,w=[...c.branches].some(p=>p.contains(v));!L||w||(s?.(i),d?.(i),i.defaultPrevented||l?.())},f),C=J(i=>{const v=i.target;[...c.branches].some(p=>p.contains(v))||(a?.(i),d?.(i),i.defaultPrevented||l?.())},f);return j(i=>{O===c.layers.size-1&&(o?.(i),!i.defaultPrevented&&l&&(i.preventDefault(),l()))},f),r.useEffect(()=>{if(u)return t&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(R=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),g(),()=>{t&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=R)}},[u,f,t,c]),r.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),g())},[u,c]),r.useEffect(()=>{const i=()=>I({});return document.addEventListener(m,i),()=>document.removeEventListener(m,i)},[]),P.jsx(b.div,{...E,ref:S,style:{pointerEvents:W?L?"auto":"none":void 0,...n.style},onFocusCapture:y(n.onFocusCapture,C.onFocusCapture),onBlurCapture:y(n.onBlurCapture,C.onBlurCapture),onPointerDownCapture:y(n.onPointerDownCapture,k.onPointerDownCapture)})});X.displayName=z;var Y="DismissableLayerBranch",q=r.forwardRef((n,e)=>{const t=r.useContext(T),o=r.useRef(null),s=x(e,o);return r.useEffect(()=>{const a=o.current;if(a)return t.branches.add(a),()=>{t.branches.delete(a)}},[t.branches]),P.jsx(b.div,{...n,ref:s})});q.displayName=Y;function G(n,e=globalThis?.document){const t=h(n),o=r.useRef(!1),s=r.useRef(()=>{});return r.useEffect(()=>{const a=l=>{if(l.target&&!o.current){let E=function(){B(H,t,c,{discrete:!0})};const c={originalEvent:l};l.pointerType==="touch"?(e.removeEventListener("click",s.current),s.current=E,e.addEventListener("click",s.current,{once:!0})):E()}else e.removeEventListener("click",s.current);o.current=!1},d=window.setTimeout(()=>{e.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(d),e.removeEventListener("pointerdown",a),e.removeEventListener("click",s.current)}},[e,t]),{onPointerDownCapture:()=>o.current=!0}}function J(n,e=globalThis?.document){const t=h(n),o=r.useRef(!1);return r.useEffect(()=>{const s=a=>{a.target&&!o.current&&B(K,t,{originalEvent:a},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function g(){const n=new CustomEvent(m);document.dispatchEvent(n)}function B(n,e,t,{discrete:o}){const s=t.originalEvent.target,a=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:t});e&&s.addEventListener(n,e,{once:!0}),o?_(s,a):s.dispatchEvent(a)}var Q="Portal",V=r.forwardRef((n,e)=>{const{container:t,...o}=n,[s,a]=r.useState(!1);U(()=>a(!0),[]);const d=t||s&&globalThis?.document?.body;return d?M.createPortal(P.jsx(b.div,{...o,ref:e}),d):null});V.displayName=Q;export{X as D,V as P};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.