티스토리 수익 글 보기
“use strict”;(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6342],{93075:function(e,t,n){n.d(t,{KK:function(){return useFocus},NI:function(){return useInteractions},Qu:function(){return useDelayGroup},XI:function(){return useHover},YF:function(){return useFloating},bQ:function(){return useDismiss},e0:function(){return FloatingDelayGroup},eS:function(){return useClick},hU:function(){return useTransitionStatus},ll:function(){return FloatingPortal},qq:function(){return useMergeRefs},qs:function(){return useRole},wD:function(){return FloatingFocusManager},y0:function(){return O}});var r,o=n(67294),u=n(97145),l=n(85893),i=n(37317),s=n(88388),c=n(73935),a=n(1371);function useMergeRefs(e){let t=o.useRef(void 0),n=o.useCallback(t=>{let n=e.map(e=>{if(null!=e){if(“function”==typeof e){let n=e(t);return”function”==typeof n?n:()=>{e(null)}}return e.current=t,()=>{e.current=null}}});return()=>{n.forEach(e=>null==e?void 0:e())}},e);return o.useMemo(()=>e.every(e=>null==e)?null:e=>{t.current&&(t.current(),t.current=void 0),null!=e&&(t.current=n(e))},e)}let f=”active”,d=”selected”,v={…r||(r=n.t(o,2))},m=!1,p=0,genId=()=>”floating-ui-“+Math.random().toString(36).slice(2,6)+p++,g=v.useId,E=g||function(){let[e,t]=o.useState(()=>m?genId():void 0);return(0,u.Xj)(()=>{null==e&&t(genId())},[]),o.useEffect(()=>{m=!0},[]),e},h=o.createContext(null),y=o.createContext(null),useFloatingParentNodeId=()=>{var e;return(null==(e=o.useContext(h))?void 0:e.id)||null},useFloatingTree=()=>o.useContext(y);function createAttribute(e){return”data-floating-ui-“+e}function clearTimeoutIfSet(e){-1!==e.current&&(clearTimeout(e.current),e.current=-1)}let R=createAttribute(“safe-polygon”);function getDelay(e,t,n){if(n&&!(0,u.r)(n))return 0;if(“number”==typeof e)return e;if(“function”==typeof e){let n=e();return”number”==typeof n?n:null==n?void 0:n[t]}return null==e?void 0:e[t]}function getRestMs(e){return”function”==typeof e?e():e}function useHover(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,dataRef:l,events:s,elements:c}=e,{enabled:a=!0,delay:f=0,handleClose:d=null,mouseOnly:v=!1,restMs:m=0,move:p=!0}=t,g=useFloatingTree(),E=useFloatingParentNodeId(),h=(0,u.II)(d),y=(0,u.II)(f),b=(0,u.II)(n),w=(0,u.II)(m),M=o.useRef(),k=o.useRef(-1),x=o.useRef(),C=o.useRef(-1),I=o.useRef(!0),L=o.useRef(!1),P=o.useRef(()=>{}),T=o.useRef(!1),F=(0,u.iW)(()=>{var e;let t=null==(e=l.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(“mouse”))&&”mousedown”!==t});o.useEffect(()=>{if(a)return s.on(“openchange”,onOpenChange),()=>{s.off(“openchange”,onOpenChange)};function onOpenChange(e){let{open:t}=e;t||(clearTimeoutIfSet(k),clearTimeoutIfSet(C),I.current=!0,T.current=!1)}},[a,s]),o.useEffect(()=>{if(!a||!h.current||!n)return;function onLeave(e){F()&&r(!1,e,”hover”)}let e=(0,u.Me)(c.floating).documentElement;return e.addEventListener(“mouseleave”,onLeave),()=>{e.removeEventListener(“mouseleave”,onLeave)}},[c.floating,n,r,a,h,F]);let S=o.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=”hover”);let o=getDelay(y.current,”close”,M.current);o&&!x.current?(clearTimeoutIfSet(k),k.current=window.setTimeout(()=>r(!1,e,n),o)):t&&(clearTimeoutIfSet(k),r(!1,e,n))},[y,r]),D=(0,u.iW)(()=>{P.current(),x.current=void 0}),A=(0,u.iW)(()=>{if(L.current){let e=(0,u.Me)(c.floating).body;e.style.pointerEvents=””,e.removeAttribute(R),L.current=!1}}),O=(0,u.iW)(()=>!!l.current.openEvent&&[“click”,”mousedown”].includes(l.current.openEvent.type));o.useEffect(()=>{if(a&&(0,i.kK)(c.domReference)){let e=c.domReference,t=c.floating;return n&&e.addEventListener(“mouseleave”,onScrollMouseLeave),p&&e.addEventListener(“mousemove”,onReferenceMouseEnter,{once:!0}),e.addEventListener(“mouseenter”,onReferenceMouseEnter),e.addEventListener(“mouseleave”,onReferenceMouseLeave),t&&(t.addEventListener(“mouseleave”,onScrollMouseLeave),t.addEventListener(“mouseenter”,onFloatingMouseEnter),t.addEventListener(“mouseleave”,onFloatingMouseLeave)),()=>{n&&e.removeEventListener(“mouseleave”,onScrollMouseLeave),p&&e.removeEventListener(“mousemove”,onReferenceMouseEnter),e.removeEventListener(“mouseenter”,onReferenceMouseEnter),e.removeEventListener(“mouseleave”,onReferenceMouseLeave),t&&(t.removeEventListener(“mouseleave”,onScrollMouseLeave),t.removeEventListener(“mouseenter”,onFloatingMouseEnter),t.removeEventListener(“mouseleave”,onFloatingMouseLeave))}}function onReferenceMouseEnter(e){if(clearTimeoutIfSet(k),I.current=!1,v&&!(0,u.r)(M.current)||getRestMs(w.current)>0&&!getDelay(y.current,”open”))return;let t=getDelay(y.current,”open”,M.current);t?k.current=window.setTimeout(()=>{b.current||r(!0,e,”hover”)},t):n||r(!0,e,”hover”)}function onReferenceMouseLeave(e){if(O()){A();return}P.current();let t=(0,u.Me)(c.floating);if(clearTimeoutIfSet(C),T.current=!1,h.current&&l.current.floatingContext){n||clearTimeoutIfSet(k),x.current=h.current({…l.current.floatingContext,tree:g,x:e.clientX,y:e.clientY,onClose(){A(),D(),O()||S(e,!0,”safe-polygon”)}});let r=x.current;t.addEventListener(“mousemove”,r),P.current=()=>{t.removeEventListener(“mousemove”,r)};return}let r=”touch”!==M.current||!(0,u.r3)(c.floating,e.relatedTarget);r&&S(e)}function onScrollMouseLeave(e){!O()&&l.current.floatingContext&&(null==h.current||h.current({…l.current.floatingContext,tree:g,x:e.clientX,y:e.clientY,onClose(){A(),D(),O()||S(e)}})(e))}function onFloatingMouseEnter(){clearTimeoutIfSet(k)}function onFloatingMouseLeave(e){O()||S(e,!1)}},[c,a,e,v,p,S,D,A,r,n,b,g,y,h,l,O,w]),(0,u.Xj)(()=>{var e,t;if(a&&n&&null!=(e=h.current)&&null!=(e=e.__options)&&e.blockPointerEvents&&F()){L.current=!0;let e=c.floating;if((0,i.kK)(c.domReference)&&e){let n=(0,u.Me)(c.floating).body;n.setAttribute(R,””);let r=c.domReference,o=null==g||null==(t=g.nodesRef.current.find(e=>e.id===E))||null==(t=t.context)?void 0:t.elements.floating;return o&&(o.style.pointerEvents=””),n.style.pointerEvents=”none”,r.style.pointerEvents=”auto”,e.style.pointerEvents=”auto”,()=>{n.style.pointerEvents=””,r.style.pointerEvents=””,e.style.pointerEvents=””}}}},[a,n,E,c,g,h,F]),(0,u.Xj)(()=>{n||(M.current=void 0,T.current=!1,D(),A())},[n,D,A]),o.useEffect(()=>()=>{D(),clearTimeoutIfSet(k),clearTimeoutIfSet(C),A()},[a,c.domReference,D,A]);let W=o.useMemo(()=>{function setPointerRef(e){M.current=e.pointerType}return{onPointerDown:setPointerRef,onPointerEnter:setPointerRef,onMouseMove(e){let{nativeEvent:t}=e;function handleMouseMove(){I.current||b.current||r(!0,t,”hover”)}!(!v||(0,u.r)(M.current))||n||0===getRestMs(w.current)||T.current&&e.movementX**2+e.movementY**2<2||(clearTimeoutIfSet(C),"touch"===M.current?handleMouseMove():(T.current=!0,C.current=window.setTimeout(handleMouseMove,getRestMs(w.current))))}}},[v,r,n,b,w]);return o.useMemo(()=>a?{reference:W}:{},[a,W])}let NOOP=()=>{},b=o.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:NOOP,setState:NOOP,isInstantPhase:!1}),useDelayGroupContext=()=>o.useContext(b);function FloatingDelayGroup(e){let{children:t,delay:n,timeoutMs:r=0}=e,[i,s]=o.useReducer((e,t)=>({…e,…t}),{delay:n,timeoutMs:r,initialDelay:n,currentId:null,isInstantPhase:!1}),c=o.useRef(null),a=o.useCallback(e=>{s({currentId:e})},[]);return(0,u.Xj)(()=>{i.currentId?null===c.current?c.current=i.currentId:i.isInstantPhase||s({isInstantPhase:!0}):(i.isInstantPhase&&s({isInstantPhase:!1}),c.current=null)},[i.currentId,i.isInstantPhase]),(0,l.jsx)(b.Provider,{value:o.useMemo(()=>({…i,setState:s,setCurrentId:a}),[i,a]),children:t})}function useDelayGroup(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,floatingId:o}=e,{id:l,enabled:i=!0}=t,s=null!=l?l:o,c=useDelayGroupContext(),{currentId:a,setCurrentId:f,initialDelay:d,setState:v,timeoutMs:m}=c;return(0,u.Xj)(()=>{i&&a&&(v({delay:{open:1,close:getDelay(d,”close”)}}),a!==s&&r(!1))},[i,s,r,v,a,d]),(0,u.Xj)(()=>{function unset(){r(!1),v({delay:d,currentId:null})}if(i&&a&&!n&&a===s){if(m){let e=window.setTimeout(unset,m);return()=>{clearTimeout(e)}}unset()}},[i,n,v,a,s,r,d,m]),(0,u.Xj)(()=>{i&&f!==NOOP&&n&&f(s)},[i,n,f,s]),c}let w=0;function enqueueFocus(e,t){void 0===t&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(w);let exec=()=>null==e?void 0:e.focus({preventScroll:n});o?exec():w=requestAnimationFrame(exec)}let M={inert:new WeakMap,”aria-hidden”:new WeakMap,none:new WeakMap};function getCounterMap(e){return”inert”===e?M.inert:”aria-hidden”===e?M[“aria-hidden”]:M.none}let k=new WeakSet,x={},C=0,supportsInert=()=>”undefined”!=typeof HTMLElement&&”inert”in HTMLElement.prototype,unwrapHost=e=>e&&(e.host||unwrapHost(e.parentNode)),correctElements=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=unwrapHost(t);return e.contains(n)?n:null}).filter(e=>null!=e);function markOthers(e,t,n){var r;void 0===t&&(t=!1),void 0===n&&(n=!1);let o=((null==(r=e[0])?void 0:r.ownerDocument)||document).body;return function(e,t,n,r){let o=”data-floating-ui-inert”,u=r?”inert”:n?”aria-hidden”:null,l=correctElements(t,e),s=new Set,c=new Set(l),a=[];x[o]||(x[o]=new WeakMap);let f=x[o];return l.forEach(function keep(e){!(!e||s.has(e))&&(s.add(e),e.parentNode&&keep(e.parentNode))}),function deep(e){!e||c.has(e)||[].forEach.call(e.children,e=>{if(“script”!==(0,i.wk)(e)){if(s.has(e))deep(e);else{let t=u?e.getAttribute(u):null,n=null!==t&&”false”!==t,r=getCounterMap(u),l=(r.get(e)||0)+1,i=(f.get(e)||0)+1;r.set(e,l),f.set(e,i),a.push(e),1===l&&n&&k.add(e),1===i&&e.setAttribute(o,””),!n&&u&&e.setAttribute(u,”inert”===u?””:”true”)}}})}(t),s.clear(),C++,()=>{a.forEach(e=>{let t=getCounterMap(u),n=t.get(e)||0,r=n-1,l=(f.get(e)||0)-1;t.set(e,r),f.set(e,l),r||(!k.has(e)&&u&&e.removeAttribute(u),k.delete(e)),l||e.removeAttribute(o)}),–C||(M.inert=new WeakMap,M[“aria-hidden”]=new WeakMap,M.none=new WeakMap,k=new WeakSet,x={})}}(e.concat(Array.from(o.querySelectorAll(‘[aria-live],[role=”status”],output’))),o,t,n)}let I={border:0,clip:”rect(0 0 0 0)”,height:”1px”,margin:”-1px”,overflow:”hidden”,padding:0,position:”fixed”,whiteSpace:”nowrap”,width:”1px”,top:0,left:0},L=o.forwardRef(function(e,t){let[n,r]=o.useState();(0,u.Xj)(()=>{(0,u.G6)()&&r(“button”)},[]);let i={ref:t,tabIndex:0,role:n,”aria-hidden”:!n||void 0,[createAttribute(“focus-guard”)]:””,style:I};return(0,l.jsx)(“span”,{…e,…i})}),P=o.createContext(null),T=createAttribute(“portal”);function FloatingPortal(e){let{children:t,id:n,root:r,preserveTabOrder:s=!0}=e,a=function(e){void 0===e&&(e={});let{id:t,root:n}=e,r=E(),l=usePortalContext(),[s,c]=o.useState(null),a=o.useRef(null);return(0,u.Xj)(()=>()=>{null==s||s.remove(),queueMicrotask(()=>{a.current=null})},[s]),(0,u.Xj)(()=>{if(!r||a.current)return;let e=t?document.getElementById(t):null;if(!e)return;let n=document.createElement(“div”);n.id=r,n.setAttribute(T,””),e.appendChild(n),a.current=n,c(n)},[t,r]),(0,u.Xj)(()=>{if(null===n||!r||a.current)return;let e=n||(null==l?void 0:l.portalNode);e&&!(0,i.UG)(e)&&(e=e.current),e=e||document.body;let o=null;t&&((o=document.createElement(“div”)).id=t,e.appendChild(o));let u=document.createElement(“div”);u.id=r,u.setAttribute(T,””),(e=o||e).appendChild(u),a.current=u,c(u)},[t,n,r,l]),s}({id:n,root:r}),[f,d]=o.useState(null),v=o.useRef(null),m=o.useRef(null),p=o.useRef(null),g=o.useRef(null),h=null==f?void 0:f.modal,y=null==f?void 0:f.open,R=!!f&&!f.modal&&f.open&&s&&!!(r||a);return o.useEffect(()=>{if(a&&s&&!h)return a.addEventListener(“focusin”,onFocus,!0),a.addEventListener(“focusout”,onFocus,!0),()=>{a.removeEventListener(“focusin”,onFocus,!0),a.removeEventListener(“focusout”,onFocus,!0)};function onFocus(e){if(a&&(0,u.dE)(e)){let t=”focusin”===e.type,n=t?u.NX:u.N6;n(a)}}},[a,s,h]),o.useEffect(()=>{a&&(y||(0,u.NX)(a))},[y,a]),(0,l.jsxs)(P.Provider,{value:o.useMemo(()=>({preserveTabOrder:s,beforeOutsideRef:v,afterOutsideRef:m,beforeInsideRef:p,afterInsideRef:g,portalNode:a,setFocusManagerState:d}),[s,a]),children:[R&&a&&(0,l.jsx)(L,{“data-type”:”outside”,ref:v,onFocus:e=>{if((0,u.dE)(e,a)){var t;null==(t=p.current)||t.focus()}else{let e=f?f.domReference:null,t=(0,u.e8)(e);null==t||t.focus()}}}),R&&a&&(0,l.jsx)(“span”,{“aria-owns”:a.id,style:I}),a&&c.createPortal(t,a),R&&a&&(0,l.jsx)(L,{“data-type”:”outside”,ref:m,onFocus:e=>{if((0,u.dE)(e,a)){var t;null==(t=g.current)||t.focus()}else{let t=f?f.domReference:null,n=(0,u.k0)(t);null==n||n.focus(),(null==f?void 0:f.closeOnFocusOut)&&(null==f||f.onOpenChange(!1,e.nativeEvent,”focus-out”))}}})]})}let usePortalContext=()=>o.useContext(P);function useLiteMergeRefs(e){return o.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}let F=[];function clearDisconnectedPreviouslyFocusedElements(){F=F.filter(e=>e.isConnected)}function getPreviouslyFocusedElement(){return clearDisconnectedPreviouslyFocusedElements(),F[F.length-1]}function handleTabIndex(e,t){var n;if(!t.current.includes(“floating”)&&!(null!=(n=e.getAttribute(“role”))&&n.includes(“dialog”)))return;let r=(0,u.Tv)(),o=(0,s.KW)(e,r),l=o.filter(e=>{let t=e.getAttribute(“data-tabindex”)||””;return(0,s.Wq)(e,r)||e.hasAttribute(“data-tabindex”)&&!t.startsWith(“-“)}),i=e.getAttribute(“tabindex”);t.current.includes(“floating”)||0===l.length?”0″!==i&&e.setAttribute(“tabindex”,”0″):(“-1”!==i||e.hasAttribute(“data-tabindex”)&&”-1″!==e.getAttribute(“data-tabindex”))&&(e.setAttribute(“tabindex”,”-1″),e.setAttribute(“data-tabindex”,”-1″))}let S=o.forwardRef(function(e,t){return(0,l.jsx)(“button”,{…e,type:”button”,ref:t,tabIndex:-1,style:I})});function FloatingFocusManager(e){let{context:t,children:n,disabled:r=!1,order:c=[“content”],guards:a=!0,initialFocus:f=0,returnFocus:d=!0,restoreFocus:v=!1,modal:m=!0,visuallyHiddenDismiss:p=!1,closeOnFocusOut:g=!0,outsideElementsInert:E=!1,getInsideElements:h=()=>[]}=e,{open:y,onOpenChange:R,events:b,dataRef:w,elements:{domReference:M,floating:k}}=t,x=(0,u.iW)(()=>{var e;return null==(e=w.current.floatingContext)?void 0:e.nodeId}),C=(0,u.iW)(h),P=”number”==typeof f&&f<0,T=(0,u.Ie)(M)&&P,D=supportsInert(),A=!D||a,O=!A||D&&E,W=(0,u.II)(c),j=(0,u.II)(f),K=(0,u.II)(d),X=useFloatingTree(),N=usePortalContext(),q=o.useRef(null),B=o.useRef(null),U=o.useRef(!1),_=o.useRef(!1),H=o.useRef(-1),G=o.useRef(-1),Y=null!=N,z=(0,u.zd)(k),V=(0,u.iW)(function(e){return void 0===e&&(e=z),e?(0,s.ht)(e,(0,u.Tv)()):[]}),Q=(0,u.iW)(e=>{let t=V(e);return W.current.map(e=>M&&”reference”===e?M:z&&”floating”===e?z:t).filter(Boolean).flat()});o.useEffect(()=>{if(r||!m)return;function onKeyDown(e){if(“Tab”===e.key){(0,u.r3)(z,(0,u.AW)((0,u.Me)(z)))&&0===V().length&&!T&&(0,u.p7)(e);let t=Q(),n=(0,u.U9)(e);”reference”===W.current[0]&&n===M&&((0,u.p7)(e),e.shiftKey?enqueueFocus(t[t.length-1]):enqueueFocus(t[1])),”floating”===W.current[1]&&n===z&&e.shiftKey&&((0,u.p7)(e),enqueueFocus(t[0]))}}let e=(0,u.Me)(z);return e.addEventListener(“keydown”,onKeyDown),()=>{e.removeEventListener(“keydown”,onKeyDown)}},[r,M,z,m,W,T,V,Q]),o.useEffect(()=>{if(!r&&k)return k.addEventListener(“focusin”,handleFocusIn),()=>{k.removeEventListener(“focusin”,handleFocusIn)};function handleFocusIn(e){let t=(0,u.U9)(e),n=V(),r=n.indexOf(t);-1!==r&&(H.current=r)}},[r,k,V]),o.useEffect(()=>{if(r||!g)return;function handlePointerDown(){_.current=!0,setTimeout(()=>{_.current=!1})}function handleFocusOutside(e){let t=e.relatedTarget,n=e.currentTarget,r=(0,u.U9)(e);queueMicrotask(()=>{let o=x(),l=!((0,u.r3)(M,t)||(0,u.r3)(k,t)||(0,u.r3)(t,k)||(0,u.r3)(null==N?void 0:N.portalNode,t)||null!=t&&t.hasAttribute(createAttribute(“focus-guard”))||X&&((0,u.El)(X.nodesRef.current,o).find(e=>{var n,r;return(0,u.r3)(null==(n=e.context)?void 0:n.elements.floating,t)||(0,u.r3)(null==(r=e.context)?void 0:r.elements.domReference,t)})||(0,u.C1)(X.nodesRef.current,o).find(e=>{var n,r,o;return[null==(n=e.context)?void 0:n.elements.floating,(0,u.zd)(null==(r=e.context)?void 0:r.elements.floating)].includes(t)||(null==(o=e.context)?void 0:o.elements.domReference)===t})));if(n===M&&z&&handleTabIndex(z,W),v&&n!==M&&!(null!=r&&r.isConnected)&&(0,u.AW)((0,u.Me)(z))===(0,u.Me)(z).body){(0,i.Re)(z)&&z.focus();let e=H.current,t=V(),n=t[e]||t[t.length-1]||z;(0,i.Re)(n)&&n.focus()}if(w.current.insideReactTree){w.current.insideReactTree=!1;return}(T||!m)&&t&&l&&!_.current&&t!==getPreviouslyFocusedElement()&&(U.current=!0,R(!1,e,”focus-out”))})}let e=!!(!X&&N);function markInsideReactTree(){clearTimeoutIfSet(G),w.current.insideReactTree=!0,G.current=window.setTimeout(()=>{w.current.insideReactTree=!1})}if(k&&(0,i.Re)(M))return M.addEventListener(“focusout”,handleFocusOutside),M.addEventListener(“pointerdown”,handlePointerDown),k.addEventListener(“focusout”,handleFocusOutside),e&&k.addEventListener(“focusout”,markInsideReactTree,!0),()=>{M.removeEventListener(“focusout”,handleFocusOutside),M.removeEventListener(“pointerdown”,handlePointerDown),k.removeEventListener(“focusout”,handleFocusOutside),e&&k.removeEventListener(“focusout”,markInsideReactTree,!0)}},[r,M,k,z,m,X,N,R,g,v,V,T,x,W,w]);let J=o.useRef(null),Z=o.useRef(null),$=useLiteMergeRefs([J,null==N?void 0:N.beforeInsideRef]),ee=useLiteMergeRefs([Z,null==N?void 0:N.afterInsideRef]);function renderDismissButton(e){return!r&&p&&m?(0,l.jsx)(S,{ref:”start”===e?q:B,onClick:e=>R(!1,e.nativeEvent),children:”string”==typeof p?p:”Dismiss”}):null}o.useEffect(()=>{var e,t;if(r||!k)return;let n=Array.from((null==N||null==(e=N.portalNode)?void 0:e.querySelectorAll(“[“+createAttribute(“portal”)+”]”))||[]),o=X?(0,u.C1)(X.nodesRef.current,x()):[],l=null==(t=o.find(e=>{var t;return(0,u.Ie)((null==(t=e.context)?void 0:t.elements.domReference)||null)}))||null==(t=t.context)?void 0:t.elements.domReference,i=[k,l,…n,…C(),q.current,B.current,J.current,Z.current,null==N?void 0:N.beforeOutsideRef.current,null==N?void 0:N.afterOutsideRef.current,W.current.includes(“reference”)||T?M:null].filter(e=>null!=e),s=m||T?markOthers(i,!O,O):markOthers(i);return()=>{s()}},[r,M,k,m,W,N,T,A,O,X,x,C]),(0,u.Xj)(()=>{if(r||!(0,i.Re)(z))return;let e=(0,u.Me)(z),t=(0,u.AW)(e);queueMicrotask(()=>{let e=Q(z),n=j.current,r=(“number”==typeof n?e[n]:n.current)||z,o=(0,u.r3)(z,t);P||o||!y||enqueueFocus(r,{preventScroll:r===z})})},[r,y,z,P,Q,j]),(0,u.Xj)(()=>{if(r||!z)return;let e=(0,u.Me)(z),t=(0,u.AW)(e);function onOpenChange(e){let{reason:t,event:n,nested:r}=e;if([“hover”,”safe-polygon”].includes(t)&&”mouseleave”===n.type&&(U.current=!0),”outside-press”===t){if(r)U.current=!1;else if((0,u.Zj)(n)||(0,u.cr)(n))U.current=!1;else{let e=!1;document.createElement(“div”).focus({get preventScroll(){return e=!0,!1}}),e?U.current=!1:U.current=!0}}}clearDisconnectedPreviouslyFocusedElements(),t&&”body”!==(0,i.wk)(t)&&(F.push(t),F.length>20&&(F=F.slice(-20))),b.on(“openchange”,onOpenChange);let n=e.createElement(“span”);return n.setAttribute(“tabindex”,”-1″),n.setAttribute(“aria-hidden”,”true”),Object.assign(n.style,I),Y&&M&&M.insertAdjacentElement(“afterend”,n),()=>{b.off(“openchange”,onOpenChange);let t=(0,u.AW)(e),r=(0,u.r3)(k,t)||X&&(0,u.El)(X.nodesRef.current,x(),!1).some(e=>{var n;return(0,u.r3)(null==(n=e.context)?void 0:n.elements.floating,t)}),o=function(){if(“boolean”==typeof K.current){let e=M||getPreviouslyFocusedElement();return e&&e.isConnected?e:n}return K.current.current||n}();queueMicrotask(()=>{let l=function(e){let t=(0,u.Tv)();return(0,s.Wq)(e,t)?e:(0,s.ht)(e,t)[0]||e}(o);K.current&&!U.current&&(0,i.Re)(l)&&(l===t||t===e.body||r)&&l.focus({preventScroll:!0}),n.remove()})}},[r,k,z,K,w,b,X,Y,M,x]),o.useEffect(()=>(queueMicrotask(()=>{U.current=!1}),()=>{queueMicrotask(clearDisconnectedPreviouslyFocusedElements)}),[r]),(0,u.Xj)(()=>{if(!r&&N)return N.setFocusManagerState({modal:m,closeOnFocusOut:g,open:y,onOpenChange:R,domReference:M}),()=>{N.setFocusManagerState(null)}},[r,N,m,y,R,g,M]),(0,u.Xj)(()=>{!r&&z&&handleTabIndex(z,W)},[r,z,W]);let et=!r&&A&&(!m||!T)&&(Y||m);return(0,l.jsxs)(l.Fragment,{children:[et&&(0,l.jsx)(L,{“data-type”:”inside”,ref:$,onFocus:e=>{if(m){let e=Q();enqueueFocus(“reference”===c[0]?e[0]:e[e.length-1])}else if(null!=N&&N.preserveTabOrder&&N.portalNode){if(U.current=!1,(0,u.dE)(e,N.portalNode)){let e=(0,u.k0)(M);null==e||e.focus()}else{var t;null==(t=N.beforeOutsideRef.current)||t.focus()}}}}),!T&&renderDismissButton(“start”),n,renderDismissButton(“end”),et&&(0,l.jsx)(L,{“data-type”:”inside”,ref:ee,onFocus:e=>{if(m)enqueueFocus(Q()[0]);else if(null!=N&&N.preserveTabOrder&&N.portalNode){if(g&&(U.current=!0),(0,u.dE)(e,N.portalNode)){let e=(0,u.e8)(M);null==e||e.focus()}else{var t;null==(t=N.afterOutsideRef.current)||t.focus()}}}})]})}let D=0,A=”–floating-ui-scrollbar-width”,cleanup=()=>{},O=o.forwardRef(function(e,t){let{lockScroll:n=!1,…r}=e;return(0,u.Xj)(()=>{if(n)return 1==++D&&(cleanup=function(){let e=(0,u.Xf)(),t=/iP(hone|ad|od)|iOS/.test(e)||”MacIntel”===e&&navigator.maxTouchPoints>1,n=document.body.style,r=Math.round(document.documentElement.getBoundingClientRect().left)+document.documentElement.scrollLeft,o=r?”paddingLeft”:”paddingRight”,l=window.innerWidth-document.documentElement.clientWidth,i=n.left?parseFloat(n.left):window.scrollX,s=n.top?parseFloat(n.top):window.scrollY;if(n.overflow=”hidden”,n.setProperty(A,l+”px”),l&&(n[o]=l+”px”),t){var c,a;let e=(null==(c=window.visualViewport)?void 0:c.offsetLeft)||0,t=(null==(a=window.visualViewport)?void 0:a.offsetTop)||0;Object.assign(n,{position:”fixed”,top:-(s-Math.floor(t))+”px”,left:-(i-Math.floor(e))+”px”,right:”0″})}return()=>{Object.assign(n,{overflow:””,[o]:””}),n.removeProperty(A),t&&(Object.assign(n,{position:””,top:””,left:””,right:””}),window.scrollTo(i,s))}}()),()=>{0==–D&&cleanup()}},[n]),(0,l.jsx)(“div”,{ref:t,…r,style:{position:”fixed”,overflow:”auto”,top:0,right:0,bottom:0,left:0,…r.style}})});function isButtonTarget(e){return(0,i.Re)(e.target)&&”BUTTON”===e.target.tagName}function useClick(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,dataRef:l,elements:{domReference:s}}=e,{enabled:c=!0,event:a=”click”,toggle:f=!0,ignoreMouse:d=!1,keyboardHandlers:v=!0,stickIfOpen:m=!0}=t,p=o.useRef(),g=o.useRef(!1),E=o.useMemo(()=>({onPointerDown(e){p.current=e.pointerType},onMouseDown(e){let t=p.current;0===e.button&&”click”!==a&&((0,u.r)(t,!0)&&d||(n&&f&&(!l.current.openEvent||!m||”mousedown”===l.current.openEvent.type)?r(!1,e.nativeEvent,”click”):(e.preventDefault(),r(!0,e.nativeEvent,”click”))))},onClick(e){let t=p.current;if(“mousedown”===a&&p.current){p.current=void 0;return}(0,u.r)(t,!0)&&d||(n&&f&&(!l.current.openEvent||!m||”click”===l.current.openEvent.type)?r(!1,e.nativeEvent,”click”):r(!0,e.nativeEvent,”click”))},onKeyDown(e){p.current=void 0,!(e.defaultPrevented||!v||isButtonTarget(e))&&(” “!==e.key||(0,u.j7)(s)||(e.preventDefault(),g.current=!0),(0,i.Re)(e.target)&&”A”===e.target.tagName||”Enter”!==e.key||(n&&f?r(!1,e.nativeEvent,”click”):r(!0,e.nativeEvent,”click”)))},onKeyUp(e){!(e.defaultPrevented||!v||isButtonTarget(e)||(0,u.j7)(s))&&” “===e.key&&g.current&&(g.current=!1,n&&f?r(!1,e.nativeEvent,”click”):r(!0,e.nativeEvent,”click”))}}),[l,s,a,d,v,r,n,m,f]);return o.useMemo(()=>c?{reference:E}:{},[c,E])}let W={pointerdown:”onPointerDown”,mousedown:”onMouseDown”,click:”onClick”},j={pointerdown:”onPointerDownCapture”,mousedown:”onMouseDownCapture”,click:”onClickCapture”},normalizeProp=e=>{var t,n;return{escapeKey:”boolean”==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:”boolean”==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function useDismiss(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,elements:l,dataRef:s}=e,{enabled:c=!0,escapeKey:a=!0,outsidePress:f=!0,outsidePressEvent:d=”pointerdown”,referencePress:v=!1,referencePressEvent:m=”pointerdown”,ancestorScroll:p=!1,bubbles:g,capture:E}=t,h=useFloatingTree(),y=(0,u.iW)(“function”==typeof f?f:()=>!1),R=”function”==typeof f?y:f,b=o.useRef(!1),{escapeKey:w,outsidePress:M}=normalizeProp(g),{escapeKey:k,outsidePress:x}=normalizeProp(E),C=o.useRef(!1),I=(0,u.iW)(e=>{var t;if(!n||!c||!a||”Escape”!==e.key||C.current)return;let o=null==(t=s.current.floatingContext)?void 0:t.nodeId,l=h?(0,u.El)(h.nodesRef.current,o):[];if(!w&&(e.stopPropagation(),l.length>0)){let e=!0;if(l.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}r(!1,(0,u.MM)(e)?e.nativeEvent:e,”escape-key”)}),L=(0,u.iW)(e=>{var t;let callback=()=>{var t;I(e),null==(t=(0,u.U9)(e))||t.removeEventListener(“keydown”,callback)};null==(t=(0,u.U9)(e))||t.addEventListener(“keydown”,callback)}),P=(0,u.iW)(e=>{var t;let n=s.current.insideReactTree;s.current.insideReactTree=!1;let o=b.current;if(b.current=!1,”click”===d&&o||n||”function”==typeof R&&!R(e))return;let c=(0,u.U9)(e),a=”[“+createAttribute(“inert”)+”]”,f=(0,u.Me)(l.floating).querySelectorAll(a),v=(0,i.kK)(c)?c:null;for(;v&&!(0,i.Py)(v);){let e=(0,i.Ow)(v);if((0,i.Py)(e)||!(0,i.kK)(e))break;v=e}if(f.length&&(0,i.kK)(c)&&!(0,u.ex)(c)&&!(0,u.r3)(c,l.floating)&&Array.from(f).every(e=>!(0,u.r3)(v,e)))return;if((0,i.Re)(c)&&S){let t=(0,i.Py)(c),n=(0,i.Dx)(c),r=/auto|scroll/,o=t||r.test(n.overflowX),u=t||r.test(n.overflowY),l=o&&c.clientWidth>0&&c.scrollWidth>c.clientWidth,s=u&&c.clientHeight>0&&c.scrollHeight>c.clientHeight,a=”rtl”===n.direction,f=s&&(a?e.offsetX<=c.offsetWidth-c.clientWidth:e.offsetX>c.clientWidth),d=l&&e.offsetY>c.clientHeight;if(f||d)return}let m=null==(t=s.current.floatingContext)?void 0:t.nodeId,p=h&&(0,u.El)(h.nodesRef.current,m).some(t=>{var n;return(0,u.Pe)(e,null==(n=t.context)?void 0:n.elements.floating)});if((0,u.Pe)(e,l.floating)||(0,u.Pe)(e,l.domReference)||p)return;let g=h?(0,u.El)(h.nodesRef.current,m):[];if(g.length>0){let e=!0;if(g.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}r(!1,e,”outside-press”)}),T=(0,u.iW)(e=>{var t;let callback=()=>{var t;P(e),null==(t=(0,u.U9)(e))||t.removeEventListener(d,callback)};null==(t=(0,u.U9)(e))||t.addEventListener(d,callback)});o.useEffect(()=>{if(!n||!c)return;s.current.__escapeKeyBubbles=w,s.current.__outsidePressBubbles=M;let e=-1;function onScroll(e){r(!1,e,”ancestor-scroll”)}function handleCompositionStart(){window.clearTimeout(e),C.current=!0}function handleCompositionEnd(){e=window.setTimeout(()=>{C.current=!1},(0,i.Pf)()?5:0)}let t=(0,u.Me)(l.floating);a&&(t.addEventListener(“keydown”,k?L:I,k),t.addEventListener(“compositionstart”,handleCompositionStart),t.addEventListener(“compositionend”,handleCompositionEnd)),R&&t.addEventListener(d,x?T:P,x);let o=[];return p&&((0,i.kK)(l.domReference)&&(o=(0,i.Kx)(l.domReference)),(0,i.kK)(l.floating)&&(o=o.concat((0,i.Kx)(l.floating))),!(0,i.kK)(l.reference)&&l.reference&&l.reference.contextElement&&(o=o.concat((0,i.Kx)(l.reference.contextElement)))),(o=o.filter(e=>{var n;return e!==(null==(n=t.defaultView)?void 0:n.visualViewport)})).forEach(e=>{e.addEventListener(“scroll”,onScroll,{passive:!0})}),()=>{a&&(t.removeEventListener(“keydown”,k?L:I,k),t.removeEventListener(“compositionstart”,handleCompositionStart),t.removeEventListener(“compositionend”,handleCompositionEnd)),R&&t.removeEventListener(d,x?T:P,x),o.forEach(e=>{e.removeEventListener(“scroll”,onScroll)}),window.clearTimeout(e)}},[s,l,a,R,d,n,r,p,c,w,M,I,k,L,P,x,T]),o.useEffect(()=>{s.current.insideReactTree=!1},[s,R,d]);let F=o.useMemo(()=>({onKeyDown:I,…v&&{[W[m]]:e=>{r(!1,e.nativeEvent,”reference-press”)},…”click”!==m&&{onClick(e){r(!1,e.nativeEvent,”reference-press”)}}}}),[I,r,v,m]),S=o.useMemo(()=>({onKeyDown:I,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[j[d]]:()=>{s.current.insideReactTree=!0}}),[I,d,s]);return o.useMemo(()=>c?{reference:F,floating:S}:{},[c,F,S])}function useFloating(e){void 0===e&&(e={});let{nodeId:t}=e,n=function(e){let{open:t=!1,onOpenChange:n,elements:r}=e,l=E(),i=o.useRef({}),[s]=o.useState(()=>(function(){let e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;null==(r=e.get(t))||r.delete(n)}}})()),c=null!=useFloatingParentNodeId(),[a,f]=o.useState(r.reference),d=(0,u.iW)((e,t,r)=>{i.current.openEvent=e?t:void 0,s.emit(“openchange”,{open:e,event:t,reason:r,nested:c}),null==n||n(e,t,r)}),v=o.useMemo(()=>({setPositionReference:f}),[]),m=o.useMemo(()=>({reference:a||r.reference||null,floating:r.floating||null,domReference:r.reference}),[a,r.reference,r.floating]);return o.useMemo(()=>({dataRef:i,open:t,onOpenChange:d,elements:m,events:s,floatingId:l,refs:v}),[t,d,m,s,l,v])}({…e,elements:{reference:null,floating:null,…e.elements}}),r=e.rootContext||n,l=r.elements,[s,c]=o.useState(null),[f,d]=o.useState(null),v=null==l?void 0:l.domReference,m=v||s,p=o.useRef(null),g=useFloatingTree();(0,u.Xj)(()=>{m&&(p.current=m)},[m]);let h=(0,a.YF)({…e,elements:{…l,…f&&{reference:f}}}),y=o.useCallback(e=>{let t=(0,i.kK)(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;d(t),h.refs.setReference(t)},[h.refs]),R=o.useCallback(e=>{((0,i.kK)(e)||null===e)&&(p.current=e,c(e)),((0,i.kK)(h.refs.reference.current)||null===h.refs.reference.current||null!==e&&!(0,i.kK)(e))&&h.refs.setReference(e)},[h.refs]),b=o.useMemo(()=>({…h.refs,setReference:R,setPositionReference:y,domReference:p}),[h.refs,R,y]),w=o.useMemo(()=>({…h.elements,domReference:m}),[h.elements,m]),M=o.useMemo(()=>({…h,…r,refs:b,elements:w,nodeId:t}),[h,b,w,t,r]);return(0,u.Xj)(()=>{r.dataRef.current.floatingContext=M;let e=null==g?void 0:g.nodesRef.current.find(e=>e.id===t);e&&(e.context=M)}),o.useMemo(()=>({…h,context:M,refs:b,elements:w}),[h,b,w,M])}function isMacSafari(){return(0,u.V5)()&&(0,u.G6)()}function useFocus(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,events:l,dataRef:s,elements:c}=e,{enabled:a=!0,visibleOnly:f=!0}=t,d=o.useRef(!1),v=o.useRef(-1),m=o.useRef(!0);o.useEffect(()=>{if(!a)return;let e=(0,i.Jj)(c.domReference);function onBlur(){!n&&(0,i.Re)(c.domReference)&&c.domReference===(0,u.AW)((0,u.Me)(c.domReference))&&(d.current=!0)}function onKeyDown(){m.current=!0}function onPointerDown(){m.current=!1}return e.addEventListener(“blur”,onBlur),isMacSafari()&&(e.addEventListener(“keydown”,onKeyDown,!0),e.addEventListener(“pointerdown”,onPointerDown,!0)),()=>{e.removeEventListener(“blur”,onBlur),isMacSafari()&&(e.removeEventListener(“keydown”,onKeyDown,!0),e.removeEventListener(“pointerdown”,onPointerDown,!0))}},[c.domReference,n,a]),o.useEffect(()=>{if(a)return l.on(“openchange”,onOpenChange),()=>{l.off(“openchange”,onOpenChange)};function onOpenChange(e){let{reason:t}=e;(“reference-press”===t||”escape-key”===t)&&(d.current=!0)}},[l,a]),o.useEffect(()=>()=>{clearTimeoutIfSet(v)},[]);let p=o.useMemo(()=>({onMouseLeave(){d.current=!1},onFocus(e){if(d.current)return;let t=(0,u.U9)(e.nativeEvent);if(f&&(0,i.kK)(t)){if(isMacSafari()&&!e.relatedTarget){if(!m.current&&!(0,u.j7)(t))return}else if(!(0,u.WL)(t))return}r(!0,e.nativeEvent,”focus”)},onBlur(e){d.current=!1;let t=e.relatedTarget,n=e.nativeEvent,o=(0,i.kK)(t)&&t.hasAttribute(createAttribute(“focus-guard”))&&”outside”===t.getAttribute(“data-type”);v.current=window.setTimeout(()=>{var e;let l=(0,u.AW)(c.domReference?c.domReference.ownerDocument:document);if(t||l!==c.domReference){if((0,u.r3)(null==(e=s.current.floatingContext)?void 0:e.refs.floating.current,l)||(0,u.r3)(c.domReference,l)||o)return;r(!1,n,”focus”)}})}}),[s,c.domReference,r,f]);return o.useMemo(()=>a?{reference:p}:{},[a,p])}function mergeProps(e,t,n){let r=new Map,o=”item”===n,u=e;if(o&&e){let{[f]:t,[d]:n,…r}=e;u=r}return{…”floating”===n&&{tabIndex:-1,”data-floating-ui-focusable”:””},…u,…t.map(t=>{let r=t?t[n]:null;return”function”==typeof r?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,u]=t;if(!(o&&[f,d].includes(n))){if(0===n.indexOf(“on”)){if(r.has(n)||r.set(n,[]),”function”==typeof u){var l;null==(l=r.get(n))||l.push(u),e[n]=function(){for(var e,t=arguments.length,o=Array(t),u=0;ue(…o)).find(e=>void 0!==e)}}}else e[n]=u}}),e),{})}}function useInteractions(e){void 0===e&&(e=[]);let t=e.map(e=>null==e?void 0:e.reference),n=e.map(e=>null==e?void 0:e.floating),r=e.map(e=>null==e?void 0:e.item),u=o.useCallback(t=>mergeProps(t,e,”reference”),t),l=o.useCallback(t=>mergeProps(t,e,”floating”),n),i=o.useCallback(t=>mergeProps(t,e,”item”),r);return o.useMemo(()=>({getReferenceProps:u,getFloatingProps:l,getItemProps:i}),[u,l,i])}let K=new Map([[“select”,”listbox”],[“combobox”,”listbox”],[“label”,!1]]);function useRole(e,t){var n,r;void 0===t&&(t={});let{open:l,elements:i,floatingId:s}=e,{enabled:c=!0,role:a=”dialog”}=t,f=E(),d=(null==(n=i.domReference)?void 0:n.id)||f,v=o.useMemo(()=>{var e;return(null==(e=(0,u.zd)(i.floating))?void 0:e.id)||s},[i.floating,s]),m=null!=(r=K.get(a))?r:a,p=useFloatingParentNodeId(),g=null!=p,h=o.useMemo(()=>”tooltip”===m||”label”===a?{[“aria-“+(“label”===a?”labelledby”:”describedby”)]:l?v:void 0}:{“aria-expanded”:l?”true”:”false”,”aria-haspopup”:”alertdialog”===m?”dialog”:m,”aria-controls”:l?v:void 0,…”listbox”===m&&{role:”combobox”},…”menu”===m&&{id:d},…”menu”===m&&g&&{role:”menuitem”},…”select”===a&&{“aria-autocomplete”:”none”},…”combobox”===a&&{“aria-autocomplete”:”list”}},[m,v,g,l,d,a]),y=o.useMemo(()=>{let e={id:v,…m&&{role:m}};return”tooltip”===m||”label”===a?e:{…e,…”menu”===m&&{“aria-labelledby”:d}}},[m,v,d,a]),R=o.useCallback(e=>{let{active:t,selected:n}=e,r={role:”option”,…t&&{id:v+”-fui-option”}};switch(a){case”select”:case”combobox”:return{…r,”aria-selected”:n}}return{}},[v,a]);return o.useMemo(()=>c?{reference:h,floating:y,item:R}:{},[c,h,y,R])}function useTransitionStatus(e,t){void 0===t&&(t={});let{open:n,elements:{floating:r}}=e,{duration:l=250}=t,i=(“number”==typeof l?l:l.close)||0,[s,a]=o.useState(“unmounted”),f=function(e,t){let[n,r]=o.useState(e);return e&&!n&&r(!0),o.useEffect(()=>{if(!e&&n){let e=setTimeout(()=>r(!1),t);return()=>clearTimeout(e)}},[e,n,t]),n}(n,i);return f||”close”!==s||a(“unmounted”),(0,u.Xj)(()=>{if(r){if(n){a(“initial”);let e=requestAnimationFrame(()=>{c.flushSync(()=>{a(“open”)})});return()=>{cancelAnimationFrame(e)}}a(“close”)}},[n,r]),{isMounted:f,status:s}}}}]);