{"version":3,"file":"js/6924-9b3249f714e20b08e748.chunk.js","mappings":"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","sources":["webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-inert-others.js","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/disabled.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/description/description.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-watch.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/active-element-history.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/document-ready.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/dialog/dialog.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-escape.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/keyboard.js","webpack://datacenters/./node_modules/@react-aria/utils/dist/platform.mjs","webpack://datacenters/./node_modules/@react-aria/utils/dist/domHelpers.mjs","webpack://datacenters/./node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","webpack://datacenters/./node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","webpack://datacenters/./node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","webpack://datacenters/./node_modules/@react-aria/utils/dist/useEffectEvent.mjs","webpack://datacenters/./node_modules/@react-aria/interactions/dist/utils.mjs","webpack://datacenters/./node_modules/@react-aria/interactions/dist/useFocus.mjs","webpack://datacenters/./node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","webpack://datacenters/./node_modules/@react-aria/focus/dist/useFocusRing.mjs","webpack://datacenters/./node_modules/@react-aria/interactions/dist/useHover.mjs","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-active-press.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-element-size.js","webpack://datacenters/./node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","webpack://datacenters/./node_modules/@floating-ui/react/dist/floating-ui.react.mjs","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/floating.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/bugs.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/popover/popover.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/portal/portal.js","webpack://datacenters/./node_modules/@headlessui/react/dist/components/transition/transition.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-disposables.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-event-listener.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-event.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/default-map.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-on-disappear.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-document-event.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-owner.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-root-containers.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-store.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-transition.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-flags.js","webpack://datacenters/./node_modules/@headlessui/react/dist/hooks/use-window-event.js","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/close-provider.js","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/hidden.js","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/open-closed.js","webpack://datacenters/./node_modules/@headlessui/react/dist/internal/portal-force-root.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/class-names.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/disposables.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/env.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/focus-management.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/match.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/micro-task.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/owner.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/platform.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/render.js","webpack://datacenters/./node_modules/@headlessui/react/dist/utils/store.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/BuildingOffice2Icon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/ChatBubbleBottomCenterTextIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/CloudIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/CpuChipIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/CubeIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/GlobeAltIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/HomeModernIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/ServerStackIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/outline/esm/SignalIcon.js","webpack://datacenters/./node_modules/@heroicons/react/24/solid/esm/UserGroupIcon.js"],"sourcesContent":["import{disposables as M}from'../utils/disposables.js';import{getOwnerDocument as b}from'../utils/owner.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useIsoMorphicEffect as T}from'./use-iso-morphic-effect.js';let f=new Map,u=new Map;function h(t){var e;let r=(e=u.get(t))!=null?e:0;return u.set(t,r+1),r!==0?()=>m(t):(f.set(t,{\"aria-hidden\":t.getAttribute(\"aria-hidden\"),inert:t.inert}),t.setAttribute(\"aria-hidden\",\"true\"),t.inert=!0,()=>m(t))}function m(t){var i;let r=(i=u.get(t))!=null?i:1;if(r===1?u.delete(t):u.set(t,r-1),r!==1)return;let e=f.get(t);e&&(e[\"aria-hidden\"]===null?t.removeAttribute(\"aria-hidden\"):t.setAttribute(\"aria-hidden\",e[\"aria-hidden\"]),t.inert=e.inert,f.delete(t))}function y(t,{allowed:r,disallowed:e}={}){let i=L(t,\"inert-others\");T(()=>{var d,c;if(!i)return;let a=M();for(let n of(d=e==null?void 0:e())!=null?d:[])n&&a.add(h(n));let s=(c=r==null?void 0:r())!=null?c:[];for(let n of s){if(!n)continue;let l=b(n);if(!l)continue;let o=n.parentElement;for(;o&&o!==l.body;){for(let p of o.children)s.some(E=>p.contains(E))||a.add(h(p));o=o.parentElement}}return a.dispose},[i,r,e])}export{y as useInertOthers};\n","import n,{createContext as r,useContext as i}from\"react\";let e=r(void 0);function a(){return i(e)}function l({value:t,children:o}){return n.createElement(e.Provider,{value:t},o)}export{l as DisabledProvider,a as useDisabled};\n","\"use client\";import m,{createContext as T,useContext as u,useMemo as c,useState as P}from\"react\";import{useEvent as g}from'../../hooks/use-event.js';import{useId as x}from'../../hooks/use-id.js';import{useIsoMorphicEffect as y}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as E}from'../../hooks/use-sync-refs.js';import{useDisabled as v}from'../../internal/disabled.js';import{forwardRefWithAs as R,useRender as I}from'../../utils/render.js';let a=T(null);a.displayName=\"DescriptionContext\";function f(){let r=u(a);if(r===null){let e=new Error(\"You used a <Description /> component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(e,f),e}return r}function U(){var r,e;return(e=(r=u(a))==null?void 0:r.value)!=null?e:void 0}function w(){let[r,e]=P([]);return[r.length>0?r.join(\" \"):void 0,c(()=>function(t){let i=g(n=>(e(s=>[...s,n]),()=>e(s=>{let o=s.slice(),p=o.indexOf(n);return p!==-1&&o.splice(p,1),o}))),l=c(()=>({register:i,slot:t.slot,name:t.name,props:t.props,value:t.value}),[i,t.slot,t.name,t.props,t.value]);return m.createElement(a.Provider,{value:l},t.children)},[e])]}let S=\"p\";function C(r,e){let d=x(),t=v(),{id:i=`headlessui-description-${d}`,...l}=r,n=f(),s=E(e);y(()=>n.register(i),[i,n.register]);let o=t||!1,p=c(()=>({...n.slot,disabled:o}),[n.slot,o]),D={ref:s,...n.props,id:i};return I()({ourProps:D,theirProps:l,slot:p,defaultTag:S,name:n.name||\"Description\"})}let _=R(C),H=Object.assign(_,{});export{H as Description,U as useDescribedBy,w as useDescriptions};\n","import{useEffect as f,useRef as s}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=s([]),r=i(u);f(()=>{let o=[...e.current];for(let[a,l]of t.entries())if(e.current[a]!==l){let n=r(t,o);return e.current=t,n}},[r,...t])}export{m as useWatch};\n","import{onDocumentReady as d}from'./document-ready.js';import{focusableSelector as u}from'./focus-management.js';let r=[];d(()=>{function e(t){if(!(t.target instanceof HTMLElement)||t.target===document.body||r[0]===t.target)return;let n=t.target;n=n.closest(u),r.unshift(n!=null?n:t.target),r=r.filter(o=>o!=null&&o.isConnected),r.splice(10)}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{r as history};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","\"use client\";import L,{useRef as M}from\"react\";import{useDisposables as W}from'../../hooks/use-disposables.js';import{useEvent as A}from'../../hooks/use-event.js';import{useEventListener as K}from'../../hooks/use-event-listener.js';import{useIsMounted as P}from'../../hooks/use-is-mounted.js';import{useIsTopLayer as O}from'../../hooks/use-is-top-layer.js';import{useOnUnmount as V}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as q}from'../../hooks/use-owner.js';import{useServerHandoffComplete as J}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as X}from'../../hooks/use-sync-refs.js';import{Direction as H,useTabDirection as z}from'../../hooks/use-tab-direction.js';import{useWatch as y}from'../../hooks/use-watch.js';import{Hidden as C,HiddenFeatures as _}from'../../internal/hidden.js';import{history as b}from'../../utils/active-element-history.js';import{Focus as T,FocusResult as S,focusElement as p,focusIn as E}from'../../utils/focus-management.js';import{match as h}from'../../utils/match.js';import{microTask as j}from'../../utils/micro-task.js';import{forwardRefWithAs as Q,useRender as Y}from'../../utils/render.js';function U(o){if(!o)return new Set;if(typeof o==\"function\")return new Set(o());let e=new Set;for(let t of o.current)t.current instanceof HTMLElement&&e.add(t.current);return e}let Z=\"div\";var x=(n=>(n[n.None=0]=\"None\",n[n.InitialFocus=1]=\"InitialFocus\",n[n.TabLock=2]=\"TabLock\",n[n.FocusLock=4]=\"FocusLock\",n[n.RestoreFocus=8]=\"RestoreFocus\",n[n.AutoFocus=16]=\"AutoFocus\",n))(x||{});function $(o,e){let t=M(null),r=X(t,e),{initialFocus:s,initialFocusFallback:a,containers:n,features:u=15,...f}=o;J()||(u=0);let l=q(t);ee(u,{ownerDocument:l});let i=te(u,{ownerDocument:l,container:t,initialFocus:s,initialFocusFallback:a});re(u,{ownerDocument:l,container:t,containers:n,previousActiveElement:i});let R=z(),g=A(c=>{let m=t.current;if(!m)return;(G=>G())(()=>{h(R.current,{[H.Forwards]:()=>{E(m,T.First,{skipElements:[c.relatedTarget,a]})},[H.Backwards]:()=>{E(m,T.Last,{skipElements:[c.relatedTarget,a]})}})})}),v=O(!!(u&2),\"focus-trap#tab-lock\"),N=W(),F=M(!1),k={ref:r,onKeyDown(c){c.key==\"Tab\"&&(F.current=!0,N.requestAnimationFrame(()=>{F.current=!1}))},onBlur(c){if(!(u&4))return;let m=U(n);t.current instanceof HTMLElement&&m.add(t.current);let d=c.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!==\"true\"&&(I(m,d)||(F.current?E(t.current,h(R.current,{[H.Forwards]:()=>T.Next,[H.Backwards]:()=>T.Previous})|T.WrapAround,{relativeTo:c.target}):c.target instanceof HTMLElement&&p(c.target)))}},B=Y();return L.createElement(L.Fragment,null,v&&L.createElement(C,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:g,features:_.Focusable}),B({ourProps:k,theirProps:f,defaultTag:Z,name:\"FocusTrap\"}),v&&L.createElement(C,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:g,features:_.Focusable}))}let D=Q($),ye=Object.assign(D,{features:x});function w(o=!0){let e=M(b.slice());return y(([t],[r])=>{r===!0&&t===!1&&j(()=>{e.current.splice(0)}),r===!1&&t===!0&&(e.current=b.slice())},[o,b,e]),A(()=>{var t;return(t=e.current.find(r=>r!=null&&r.isConnected))!=null?t:null})}function ee(o,{ownerDocument:e}){let t=!!(o&8),r=w(t);y(()=>{t||(e==null?void 0:e.activeElement)===(e==null?void 0:e.body)&&p(r())},[t]),V(()=>{t&&p(r())})}function te(o,{ownerDocument:e,container:t,initialFocus:r,initialFocusFallback:s}){let a=M(null),n=O(!!(o&1),\"focus-trap#initial-focus\"),u=P();return y(()=>{if(o===0)return;if(!n){s!=null&&s.current&&p(s.current);return}let f=t.current;f&&j(()=>{if(!u.current)return;let l=e==null?void 0:e.activeElement;if(r!=null&&r.current){if((r==null?void 0:r.current)===l){a.current=l;return}}else if(f.contains(l)){a.current=l;return}if(r!=null&&r.current)p(r.current);else{if(o&16){if(E(f,T.First|T.AutoFocus)!==S.Error)return}else if(E(f,T.First)!==S.Error)return;if(s!=null&&s.current&&(p(s.current),(e==null?void 0:e.activeElement)===s.current))return;console.warn(\"There are no focusable elements inside the <FocusTrap />\")}a.current=e==null?void 0:e.activeElement})},[s,n,o]),a}function re(o,{ownerDocument:e,container:t,containers:r,previousActiveElement:s}){let a=P(),n=!!(o&4);K(e==null?void 0:e.defaultView,\"focus\",u=>{if(!n||!a.current)return;let f=U(r);t.current instanceof HTMLElement&&f.add(t.current);let l=s.current;if(!l)return;let i=u.target;i&&i instanceof HTMLElement?I(f,i)?(s.current=i,p(i)):(u.preventDefault(),u.stopPropagation(),p(l)):p(s.current)},!0)}function I(o,e){for(let t of o)if(t.contains(e))return!0;return!1}export{ye as FocusTrap,x as FocusTrapFeatures};\n","\"use client\";import n,{Fragment as N,createContext as ae,createRef as ie,useContext as pe,useEffect as se,useMemo as E,useReducer as de,useRef as W}from\"react\";import{useEscape as ue}from'../../hooks/use-escape.js';import{useEvent as A}from'../../hooks/use-event.js';import{useId as M}from'../../hooks/use-id.js';import{useInertOthers as Te}from'../../hooks/use-inert-others.js';import{useIsTouchDevice as fe}from'../../hooks/use-is-touch-device.js';import{useOnDisappear as ge}from'../../hooks/use-on-disappear.js';import{useOutsideClick as ce}from'../../hooks/use-outside-click.js';import{useOwnerDocument as me}from'../../hooks/use-owner.js';import{MainTreeProvider as $,useMainTreeNode as De,useRootContainers as Pe}from'../../hooks/use-root-containers.js';import{useScrollLock as ye}from'../../hooks/use-scroll-lock.js';import{useServerHandoffComplete as Ee}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as G}from'../../hooks/use-sync-refs.js';import{CloseProvider as Ae}from'../../internal/close-provider.js';import{ResetOpenClosedProvider as _e,State as x,useOpenClosed as j}from'../../internal/open-closed.js';import{ForcePortalRoot as Y}from'../../internal/portal-force-root.js';import{match as Ce}from'../../utils/match.js';import{RenderFeatures as J,forwardRefWithAs as _,useRender as L}from'../../utils/render.js';import{Description as K,useDescriptions as Re}from'../description/description.js';import{FocusTrap as Fe,FocusTrapFeatures as C}from'../focus-trap/focus-trap.js';import{Portal as be,PortalGroup as ve,useNestedPortals as xe}from'../portal/portal.js';import{Transition as Le,TransitionChild as X}from'../transition/transition.js';var Oe=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))(Oe||{}),he=(t=>(t[t.SetTitleId=0]=\"SetTitleId\",t))(he||{});let Se={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},k=ae(null);k.displayName=\"DialogContext\";function O(e){let t=pe(k);if(t===null){let o=new Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,O),o}return t}function Ie(e,t){return Ce(t.type,Se,e,t)}let V=_(function(t,o){let a=M(),{id:l=`headlessui-dialog-${a}`,open:i,onClose:p,initialFocus:d,role:s=\"dialog\",autoFocus:f=!0,__demoMode:u=!1,unmount:P=!1,...h}=t,R=W(!1);s=function(){return s===\"dialog\"||s===\"alertdialog\"?s:(R.current||(R.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)),\"dialog\")}();let c=j();i===void 0&&c!==null&&(i=(c&x.Open)===x.Open);let T=W(null),S=G(T,o),F=me(T),g=i?0:1,[b,q]=de(Ie,{titleId:null,descriptionId:null,panelRef:ie()}),m=A(()=>p(!1)),w=A(r=>q({type:0,id:r})),D=Ee()?g===0:!1,[z,Q]=xe(),Z={get current(){var r;return(r=b.panelRef.current)!=null?r:T.current}},v=De(),{resolveContainers:I}=Pe({mainTreeNode:v,portals:z,defaultContainers:[Z]}),B=c!==null?(c&x.Closing)===x.Closing:!1;Te(u||B?!1:D,{allowed:A(()=>{var r,H;return[(H=(r=T.current)==null?void 0:r.closest(\"[data-headlessui-portal]\"))!=null?H:null]}),disallowed:A(()=>{var r;return[(r=v==null?void 0:v.closest(\"body > *:not(#headlessui-portal-root)\"))!=null?r:null]})}),ce(D,I,r=>{r.preventDefault(),m()}),ue(D,F==null?void 0:F.defaultView,r=>{r.preventDefault(),r.stopPropagation(),document.activeElement&&\"blur\"in document.activeElement&&typeof document.activeElement.blur==\"function\"&&document.activeElement.blur(),m()}),ye(u||B?!1:D,F,I),ge(D,T,m);let[ee,te]=Re(),oe=E(()=>[{dialogState:g,close:m,setTitleId:w,unmount:P},b],[g,b,m,w,P]),U=E(()=>({open:g===0}),[g]),ne={ref:S,id:l,role:s,tabIndex:-1,\"aria-modal\":u?void 0:g===0?!0:void 0,\"aria-labelledby\":b.titleId,\"aria-describedby\":ee,unmount:P},re=!fe(),y=C.None;D&&!u&&(y|=C.RestoreFocus,y|=C.TabLock,f&&(y|=C.AutoFocus),re&&(y|=C.InitialFocus));let le=L();return n.createElement(_e,null,n.createElement(Y,{force:!0},n.createElement(be,null,n.createElement(k.Provider,{value:oe},n.createElement(ve,{target:T},n.createElement(Y,{force:!1},n.createElement(te,{slot:U},n.createElement(Q,null,n.createElement(Fe,{initialFocus:d,initialFocusFallback:T,containers:I,features:y},n.createElement(Ae,{value:m},le({ourProps:ne,theirProps:h,slot:U,defaultTag:Me,features:Ge,visible:g===0,name:\"Dialog\"})))))))))))}),Me=\"div\",Ge=J.RenderStrategy|J.Static;function ke(e,t){let{transition:o=!1,open:a,...l}=e,i=j(),p=e.hasOwnProperty(\"open\")||i!==null,d=e.hasOwnProperty(\"onClose\");if(!p&&!d)throw new Error(\"You have to provide an `open` and an `onClose` prop to the `Dialog` component.\");if(!p)throw new Error(\"You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.\");if(!d)throw new Error(\"You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.\");if(!i&&typeof e.open!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!=\"function\")throw new Error(`You provided an \\`onClose\\` prop to the \\`Dialog\\`, but the value is not a function. Received: ${e.onClose}`);return(a!==void 0||o)&&!l.static?n.createElement($,null,n.createElement(Le,{show:a,transition:o,unmount:l.unmount},n.createElement(V,{ref:t,...l}))):n.createElement($,null,n.createElement(V,{ref:t,open:a,...l}))}let we=\"div\";function Be(e,t){let o=M(),{id:a=`headlessui-dialog-panel-${o}`,transition:l=!1,...i}=e,[{dialogState:p,unmount:d},s]=O(\"Dialog.Panel\"),f=G(t,s.panelRef),u=E(()=>({open:p===0}),[p]),P=A(S=>{S.stopPropagation()}),h={ref:f,id:a,onClick:P},R=l?X:N,c=l?{unmount:d}:{},T=L();return n.createElement(R,{...c},T({ourProps:h,theirProps:i,slot:u,defaultTag:we,name:\"Dialog.Panel\"}))}let Ue=\"div\";function He(e,t){let{transition:o=!1,...a}=e,[{dialogState:l,unmount:i}]=O(\"Dialog.Backdrop\"),p=E(()=>({open:l===0}),[l]),d={ref:t,\"aria-hidden\":!0},s=o?X:N,f=o?{unmount:i}:{},u=L();return n.createElement(s,{...f},u({ourProps:d,theirProps:a,slot:p,defaultTag:Ue,name:\"Dialog.Backdrop\"}))}let Ne=\"h2\";function We(e,t){let o=M(),{id:a=`headlessui-dialog-title-${o}`,...l}=e,[{dialogState:i,setTitleId:p}]=O(\"Dialog.Title\"),d=G(t);se(()=>(p(a),()=>p(null)),[a,p]);let s=E(()=>({open:i===0}),[i]),f={ref:d,id:a};return L()({ourProps:f,theirProps:l,slot:s,defaultTag:Ne,name:\"Dialog.Title\"})}let $e=_(ke),je=_(Be),Dt=_(He),Ye=_(We),Pt=K,yt=Object.assign($e,{Panel:je,Title:Ye,Description:K});export{yt as Dialog,Dt as DialogBackdrop,Pt as DialogDescription,je as DialogPanel,Ye as DialogTitle};\n","import{Keys as u}from'../components/keyboard.js';import{useEventListener as i}from'./use-event-listener.js';import{useIsTopLayer as f}from'./use-is-top-layer.js';function a(o,r=typeof document!=\"undefined\"?document.defaultView:null,t){let n=f(o,\"escape\");i(r,\"keydown\",e=>{n&&(e.defaultPrevented||e.key===u.Escape&&t(e))})}export{a as useEscape};\n","import{useState as i}from\"react\";import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';function f(){var t;let[e]=i(()=>typeof window!=\"undefined\"&&typeof window.matchMedia==\"function\"?window.matchMedia(\"(pointer: coarse)\"):null),[o,c]=i((t=e==null?void 0:e.matches)!=null?t:!1);return s(()=>{if(!e)return;function n(r){c(r.matches)}return e.addEventListener(\"change\",n),()=>e.removeEventListener(\"change\",n)},[e]),o}export{f as useIsTouchDevice};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n    var _window_navigator_userAgentData;\n    if (typeof window === 'undefined' || window.navigator == null) return false;\n    return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n    var _window_navigator_userAgentData;\n    return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$var$cached(fn) {\n    let res = null;\n    return ()=>{\n        if (res == null) res = fn();\n        return res;\n    };\n}\nconst $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n});\nconst $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n});\nconst $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n    $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n});\nconst $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n});\nconst $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n});\nconst $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n});\nconst $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testUserAgent(/Android/i);\n});\nconst $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {\n    return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n});\n\n\nexport {$c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $c87311424ea30a05$export$b7d78993b74f766d as isFirefox};\n//# sourceMappingURL=platform.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n    var _el_ownerDocument;\n    return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n    if (el && 'window' in el && el.window === el) return el;\n    const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n    return doc.defaultView || window;\n};\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow};\n//# sourceMappingURL=domHelpers.module.js.map\n","import {isMac as $28AnR$isMac, isVirtualClick as $28AnR$isVirtualClick, getOwnerWindow as $28AnR$getOwnerWindow, getOwnerDocument as $28AnR$getOwnerDocument} from \"@react-aria/utils\";\nimport {useState as $28AnR$useState, useEffect as $28AnR$useEffect} from \"react\";\nimport {useIsSSR as $28AnR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n    Tab: true,\n    Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n    for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n    // Control and Shift keys trigger when navigating back to the tab with keyboard.\n    return !(e.metaKey || !(0, $28AnR$isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n    $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n    if ($507fabe10e71c6fb$var$isValidKey(e)) {\n        $507fabe10e71c6fb$var$currentModality = 'keyboard';\n        $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n    }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n    $507fabe10e71c6fb$var$currentModality = 'pointer';\n    if (e.type === 'mousedown' || e.type === 'pointerdown') {\n        $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n        $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n    }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n    if ((0, $28AnR$isVirtualClick)(e)) {\n        $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n        $507fabe10e71c6fb$var$currentModality = 'virtual';\n    }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n    // Firefox fires two extra focus events when the user first clicks into an iframe:\n    // first on the window, then on the document. We ignore these events so they don't\n    // cause keyboard focus rings to appear.\n    if (e.target === window || e.target === document) return;\n    // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n    // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n    if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n        $507fabe10e71c6fb$var$currentModality = 'virtual';\n        $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n    }\n    $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n    $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n    // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n    // for example, since a subsequent focus event won't be fired.\n    $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n    $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n    if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, $28AnR$getOwnerWindow)(element))) return;\n    const windowObject = (0, $28AnR$getOwnerWindow)(element);\n    const documentObject = (0, $28AnR$getOwnerDocument)(element);\n    // Programmatic focus() calls shouldn't affect the current input modality.\n    // However, we need to detect other cases when a focus event occurs without\n    // a preceding user event (e.g. screen reader focus). Overriding the focus\n    // method on HTMLElement.prototype is a bit hacky, but works.\n    let focus = windowObject.HTMLElement.prototype.focus;\n    windowObject.HTMLElement.prototype.focus = function() {\n        $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n        focus.apply(this, arguments);\n    };\n    documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n    documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n    documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n    // Register focus events on the window so they are sure to happen\n    // before React's event listeners (registered on the document).\n    windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n    windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n    if (typeof PointerEvent !== 'undefined') {\n        documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n    } else {\n        documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n    }\n    // Add unmount handler\n    windowObject.addEventListener('beforeunload', ()=>{\n        $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n    }, {\n        once: true\n    });\n    $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n        focus: focus\n    });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n    const windowObject = (0, $28AnR$getOwnerWindow)(element);\n    const documentObject = (0, $28AnR$getOwnerDocument)(element);\n    if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n    if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n    windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n    documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n    documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n    documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n    windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n    windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n    if (typeof PointerEvent !== 'undefined') {\n        documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n    } else {\n        documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n        documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n    }\n    $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n    const documentObject = (0, $28AnR$getOwnerDocument)(element);\n    let loadListener;\n    if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n    else {\n        loadListener = ()=>{\n            $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n        };\n        documentObject.addEventListener('DOMContentLoaded', loadListener);\n    }\n    return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n    return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n    return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n    $507fabe10e71c6fb$var$currentModality = modality;\n    $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n    $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n    let [modality, setModality] = (0, $28AnR$useState)($507fabe10e71c6fb$var$currentModality);\n    (0, $28AnR$useEffect)(()=>{\n        let handler = ()=>{\n            setModality($507fabe10e71c6fb$var$currentModality);\n        };\n        $507fabe10e71c6fb$var$changeHandlers.add(handler);\n        return ()=>{\n            $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n        };\n    }, []);\n    return (0, $28AnR$useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n    'checkbox',\n    'radio',\n    'range',\n    'color',\n    'file',\n    'image',\n    'button',\n    'submit',\n    'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n    var _e_target;\n    const IHTMLInputElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n    const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n    const IHTMLElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n    const IKeyboardEvent = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n    isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n    return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n    let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n    let [isFocusVisibleState, setFocusVisible] = (0, $28AnR$useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n    $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n        setFocusVisible(isFocusVisible);\n    }, [\n        isTextInput\n    ], {\n        isTextInput: isTextInput\n    });\n    return {\n        isFocusVisible: isFocusVisibleState\n    };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n    $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n    (0, $28AnR$useEffect)(()=>{\n        let handler = (modality, e)=>{\n            if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n            fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n        };\n        $507fabe10e71c6fb$var$changeHandlers.add(handler);\n        return ()=>{\n            $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n        };\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, deps);\n}\n\n\nexport {$507fabe10e71c6fb$export$d90243b58daecda7 as hasSetupGlobalListeners, $507fabe10e71c6fb$export$2f1888112f558a7d as addWindowFocusTracking, $507fabe10e71c6fb$export$b9b3dfddab17db27 as isFocusVisible, $507fabe10e71c6fb$export$630ff653c5ada6a9 as getInteractionModality, $507fabe10e71c6fb$export$8397ddfc504fdb9a as setInteractionModality, $507fabe10e71c6fb$export$98e20ec92f614cfe as useInteractionModality, $507fabe10e71c6fb$export$ffd9e5021c1fb2d6 as useFocusVisible, $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.module.js.map\n","import {isAndroid as $c87311424ea30a05$export$a11b0059900ceec8} from \"./platform.mjs\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n    // JAWS/NVDA with Firefox.\n    if (event.mozInputSource === 0 && event.isTrusted) return true;\n    // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n    // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n    // to detect TalkBack virtual clicks.\n    if ((0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n    return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n    // If the pointer size is zero, then we assume it's from a screen reader.\n    // Android TalkBack double tap will sometimes return a event with width and height of 1\n    // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n    // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n    // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n    // Talkback double tap from Windows Firefox touch screen press\n    return !(0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.module.js.map\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n    const ref = (0, $lmaYr$useRef)(null);\n    (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n        ref.current = fn;\n    }, [\n        fn\n    ]);\n    // @ts-ignore\n    return (0, $lmaYr$useCallback)((...args)=>{\n        const f = ref.current;\n        return f === null || f === void 0 ? void 0 : f(...args);\n    }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","import {useRef as $6dfIe$useRef, useCallback as $6dfIe$useCallback} from \"react\";\nimport {useLayoutEffect as $6dfIe$useLayoutEffect, useEffectEvent as $6dfIe$useEffectEvent} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n    isDefaultPrevented() {\n        return this.nativeEvent.defaultPrevented;\n    }\n    preventDefault() {\n        this.defaultPrevented = true;\n        this.nativeEvent.preventDefault();\n    }\n    stopPropagation() {\n        this.nativeEvent.stopPropagation();\n        this.isPropagationStopped = ()=>true;\n    }\n    isPropagationStopped() {\n        return false;\n    }\n    persist() {}\n    constructor(type, nativeEvent){\n        this.nativeEvent = nativeEvent;\n        this.target = nativeEvent.target;\n        this.currentTarget = nativeEvent.currentTarget;\n        this.relatedTarget = nativeEvent.relatedTarget;\n        this.bubbles = nativeEvent.bubbles;\n        this.cancelable = nativeEvent.cancelable;\n        this.defaultPrevented = nativeEvent.defaultPrevented;\n        this.eventPhase = nativeEvent.eventPhase;\n        this.isTrusted = nativeEvent.isTrusted;\n        this.timeStamp = nativeEvent.timeStamp;\n        this.type = type;\n    }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n    let stateRef = (0, $6dfIe$useRef)({\n        isFocused: false,\n        observer: null\n    });\n    // Clean up MutationObserver on unmount. See below.\n    // eslint-disable-next-line arrow-body-style\n    (0, $6dfIe$useLayoutEffect)(()=>{\n        const state = stateRef.current;\n        return ()=>{\n            if (state.observer) {\n                state.observer.disconnect();\n                state.observer = null;\n            }\n        };\n    }, []);\n    let dispatchBlur = (0, $6dfIe$useEffectEvent)((e)=>{\n        onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n    });\n    // This function is called during a React onFocus event.\n    return (0, $6dfIe$useCallback)((e)=>{\n        // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n        // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n        // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n        // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n        if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n            stateRef.current.isFocused = true;\n            let target = e.target;\n            let onBlurHandler = (e)=>{\n                stateRef.current.isFocused = false;\n                if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n                dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n                // We no longer need the MutationObserver once the target is blurred.\n                if (stateRef.current.observer) {\n                    stateRef.current.observer.disconnect();\n                    stateRef.current.observer = null;\n                }\n            };\n            target.addEventListener('focusout', onBlurHandler, {\n                once: true\n            });\n            stateRef.current.observer = new MutationObserver(()=>{\n                if (stateRef.current.isFocused && target.disabled) {\n                    var _stateRef_current_observer;\n                    (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n                    let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n                    target.dispatchEvent(new FocusEvent('blur', {\n                        relatedTarget: relatedTargetEl\n                    }));\n                    target.dispatchEvent(new FocusEvent('focusout', {\n                        bubbles: true,\n                        relatedTarget: relatedTargetEl\n                    }));\n                }\n            });\n            stateRef.current.observer.observe(target, {\n                attributes: true,\n                attributeFilter: [\n                    'disabled'\n                ]\n            });\n        }\n    }, [\n        dispatchBlur\n    ]);\n}\n\n\nexport {$8a9cb279dc87e130$export$905e7fc544a71f36 as SyntheticFocusEvent, $8a9cb279dc87e130$export$715c682d09d639cc as useSyntheticBlurEvent};\n//# sourceMappingURL=utils.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $hf0lj$useCallback} from \"react\";\nimport {getOwnerDocument as $hf0lj$getOwnerDocument} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n    let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n    const onBlur = (0, $hf0lj$useCallback)((e)=>{\n        if (e.target === e.currentTarget) {\n            if (onBlurProp) onBlurProp(e);\n            if (onFocusChange) onFocusChange(false);\n            return true;\n        }\n    }, [\n        onBlurProp,\n        onFocusChange\n    ]);\n    const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n    const onFocus = (0, $hf0lj$useCallback)((e)=>{\n        // Double check that document.activeElement actually matches e.target in case a previously chained\n        // focus handler already moved focus somewhere else.\n        const ownerDocument = (0, $hf0lj$getOwnerDocument)(e.target);\n        if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n            if (onFocusProp) onFocusProp(e);\n            if (onFocusChange) onFocusChange(true);\n            onSyntheticFocus(e);\n        }\n    }, [\n        onFocusChange,\n        onFocusProp,\n        onSyntheticFocus\n    ]);\n    return {\n        focusProps: {\n            onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n            onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n        }\n    };\n}\n\n\nexport {$a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useRef as $3b9Q0$useRef, useCallback as $3b9Q0$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n    let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n    let state = (0, $3b9Q0$useRef)({\n        isFocusWithin: false\n    });\n    let onBlur = (0, $3b9Q0$useCallback)((e)=>{\n        // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n        // when moving focus inside the element. Only trigger if the currentTarget doesn't\n        // include the relatedTarget (where focus is moving).\n        if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n            state.current.isFocusWithin = false;\n            if (onBlurWithin) onBlurWithin(e);\n            if (onFocusWithinChange) onFocusWithinChange(false);\n        }\n    }, [\n        onBlurWithin,\n        onFocusWithinChange,\n        state\n    ]);\n    let onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n    let onFocus = (0, $3b9Q0$useCallback)((e)=>{\n        // Double check that document.activeElement actually matches e.target in case a previously chained\n        // focus handler already moved focus somewhere else.\n        if (!state.current.isFocusWithin && document.activeElement === e.target) {\n            if (onFocusWithin) onFocusWithin(e);\n            if (onFocusWithinChange) onFocusWithinChange(true);\n            state.current.isFocusWithin = true;\n            onSyntheticFocus(e);\n        }\n    }, [\n        onFocusWithin,\n        onFocusWithinChange,\n        onSyntheticFocus\n    ]);\n    if (isDisabled) return {\n        focusWithinProps: {\n            // These should not have been null, that would conflict in mergeProps\n            onFocus: undefined,\n            onBlur: undefined\n        }\n    };\n    return {\n        focusWithinProps: {\n            onFocus: onFocus,\n            onBlur: onBlur\n        }\n    };\n}\n\n\nexport {$9ab94262bd0047c7$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.module.js.map\n","import {isFocusVisible as $isWE5$isFocusVisible, useFocusVisibleListener as $isWE5$useFocusVisibleListener, useFocus as $isWE5$useFocus, useFocusWithin as $isWE5$useFocusWithin} from \"@react-aria/interactions\";\nimport {useRef as $isWE5$useRef, useState as $isWE5$useState, useCallback as $isWE5$useCallback} from \"react\";\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n    let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n    let state = (0, $isWE5$useRef)({\n        isFocused: false,\n        isFocusVisible: autoFocus || (0, $isWE5$isFocusVisible)()\n    });\n    let [isFocused, setFocused] = (0, $isWE5$useState)(false);\n    let [isFocusVisibleState, setFocusVisible] = (0, $isWE5$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n    let updateState = (0, $isWE5$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n    let onFocusChange = (0, $isWE5$useCallback)((isFocused)=>{\n        state.current.isFocused = isFocused;\n        setFocused(isFocused);\n        updateState();\n    }, [\n        updateState\n    ]);\n    (0, $isWE5$useFocusVisibleListener)((isFocusVisible)=>{\n        state.current.isFocusVisible = isFocusVisible;\n        updateState();\n    }, [], {\n        isTextInput: isTextInput\n    });\n    let { focusProps: focusProps } = (0, $isWE5$useFocus)({\n        isDisabled: within,\n        onFocusChange: onFocusChange\n    });\n    let { focusWithinProps: focusWithinProps } = (0, $isWE5$useFocusWithin)({\n        isDisabled: !within,\n        onFocusWithinChange: onFocusChange\n    });\n    return {\n        isFocused: isFocused,\n        isFocusVisible: isFocusVisibleState,\n        focusProps: within ? focusWithinProps : focusProps\n    };\n}\n\n\nexport {$f7dceffc5ad7768b$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.module.js.map\n","import {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n    $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n    // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n    // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n    // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n    // the distant future because a user previously touched the element.\n    setTimeout(()=>{\n        $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n    }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n    if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n    if (typeof document === 'undefined') return;\n    if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n    else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n    $6179b936705e76d3$var$hoverCount++;\n    return ()=>{\n        $6179b936705e76d3$var$hoverCount--;\n        if ($6179b936705e76d3$var$hoverCount > 0) return;\n        if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n        else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n    };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n    let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n    let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n    let state = (0, $AWxnT$useRef)({\n        isHovered: false,\n        ignoreEmulatedMouseEvents: false,\n        pointerType: '',\n        target: null\n    }).current;\n    (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n    let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n        let triggerHoverStart = (event, pointerType)=>{\n            state.pointerType = pointerType;\n            if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n            state.isHovered = true;\n            let target = event.currentTarget;\n            state.target = target;\n            if (onHoverStart) onHoverStart({\n                type: 'hoverstart',\n                target: target,\n                pointerType: pointerType\n            });\n            if (onHoverChange) onHoverChange(true);\n            setHovered(true);\n        };\n        let triggerHoverEnd = (event, pointerType)=>{\n            state.pointerType = '';\n            state.target = null;\n            if (pointerType === 'touch' || !state.isHovered) return;\n            state.isHovered = false;\n            let target = event.currentTarget;\n            if (onHoverEnd) onHoverEnd({\n                type: 'hoverend',\n                target: target,\n                pointerType: pointerType\n            });\n            if (onHoverChange) onHoverChange(false);\n            setHovered(false);\n        };\n        let hoverProps = {};\n        if (typeof PointerEvent !== 'undefined') {\n            hoverProps.onPointerEnter = (e)=>{\n                if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n                triggerHoverStart(e, e.pointerType);\n            };\n            hoverProps.onPointerLeave = (e)=>{\n                if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n            };\n        } else {\n            hoverProps.onTouchStart = ()=>{\n                state.ignoreEmulatedMouseEvents = true;\n            };\n            hoverProps.onMouseEnter = (e)=>{\n                if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n                state.ignoreEmulatedMouseEvents = false;\n            };\n            hoverProps.onMouseLeave = (e)=>{\n                if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n            };\n        }\n        return {\n            hoverProps: hoverProps,\n            triggerHoverEnd: triggerHoverEnd\n        };\n    }, [\n        onHoverStart,\n        onHoverChange,\n        onHoverEnd,\n        isDisabled,\n        state\n    ]);\n    (0, $AWxnT$useEffect)(()=>{\n        // Call the triggerHoverEnd as soon as isDisabled changes to true\n        // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n        if (isDisabled) triggerHoverEnd({\n            currentTarget: state.target\n        }, state.pointerType);\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        isDisabled\n    ]);\n    return {\n        hoverProps: hoverProps,\n        isHovered: isHovered\n    };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import{useRef as a,useState as m}from\"react\";import{getOwnerDocument as d}from'../utils/owner.js';import{useDisposables as g}from'./use-disposables.js';import{useEvent as u}from'./use-event.js';function E(e){let t=e.width/2,n=e.height/2;return{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function P(e,t){return!(!e||!t||e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom)}function w({disabled:e=!1}={}){let t=a(null),[n,l]=m(!1),r=g(),o=u(()=>{t.current=null,l(!1),r.dispose()}),f=u(s=>{if(r.dispose(),t.current===null){t.current=s.currentTarget,l(!0);{let i=d(s.currentTarget);r.addEventListener(i,\"pointerup\",o,!1),r.addEventListener(i,\"pointermove\",c=>{if(t.current){let p=E(c);l(P(p,t.current.getBoundingClientRect()))}},!1),r.addEventListener(i,\"pointercancel\",o,!1)}}});return{pressed:n,pressProps:e?{}:{onPointerDown:f,onPointerUp:o,onClick:o}}}export{w as useActivePress};\n","import{useMemo as o,useReducer as h}from\"react\";import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';function f(e){if(e===null)return{width:0,height:0};let{width:t,height:r}=e.getBoundingClientRect();return{width:t,height:r}}function d(e,t=!1){let[r,u]=h(()=>({}),{}),i=o(()=>f(e),[e,r]);return s(()=>{if(!e)return;let n=new ResizeObserver(u);return n.observe(e),()=>{n.disconnect()}},[e]),t?{width:`${i.width}px`,height:`${i.height}px`}:i}export{d as useElementSize};\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n  let activeElement = doc.activeElement;\n  while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n    var _activeElement;\n    activeElement = activeElement.shadowRoot.activeElement;\n  }\n  return activeElement;\n}\nfunction contains(parent, child) {\n  if (!parent || !child) {\n    return false;\n  }\n  const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n  // First, attempt with faster native method\n  if (parent.contains(child)) {\n    return true;\n  }\n\n  // then fallback to custom implementation with Shadow DOM support\n  if (rootNode && isShadowRoot(rootNode)) {\n    let next = child;\n    while (next) {\n      if (parent === next) {\n        return true;\n      }\n      // @ts-ignore\n      next = next.parentNode || next.host;\n    }\n  }\n\n  // Give up, the result is false\n  return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n  const uaData = navigator.userAgentData;\n  if (uaData != null && uaData.platform) {\n    return uaData.platform;\n  }\n  return navigator.platform;\n}\nfunction getUserAgent() {\n  const uaData = navigator.userAgentData;\n  if (uaData && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(_ref => {\n      let {\n        brand,\n        version\n      } = _ref;\n      return brand + \"/\" + version;\n    }).join(' ');\n  }\n  return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n  // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n  // Try to find a workaround for this. `react-aria` source still has the check.\n  if (event.mozInputSource === 0 && event.isTrusted) {\n    return true;\n  }\n  if (isAndroid() && event.pointerType) {\n    return event.type === 'click' && event.buttons === 1;\n  }\n  return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n  if (isJSDOM()) return false;\n  return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n  // iOS VoiceOver returns 0.333• for width/height.\n  event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n  // Chrome DevTools does not complain about navigator.vendor\n  return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n  const re = /android/i;\n  return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n  return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n  return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n  // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n  // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n  const values = ['mouse', 'pen'];\n  if (!strict) {\n    values.push('', undefined);\n  }\n  return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n  return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n  return element.matches('html,body');\n}\nfunction getDocument(node) {\n  return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n  if (node == null) {\n    return false;\n  }\n  if ('composedPath' in event) {\n    return event.composedPath().includes(node);\n  }\n\n  // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n  const e = event;\n  return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n  if ('composedPath' in event) {\n    return event.composedPath()[0];\n  }\n\n  // TS thinks `event` is of type never as it assumes all browsers support\n  // `composedPath()`, but browsers without shadow DOM don't.\n  return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n  return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n  event.preventDefault();\n  event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n  if (!element) return false;\n  return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useRef } from 'react';\nimport { stopEvent, getDocument, isMouseLikePointerType, contains, activeElement, isSafari, isTypeableCombobox, isVirtualClick, isVirtualPointerEvent, getTarget, getPlatform, isTypeableElement, isReactEvent, isRootElement, isEventTargetWithin, isMac, getUserAgent } from '@floating-ui/react/utils';\nimport { floor, evaluate, max, min, round } from '@floating-ui/utils';\nimport { getComputedStyle, isElement, getNodeName, isHTMLElement, getWindow, isLastTraversableNode, getParentNode, isWebKit } from '@floating-ui/utils/dom';\nimport { tabbable, isTabbable } from 'tabbable';\nimport * as ReactDOM from 'react-dom';\nimport { getOverflowAncestors, useFloating as useFloating$1, offset, detectOverflow } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n  return React.useMemo(() => {\n    if (refs.every(ref => ref == null)) {\n      return null;\n    }\n    return value => {\n      refs.forEach(ref => {\n        if (typeof ref === 'function') {\n          ref(value);\n        } else if (ref != null) {\n          ref.current = value;\n        }\n      });\n    };\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, refs);\n}\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n  ...React\n};\n\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n  const ref = React.useRef(() => {\n    if (process.env.NODE_ENV !== \"production\") {\n      throw new Error('Cannot call an event handler while rendering.');\n    }\n  });\n  useSafeInsertionEffect(() => {\n    ref.current = callback;\n  });\n  return React.useCallback(function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    return ref.current == null ? void 0 : ref.current(...args);\n  }, []);\n}\n\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nfunction isDifferentRow(index, cols, prevRow) {\n  return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfBounds(listRef, index) {\n  return index < 0 || index >= listRef.current.length;\n}\nfunction getMinIndex(listRef, disabledIndices) {\n  return findNonDisabledIndex(listRef, {\n    disabledIndices\n  });\n}\nfunction getMaxIndex(listRef, disabledIndices) {\n  return findNonDisabledIndex(listRef, {\n    decrement: true,\n    startingIndex: listRef.current.length,\n    disabledIndices\n  });\n}\nfunction findNonDisabledIndex(listRef, _temp) {\n  let {\n    startingIndex = -1,\n    decrement = false,\n    disabledIndices,\n    amount = 1\n  } = _temp === void 0 ? {} : _temp;\n  const list = listRef.current;\n  let index = startingIndex;\n  do {\n    index += decrement ? -amount : amount;\n  } while (index >= 0 && index <= list.length - 1 && isDisabled(list, index, disabledIndices));\n  return index;\n}\nfunction getGridNavigatedIndex(elementsRef, _ref) {\n  let {\n    event,\n    orientation,\n    loop,\n    cols,\n    disabledIndices,\n    minIndex,\n    maxIndex,\n    prevIndex,\n    stopEvent: stop = false\n  } = _ref;\n  let nextIndex = prevIndex;\n  if (event.key === ARROW_UP) {\n    stop && stopEvent(event);\n    if (prevIndex === -1) {\n      nextIndex = maxIndex;\n    } else {\n      nextIndex = findNonDisabledIndex(elementsRef, {\n        startingIndex: nextIndex,\n        amount: cols,\n        decrement: true,\n        disabledIndices\n      });\n      if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n        const col = prevIndex % cols;\n        const maxCol = maxIndex % cols;\n        const offset = maxIndex - (maxCol - col);\n        if (maxCol === col) {\n          nextIndex = maxIndex;\n        } else {\n          nextIndex = maxCol > col ? offset : offset - cols;\n        }\n      }\n    }\n    if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n      nextIndex = prevIndex;\n    }\n  }\n  if (event.key === ARROW_DOWN) {\n    stop && stopEvent(event);\n    if (prevIndex === -1) {\n      nextIndex = minIndex;\n    } else {\n      nextIndex = findNonDisabledIndex(elementsRef, {\n        startingIndex: prevIndex,\n        amount: cols,\n        disabledIndices\n      });\n      if (loop && prevIndex + cols > maxIndex) {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex % cols - cols,\n          amount: cols,\n          disabledIndices\n        });\n      }\n    }\n    if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n      nextIndex = prevIndex;\n    }\n  }\n\n  // Remains on the same row/column.\n  if (orientation === 'both') {\n    const prevRow = floor(prevIndex / cols);\n    if (event.key === ARROW_RIGHT) {\n      stop && stopEvent(event);\n      if (prevIndex % cols !== cols - 1) {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex,\n          disabledIndices\n        });\n        if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n          nextIndex = findNonDisabledIndex(elementsRef, {\n            startingIndex: prevIndex - prevIndex % cols - 1,\n            disabledIndices\n          });\n        }\n      } else if (loop) {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex - prevIndex % cols - 1,\n          disabledIndices\n        });\n      }\n      if (isDifferentRow(nextIndex, cols, prevRow)) {\n        nextIndex = prevIndex;\n      }\n    }\n    if (event.key === ARROW_LEFT) {\n      stop && stopEvent(event);\n      if (prevIndex % cols !== 0) {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex,\n          decrement: true,\n          disabledIndices\n        });\n        if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n          nextIndex = findNonDisabledIndex(elementsRef, {\n            startingIndex: prevIndex + (cols - prevIndex % cols),\n            decrement: true,\n            disabledIndices\n          });\n        }\n      } else if (loop) {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex + (cols - prevIndex % cols),\n          decrement: true,\n          disabledIndices\n        });\n      }\n      if (isDifferentRow(nextIndex, cols, prevRow)) {\n        nextIndex = prevIndex;\n      }\n    }\n    const lastRow = floor(maxIndex / cols) === prevRow;\n    if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n      if (loop && lastRow) {\n        nextIndex = event.key === ARROW_LEFT ? maxIndex : findNonDisabledIndex(elementsRef, {\n          startingIndex: prevIndex - prevIndex % cols - 1,\n          disabledIndices\n        });\n      } else {\n        nextIndex = prevIndex;\n      }\n    }\n  }\n  return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction buildCellMap(sizes, cols, dense) {\n  const cellMap = [];\n  let startIndex = 0;\n  sizes.forEach((_ref2, index) => {\n    let {\n      width,\n      height\n    } = _ref2;\n    if (width > cols) {\n      if (process.env.NODE_ENV !== \"production\") {\n        throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n      }\n    }\n    let itemPlaced = false;\n    if (dense) {\n      startIndex = 0;\n    }\n    while (!itemPlaced) {\n      const targetCells = [];\n      for (let i = 0; i < width; i++) {\n        for (let j = 0; j < height; j++) {\n          targetCells.push(startIndex + i + j * cols);\n        }\n      }\n      if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n        targetCells.forEach(cell => {\n          cellMap[cell] = index;\n        });\n        itemPlaced = true;\n      } else {\n        startIndex++;\n      }\n    }\n  });\n\n  // convert into a non-sparse array\n  return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n  if (index === -1) return -1;\n  const firstCellIndex = cellMap.indexOf(index);\n  const sizeItem = sizes[index];\n  switch (corner) {\n    case 'tl':\n      return firstCellIndex;\n    case 'tr':\n      if (!sizeItem) {\n        return firstCellIndex;\n      }\n      return firstCellIndex + sizeItem.width - 1;\n    case 'bl':\n      if (!sizeItem) {\n        return firstCellIndex;\n      }\n      return firstCellIndex + (sizeItem.height - 1) * cols;\n    case 'br':\n      return cellMap.lastIndexOf(index);\n  }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getCellIndices(indices, cellMap) {\n  return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isDisabled(list, index, disabledIndices) {\n  if (disabledIndices) {\n    return disabledIndices.includes(index);\n  }\n  const element = list[index];\n  return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    preventScroll = false,\n    cancelPrevious = true,\n    sync = false\n  } = options;\n  cancelPrevious && cancelAnimationFrame(rafId);\n  const exec = () => el == null ? void 0 : el.focus({\n    preventScroll\n  });\n  if (sync) {\n    exec();\n  } else {\n    rafId = requestAnimationFrame(exec);\n  }\n}\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction sortByDocumentPosition(a, b) {\n  const position = a.compareDocumentPosition(b);\n  if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n    return -1;\n  }\n  if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n    return 1;\n  }\n  return 0;\n}\nfunction areMapsEqual(map1, map2) {\n  if (map1.size !== map2.size) {\n    return false;\n  }\n  for (const [key, value] of map1.entries()) {\n    if (value !== map2.get(key)) {\n      return false;\n    }\n  }\n  return true;\n}\nconst FloatingListContext = /*#__PURE__*/React.createContext({\n  register: () => {},\n  unregister: () => {},\n  map: /*#__PURE__*/new Map(),\n  elementsRef: {\n    current: []\n  }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(props) {\n  const {\n    children,\n    elementsRef,\n    labelsRef\n  } = props;\n  const [map, setMap] = React.useState(() => new Map());\n  const register = React.useCallback(node => {\n    setMap(prevMap => new Map(prevMap).set(node, null));\n  }, []);\n  const unregister = React.useCallback(node => {\n    setMap(prevMap => {\n      const map = new Map(prevMap);\n      map.delete(node);\n      return map;\n    });\n  }, []);\n  index(() => {\n    const newMap = new Map(map);\n    const nodes = Array.from(newMap.keys()).sort(sortByDocumentPosition);\n    nodes.forEach((node, index) => {\n      newMap.set(node, index);\n    });\n    if (!areMapsEqual(map, newMap)) {\n      setMap(newMap);\n    }\n  }, [map]);\n  return /*#__PURE__*/React.createElement(FloatingListContext.Provider, {\n    value: React.useMemo(() => ({\n      register,\n      unregister,\n      map,\n      elementsRef,\n      labelsRef\n    }), [register, unregister, map, elementsRef, labelsRef])\n  }, children);\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    label\n  } = props;\n  const {\n    register,\n    unregister,\n    map,\n    elementsRef,\n    labelsRef\n  } = React.useContext(FloatingListContext);\n  const [index$1, setIndex] = React.useState(null);\n  const componentRef = React.useRef(null);\n  const ref = React.useCallback(node => {\n    componentRef.current = node;\n    if (index$1 !== null) {\n      elementsRef.current[index$1] = node;\n      if (labelsRef) {\n        var _node$textContent;\n        const isLabelDefined = label !== undefined;\n        labelsRef.current[index$1] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n      }\n    }\n  }, [index$1, elementsRef, labelsRef, label]);\n  index(() => {\n    const node = componentRef.current;\n    if (node) {\n      register(node);\n      return () => {\n        unregister(node);\n      };\n    }\n  }, [register, unregister]);\n  index(() => {\n    const index = componentRef.current ? map.get(componentRef.current) : null;\n    if (index != null) {\n      setIndex(index);\n    }\n  }, [map]);\n  return React.useMemo(() => ({\n    ref,\n    index: index$1 == null ? -1 : index$1\n  }), [index$1, ref]);\n}\n\nfunction renderJsx(render, computedProps) {\n  if (typeof render === 'function') {\n    return render(computedProps);\n  }\n  if (render) {\n    return /*#__PURE__*/React.cloneElement(render, computedProps);\n  }\n  return /*#__PURE__*/React.createElement(\"div\", computedProps);\n}\nconst CompositeContext = /*#__PURE__*/React.createContext({\n  activeIndex: 0,\n  onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that aren’t part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/React.forwardRef(function Composite(props, forwardedRef) {\n  const {\n    render,\n    orientation = 'both',\n    loop = true,\n    cols = 1,\n    disabledIndices,\n    activeIndex: externalActiveIndex,\n    onNavigate: externalSetActiveIndex,\n    itemSizes,\n    dense = false,\n    ...domProps\n  } = props;\n  const [internalActiveIndex, internalSetActiveIndex] = React.useState(0);\n  const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n  const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n  const elementsRef = React.useRef([]);\n  const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n  const contextValue = React.useMemo(() => ({\n    activeIndex,\n    onNavigate\n  }), [activeIndex, onNavigate]);\n  const isGrid = cols > 1;\n  function handleKeyDown(event) {\n    if (!allKeys.includes(event.key)) return;\n    let nextIndex = activeIndex;\n    const minIndex = getMinIndex(elementsRef, disabledIndices);\n    const maxIndex = getMaxIndex(elementsRef, disabledIndices);\n    if (isGrid) {\n      const sizes = itemSizes || Array.from({\n        length: elementsRef.current.length\n      }, () => ({\n        width: 1,\n        height: 1\n      }));\n      // To calculate movements on the grid, we use hypothetical cell indices\n      // as if every item was 1x1, then convert back to real indices.\n      const cellMap = buildCellMap(sizes, cols, dense);\n      const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(elementsRef.current, index, disabledIndices));\n      // last enabled index\n      const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(elementsRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n      const maybeNextIndex = cellMap[getGridNavigatedIndex({\n        current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n      }, {\n        event,\n        orientation,\n        loop,\n        cols,\n        // treat undefined (empty grid spaces) as disabled indices so we\n        // don't end up in them\n        disabledIndices: getCellIndices([...(disabledIndices || elementsRef.current.map((_, index) => isDisabled(elementsRef.current, index) ? index : undefined)), undefined], cellMap),\n        minIndex: minGridIndex,\n        maxIndex: maxGridIndex,\n        prevIndex: getCellIndexOfCorner(activeIndex > maxIndex ? minIndex : activeIndex, sizes, cellMap, cols,\n        // use a corner matching the edge closest to the direction we're\n        // moving in so we don't end up in the same item. Prefer\n        // top/left over bottom/right.\n        event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl')\n      })];\n      if (maybeNextIndex != null) {\n        nextIndex = maybeNextIndex;\n      }\n    }\n    const toEndKeys = {\n      horizontal: [ARROW_RIGHT],\n      vertical: [ARROW_DOWN],\n      both: [ARROW_RIGHT, ARROW_DOWN]\n    }[orientation];\n    const toStartKeys = {\n      horizontal: [ARROW_LEFT],\n      vertical: [ARROW_UP],\n      both: [ARROW_LEFT, ARROW_UP]\n    }[orientation];\n    const preventedKeys = isGrid ? allKeys : {\n      horizontal: horizontalKeys,\n      vertical: verticalKeys,\n      both: allKeys\n    }[orientation];\n    if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n      if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n        nextIndex = minIndex;\n      } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n        nextIndex = maxIndex;\n      } else {\n        nextIndex = findNonDisabledIndex(elementsRef, {\n          startingIndex: nextIndex,\n          decrement: toStartKeys.includes(event.key),\n          disabledIndices\n        });\n      }\n    }\n    if (nextIndex !== activeIndex && !isIndexOutOfBounds(elementsRef, nextIndex)) {\n      event.stopPropagation();\n      if (preventedKeys.includes(event.key)) {\n        event.preventDefault();\n      }\n      onNavigate(nextIndex);\n\n      // Wait for FocusManager `returnFocus` to execute.\n      queueMicrotask(() => {\n        enqueueFocus(elementsRef.current[nextIndex]);\n      });\n    }\n  }\n  const computedProps = {\n    ...domProps,\n    ...renderElementProps,\n    ref: forwardedRef,\n    'aria-orientation': orientation === 'both' ? undefined : orientation,\n    onKeyDown(e) {\n      domProps.onKeyDown == null || domProps.onKeyDown(e);\n      renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n      handleKeyDown(e);\n    }\n  };\n  return /*#__PURE__*/React.createElement(CompositeContext.Provider, {\n    value: contextValue\n  }, /*#__PURE__*/React.createElement(FloatingList, {\n    elementsRef: elementsRef\n  }, renderJsx(render, computedProps)));\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/React.forwardRef(function CompositeItem(props, forwardedRef) {\n  const {\n    render,\n    ...domProps\n  } = props;\n  const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n  const {\n    activeIndex,\n    onNavigate\n  } = React.useContext(CompositeContext);\n  const {\n    ref,\n    index\n  } = useListItem();\n  const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n  const isActive = activeIndex === index;\n  const computedProps = {\n    ...domProps,\n    ...renderElementProps,\n    ref: mergedRef,\n    tabIndex: isActive ? 0 : -1,\n    'data-active': isActive ? '' : undefined,\n    onFocus(e) {\n      domProps.onFocus == null || domProps.onFocus(e);\n      renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n      onNavigate(index);\n    }\n  };\n  return renderJsx(render, computedProps);\n});\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => // Ensure the id is unique with multiple independent versions of Floating UI\n// on <React 18\n\"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n  const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n  index(() => {\n    if (id == null) {\n      setId(genId());\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  React.useEffect(() => {\n    serverHandoffComplete = true;\n  }, []);\n  return id;\n}\nconst useReactId = SafeReact.useId;\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n  devMessageSet = /*#__PURE__*/new Set();\n}\nfunction warn() {\n  var _devMessageSet;\n  for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {\n    messages[_key] = arguments[_key];\n  }\n  const message = \"Floating UI: \" + messages.join(' ');\n  if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n    var _devMessageSet2;\n    (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n    console.warn(message);\n  }\n}\nfunction error() {\n  var _devMessageSet3;\n  for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    messages[_key2] = arguments[_key2];\n  }\n  const message = \"Floating UI: \" + messages.join(' ');\n  if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n    var _devMessageSet4;\n    (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n    console.error(message);\n  }\n}\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props, ref) {\n  const {\n    context: {\n      placement,\n      elements: {\n        floating\n      },\n      middlewareData: {\n        arrow,\n        shift\n      }\n    },\n    width = 14,\n    height = 7,\n    tipRadius = 0,\n    strokeWidth = 0,\n    staticOffset,\n    stroke,\n    d,\n    style: {\n      transform,\n      ...restStyle\n    } = {},\n    ...rest\n  } = props;\n  if (process.env.NODE_ENV !== \"production\") {\n    if (!ref) {\n      warn('The `ref` prop is required for `FloatingArrow`.');\n    }\n  }\n  const clipPathId = useId();\n  const [isRTL, setIsRTL] = React.useState(false);\n\n  // https://github.com/floating-ui/floating-ui/issues/2932\n  index(() => {\n    if (!floating) return;\n    const isRTL = getComputedStyle(floating).direction === 'rtl';\n    if (isRTL) {\n      setIsRTL(true);\n    }\n  }, [floating]);\n  if (!floating) {\n    return null;\n  }\n  const [side, alignment] = placement.split('-');\n  const isVerticalSide = side === 'top' || side === 'bottom';\n  let computedStaticOffset = staticOffset;\n  if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {\n    computedStaticOffset = null;\n  }\n\n  // Strokes must be double the border width, this ensures the stroke's width\n  // works as you'd expect.\n  const computedStrokeWidth = strokeWidth * 2;\n  const halfStrokeWidth = computedStrokeWidth / 2;\n  const svgX = width / 2 * (tipRadius / -8 + 1);\n  const svgY = height / 2 * tipRadius / 4;\n  const isCustomShape = !!d;\n  const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';\n  let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';\n  if (computedStaticOffset && isRTL) {\n    xOffsetProp = alignment === 'end' ? 'left' : 'right';\n  }\n  const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';\n  const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || arrow.y : '';\n  const dValue = d || 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n  const rotation = {\n    top: isCustomShape ? 'rotate(180deg)' : '',\n    left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n    bottom: isCustomShape ? '' : 'rotate(180deg)',\n    right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n  }[side];\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({}, rest, {\n    \"aria-hidden\": true,\n    ref: ref,\n    width: isCustomShape ? width : width + computedStrokeWidth,\n    height: width,\n    viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n    style: {\n      position: 'absolute',\n      pointerEvents: 'none',\n      [xOffsetProp]: arrowX,\n      [yOffsetProp]: arrowY,\n      [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + computedStrokeWidth / 2 + \"px)\",\n      transform: [rotation, transform].filter(t => !!t).join(' '),\n      ...restStyle\n    }\n  }), computedStrokeWidth > 0 && /*#__PURE__*/React.createElement(\"path\", {\n    clipPath: \"url(#\" + clipPathId + \")\",\n    fill: \"none\",\n    stroke: stroke\n    // Account for the stroke on the fill path rendered below.\n    ,\n    strokeWidth: computedStrokeWidth + (d ? 0 : 1),\n    d: dValue\n  }), /*#__PURE__*/React.createElement(\"path\", {\n    stroke: computedStrokeWidth && !d ? rest.fill : 'none',\n    d: dValue\n  }), /*#__PURE__*/React.createElement(\"clipPath\", {\n    id: clipPathId\n  }, /*#__PURE__*/React.createElement(\"rect\", {\n    x: -halfStrokeWidth,\n    y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n    width: width + computedStrokeWidth,\n    height: width\n  })));\n});\n\nfunction createPubSub() {\n  const map = new Map();\n  return {\n    emit(event, data) {\n      var _map$get;\n      (_map$get = map.get(event)) == null || _map$get.forEach(handler => handler(data));\n    },\n    on(event, listener) {\n      map.set(event, [...(map.get(event) || []), listener]);\n    },\n    off(event, listener) {\n      var _map$get2;\n      map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter(l => l !== listener)) || []);\n    }\n  };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n  var _React$useContext;\n  return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n  const id = useId();\n  const tree = useFloatingTree();\n  const reactParentId = useFloatingParentNodeId();\n  const parentId = customParentId || reactParentId;\n  index(() => {\n    const node = {\n      id,\n      parentId\n    };\n    tree == null || tree.addNode(node);\n    return () => {\n      tree == null || tree.removeNode(node);\n    };\n  }, [tree, id, parentId]);\n  return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(props) {\n  const {\n    children,\n    id\n  } = props;\n  const parentId = useFloatingParentNodeId();\n  return /*#__PURE__*/React.createElement(FloatingNodeContext.Provider, {\n    value: React.useMemo(() => ({\n      id,\n      parentId\n    }), [id, parentId])\n  }, children);\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(props) {\n  const {\n    children\n  } = props;\n  const nodesRef = React.useRef([]);\n  const addNode = React.useCallback(node => {\n    nodesRef.current = [...nodesRef.current, node];\n  }, []);\n  const removeNode = React.useCallback(node => {\n    nodesRef.current = nodesRef.current.filter(n => n !== node);\n  }, []);\n  const events = React.useState(() => createPubSub())[0];\n  return /*#__PURE__*/React.createElement(FloatingTreeContext.Provider, {\n    value: React.useMemo(() => ({\n      nodesRef,\n      addNode,\n      removeNode,\n      events\n    }), [addNode, removeNode, events])\n  }, children);\n}\n\nfunction createAttribute(name) {\n  return \"data-floating-ui-\" + name;\n}\n\nfunction useLatestRef(value) {\n  const ref = useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n  if (pointerType && !isMouseLikePointerType(pointerType)) {\n    return 0;\n  }\n  if (typeof value === 'number') {\n    return value;\n  }\n  return value == null ? void 0 : value[prop];\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    onOpenChange,\n    dataRef,\n    events,\n    elements\n  } = context;\n  const {\n    enabled = true,\n    delay = 0,\n    handleClose = null,\n    mouseOnly = false,\n    restMs = 0,\n    move = true\n  } = props;\n  const tree = useFloatingTree();\n  const parentId = useFloatingParentNodeId();\n  const handleCloseRef = useLatestRef(handleClose);\n  const delayRef = useLatestRef(delay);\n  const openRef = useLatestRef(open);\n  const pointerTypeRef = React.useRef();\n  const timeoutRef = React.useRef(-1);\n  const handlerRef = React.useRef();\n  const restTimeoutRef = React.useRef(-1);\n  const blockMouseMoveRef = React.useRef(true);\n  const performedPointerEventsMutationRef = React.useRef(false);\n  const unbindMouseMoveRef = React.useRef(() => {});\n  const restTimeoutPendingRef = React.useRef(false);\n  const isHoverOpen = React.useCallback(() => {\n    var _dataRef$current$open;\n    const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n    return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n  }, [dataRef]);\n\n  // When closing before opening, clear the delay timeouts to cancel it\n  // from showing.\n  React.useEffect(() => {\n    if (!enabled) return;\n    function onOpenChange(_ref) {\n      let {\n        open\n      } = _ref;\n      if (!open) {\n        clearTimeout(timeoutRef.current);\n        clearTimeout(restTimeoutRef.current);\n        blockMouseMoveRef.current = true;\n        restTimeoutPendingRef.current = false;\n      }\n    }\n    events.on('openchange', onOpenChange);\n    return () => {\n      events.off('openchange', onOpenChange);\n    };\n  }, [enabled, events]);\n  React.useEffect(() => {\n    if (!enabled) return;\n    if (!handleCloseRef.current) return;\n    if (!open) return;\n    function onLeave(event) {\n      if (isHoverOpen()) {\n        onOpenChange(false, event, 'hover');\n      }\n    }\n    const html = getDocument(elements.floating).documentElement;\n    html.addEventListener('mouseleave', onLeave);\n    return () => {\n      html.removeEventListener('mouseleave', onLeave);\n    };\n  }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n  const closeWithDelay = React.useCallback(function (event, runElseBranch, reason) {\n    if (runElseBranch === void 0) {\n      runElseBranch = true;\n    }\n    if (reason === void 0) {\n      reason = 'hover';\n    }\n    const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n    if (closeDelay && !handlerRef.current) {\n      clearTimeout(timeoutRef.current);\n      timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n    } else if (runElseBranch) {\n      clearTimeout(timeoutRef.current);\n      onOpenChange(false, event, reason);\n    }\n  }, [delayRef, onOpenChange]);\n  const cleanupMouseMoveHandler = useEffectEvent(() => {\n    unbindMouseMoveRef.current();\n    handlerRef.current = undefined;\n  });\n  const clearPointerEvents = useEffectEvent(() => {\n    if (performedPointerEventsMutationRef.current) {\n      const body = getDocument(elements.floating).body;\n      body.style.pointerEvents = '';\n      body.removeAttribute(safePolygonIdentifier);\n      performedPointerEventsMutationRef.current = false;\n    }\n  });\n\n  // Registering the mouse events on the reference directly to bypass React's\n  // delegation system. If the cursor was on a disabled element and then entered\n  // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n  React.useEffect(() => {\n    if (!enabled) return;\n    function isClickLikeOpenEvent() {\n      return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n    }\n    function onMouseEnter(event) {\n      clearTimeout(timeoutRef.current);\n      blockMouseMoveRef.current = false;\n      if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && !getDelay(delayRef.current, 'open')) {\n        return;\n      }\n      const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n      if (openDelay) {\n        timeoutRef.current = window.setTimeout(() => {\n          if (!openRef.current) {\n            onOpenChange(true, event, 'hover');\n          }\n        }, openDelay);\n      } else {\n        onOpenChange(true, event, 'hover');\n      }\n    }\n    function onMouseLeave(event) {\n      if (isClickLikeOpenEvent()) return;\n      unbindMouseMoveRef.current();\n      const doc = getDocument(elements.floating);\n      clearTimeout(restTimeoutRef.current);\n      restTimeoutPendingRef.current = false;\n      if (handleCloseRef.current && dataRef.current.floatingContext) {\n        // Prevent clearing `onScrollMouseLeave` timeout.\n        if (!open) {\n          clearTimeout(timeoutRef.current);\n        }\n        handlerRef.current = handleCloseRef.current({\n          ...dataRef.current.floatingContext,\n          tree,\n          x: event.clientX,\n          y: event.clientY,\n          onClose() {\n            clearPointerEvents();\n            cleanupMouseMoveHandler();\n            closeWithDelay(event, true, 'safe-polygon');\n          }\n        });\n        const handler = handlerRef.current;\n        doc.addEventListener('mousemove', handler);\n        unbindMouseMoveRef.current = () => {\n          doc.removeEventListener('mousemove', handler);\n        };\n        return;\n      }\n\n      // Allow interactivity without `safePolygon` on touch devices. With a\n      // pointer, a short close delay is an alternative, so it should work\n      // consistently.\n      const shouldClose = pointerTypeRef.current === 'touch' ? !contains(elements.floating, event.relatedTarget) : true;\n      if (shouldClose) {\n        closeWithDelay(event);\n      }\n    }\n\n    // Ensure the floating element closes after scrolling even if the pointer\n    // did not move.\n    // https://github.com/floating-ui/floating-ui/discussions/1692\n    function onScrollMouseLeave(event) {\n      if (isClickLikeOpenEvent()) return;\n      if (!dataRef.current.floatingContext) return;\n      handleCloseRef.current == null || handleCloseRef.current({\n        ...dataRef.current.floatingContext,\n        tree,\n        x: event.clientX,\n        y: event.clientY,\n        onClose() {\n          clearPointerEvents();\n          cleanupMouseMoveHandler();\n          closeWithDelay(event);\n        }\n      })(event);\n    }\n    if (isElement(elements.domReference)) {\n      var _elements$floating;\n      const ref = elements.domReference;\n      open && ref.addEventListener('mouseleave', onScrollMouseLeave);\n      (_elements$floating = elements.floating) == null || _elements$floating.addEventListener('mouseleave', onScrollMouseLeave);\n      move && ref.addEventListener('mousemove', onMouseEnter, {\n        once: true\n      });\n      ref.addEventListener('mouseenter', onMouseEnter);\n      ref.addEventListener('mouseleave', onMouseLeave);\n      return () => {\n        var _elements$floating2;\n        open && ref.removeEventListener('mouseleave', onScrollMouseLeave);\n        (_elements$floating2 = elements.floating) == null || _elements$floating2.removeEventListener('mouseleave', onScrollMouseLeave);\n        move && ref.removeEventListener('mousemove', onMouseEnter);\n        ref.removeEventListener('mouseenter', onMouseEnter);\n        ref.removeEventListener('mouseleave', onMouseLeave);\n      };\n    }\n  }, [elements, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef]);\n\n  // Block pointer-events of every element other than the reference and floating\n  // while the floating element is open and has a `handleClose` handler. Also\n  // handles nested floating elements.\n  // https://github.com/floating-ui/floating-ui/issues/1722\n  index(() => {\n    var _handleCloseRef$curre;\n    if (!enabled) return;\n    if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n      performedPointerEventsMutationRef.current = true;\n      const floatingEl = elements.floating;\n      if (isElement(elements.domReference) && floatingEl) {\n        var _tree$nodesRef$curren;\n        const body = getDocument(elements.floating).body;\n        body.setAttribute(safePolygonIdentifier, '');\n        const ref = elements.domReference;\n        const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n        if (parentFloating) {\n          parentFloating.style.pointerEvents = '';\n        }\n        body.style.pointerEvents = 'none';\n        ref.style.pointerEvents = 'auto';\n        floatingEl.style.pointerEvents = 'auto';\n        return () => {\n          body.style.pointerEvents = '';\n          ref.style.pointerEvents = '';\n          floatingEl.style.pointerEvents = '';\n        };\n      }\n    }\n  }, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);\n  index(() => {\n    if (!open) {\n      pointerTypeRef.current = undefined;\n      restTimeoutPendingRef.current = false;\n      cleanupMouseMoveHandler();\n      clearPointerEvents();\n    }\n  }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n  React.useEffect(() => {\n    return () => {\n      cleanupMouseMoveHandler();\n      clearTimeout(timeoutRef.current);\n      clearTimeout(restTimeoutRef.current);\n      clearPointerEvents();\n    };\n  }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n  const reference = React.useMemo(() => {\n    function setPointerRef(event) {\n      pointerTypeRef.current = event.pointerType;\n    }\n    return {\n      onPointerDown: setPointerRef,\n      onPointerEnter: setPointerRef,\n      onMouseMove(event) {\n        const {\n          nativeEvent\n        } = event;\n        function handleMouseMove() {\n          if (!blockMouseMoveRef.current && !openRef.current) {\n            onOpenChange(true, nativeEvent, 'hover');\n          }\n        }\n        if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {\n          return;\n        }\n        if (open || restMs === 0) {\n          return;\n        }\n\n        // Ignore insignificant movements to account for tremors.\n        if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {\n          return;\n        }\n        clearTimeout(restTimeoutRef.current);\n        if (pointerTypeRef.current === 'touch') {\n          handleMouseMove();\n        } else {\n          restTimeoutPendingRef.current = true;\n          restTimeoutRef.current = window.setTimeout(handleMouseMove, restMs);\n        }\n      }\n    };\n  }, [mouseOnly, onOpenChange, open, openRef, restMs]);\n  const floating = React.useMemo(() => ({\n    onMouseEnter() {\n      clearTimeout(timeoutRef.current);\n    },\n    onMouseLeave(event) {\n      closeWithDelay(event.nativeEvent, false);\n    }\n  }), [closeWithDelay]);\n  return React.useMemo(() => enabled ? {\n    reference,\n    floating\n  } : {}, [enabled, reference, floating]);\n}\n\nconst NOOP = () => {};\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n  delay: 0,\n  initialDelay: 0,\n  timeoutMs: 0,\n  currentId: null,\n  setCurrentId: NOOP,\n  setState: NOOP,\n  isInstantPhase: false\n});\n\n/**\n * @deprecated\n * Use the return value of `useDelayGroup()` instead.\n */\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction FloatingDelayGroup(props) {\n  const {\n    children,\n    delay,\n    timeoutMs = 0\n  } = props;\n  const [state, setState] = React.useReducer((prev, next) => ({\n    ...prev,\n    ...next\n  }), {\n    delay,\n    timeoutMs,\n    initialDelay: delay,\n    currentId: null,\n    isInstantPhase: false\n  });\n  const initialCurrentIdRef = React.useRef(null);\n  const setCurrentId = React.useCallback(currentId => {\n    setState({\n      currentId\n    });\n  }, []);\n  index(() => {\n    if (state.currentId) {\n      if (initialCurrentIdRef.current === null) {\n        initialCurrentIdRef.current = state.currentId;\n      } else if (!state.isInstantPhase) {\n        setState({\n          isInstantPhase: true\n        });\n      }\n    } else {\n      if (state.isInstantPhase) {\n        setState({\n          isInstantPhase: false\n        });\n      }\n      initialCurrentIdRef.current = null;\n    }\n  }, [state.currentId, state.isInstantPhase]);\n  return /*#__PURE__*/React.createElement(FloatingDelayGroupContext.Provider, {\n    value: React.useMemo(() => ({\n      ...state,\n      setState,\n      setCurrentId\n    }), [state, setCurrentId])\n  }, children);\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useDelayGroup(context, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    open,\n    onOpenChange,\n    floatingId\n  } = context;\n  const {\n    id: optionId,\n    enabled = true\n  } = options;\n  const id = optionId != null ? optionId : floatingId;\n  const groupContext = useDelayGroupContext();\n  const {\n    currentId,\n    setCurrentId,\n    initialDelay,\n    setState,\n    timeoutMs\n  } = groupContext;\n  index(() => {\n    if (!enabled) return;\n    if (!currentId) return;\n    setState({\n      delay: {\n        open: 1,\n        close: getDelay(initialDelay, 'close')\n      }\n    });\n    if (currentId !== id) {\n      onOpenChange(false);\n    }\n  }, [enabled, id, onOpenChange, setState, currentId, initialDelay]);\n  index(() => {\n    function unset() {\n      onOpenChange(false);\n      setState({\n        delay: initialDelay,\n        currentId: null\n      });\n    }\n    if (!enabled) return;\n    if (!currentId) return;\n    if (!open && currentId === id) {\n      if (timeoutMs) {\n        const timeout = window.setTimeout(unset, timeoutMs);\n        return () => {\n          clearTimeout(timeout);\n        };\n      }\n      unset();\n    }\n  }, [enabled, open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n  index(() => {\n    if (!enabled) return;\n    if (setCurrentId === NOOP || !open) return;\n    setCurrentId(id);\n  }, [enabled, open, setCurrentId, id]);\n  return groupContext;\n}\n\nfunction getAncestors(nodes, id) {\n  var _nodes$find;\n  let allAncestors = [];\n  let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n  while (currentParentId) {\n    const currentNode = nodes.find(node => node.id === currentParentId);\n    currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n    if (currentNode) {\n      allAncestors = allAncestors.concat(currentNode);\n    }\n  }\n  return allAncestors;\n}\n\nfunction getChildren(nodes, id) {\n  let allChildren = nodes.filter(node => {\n    var _node$context;\n    return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n  });\n  let currentChildren = allChildren;\n  while (currentChildren.length) {\n    currentChildren = nodes.filter(node => {\n      var _currentChildren;\n      return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n        var _node$context2;\n        return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n      });\n    });\n    allChildren = allChildren.concat(currentChildren);\n  }\n  return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n  let deepestNodeId;\n  let maxDepth = -1;\n  function findDeepest(nodeId, depth) {\n    if (depth > maxDepth) {\n      deepestNodeId = nodeId;\n      maxDepth = depth;\n    }\n    const children = getChildren(nodes, nodeId);\n    children.forEach(child => {\n      findDeepest(child.id, depth + 1);\n    });\n  }\n  findDeepest(id, 0);\n  return nodes.find(node => node.id === deepestNodeId);\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nlet counterMap = /*#__PURE__*/new WeakMap();\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount$1 = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n  if (parent.contains(target)) {\n    return target;\n  }\n  const correctedTarget = unwrapHost(target);\n  if (parent.contains(correctedTarget)) {\n    return correctedTarget;\n  }\n  return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n  const markerName = 'data-floating-ui-inert';\n  const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n  const avoidElements = correctElements(body, uncorrectedAvoidElements);\n  const elementsToKeep = new Set();\n  const elementsToStop = new Set(avoidElements);\n  const hiddenElements = [];\n  if (!markerMap[markerName]) {\n    markerMap[markerName] = new WeakMap();\n  }\n  const markerCounter = markerMap[markerName];\n  avoidElements.forEach(keep);\n  deep(body);\n  elementsToKeep.clear();\n  function keep(el) {\n    if (!el || elementsToKeep.has(el)) {\n      return;\n    }\n    elementsToKeep.add(el);\n    el.parentNode && keep(el.parentNode);\n  }\n  function deep(parent) {\n    if (!parent || elementsToStop.has(parent)) {\n      return;\n    }\n    [].forEach.call(parent.children, node => {\n      if (getNodeName(node) === 'script') return;\n      if (elementsToKeep.has(node)) {\n        deep(node);\n      } else {\n        const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n        const alreadyHidden = attr !== null && attr !== 'false';\n        const counterValue = (counterMap.get(node) || 0) + 1;\n        const markerValue = (markerCounter.get(node) || 0) + 1;\n        counterMap.set(node, counterValue);\n        markerCounter.set(node, markerValue);\n        hiddenElements.push(node);\n        if (counterValue === 1 && alreadyHidden) {\n          uncontrolledElementsSet.add(node);\n        }\n        if (markerValue === 1) {\n          node.setAttribute(markerName, '');\n        }\n        if (!alreadyHidden && controlAttribute) {\n          node.setAttribute(controlAttribute, 'true');\n        }\n      }\n    });\n  }\n  lockCount$1++;\n  return () => {\n    hiddenElements.forEach(element => {\n      const counterValue = (counterMap.get(element) || 0) - 1;\n      const markerValue = (markerCounter.get(element) || 0) - 1;\n      counterMap.set(element, counterValue);\n      markerCounter.set(element, markerValue);\n      if (!counterValue) {\n        if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n          element.removeAttribute(controlAttribute);\n        }\n        uncontrolledElementsSet.delete(element);\n      }\n      if (!markerValue) {\n        element.removeAttribute(markerName);\n      }\n    });\n    lockCount$1--;\n    if (!lockCount$1) {\n      counterMap = new WeakMap();\n      counterMap = new WeakMap();\n      uncontrolledElementsSet = new WeakSet();\n      markerMap = {};\n    }\n  };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n  if (ariaHidden === void 0) {\n    ariaHidden = false;\n  }\n  if (inert === void 0) {\n    inert = false;\n  }\n  const body = getDocument(avoidElements[0]).body;\n  return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live]'))), body, ariaHidden, inert);\n}\n\nconst getTabbableOptions = () => ({\n  getShadowRoot: true,\n  displayCheck:\n  // JSDOM does not support the `tabbable` library. To solve this we can\n  // check if `ResizeObserver` is a real function (not polyfilled), which\n  // determines if the current environment is JSDOM-like.\n  typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, direction) {\n  const allTabbable = tabbable(container, getTabbableOptions());\n  if (direction === 'prev') {\n    allTabbable.reverse();\n  }\n  const activeIndex = allTabbable.indexOf(activeElement(getDocument(container)));\n  const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n  return nextTabbableElements[0];\n}\nfunction getNextTabbable() {\n  return getTabbableIn(document.body, 'next');\n}\nfunction getPreviousTabbable() {\n  return getTabbableIn(document.body, 'prev');\n}\nfunction isOutsideEvent(event, container) {\n  const containerElement = container || event.currentTarget;\n  const relatedTarget = event.relatedTarget;\n  return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n  const tabbableElements = tabbable(container, getTabbableOptions());\n  tabbableElements.forEach(element => {\n    element.dataset.tabindex = element.getAttribute('tabindex') || '';\n    element.setAttribute('tabindex', '-1');\n  });\n}\nfunction enableFocusInside(container) {\n  const elements = container.querySelectorAll('[data-tabindex]');\n  elements.forEach(element => {\n    const tabindex = element.dataset.tabindex;\n    delete element.dataset.tabindex;\n    if (tabindex) {\n      element.setAttribute('tabindex', tabindex);\n    } else {\n      element.removeAttribute('tabindex');\n    }\n  });\n}\n\n// See Diego Haz's Sandbox for making this logic work well on Safari/iOS:\n// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/FocusTrap.tsx\n\nconst HIDDEN_STYLES = {\n  border: 0,\n  clip: 'rect(0 0 0 0)',\n  height: '1px',\n  margin: '-1px',\n  overflow: 'hidden',\n  padding: 0,\n  position: 'fixed',\n  whiteSpace: 'nowrap',\n  width: '1px',\n  top: 0,\n  left: 0\n};\nlet timeoutId;\nfunction setActiveElementOnTab(event) {\n  if (event.key === 'Tab') {\n    event.target;\n    clearTimeout(timeoutId);\n  }\n}\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n  const [role, setRole] = React.useState();\n  index(() => {\n    if (isSafari()) {\n      // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n      // on VoiceOver does trigger the onFocus event, so we can use the focus\n      // trap element. On Safari, only buttons trigger the onFocus event.\n      // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n      // button role.\n      setRole('button');\n    }\n    document.addEventListener('keydown', setActiveElementOnTab);\n    return () => {\n      document.removeEventListener('keydown', setActiveElementOnTab);\n    };\n  }, []);\n  const restProps = {\n    ref,\n    tabIndex: 0,\n    // Role is only for VoiceOver\n    role,\n    'aria-hidden': role ? undefined : true,\n    [createAttribute('focus-guard')]: '',\n    style: HIDDEN_STYLES\n  };\n  return /*#__PURE__*/React.createElement(\"span\", _extends({}, props, restProps));\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    id,\n    root\n  } = props;\n  const uniqueId = useId();\n  const portalContext = usePortalContext();\n  const [portalNode, setPortalNode] = React.useState(null);\n  const portalNodeRef = React.useRef(null);\n  index(() => {\n    return () => {\n      portalNode == null || portalNode.remove();\n      // Allow the subsequent layout effects to create a new node on updates.\n      // The portal node will still be cleaned up on unmount.\n      // https://github.com/floating-ui/floating-ui/issues/2454\n      queueMicrotask(() => {\n        portalNodeRef.current = null;\n      });\n    };\n  }, [portalNode]);\n  index(() => {\n    // Wait for the uniqueId to be generated before creating the portal node in\n    // React <18 (using `useFloatingId` instead of the native `useId`).\n    // https://github.com/floating-ui/floating-ui/issues/2778\n    if (!uniqueId) return;\n    if (portalNodeRef.current) return;\n    const existingIdRoot = id ? document.getElementById(id) : null;\n    if (!existingIdRoot) return;\n    const subRoot = document.createElement('div');\n    subRoot.id = uniqueId;\n    subRoot.setAttribute(attr, '');\n    existingIdRoot.appendChild(subRoot);\n    portalNodeRef.current = subRoot;\n    setPortalNode(subRoot);\n  }, [id, uniqueId]);\n  index(() => {\n    // Wait for the root to exist before creating the portal node. The root must\n    // be stored in state, not a ref, for this to work reactively.\n    if (root === null) return;\n    if (!uniqueId) return;\n    if (portalNodeRef.current) return;\n    let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n    if (container && !isElement(container)) container = container.current;\n    container = container || document.body;\n    let idWrapper = null;\n    if (id) {\n      idWrapper = document.createElement('div');\n      idWrapper.id = id;\n      container.appendChild(idWrapper);\n    }\n    const subRoot = document.createElement('div');\n    subRoot.id = uniqueId;\n    subRoot.setAttribute(attr, '');\n    container = idWrapper || container;\n    container.appendChild(subRoot);\n    portalNodeRef.current = subRoot;\n    setPortalNode(subRoot);\n  }, [id, root, uniqueId, portalContext]);\n  return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(props) {\n  const {\n    children,\n    id,\n    root,\n    preserveTabOrder = true\n  } = props;\n  const portalNode = useFloatingPortalNode({\n    id,\n    root\n  });\n  const [focusManagerState, setFocusManagerState] = React.useState(null);\n  const beforeOutsideRef = React.useRef(null);\n  const afterOutsideRef = React.useRef(null);\n  const beforeInsideRef = React.useRef(null);\n  const afterInsideRef = React.useRef(null);\n  const modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n  const open = focusManagerState == null ? void 0 : focusManagerState.open;\n  const shouldRenderGuards =\n  // The FocusManager and therefore floating element are currently open/\n  // rendered.\n  !!focusManagerState &&\n  // Guards are only for non-modal focus management.\n  !focusManagerState.modal &&\n  // Don't render if unmount is transitioning.\n  focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n  // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n  React.useEffect(() => {\n    if (!portalNode || !preserveTabOrder || modal) {\n      return;\n    }\n\n    // Make sure elements inside the portal element are tabbable only when the\n    // portal has already been focused, either by tabbing into a focus trap\n    // element outside or using the mouse.\n    function onFocus(event) {\n      if (portalNode && isOutsideEvent(event)) {\n        const focusing = event.type === 'focusin';\n        const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n        manageFocus(portalNode);\n      }\n    }\n    // Listen to the event on the capture phase so they run before the focus\n    // trap elements onFocus prop is called.\n    portalNode.addEventListener('focusin', onFocus, true);\n    portalNode.addEventListener('focusout', onFocus, true);\n    return () => {\n      portalNode.removeEventListener('focusin', onFocus, true);\n      portalNode.removeEventListener('focusout', onFocus, true);\n    };\n  }, [portalNode, preserveTabOrder, modal]);\n  React.useEffect(() => {\n    if (!portalNode) return;\n    if (open) return;\n    enableFocusInside(portalNode);\n  }, [open, portalNode]);\n  return /*#__PURE__*/React.createElement(PortalContext.Provider, {\n    value: React.useMemo(() => ({\n      preserveTabOrder,\n      beforeOutsideRef,\n      afterOutsideRef,\n      beforeInsideRef,\n      afterInsideRef,\n      portalNode,\n      setFocusManagerState\n    }), [preserveTabOrder, portalNode])\n  }, shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n    \"data-type\": \"outside\",\n    ref: beforeOutsideRef,\n    onFocus: event => {\n      if (isOutsideEvent(event, portalNode)) {\n        var _beforeInsideRef$curr;\n        (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n      } else {\n        const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n        prevTabbable == null || prevTabbable.focus();\n      }\n    }\n  }), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(\"span\", {\n    \"aria-owns\": portalNode.id,\n    style: HIDDEN_STYLES\n  }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n    \"data-type\": \"outside\",\n    ref: afterOutsideRef,\n    onFocus: event => {\n      if (isOutsideEvent(event, portalNode)) {\n        var _afterInsideRef$curre;\n        (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n      } else {\n        const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n        nextTabbable == null || nextTabbable.focus();\n        (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, 'focus-out'));\n      }\n    }\n  }));\n}\nconst usePortalContext = () => React.useContext(PortalContext);\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nfunction getFloatingFocusElement(floatingElement) {\n  if (!floatingElement) {\n    return null;\n  }\n  // Try to find the element that has `{...getFloatingProps()}` spread on it.\n  // This indicates the floating element is acting as a positioning wrapper, and\n  // so focus should be managed on the child element with the event handlers and\n  // aria props.\n  return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n  previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n  let tabbableEl = element;\n  if (!tabbableEl || getNodeName(tabbableEl) === 'body') return;\n  if (!isTabbable(tabbableEl, getTabbableOptions())) {\n    const tabbableChild = tabbable(tabbableEl, getTabbableOptions())[0];\n    if (tabbableChild) {\n      tabbableEl = tabbableChild;\n    }\n  }\n  previouslyFocusedElements.push(tabbableEl);\n  if (previouslyFocusedElements.length > LIST_LIMIT) {\n    previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n  }\n}\nfunction getPreviouslyFocusedElement() {\n  return previouslyFocusedElements.slice().reverse().find(el => el.isConnected);\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n  return /*#__PURE__*/React.createElement(\"button\", _extends({}, props, {\n    type: \"button\",\n    ref: ref,\n    tabIndex: -1,\n    style: HIDDEN_STYLES\n  }));\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n  const {\n    context,\n    children,\n    disabled = false,\n    order = ['content'],\n    guards: _guards = true,\n    initialFocus = 0,\n    returnFocus = true,\n    restoreFocus = false,\n    modal = true,\n    visuallyHiddenDismiss = false,\n    closeOnFocusOut = true\n  } = props;\n  const {\n    open,\n    refs,\n    nodeId,\n    onOpenChange,\n    events,\n    dataRef,\n    floatingId,\n    elements: {\n      domReference,\n      floating\n    }\n  } = context;\n  const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n  // If the reference is a combobox and is typeable (e.g. input/textarea),\n  // there are different focus semantics. The guards should not be rendered, but\n  // aria-hidden should be applied to all nodes still. Further, the visually\n  // hidden dismiss button should only appear at the end of the list, not the\n  // start.\n  const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\n  // Force the guards to be rendered if the `inert` attribute is not supported.\n  const guards = supportsInert() ? _guards : true;\n  const orderRef = useLatestRef(order);\n  const initialFocusRef = useLatestRef(initialFocus);\n  const returnFocusRef = useLatestRef(returnFocus);\n  const tree = useFloatingTree();\n  const portalContext = usePortalContext();\n  const startDismissButtonRef = React.useRef(null);\n  const endDismissButtonRef = React.useRef(null);\n  const preventReturnFocusRef = React.useRef(false);\n  const isPointerDownRef = React.useRef(false);\n  const tabbableIndexRef = React.useRef(-1);\n  const isInsidePortal = portalContext != null;\n  const floatingFocusElement = getFloatingFocusElement(floating);\n  const getTabbableContent = useEffectEvent(function (container) {\n    if (container === void 0) {\n      container = floatingFocusElement;\n    }\n    return container ? tabbable(container, getTabbableOptions()) : [];\n  });\n  const getTabbableElements = useEffectEvent(container => {\n    const content = getTabbableContent(container);\n    return orderRef.current.map(type => {\n      if (domReference && type === 'reference') {\n        return domReference;\n      }\n      if (floatingFocusElement && type === 'floating') {\n        return floatingFocusElement;\n      }\n      return content;\n    }).filter(Boolean).flat();\n  });\n  React.useEffect(() => {\n    preventReturnFocusRef.current = false;\n  }, [disabled]);\n  React.useEffect(() => {\n    if (disabled) return;\n    if (!modal) return;\n    function onKeyDown(event) {\n      if (event.key === 'Tab') {\n        // The focus guards have nothing to focus, so we need to stop the event.\n        if (contains(floatingFocusElement, activeElement(getDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n          stopEvent(event);\n        }\n        const els = getTabbableElements();\n        const target = getTarget(event);\n        if (orderRef.current[0] === 'reference' && target === domReference) {\n          stopEvent(event);\n          if (event.shiftKey) {\n            enqueueFocus(els[els.length - 1]);\n          } else {\n            enqueueFocus(els[1]);\n          }\n        }\n        if (orderRef.current[1] === 'floating' && target === floatingFocusElement && event.shiftKey) {\n          stopEvent(event);\n          enqueueFocus(els[0]);\n        }\n      }\n    }\n    const doc = getDocument(floatingFocusElement);\n    doc.addEventListener('keydown', onKeyDown);\n    return () => {\n      doc.removeEventListener('keydown', onKeyDown);\n    };\n  }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n  React.useEffect(() => {\n    if (disabled) return;\n    if (!floating) return;\n    function handleFocusIn(event) {\n      const target = getTarget(event);\n      const tabbableContent = getTabbableContent();\n      const tabbableIndex = tabbableContent.indexOf(target);\n      if (tabbableIndex !== -1) {\n        tabbableIndexRef.current = tabbableIndex;\n      }\n    }\n    floating.addEventListener('focusin', handleFocusIn);\n    return () => {\n      floating.removeEventListener('focusin', handleFocusIn);\n    };\n  }, [disabled, floating, getTabbableContent]);\n  React.useEffect(() => {\n    if (disabled) return;\n    if (!closeOnFocusOut) return;\n\n    // In Safari, buttons lose focus when pressing them.\n    function handlePointerDown() {\n      isPointerDownRef.current = true;\n      setTimeout(() => {\n        isPointerDownRef.current = false;\n      });\n    }\n    function handleFocusOutside(event) {\n      const relatedTarget = event.relatedTarget;\n      queueMicrotask(() => {\n        const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getChildren(tree.nodesRef.current, nodeId).find(node => {\n          var _node$context, _node$context2;\n          return contains((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n        }) || getAncestors(tree.nodesRef.current, nodeId).find(node => {\n          var _node$context3, _node$context4;\n          return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;\n        })));\n\n        // Restore focus to the previous tabbable element index to prevent\n        // focus from being lost outside the floating tree.\n        if (restoreFocus && movedToUnrelatedNode && activeElement(getDocument(floatingFocusElement)) === getDocument(floatingFocusElement).body) {\n          // Let `FloatingPortal` effect knows that focus is still inside the\n          // floating tree.\n          if (isHTMLElement(floatingFocusElement)) {\n            floatingFocusElement.focus();\n          }\n          const prevTabbableIndex = tabbableIndexRef.current;\n          const tabbableContent = getTabbableContent();\n          const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n          if (isHTMLElement(nodeToFocus)) {\n            nodeToFocus.focus();\n          }\n        }\n\n        // Focus did not move inside the floating tree, and there are no tabbable\n        // portal guards to handle closing.\n        if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n        // Fix React 18 Strict Mode returnFocus due to double rendering.\n        relatedTarget !== getPreviouslyFocusedElement()) {\n          preventReturnFocusRef.current = true;\n          onOpenChange(false, event, 'focus-out');\n        }\n      });\n    }\n    if (floating && isHTMLElement(domReference)) {\n      domReference.addEventListener('focusout', handleFocusOutside);\n      domReference.addEventListener('pointerdown', handlePointerDown);\n      floating.addEventListener('focusout', handleFocusOutside);\n      return () => {\n        domReference.removeEventListener('focusout', handleFocusOutside);\n        domReference.removeEventListener('pointerdown', handlePointerDown);\n        floating.removeEventListener('focusout', handleFocusOutside);\n      };\n    }\n  }, [disabled, domReference, floating, floatingFocusElement, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox]);\n  React.useEffect(() => {\n    var _portalContext$portal;\n    if (disabled) return;\n\n    // Don't hide portals nested within the parent portal.\n    const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n    if (floating) {\n      const insideElements = [floating, ...portalNodes, startDismissButtonRef.current, endDismissButtonRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n      const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, guards, !guards) : markOthers(insideElements);\n      return () => {\n        cleanup();\n      };\n    }\n  }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);\n  index(() => {\n    if (disabled || !isHTMLElement(floatingFocusElement)) return;\n    const doc = getDocument(floatingFocusElement);\n    const previouslyFocusedElement = activeElement(doc);\n\n    // Wait for any layout effect state setters to execute to set `tabIndex`.\n    queueMicrotask(() => {\n      const focusableElements = getTabbableElements(floatingFocusElement);\n      const initialFocusValue = initialFocusRef.current;\n      const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n      const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);\n      if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n        enqueueFocus(elToFocus, {\n          preventScroll: elToFocus === floatingFocusElement\n        });\n      }\n    });\n  }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n  index(() => {\n    if (disabled || !floatingFocusElement) return;\n    let preventReturnFocusScroll = false;\n    const doc = getDocument(floatingFocusElement);\n    const previouslyFocusedElement = activeElement(doc);\n    const contextData = dataRef.current;\n    let openEvent = contextData.openEvent;\n    addPreviouslyFocusedElement(previouslyFocusedElement);\n\n    // Dismissing via outside press should always ignore `returnFocus` to\n    // prevent unwanted scrolling.\n    function onOpenChange(_ref) {\n      let {\n        open,\n        reason,\n        event,\n        nested\n      } = _ref;\n      if (open) {\n        openEvent = event;\n      }\n      if (reason === 'escape-key' && refs.domReference.current) {\n        addPreviouslyFocusedElement(refs.domReference.current);\n      }\n      if (reason === 'hover' && event.type === 'mouseleave') {\n        preventReturnFocusRef.current = true;\n      }\n      if (reason !== 'outside-press') return;\n      if (nested) {\n        preventReturnFocusRef.current = false;\n        preventReturnFocusScroll = true;\n      } else {\n        preventReturnFocusRef.current = !(isVirtualClick(event) || isVirtualPointerEvent(event));\n      }\n    }\n    events.on('openchange', onOpenChange);\n    const fallbackEl = doc.createElement('span');\n    fallbackEl.setAttribute('tabindex', '-1');\n    fallbackEl.setAttribute('aria-hidden', 'true');\n    Object.assign(fallbackEl.style, HIDDEN_STYLES);\n    if (isInsidePortal && domReference) {\n      domReference.insertAdjacentElement('afterend', fallbackEl);\n    }\n    function getReturnElement() {\n      if (typeof returnFocusRef.current === 'boolean') {\n        return getPreviouslyFocusedElement() || fallbackEl;\n      }\n      return returnFocusRef.current.current || fallbackEl;\n    }\n    return () => {\n      events.off('openchange', onOpenChange);\n      const activeEl = activeElement(doc);\n      const isFocusInsideFloatingTree = contains(floating, activeEl) || tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n        var _node$context5;\n        return contains((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.floating, activeEl);\n      });\n      const shouldFocusReference = isFocusInsideFloatingTree || openEvent && ['click', 'mousedown'].includes(openEvent.type);\n      if (shouldFocusReference && refs.domReference.current) {\n        addPreviouslyFocusedElement(refs.domReference.current);\n      }\n      const returnElement = getReturnElement();\n      queueMicrotask(() => {\n        if (\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(returnElement) && (\n        // If the focus moved somewhere else after mount, avoid returning focus\n        // since it likely entered a different element which should be\n        // respected: https://github.com/floating-ui/floating-ui/issues/2607\n        returnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n          returnElement.focus({\n            preventScroll: preventReturnFocusScroll\n          });\n        }\n        fallbackEl.remove();\n      });\n    };\n  }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, refs, events, tree, nodeId, isInsidePortal, domReference]);\n\n  // Synchronize the `context` & `modal` value to the FloatingPortal context.\n  // It will decide whether or not it needs to render its own guards.\n  index(() => {\n    if (disabled) return;\n    if (!portalContext) return;\n    portalContext.setFocusManagerState({\n      modal,\n      closeOnFocusOut,\n      open,\n      onOpenChange,\n      refs\n    });\n    return () => {\n      portalContext.setFocusManagerState(null);\n    };\n  }, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);\n  index(() => {\n    if (disabled) return;\n    if (!floatingFocusElement) return;\n    if (typeof MutationObserver !== 'function') return;\n    if (ignoreInitialFocus) return;\n    const handleMutation = () => {\n      const tabIndex = floatingFocusElement.getAttribute('tabindex');\n      const tabbableContent = getTabbableContent();\n      const activeEl = activeElement(getDocument(floating));\n      const tabbableIndex = tabbableContent.indexOf(activeEl);\n      if (tabbableIndex !== -1) {\n        tabbableIndexRef.current = tabbableIndex;\n      }\n      if (orderRef.current.includes('floating') || activeEl !== refs.domReference.current && tabbableContent.length === 0) {\n        if (tabIndex !== '0') {\n          floatingFocusElement.setAttribute('tabindex', '0');\n        }\n      } else if (tabIndex !== '-1') {\n        floatingFocusElement.setAttribute('tabindex', '-1');\n      }\n    };\n    handleMutation();\n    const observer = new MutationObserver(handleMutation);\n    observer.observe(floatingFocusElement, {\n      childList: true,\n      subtree: true,\n      attributes: true\n    });\n    return () => {\n      observer.disconnect();\n    };\n  }, [disabled, floating, floatingFocusElement, refs, orderRef, getTabbableContent, ignoreInitialFocus]);\n  function renderDismissButton(location) {\n    if (disabled || !visuallyHiddenDismiss || !modal) {\n      return null;\n    }\n    return /*#__PURE__*/React.createElement(VisuallyHiddenDismiss, {\n      ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n      onClick: event => onOpenChange(false, event.nativeEvent)\n    }, typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss');\n  }\n  const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n    \"data-type\": \"inside\",\n    ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,\n    onFocus: event => {\n      if (modal) {\n        const els = getTabbableElements();\n        enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n      } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n        preventReturnFocusRef.current = false;\n        if (isOutsideEvent(event, portalContext.portalNode)) {\n          const nextTabbable = getNextTabbable() || domReference;\n          nextTabbable == null || nextTabbable.focus();\n        } else {\n          var _portalContext$before;\n          (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n        }\n      }\n    }\n  }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n    \"data-type\": \"inside\",\n    ref: portalContext == null ? void 0 : portalContext.afterInsideRef,\n    onFocus: event => {\n      if (modal) {\n        enqueueFocus(getTabbableElements()[0]);\n      } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n        if (closeOnFocusOut) {\n          preventReturnFocusRef.current = true;\n        }\n        if (isOutsideEvent(event, portalContext.portalNode)) {\n          const prevTabbable = getPreviousTabbable() || domReference;\n          prevTabbable == null || prevTabbable.focus();\n        } else {\n          var _portalContext$afterO;\n          (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n        }\n      }\n    }\n  }));\n}\n\nlet lockCount = 0;\nfunction enableScrollLock() {\n  const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());\n  const bodyStyle = document.body.style;\n  // RTL <body> scrollbar\n  const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n  const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n  const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n  const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n  const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n  bodyStyle.overflow = 'hidden';\n  if (scrollbarWidth) {\n    bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n  }\n\n  // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n  // technique has fewer side effects.\n  if (isIOS) {\n    var _window$visualViewpor, _window$visualViewpor2;\n    // iOS 12 does not support `visualViewport`.\n    const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n    const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n    Object.assign(bodyStyle, {\n      position: 'fixed',\n      top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n      left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n      right: '0'\n    });\n  }\n  return () => {\n    Object.assign(bodyStyle, {\n      overflow: '',\n      [paddingProp]: ''\n    });\n    if (isIOS) {\n      Object.assign(bodyStyle, {\n        position: '',\n        top: '',\n        left: '',\n        right: ''\n      });\n      window.scrollTo(scrollX, scrollY);\n    }\n  };\n}\nlet cleanup = () => {};\n\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(props, ref) {\n  const {\n    lockScroll = false,\n    ...rest\n  } = props;\n  index(() => {\n    if (!lockScroll) return;\n    lockCount++;\n    if (lockCount === 1) {\n      cleanup = enableScrollLock();\n    }\n    return () => {\n      lockCount--;\n      if (lockCount === 0) {\n        cleanup();\n      }\n    };\n  }, [lockScroll]);\n  return /*#__PURE__*/React.createElement(\"div\", _extends({\n    ref: ref\n  }, rest, {\n    style: {\n      position: 'fixed',\n      overflow: 'auto',\n      top: 0,\n      right: 0,\n      bottom: 0,\n      left: 0,\n      ...rest.style\n    }\n  }));\n});\n\nfunction isButtonTarget(event) {\n  return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n  return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    onOpenChange,\n    dataRef,\n    elements: {\n      domReference\n    }\n  } = context;\n  const {\n    enabled = true,\n    event: eventOption = 'click',\n    toggle = true,\n    ignoreMouse = false,\n    keyboardHandlers = true\n  } = props;\n  const pointerTypeRef = React.useRef();\n  const didKeyDownRef = React.useRef(false);\n  const reference = React.useMemo(() => ({\n    onPointerDown(event) {\n      pointerTypeRef.current = event.pointerType;\n    },\n    onMouseDown(event) {\n      const pointerType = pointerTypeRef.current;\n\n      // Ignore all buttons except for the \"main\" button.\n      // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n      if (event.button !== 0) return;\n      if (eventOption === 'click') return;\n      if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n      if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n        onOpenChange(false, event.nativeEvent, 'click');\n      } else {\n        // Prevent stealing focus from the floating element\n        event.preventDefault();\n        onOpenChange(true, event.nativeEvent, 'click');\n      }\n    },\n    onClick(event) {\n      const pointerType = pointerTypeRef.current;\n      if (eventOption === 'mousedown' && pointerTypeRef.current) {\n        pointerTypeRef.current = undefined;\n        return;\n      }\n      if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n      if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'click' : true)) {\n        onOpenChange(false, event.nativeEvent, 'click');\n      } else {\n        onOpenChange(true, event.nativeEvent, 'click');\n      }\n    },\n    onKeyDown(event) {\n      pointerTypeRef.current = undefined;\n      if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n        return;\n      }\n      if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n        // Prevent scrolling\n        event.preventDefault();\n        didKeyDownRef.current = true;\n      }\n      if (event.key === 'Enter') {\n        if (open && toggle) {\n          onOpenChange(false, event.nativeEvent, 'click');\n        } else {\n          onOpenChange(true, event.nativeEvent, 'click');\n        }\n      }\n    },\n    onKeyUp(event) {\n      if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n        return;\n      }\n      if (event.key === ' ' && didKeyDownRef.current) {\n        didKeyDownRef.current = false;\n        if (open && toggle) {\n          onOpenChange(false, event.nativeEvent, 'click');\n        } else {\n          onOpenChange(true, event.nativeEvent, 'click');\n        }\n      }\n    }\n  }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, toggle]);\n  return React.useMemo(() => enabled ? {\n    reference\n  } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n  let offsetX = null;\n  let offsetY = null;\n  let isAutoUpdateEvent = false;\n  return {\n    contextElement: domElement || undefined,\n    getBoundingClientRect() {\n      var _data$dataRef$current;\n      const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n        width: 0,\n        height: 0,\n        x: 0,\n        y: 0\n      };\n      const isXAxis = data.axis === 'x' || data.axis === 'both';\n      const isYAxis = data.axis === 'y' || data.axis === 'both';\n      const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n      let width = domRect.width;\n      let height = domRect.height;\n      let x = domRect.x;\n      let y = domRect.y;\n      if (offsetX == null && data.x && isXAxis) {\n        offsetX = domRect.x - data.x;\n      }\n      if (offsetY == null && data.y && isYAxis) {\n        offsetY = domRect.y - data.y;\n      }\n      x -= offsetX || 0;\n      y -= offsetY || 0;\n      width = 0;\n      height = 0;\n      if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n        width = data.axis === 'y' ? domRect.width : 0;\n        height = data.axis === 'x' ? domRect.height : 0;\n        x = isXAxis && data.x != null ? data.x : x;\n        y = isYAxis && data.y != null ? data.y : y;\n      } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n        height = data.axis === 'x' ? domRect.height : height;\n        width = data.axis === 'y' ? domRect.width : width;\n      }\n      isAutoUpdateEvent = true;\n      return {\n        width,\n        height,\n        x,\n        y,\n        top: y,\n        right: x + width,\n        bottom: y + height,\n        left: x\n      };\n    }\n  };\n}\nfunction isMouseBasedEvent(event) {\n  return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    dataRef,\n    elements: {\n      floating,\n      domReference\n    },\n    refs\n  } = context;\n  const {\n    enabled = true,\n    axis = 'both',\n    x = null,\n    y = null\n  } = props;\n  const initialRef = React.useRef(false);\n  const cleanupListenerRef = React.useRef(null);\n  const [pointerType, setPointerType] = React.useState();\n  const [reactive, setReactive] = React.useState([]);\n  const setReference = useEffectEvent((x, y) => {\n    if (initialRef.current) return;\n\n    // Prevent setting if the open event was not a mouse-like one\n    // (e.g. focus to open, then hover over the reference element).\n    // Only apply if the event exists.\n    if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n      return;\n    }\n    refs.setPositionReference(createVirtualElement(domReference, {\n      x,\n      y,\n      axis,\n      dataRef,\n      pointerType\n    }));\n  });\n  const handleReferenceEnterOrMove = useEffectEvent(event => {\n    if (x != null || y != null) return;\n    if (!open) {\n      setReference(event.clientX, event.clientY);\n    } else if (!cleanupListenerRef.current) {\n      // If there's no cleanup, there's no listener, but we want to ensure\n      // we add the listener if the cursor landed on the floating element and\n      // then back on the reference (i.e. it's interactive).\n      setReactive([]);\n    }\n  });\n\n  // If the pointer is a mouse-like pointer, we want to continue following the\n  // mouse even if the floating element is transitioning out. On touch\n  // devices, this is undesirable because the floating element will move to\n  // the dismissal touch point.\n  const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n  const addListener = React.useCallback(() => {\n    // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n    if (!openCheck || !enabled || x != null || y != null) return;\n    const win = getWindow(floating);\n    function handleMouseMove(event) {\n      const target = getTarget(event);\n      if (!contains(floating, target)) {\n        setReference(event.clientX, event.clientY);\n      } else {\n        win.removeEventListener('mousemove', handleMouseMove);\n        cleanupListenerRef.current = null;\n      }\n    }\n    if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n      win.addEventListener('mousemove', handleMouseMove);\n      const cleanup = () => {\n        win.removeEventListener('mousemove', handleMouseMove);\n        cleanupListenerRef.current = null;\n      };\n      cleanupListenerRef.current = cleanup;\n      return cleanup;\n    }\n    refs.setPositionReference(domReference);\n  }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n  React.useEffect(() => {\n    return addListener();\n  }, [addListener, reactive]);\n  React.useEffect(() => {\n    if (enabled && !floating) {\n      initialRef.current = false;\n    }\n  }, [enabled, floating]);\n  React.useEffect(() => {\n    if (!enabled && open) {\n      initialRef.current = true;\n    }\n  }, [enabled, open]);\n  index(() => {\n    if (enabled && (x != null || y != null)) {\n      initialRef.current = false;\n      setReference(x, y);\n    }\n  }, [enabled, x, y, setReference]);\n  const reference = React.useMemo(() => {\n    function setPointerTypeRef(_ref) {\n      let {\n        pointerType\n      } = _ref;\n      setPointerType(pointerType);\n    }\n    return {\n      onPointerDown: setPointerTypeRef,\n      onPointerEnter: setPointerTypeRef,\n      onMouseMove: handleReferenceEnterOrMove,\n      onMouseEnter: handleReferenceEnterOrMove\n    };\n  }, [handleReferenceEnterOrMove]);\n  return React.useMemo(() => enabled ? {\n    reference\n  } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n  pointerdown: 'onPointerDown',\n  mousedown: 'onMouseDown',\n  click: 'onClick'\n};\nconst captureHandlerKeys = {\n  pointerdown: 'onPointerDownCapture',\n  mousedown: 'onMouseDownCapture',\n  click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n  var _normalizable$escapeK, _normalizable$outside;\n  return {\n    escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n    outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n  };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    onOpenChange,\n    elements,\n    dataRef\n  } = context;\n  const {\n    enabled = true,\n    escapeKey = true,\n    outsidePress: unstable_outsidePress = true,\n    outsidePressEvent = 'pointerdown',\n    referencePress = false,\n    referencePressEvent = 'pointerdown',\n    ancestorScroll = false,\n    bubbles,\n    capture\n  } = props;\n  const tree = useFloatingTree();\n  const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n  const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n  const insideReactTreeRef = React.useRef(false);\n  const endedOrStartedInsideRef = React.useRef(false);\n  const {\n    escapeKey: escapeKeyBubbles,\n    outsidePress: outsidePressBubbles\n  } = normalizeProp(bubbles);\n  const {\n    escapeKey: escapeKeyCapture,\n    outsidePress: outsidePressCapture\n  } = normalizeProp(capture);\n  const isComposingRef = React.useRef(false);\n  const closeOnEscapeKeyDown = useEffectEvent(event => {\n    var _dataRef$current$floa;\n    if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n      return;\n    }\n\n    // Wait until IME is settled. Pressing `Escape` while composing should\n    // close the compose menu, but not the floating element.\n    if (isComposingRef.current) {\n      return;\n    }\n    const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n    const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n    if (!escapeKeyBubbles) {\n      event.stopPropagation();\n      if (children.length > 0) {\n        let shouldDismiss = true;\n        children.forEach(child => {\n          var _child$context;\n          if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n            shouldDismiss = false;\n            return;\n          }\n        });\n        if (!shouldDismiss) {\n          return;\n        }\n      }\n    }\n    onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n  });\n  const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n    var _getTarget2;\n    const callback = () => {\n      var _getTarget;\n      closeOnEscapeKeyDown(event);\n      (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener('keydown', callback);\n    };\n    (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener('keydown', callback);\n  });\n  const closeOnPressOutside = useEffectEvent(event => {\n    var _dataRef$current$floa2;\n    // Given developers can stop the propagation of the synthetic event,\n    // we can only be confident with a positive value.\n    const insideReactTree = insideReactTreeRef.current;\n    insideReactTreeRef.current = false;\n\n    // When click outside is lazy (`click` event), handle dragging.\n    // Don't close if:\n    // - The click started inside the floating element.\n    // - The click ended inside the floating element.\n    const endedOrStartedInside = endedOrStartedInsideRef.current;\n    endedOrStartedInsideRef.current = false;\n    if (outsidePressEvent === 'click' && endedOrStartedInside) {\n      return;\n    }\n    if (insideReactTree) {\n      return;\n    }\n    if (typeof outsidePress === 'function' && !outsidePress(event)) {\n      return;\n    }\n    const target = getTarget(event);\n    const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n    const markers = getDocument(elements.floating).querySelectorAll(inertSelector);\n    let targetRootAncestor = isElement(target) ? target : null;\n    while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n      const nextParent = getParentNode(targetRootAncestor);\n      if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n        break;\n      }\n      targetRootAncestor = nextParent;\n    }\n\n    // Check if the click occurred on a third-party element injected after the\n    // floating element rendered.\n    if (markers.length && isElement(target) && !isRootElement(target) &&\n    // Clicked on a direct ancestor (e.g. FloatingOverlay).\n    !contains(target, elements.floating) &&\n    // If the target root element contains none of the markers, then the\n    // element was injected after the floating element rendered.\n    Array.from(markers).every(marker => !contains(targetRootAncestor, marker))) {\n      return;\n    }\n\n    // Check if the click occurred on the scrollbar\n    if (isHTMLElement(target) && floating) {\n      // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n      // elements.\n      const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n      const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n      let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n      // In some browsers it is possible to change the <body> (or window)\n      // scrollbar to the left side, but is very rare and is difficult to\n      // check for. Plus, for modal dialogs with backdrops, it is more\n      // important that the backdrop is checked but not so much the window.\n      if (canScrollY) {\n        const isRTL = getComputedStyle(target).direction === 'rtl';\n        if (isRTL) {\n          xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n        }\n      }\n      if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n        return;\n      }\n    }\n    const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n    const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n      var _node$context;\n      return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n    });\n    if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {\n      return;\n    }\n    const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n    if (children.length > 0) {\n      let shouldDismiss = true;\n      children.forEach(child => {\n        var _child$context2;\n        if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n          shouldDismiss = false;\n          return;\n        }\n      });\n      if (!shouldDismiss) {\n        return;\n      }\n    }\n    onOpenChange(false, event, 'outside-press');\n  });\n  const closeOnPressOutsideCapture = useEffectEvent(event => {\n    var _getTarget4;\n    const callback = () => {\n      var _getTarget3;\n      closeOnPressOutside(event);\n      (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n    };\n    (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n  });\n  React.useEffect(() => {\n    if (!open || !enabled) {\n      return;\n    }\n    dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n    dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n    let compositionTimeout = -1;\n    function onScroll(event) {\n      onOpenChange(false, event, 'ancestor-scroll');\n    }\n    function handleCompositionStart() {\n      window.clearTimeout(compositionTimeout);\n      isComposingRef.current = true;\n    }\n    function handleCompositionEnd() {\n      // Safari fires `compositionend` before `keydown`, so we need to wait\n      // until the next tick to set `isComposing` to `false`.\n      // https://bugs.webkit.org/show_bug.cgi?id=165004\n      compositionTimeout = window.setTimeout(() => {\n        isComposingRef.current = false;\n      },\n      // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n      // Only apply to WebKit for the test to remain 0ms.\n      isWebKit() ? 5 : 0);\n    }\n    const doc = getDocument(elements.floating);\n    if (escapeKey) {\n      doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n      doc.addEventListener('compositionstart', handleCompositionStart);\n      doc.addEventListener('compositionend', handleCompositionEnd);\n    }\n    outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n    let ancestors = [];\n    if (ancestorScroll) {\n      if (isElement(elements.domReference)) {\n        ancestors = getOverflowAncestors(elements.domReference);\n      }\n      if (isElement(elements.floating)) {\n        ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n      }\n      if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {\n        ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n      }\n    }\n\n    // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n    ancestors = ancestors.filter(ancestor => {\n      var _doc$defaultView;\n      return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n    });\n    ancestors.forEach(ancestor => {\n      ancestor.addEventListener('scroll', onScroll, {\n        passive: true\n      });\n    });\n    return () => {\n      if (escapeKey) {\n        doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n        doc.removeEventListener('compositionstart', handleCompositionStart);\n        doc.removeEventListener('compositionend', handleCompositionEnd);\n      }\n      outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n      ancestors.forEach(ancestor => {\n        ancestor.removeEventListener('scroll', onScroll);\n      });\n      window.clearTimeout(compositionTimeout);\n    };\n  }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n  React.useEffect(() => {\n    insideReactTreeRef.current = false;\n  }, [outsidePress, outsidePressEvent]);\n  const reference = React.useMemo(() => ({\n    onKeyDown: closeOnEscapeKeyDown,\n    [bubbleHandlerKeys[referencePressEvent]]: event => {\n      if (referencePress) {\n        onOpenChange(false, event.nativeEvent, 'reference-press');\n      }\n    }\n  }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n  const floating = React.useMemo(() => ({\n    onKeyDown: closeOnEscapeKeyDown,\n    onMouseDown() {\n      endedOrStartedInsideRef.current = true;\n    },\n    onMouseUp() {\n      endedOrStartedInsideRef.current = true;\n    },\n    [captureHandlerKeys[outsidePressEvent]]: () => {\n      insideReactTreeRef.current = true;\n    }\n  }), [closeOnEscapeKeyDown, outsidePressEvent]);\n  return React.useMemo(() => enabled ? {\n    reference,\n    floating\n  } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n  const {\n    open = false,\n    onOpenChange: onOpenChangeProp,\n    elements: elementsProp\n  } = options;\n  const floatingId = useId();\n  const dataRef = React.useRef({});\n  const [events] = React.useState(() => createPubSub());\n  const nested = useFloatingParentNodeId() != null;\n  if (process.env.NODE_ENV !== \"production\") {\n    const optionDomReference = elementsProp.reference;\n    if (optionDomReference && !isElement(optionDomReference)) {\n      error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n    }\n  }\n  const [positionReference, setPositionReference] = React.useState(elementsProp.reference);\n  const onOpenChange = useEffectEvent((open, event, reason) => {\n    dataRef.current.openEvent = open ? event : undefined;\n    events.emit('openchange', {\n      open,\n      event,\n      reason,\n      nested\n    });\n    onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n  });\n  const refs = React.useMemo(() => ({\n    setPositionReference\n  }), []);\n  const elements = React.useMemo(() => ({\n    reference: positionReference || elementsProp.reference || null,\n    floating: elementsProp.floating || null,\n    domReference: elementsProp.reference\n  }), [positionReference, elementsProp.reference, elementsProp.floating]);\n  return React.useMemo(() => ({\n    dataRef,\n    open,\n    onOpenChange,\n    elements,\n    events,\n    floatingId,\n    refs\n  }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    nodeId\n  } = options;\n  const internalRootContext = useFloatingRootContext({\n    ...options,\n    elements: {\n      reference: null,\n      floating: null,\n      ...options.elements\n    }\n  });\n  const rootContext = options.rootContext || internalRootContext;\n  const computedElements = rootContext.elements;\n  const [_domReference, setDomReference] = React.useState(null);\n  const [positionReference, _setPositionReference] = React.useState(null);\n  const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;\n  const domReference = optionDomReference || _domReference;\n  const domReferenceRef = React.useRef(null);\n  const tree = useFloatingTree();\n  index(() => {\n    if (domReference) {\n      domReferenceRef.current = domReference;\n    }\n  }, [domReference]);\n  const position = useFloating$1({\n    ...options,\n    elements: {\n      ...computedElements,\n      ...(positionReference && {\n        reference: positionReference\n      })\n    }\n  });\n  const setPositionReference = React.useCallback(node => {\n    const computedPositionReference = isElement(node) ? {\n      getBoundingClientRect: () => node.getBoundingClientRect(),\n      contextElement: node\n    } : node;\n    // Store the positionReference in state if the DOM reference is specified externally via the\n    // `elements.reference` option. This ensures that it won't be overridden on future renders.\n    _setPositionReference(computedPositionReference);\n    position.refs.setReference(computedPositionReference);\n  }, [position.refs]);\n  const setReference = React.useCallback(node => {\n    if (isElement(node) || node === null) {\n      domReferenceRef.current = node;\n      setDomReference(node);\n    }\n\n    // Backwards-compatibility for passing a virtual element to `reference`\n    // after it has set the DOM reference.\n    if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n    // Don't allow setting virtual elements using the old technique back to\n    // `null` to support `positionReference` + an unstable `reference`\n    // callback ref.\n    node !== null && !isElement(node)) {\n      position.refs.setReference(node);\n    }\n  }, [position.refs]);\n  const refs = React.useMemo(() => ({\n    ...position.refs,\n    setReference,\n    setPositionReference,\n    domReference: domReferenceRef\n  }), [position.refs, setReference, setPositionReference]);\n  const elements = React.useMemo(() => ({\n    ...position.elements,\n    domReference: domReference\n  }), [position.elements, domReference]);\n  const context = React.useMemo(() => ({\n    ...position,\n    ...rootContext,\n    refs,\n    elements,\n    nodeId\n  }), [position, refs, elements, nodeId, rootContext]);\n  index(() => {\n    rootContext.dataRef.current.floatingContext = context;\n    const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n    if (node) {\n      node.context = context;\n    }\n  });\n  return React.useMemo(() => ({\n    ...position,\n    context,\n    refs,\n    elements\n  }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    onOpenChange,\n    events,\n    dataRef,\n    elements\n  } = context;\n  const {\n    enabled = true,\n    visibleOnly = true\n  } = props;\n  const blockFocusRef = React.useRef(false);\n  const timeoutRef = React.useRef();\n  const keyboardModalityRef = React.useRef(true);\n  React.useEffect(() => {\n    if (!enabled) return;\n    const win = getWindow(elements.domReference);\n\n    // If the reference was focused and the user left the tab/window, and the\n    // floating element was not open, the focus should be blocked when they\n    // return to the tab/window.\n    function onBlur() {\n      if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {\n        blockFocusRef.current = true;\n      }\n    }\n    function onKeyDown() {\n      keyboardModalityRef.current = true;\n    }\n    win.addEventListener('blur', onBlur);\n    win.addEventListener('keydown', onKeyDown, true);\n    return () => {\n      win.removeEventListener('blur', onBlur);\n      win.removeEventListener('keydown', onKeyDown, true);\n    };\n  }, [elements.domReference, open, enabled]);\n  React.useEffect(() => {\n    if (!enabled) return;\n    function onOpenChange(_ref) {\n      let {\n        reason\n      } = _ref;\n      if (reason === 'reference-press' || reason === 'escape-key') {\n        blockFocusRef.current = true;\n      }\n    }\n    events.on('openchange', onOpenChange);\n    return () => {\n      events.off('openchange', onOpenChange);\n    };\n  }, [events, enabled]);\n  React.useEffect(() => {\n    return () => {\n      clearTimeout(timeoutRef.current);\n    };\n  }, []);\n  const reference = React.useMemo(() => ({\n    onPointerDown(event) {\n      if (isVirtualPointerEvent(event.nativeEvent)) return;\n      keyboardModalityRef.current = false;\n    },\n    onMouseLeave() {\n      blockFocusRef.current = false;\n    },\n    onFocus(event) {\n      if (blockFocusRef.current) return;\n      const target = getTarget(event.nativeEvent);\n      if (visibleOnly && isElement(target)) {\n        try {\n          // Mac Safari unreliably matches `:focus-visible` on the reference\n          // if focus was outside the page initially - use the fallback\n          // instead.\n          if (isSafari() && isMac()) throw Error();\n          if (!target.matches(':focus-visible')) return;\n        } catch (e) {\n          // Old browsers will throw an error when using `:focus-visible`.\n          if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n            return;\n          }\n        }\n      }\n      onOpenChange(true, event.nativeEvent, 'focus');\n    },\n    onBlur(event) {\n      blockFocusRef.current = false;\n      const relatedTarget = event.relatedTarget;\n      const nativeEvent = event.nativeEvent;\n\n      // Hit the non-modal focus management portal guard. Focus will be\n      // moved into the floating element immediately after.\n      const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n      // Wait for the window blur listener to fire.\n      timeoutRef.current = window.setTimeout(() => {\n        var _dataRef$current$floa;\n        const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);\n\n        // Focus left the page, keep it open.\n        if (!relatedTarget && activeEl === elements.domReference) return;\n\n        // When focusing the reference element (e.g. regular click), then\n        // clicking into the floating element, prevent it from hiding.\n        // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n        // We can not rely on relatedTarget to point to the correct element\n        // as it will only point to the shadow host of the newly focused element\n        // and not the element that actually has received focus if it is located\n        // inside a shadow root.\n        if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || movedToFocusGuard) {\n          return;\n        }\n        onOpenChange(false, nativeEvent, 'focus');\n      });\n    }\n  }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n  return React.useMemo(() => enabled ? {\n    reference\n  } : {}, [enabled, reference]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n  const map = new Map();\n  const isItem = elementKey === 'item';\n  let domUserProps = userProps;\n  if (isItem && userProps) {\n    const {\n      [ACTIVE_KEY]: _,\n      [SELECTED_KEY]: __,\n      ...validProps\n    } = userProps;\n    domUserProps = validProps;\n  }\n  return {\n    ...(elementKey === 'floating' && {\n      tabIndex: -1,\n      [FOCUSABLE_ATTRIBUTE]: ''\n    }),\n    ...domUserProps,\n    ...propsList.map(value => {\n      const propsOrGetProps = value ? value[elementKey] : null;\n      if (typeof propsOrGetProps === 'function') {\n        return userProps ? propsOrGetProps(userProps) : null;\n      }\n      return propsOrGetProps;\n    }).concat(userProps).reduce((acc, props) => {\n      if (!props) {\n        return acc;\n      }\n      Object.entries(props).forEach(_ref => {\n        let [key, value] = _ref;\n        if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n          return;\n        }\n        if (key.indexOf('on') === 0) {\n          if (!map.has(key)) {\n            map.set(key, []);\n          }\n          if (typeof value === 'function') {\n            var _map$get;\n            (_map$get = map.get(key)) == null || _map$get.push(value);\n            acc[key] = function () {\n              var _map$get2;\n              for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n                args[_key] = arguments[_key];\n              }\n              return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n            };\n          }\n        } else {\n          acc[key] = value;\n        }\n      });\n      return acc;\n    }, {})\n  };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n  if (propsList === void 0) {\n    propsList = [];\n  }\n  const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n  const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n  const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n  const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  referenceDeps);\n  const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  floatingDeps);\n  const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  itemDeps);\n  return React.useMemo(() => ({\n    getReferenceProps,\n    getFloatingProps,\n    getItemProps\n  }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n  switch (orientation) {\n    case 'vertical':\n      return vertical;\n    case 'horizontal':\n      return horizontal;\n    default:\n      return vertical || horizontal;\n  }\n}\nfunction isMainOrientationKey(key, orientation) {\n  const vertical = key === ARROW_UP || key === ARROW_DOWN;\n  const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n  return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n  const vertical = key === ARROW_DOWN;\n  const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n  return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n  const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n  const horizontal = key === ARROW_DOWN;\n  return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n  const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n  const horizontal = key === ARROW_UP;\n  return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n  const {\n    open,\n    onOpenChange,\n    elements\n  } = context;\n  const {\n    listRef,\n    activeIndex,\n    onNavigate: unstable_onNavigate = () => {},\n    enabled = true,\n    selectedIndex = null,\n    allowEscape = false,\n    loop = false,\n    nested = false,\n    rtl = false,\n    virtual = false,\n    focusItemOnOpen = 'auto',\n    focusItemOnHover = true,\n    openOnArrowKeyDown = true,\n    disabledIndices = undefined,\n    orientation = 'vertical',\n    cols = 1,\n    scrollItemIntoView = true,\n    virtualItemRef,\n    itemSizes,\n    dense = false\n  } = props;\n  if (process.env.NODE_ENV !== \"production\") {\n    if (allowEscape) {\n      if (!loop) {\n        warn('`useListNavigation` looping must be enabled to allow escaping.');\n      }\n      if (!virtual) {\n        warn('`useListNavigation` must be virtual to allow escaping.');\n      }\n    }\n    if (orientation === 'vertical' && cols > 1) {\n      warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n    }\n  }\n  const floatingFocusElement = getFloatingFocusElement(elements.floating);\n  const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n  const parentId = useFloatingParentNodeId();\n  const tree = useFloatingTree();\n  const onNavigate = useEffectEvent(unstable_onNavigate);\n  const typeableComboboxReference = isTypeableCombobox(elements.domReference);\n  const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n  const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n  const keyRef = React.useRef(null);\n  const isPointerModalityRef = React.useRef(true);\n  const previousOnNavigateRef = React.useRef(onNavigate);\n  const previousMountedRef = React.useRef(!!elements.floating);\n  const previousOpenRef = React.useRef(open);\n  const forceSyncFocus = React.useRef(false);\n  const forceScrollIntoViewRef = React.useRef(false);\n  const disabledIndicesRef = useLatestRef(disabledIndices);\n  const latestOpenRef = useLatestRef(open);\n  const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n  const selectedIndexRef = useLatestRef(selectedIndex);\n  const [activeId, setActiveId] = React.useState();\n  const [virtualId, setVirtualId] = React.useState();\n  const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n    if (forceScrollIntoView === void 0) {\n      forceScrollIntoView = false;\n    }\n    function runFocus(item) {\n      if (virtual) {\n        setActiveId(item.id);\n        tree == null || tree.events.emit('virtualfocus', item);\n        if (virtualItemRef) {\n          virtualItemRef.current = item;\n        }\n      } else {\n        enqueueFocus(item, {\n          preventScroll: true,\n          // Mac Safari does not move the virtual cursor unless the focus call\n          // is sync. However, for the very first focus call, we need to wait\n          // for the position to be ready in order to prevent unwanted\n          // scrolling. This means the virtual cursor will not move to the first\n          // item when first opening the floating element, but will on\n          // subsequent calls. `preventScroll` is supported in modern Safari,\n          // so we can use that instead.\n          // iOS Safari must be async or the first item will not be focused.\n          sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n        });\n      }\n    }\n    const initialItem = listRef.current[indexRef.current];\n    if (initialItem) {\n      runFocus(initialItem);\n    }\n    requestAnimationFrame(() => {\n      const waitedItem = listRef.current[indexRef.current] || initialItem;\n      if (!waitedItem) return;\n      if (!initialItem) {\n        runFocus(waitedItem);\n      }\n      const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n      const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n      if (shouldScrollIntoView) {\n        // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n        // by all browsers.\n        waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n          block: 'nearest',\n          inline: 'nearest'\n        } : scrollIntoViewOptions);\n      }\n    });\n  });\n  index(() => {\n    document.createElement('div').focus({\n      get preventScroll() {\n        isPreventScrollSupported = true;\n        return false;\n      }\n    });\n  }, []);\n\n  // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n  // element. Also, reset `activeIndex` upon closing the floating element.\n  index(() => {\n    if (!enabled) return;\n    if (open && elements.floating) {\n      if (focusItemOnOpenRef.current && selectedIndex != null) {\n        // Regardless of the pointer modality, we want to ensure the selected\n        // item comes into view when the floating element is opened.\n        forceScrollIntoViewRef.current = true;\n        indexRef.current = selectedIndex;\n        onNavigate(selectedIndex);\n      }\n    } else if (previousMountedRef.current) {\n      // Since the user can specify `onNavigate` conditionally\n      // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n      // we store and call the previous function.\n      indexRef.current = -1;\n      previousOnNavigateRef.current(null);\n    }\n  }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n  // Sync `activeIndex` to be the focused item while the floating element is\n  // open.\n  index(() => {\n    if (!enabled) return;\n    if (open && elements.floating) {\n      if (activeIndex == null) {\n        forceSyncFocus.current = false;\n        if (selectedIndexRef.current != null) {\n          return;\n        }\n\n        // Reset while the floating element was open (e.g. the list changed).\n        if (previousMountedRef.current) {\n          indexRef.current = -1;\n          focusItem(listRef, indexRef);\n        }\n\n        // Initial sync.\n        if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n          let runs = 0;\n          const waitForListPopulated = () => {\n            if (listRef.current[0] == null) {\n              // Avoid letting the browser paint if possible on the first try,\n              // otherwise use rAF. Don't try more than twice, since something\n              // is wrong otherwise.\n              if (runs < 2) {\n                const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n                scheduler(waitForListPopulated);\n              }\n              runs++;\n            } else {\n              indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n              keyRef.current = null;\n              onNavigate(indexRef.current);\n            }\n          };\n          waitForListPopulated();\n        }\n      } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n        indexRef.current = activeIndex;\n        focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n        forceScrollIntoViewRef.current = false;\n      }\n    }\n  }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n  // Ensure the parent floating element has focus when a nested child closes\n  // to allow arrow key navigation to work after the pointer leaves the child.\n  index(() => {\n    var _nodes$find;\n    if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n      return;\n    }\n    const nodes = tree.nodesRef.current;\n    const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n    const activeEl = activeElement(getDocument(elements.floating));\n    const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n    if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n      parent.focus({\n        preventScroll: true\n      });\n    }\n  }, [enabled, elements.floating, tree, parentId, virtual]);\n  index(() => {\n    if (!enabled) return;\n    if (!tree) return;\n    if (!virtual) return;\n    if (parentId) return;\n    function handleVirtualFocus(item) {\n      setVirtualId(item.id);\n      if (virtualItemRef) {\n        virtualItemRef.current = item;\n      }\n    }\n    tree.events.on('virtualfocus', handleVirtualFocus);\n    return () => {\n      tree.events.off('virtualfocus', handleVirtualFocus);\n    };\n  }, [enabled, tree, virtual, parentId, virtualItemRef]);\n  index(() => {\n    previousOnNavigateRef.current = onNavigate;\n    previousMountedRef.current = !!elements.floating;\n  });\n  index(() => {\n    if (!open) {\n      keyRef.current = null;\n    }\n  }, [open]);\n  index(() => {\n    previousOpenRef.current = open;\n  }, [open]);\n  const hasActiveIndex = activeIndex != null;\n  const item = React.useMemo(() => {\n    function syncCurrentTarget(currentTarget) {\n      if (!open) return;\n      const index = listRef.current.indexOf(currentTarget);\n      if (index !== -1) {\n        onNavigate(index);\n      }\n    }\n    const props = {\n      onFocus(_ref) {\n        let {\n          currentTarget\n        } = _ref;\n        syncCurrentTarget(currentTarget);\n      },\n      onClick: _ref2 => {\n        let {\n          currentTarget\n        } = _ref2;\n        return currentTarget.focus({\n          preventScroll: true\n        });\n      },\n      // Safari\n      ...(focusItemOnHover && {\n        onMouseMove(_ref3) {\n          let {\n            currentTarget\n          } = _ref3;\n          syncCurrentTarget(currentTarget);\n        },\n        onPointerLeave(_ref4) {\n          let {\n            pointerType\n          } = _ref4;\n          if (!isPointerModalityRef.current || pointerType === 'touch') {\n            return;\n          }\n          indexRef.current = -1;\n          focusItem(listRef, indexRef);\n          onNavigate(null);\n          if (!virtual) {\n            enqueueFocus(floatingFocusElementRef.current, {\n              preventScroll: true\n            });\n          }\n        }\n      })\n    };\n    return props;\n  }, [open, floatingFocusElementRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n  const commonOnKeyDown = useEffectEvent(event => {\n    isPointerModalityRef.current = false;\n    forceSyncFocus.current = true;\n\n    // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n    // don't appear to suffer from this. `event.isComposing` is avoided due to\n    // Safari not supporting it properly (although it's not needed in the first\n    // place for Safari, just avoiding any possible issues).\n    if (event.which === 229) {\n      return;\n    }\n\n    // If the floating element is animating out, ignore navigation. Otherwise,\n    // the `activeIndex` gets set to 0 despite not being open so the next time\n    // the user ArrowDowns, the first item won't be focused.\n    if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n      return;\n    }\n    if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n      stopEvent(event);\n      onOpenChange(false, event.nativeEvent, 'list-navigation');\n      if (isHTMLElement(elements.domReference)) {\n        if (virtual) {\n          tree == null || tree.events.emit('virtualfocus', elements.domReference);\n        } else {\n          elements.domReference.focus();\n        }\n      }\n      return;\n    }\n    const currentIndex = indexRef.current;\n    const minIndex = getMinIndex(listRef, disabledIndices);\n    const maxIndex = getMaxIndex(listRef, disabledIndices);\n    if (!typeableComboboxReference) {\n      if (event.key === 'Home') {\n        stopEvent(event);\n        indexRef.current = minIndex;\n        onNavigate(indexRef.current);\n      }\n      if (event.key === 'End') {\n        stopEvent(event);\n        indexRef.current = maxIndex;\n        onNavigate(indexRef.current);\n      }\n    }\n\n    // Grid navigation.\n    if (cols > 1) {\n      const sizes = itemSizes || Array.from({\n        length: listRef.current.length\n      }, () => ({\n        width: 1,\n        height: 1\n      }));\n      // To calculate movements on the grid, we use hypothetical cell indices\n      // as if every item was 1x1, then convert back to real indices.\n      const cellMap = buildCellMap(sizes, cols, dense);\n      const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(listRef.current, index, disabledIndices));\n      // last enabled index\n      const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n      const index = cellMap[getGridNavigatedIndex({\n        current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n      }, {\n        event,\n        orientation,\n        loop,\n        cols,\n        // treat undefined (empty grid spaces) as disabled indices so we\n        // don't end up in them\n        disabledIndices: getCellIndices([...(disabledIndices || listRef.current.map((_, index) => isDisabled(listRef.current, index) ? index : undefined)), undefined], cellMap),\n        minIndex: minGridIndex,\n        maxIndex: maxGridIndex,\n        prevIndex: getCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n        // use a corner matching the edge closest to the direction\n        // we're moving in so we don't end up in the same item. Prefer\n        // top/left over bottom/right.\n        event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl'),\n        stopEvent: true\n      })];\n      if (index != null) {\n        indexRef.current = index;\n        onNavigate(indexRef.current);\n      }\n      if (orientation === 'both') {\n        return;\n      }\n    }\n    if (isMainOrientationKey(event.key, orientation)) {\n      stopEvent(event);\n\n      // Reset the index if no item is focused.\n      if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n        indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n        onNavigate(indexRef.current);\n        return;\n      }\n      if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n        if (loop) {\n          indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n            startingIndex: currentIndex,\n            disabledIndices\n          });\n        } else {\n          indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n            startingIndex: currentIndex,\n            disabledIndices\n          }));\n        }\n      } else {\n        if (loop) {\n          indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n            startingIndex: currentIndex,\n            decrement: true,\n            disabledIndices\n          });\n        } else {\n          indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n            startingIndex: currentIndex,\n            decrement: true,\n            disabledIndices\n          }));\n        }\n      }\n      if (isIndexOutOfBounds(listRef, indexRef.current)) {\n        onNavigate(null);\n      } else {\n        onNavigate(indexRef.current);\n      }\n    }\n  });\n  const ariaActiveDescendantProp = React.useMemo(() => {\n    return virtual && open && hasActiveIndex && {\n      'aria-activedescendant': virtualId || activeId\n    };\n  }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n  const floating = React.useMemo(() => {\n    return {\n      'aria-orientation': orientation === 'both' ? undefined : orientation,\n      ...(!isTypeableCombobox(elements.domReference) && ariaActiveDescendantProp),\n      onKeyDown: commonOnKeyDown,\n      onPointerMove() {\n        isPointerModalityRef.current = true;\n      }\n    };\n  }, [ariaActiveDescendantProp, commonOnKeyDown, elements.domReference, orientation]);\n  const reference = React.useMemo(() => {\n    function checkVirtualMouse(event) {\n      if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n        focusItemOnOpenRef.current = true;\n      }\n    }\n    function checkVirtualPointer(event) {\n      // `pointerdown` fires first, reset the state then perform the checks.\n      focusItemOnOpenRef.current = focusItemOnOpen;\n      if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n        focusItemOnOpenRef.current = true;\n      }\n    }\n    return {\n      ...ariaActiveDescendantProp,\n      onKeyDown(event) {\n        isPointerModalityRef.current = false;\n        const isArrowKey = event.key.startsWith('Arrow');\n        const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n        const isMoveKey = isArrowKey || isHomeOrEndKey;\n        const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n        const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n        const isMainKey = isMainOrientationKey(event.key, orientation);\n        const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n        if (virtual && open) {\n          const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n          const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n          if (isMoveKey && deepestNode && virtualItemRef) {\n            const eventObject = new KeyboardEvent('keydown', {\n              key: event.key,\n              bubbles: true\n            });\n            if (isCrossOpenKey || isCrossCloseKey) {\n              var _deepestNode$context, _deepestNode$context2;\n              const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n              const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n              if (dispatchItem) {\n                stopEvent(event);\n                dispatchItem.dispatchEvent(eventObject);\n                setVirtualId(undefined);\n              }\n            }\n            if ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n              if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n                var _deepestNode$context$;\n                stopEvent(event);\n                (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n                return;\n              }\n            }\n          }\n          return commonOnKeyDown(event);\n        }\n\n        // If a floating element should not open on arrow key down, avoid\n        // setting `activeIndex` while it's closed.\n        if (!open && !openOnArrowKeyDown && isArrowKey) {\n          return;\n        }\n        if (isNavigationKey) {\n          keyRef.current = nested && isMainKey ? null : event.key;\n        }\n        if (nested) {\n          if (isCrossOpenKey) {\n            stopEvent(event);\n            if (open) {\n              indexRef.current = getMinIndex(listRef, disabledIndicesRef.current);\n              onNavigate(indexRef.current);\n            } else {\n              onOpenChange(true, event.nativeEvent, 'list-navigation');\n            }\n          }\n          return;\n        }\n        if (isMainKey) {\n          if (selectedIndex != null) {\n            indexRef.current = selectedIndex;\n          }\n          stopEvent(event);\n          if (!open && openOnArrowKeyDown) {\n            onOpenChange(true, event.nativeEvent, 'list-navigation');\n          } else {\n            commonOnKeyDown(event);\n          }\n          if (open) {\n            onNavigate(indexRef.current);\n          }\n        }\n      },\n      onFocus() {\n        if (open && !virtual) {\n          onNavigate(null);\n        }\n      },\n      onPointerDown: checkVirtualPointer,\n      onMouseDown: checkVirtualMouse,\n      onClick: checkVirtualMouse\n    };\n  }, [activeId, ariaActiveDescendantProp, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n  return React.useMemo(() => enabled ? {\n    reference,\n    floating,\n    item\n  } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n  var _componentRoleToAriaR;\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    floatingId\n  } = context;\n  const {\n    enabled = true,\n    role = 'dialog'\n  } = props;\n  const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n  const referenceId = useId();\n  const parentId = useFloatingParentNodeId();\n  const isNested = parentId != null;\n  const reference = React.useMemo(() => {\n    if (ariaRole === 'tooltip' || role === 'label') {\n      return {\n        [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n      };\n    }\n    return {\n      'aria-expanded': open ? 'true' : 'false',\n      'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n      'aria-controls': open ? floatingId : undefined,\n      ...(ariaRole === 'listbox' && {\n        role: 'combobox'\n      }),\n      ...(ariaRole === 'menu' && {\n        id: referenceId\n      }),\n      ...(ariaRole === 'menu' && isNested && {\n        role: 'menuitem'\n      }),\n      ...(role === 'select' && {\n        'aria-autocomplete': 'none'\n      }),\n      ...(role === 'combobox' && {\n        'aria-autocomplete': 'list'\n      })\n    };\n  }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n  const floating = React.useMemo(() => {\n    const floatingProps = {\n      id: floatingId,\n      ...(ariaRole && {\n        role: ariaRole\n      })\n    };\n    if (ariaRole === 'tooltip' || role === 'label') {\n      return floatingProps;\n    }\n    return {\n      ...floatingProps,\n      ...(ariaRole === 'menu' && {\n        'aria-labelledby': referenceId\n      })\n    };\n  }, [ariaRole, floatingId, referenceId, role]);\n  const item = React.useCallback(_ref => {\n    let {\n      active,\n      selected\n    } = _ref;\n    const commonProps = {\n      role: 'option',\n      ...(active && {\n        id: floatingId + \"-option\"\n      })\n    };\n\n    // For `menu`, we are unable to tell if the item is a `menuitemradio`\n    // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n    // avoid defaulting to `menuitem` as it may overwrite custom role props.\n    switch (role) {\n      case 'select':\n        return {\n          ...commonProps,\n          'aria-selected': active && selected\n        };\n      case 'combobox':\n        {\n          return {\n            ...commonProps,\n            ...(active && {\n              'aria-selected': true\n            })\n          };\n        }\n    }\n    return {};\n  }, [floatingId, role]);\n  return React.useMemo(() => enabled ? {\n    reference,\n    floating,\n    item\n  } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n  return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n  const [isMounted, setIsMounted] = React.useState(open);\n  if (open && !isMounted) {\n    setIsMounted(true);\n  }\n  React.useEffect(() => {\n    if (!open && isMounted) {\n      const timeout = setTimeout(() => setIsMounted(false), durationMs);\n      return () => clearTimeout(timeout);\n    }\n  }, [open, isMounted, durationMs]);\n  return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    open,\n    elements: {\n      floating\n    }\n  } = context;\n  const {\n    duration = 250\n  } = props;\n  const isNumberDuration = typeof duration === 'number';\n  const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n  const [status, setStatus] = React.useState('unmounted');\n  const isMounted = useDelayUnmount(open, closeDuration);\n  if (!isMounted && status === 'close') {\n    setStatus('unmounted');\n  }\n  index(() => {\n    if (!floating) return;\n    if (open) {\n      setStatus('initial');\n      const frame = requestAnimationFrame(() => {\n        setStatus('open');\n      });\n      return () => {\n        cancelAnimationFrame(frame);\n      };\n    }\n    setStatus('close');\n  }, [open, floating]);\n  return {\n    isMounted,\n    status\n  };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n  if (props === void 0) {\n    props = {};\n  }\n  const {\n    initial: unstable_initial = {\n      opacity: 0\n    },\n    open: unstable_open,\n    close: unstable_close,\n    common: unstable_common,\n    duration = 250\n  } = props;\n  const placement = context.placement;\n  const side = placement.split('-')[0];\n  const fnArgs = React.useMemo(() => ({\n    side,\n    placement\n  }), [side, placement]);\n  const isNumberDuration = typeof duration === 'number';\n  const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n  const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n  const [styles, setStyles] = React.useState(() => ({\n    ...execWithArgsOrReturn(unstable_common, fnArgs),\n    ...execWithArgsOrReturn(unstable_initial, fnArgs)\n  }));\n  const {\n    isMounted,\n    status\n  } = useTransitionStatus(context, {\n    duration\n  });\n  const initialRef = useLatestRef(unstable_initial);\n  const openRef = useLatestRef(unstable_open);\n  const closeRef = useLatestRef(unstable_close);\n  const commonRef = useLatestRef(unstable_common);\n  index(() => {\n    const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n    const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n    const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n    const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n      acc[key] = '';\n      return acc;\n    }, {});\n    if (status === 'initial') {\n      setStyles(styles => ({\n        transitionProperty: styles.transitionProperty,\n        ...commonStyles,\n        ...initialStyles\n      }));\n    }\n    if (status === 'open') {\n      setStyles({\n        transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n        transitionDuration: openDuration + \"ms\",\n        ...commonStyles,\n        ...openStyles\n      });\n    }\n    if (status === 'close') {\n      const styles = closeStyles || initialStyles;\n      setStyles({\n        transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n        transitionDuration: closeDuration + \"ms\",\n        ...commonStyles,\n        ...styles\n      });\n    }\n  }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n  return {\n    isMounted,\n    styles\n  };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n  var _ref;\n  const {\n    open,\n    dataRef\n  } = context;\n  const {\n    listRef,\n    activeIndex,\n    onMatch: unstable_onMatch,\n    onTypingChange: unstable_onTypingChange,\n    enabled = true,\n    findMatch = null,\n    resetMs = 750,\n    ignoreKeys = [],\n    selectedIndex = null\n  } = props;\n  const timeoutIdRef = React.useRef();\n  const stringRef = React.useRef('');\n  const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n  const matchIndexRef = React.useRef(null);\n  const onMatch = useEffectEvent(unstable_onMatch);\n  const onTypingChange = useEffectEvent(unstable_onTypingChange);\n  const findMatchRef = useLatestRef(findMatch);\n  const ignoreKeysRef = useLatestRef(ignoreKeys);\n  index(() => {\n    if (open) {\n      clearTimeout(timeoutIdRef.current);\n      matchIndexRef.current = null;\n      stringRef.current = '';\n    }\n  }, [open]);\n  index(() => {\n    // Sync arrow key navigation but not typeahead navigation.\n    if (open && stringRef.current === '') {\n      var _ref2;\n      prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n    }\n  }, [open, selectedIndex, activeIndex]);\n  const setTypingChange = useEffectEvent(value => {\n    if (value) {\n      if (!dataRef.current.typing) {\n        dataRef.current.typing = value;\n        onTypingChange(value);\n      }\n    } else {\n      if (dataRef.current.typing) {\n        dataRef.current.typing = value;\n        onTypingChange(value);\n      }\n    }\n  });\n  const onKeyDown = useEffectEvent(event => {\n    function getMatchingIndex(list, orderedList, string) {\n      const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n      return str ? list.indexOf(str) : -1;\n    }\n    const listContent = listRef.current;\n    if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n      if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n        setTypingChange(false);\n      } else if (event.key === ' ') {\n        stopEvent(event);\n      }\n    }\n    if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n    // Character key.\n    event.key.length !== 1 ||\n    // Modifier key.\n    event.ctrlKey || event.metaKey || event.altKey) {\n      return;\n    }\n    if (open && event.key !== ' ') {\n      stopEvent(event);\n      setTypingChange(true);\n    }\n\n    // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n    // allow it in this case, too.\n    const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n      var _text$, _text$2;\n      return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n    });\n\n    // Allows the user to cycle through items that start with the same letter\n    // in rapid succession.\n    if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n      stringRef.current = '';\n      prevIndexRef.current = matchIndexRef.current;\n    }\n    stringRef.current += event.key;\n    clearTimeout(timeoutIdRef.current);\n    timeoutIdRef.current = setTimeout(() => {\n      stringRef.current = '';\n      prevIndexRef.current = matchIndexRef.current;\n      setTypingChange(false);\n    }, resetMs);\n    const prevIndex = prevIndexRef.current;\n    const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n    if (index !== -1) {\n      onMatch(index);\n      matchIndexRef.current = index;\n    } else if (event.key !== ' ') {\n      stringRef.current = '';\n      setTypingChange(false);\n    }\n  });\n  const reference = React.useMemo(() => ({\n    onKeyDown\n  }), [onKeyDown]);\n  const floating = React.useMemo(() => {\n    return {\n      onKeyDown,\n      onKeyUp(event) {\n        if (event.key === ' ') {\n          setTypingChange(false);\n        }\n      }\n    };\n  }, [onKeyDown, setTypingChange]);\n  return React.useMemo(() => enabled ? {\n    reference,\n    floating\n  } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n  return {\n    ...state,\n    rects: {\n      ...state.rects,\n      floating: {\n        ...state.rects.floating,\n        height\n      }\n    }\n  };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n  name: 'inner',\n  options: props,\n  async fn(state) {\n    const {\n      listRef,\n      overflowRef,\n      onFallbackChange,\n      offset: innerOffset = 0,\n      index = 0,\n      minItemsVisible = 4,\n      referenceOverflowThreshold = 0,\n      scrollRef,\n      ...detectOverflowOptions\n    } = evaluate(props, state);\n    const {\n      rects,\n      elements: {\n        floating\n      }\n    } = state;\n    const item = listRef.current[index];\n    const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n    // Valid combinations:\n    // 1. Floating element is the scrollRef and has a border (default)\n    // 2. Floating element is not the scrollRef, floating element has a border\n    // 3. Floating element is not the scrollRef, scrollRef has a border\n    // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n    // allowed as VoiceOver doesn't work.\n    const clientTop = floating.clientTop || scrollEl.clientTop;\n    const floatingIsBordered = floating.clientTop !== 0;\n    const scrollElIsBordered = scrollEl.clientTop !== 0;\n    const floatingIsScrollEl = floating === scrollEl;\n    if (process.env.NODE_ENV !== \"production\") {\n      if (!state.placement.startsWith('bottom')) {\n        warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n      }\n    }\n    if (!item) {\n      return {};\n    }\n    const nextArgs = {\n      ...state,\n      ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n    };\n    const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n    const refOverflow = await detectOverflow(nextArgs, {\n      ...detectOverflowOptions,\n      elementContext: 'reference'\n    });\n    const diffY = max(0, overflow.top);\n    const nextY = nextArgs.y + diffY;\n    const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n    const rounder = isScrollable ? v => v : round;\n    const maxHeight = rounder(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));\n    scrollEl.style.maxHeight = maxHeight + \"px\";\n    scrollEl.scrollTop = diffY;\n\n    // There is not enough space, fallback to standard anchored positioning\n    if (onFallbackChange) {\n      const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n      ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n    }\n    if (overflowRef) {\n      overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n        ...nextArgs,\n        y: nextY\n      }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n    }\n    return {\n      y: nextY\n    };\n  }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n  const {\n    open,\n    elements\n  } = context;\n  const {\n    enabled = true,\n    overflowRef,\n    scrollRef,\n    onChange: unstable_onChange\n  } = props;\n  const onChange = useEffectEvent(unstable_onChange);\n  const controlledScrollingRef = React.useRef(false);\n  const prevScrollTopRef = React.useRef(null);\n  const initialOverflowRef = React.useRef(null);\n  React.useEffect(() => {\n    if (!enabled) return;\n    function onWheel(e) {\n      if (e.ctrlKey || !el || overflowRef.current == null) {\n        return;\n      }\n      const dY = e.deltaY;\n      const isAtTop = overflowRef.current.top >= -0.5;\n      const isAtBottom = overflowRef.current.bottom >= -0.5;\n      const remainingScroll = el.scrollHeight - el.clientHeight;\n      const sign = dY < 0 ? -1 : 1;\n      const method = dY < 0 ? 'max' : 'min';\n      if (el.scrollHeight <= el.clientHeight) {\n        return;\n      }\n      if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n        e.preventDefault();\n        ReactDOM.flushSync(() => {\n          onChange(d => d + Math[method](dY, remainingScroll * sign));\n        });\n      } else if (/firefox/i.test(getUserAgent())) {\n        // Needed to propagate scrolling during momentum scrolling phase once\n        // it gets limited by the boundary. UX improvement, not critical.\n        el.scrollTop += dY;\n      }\n    }\n    const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n    if (open && el) {\n      el.addEventListener('wheel', onWheel);\n\n      // Wait for the position to be ready.\n      requestAnimationFrame(() => {\n        prevScrollTopRef.current = el.scrollTop;\n        if (overflowRef.current != null) {\n          initialOverflowRef.current = {\n            ...overflowRef.current\n          };\n        }\n      });\n      return () => {\n        prevScrollTopRef.current = null;\n        initialOverflowRef.current = null;\n        el.removeEventListener('wheel', onWheel);\n      };\n    }\n  }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n  const floating = React.useMemo(() => ({\n    onKeyDown() {\n      controlledScrollingRef.current = true;\n    },\n    onWheel() {\n      controlledScrollingRef.current = false;\n    },\n    onPointerMove() {\n      controlledScrollingRef.current = false;\n    },\n    onScroll() {\n      const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n      if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n        return;\n      }\n      if (prevScrollTopRef.current !== null) {\n        const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n        if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n          ReactDOM.flushSync(() => onChange(d => d + scrollDiff));\n        }\n      }\n\n      // [Firefox] Wait for the height change to have been applied.\n      requestAnimationFrame(() => {\n        prevScrollTopRef.current = el.scrollTop;\n      });\n    }\n  }), [elements.floating, onChange, overflowRef, scrollRef]);\n  return React.useMemo(() => enabled ? {\n    floating\n  } : {}, [enabled, floating]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n  const [x, y] = point;\n  let isInside = false;\n  const length = polygon.length;\n  for (let i = 0, j = length - 1; i < length; j = i++) {\n    const [xi, yi] = polygon[i] || [0, 0];\n    const [xj, yj] = polygon[j] || [0, 0];\n    const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) {\n      isInside = !isInside;\n    }\n  }\n  return isInside;\n}\nfunction isInside(point, rect) {\n  return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    buffer = 0.5,\n    blockPointerEvents = false,\n    requireIntent = true\n  } = options;\n  let timeoutId;\n  let hasLanded = false;\n  let lastX = null;\n  let lastY = null;\n  let lastCursorTime = performance.now();\n  function getCursorSpeed(x, y) {\n    const currentTime = performance.now();\n    const elapsedTime = currentTime - lastCursorTime;\n    if (lastX === null || lastY === null || elapsedTime === 0) {\n      lastX = x;\n      lastY = y;\n      lastCursorTime = currentTime;\n      return null;\n    }\n    const deltaX = x - lastX;\n    const deltaY = y - lastY;\n    const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n    const speed = distance / elapsedTime; // px / ms\n\n    lastX = x;\n    lastY = y;\n    lastCursorTime = currentTime;\n    return speed;\n  }\n  const fn = _ref => {\n    let {\n      x,\n      y,\n      placement,\n      elements,\n      onClose,\n      nodeId,\n      tree\n    } = _ref;\n    return function onMouseMove(event) {\n      function close() {\n        clearTimeout(timeoutId);\n        onClose();\n      }\n      clearTimeout(timeoutId);\n      if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n        return;\n      }\n      const {\n        clientX,\n        clientY\n      } = event;\n      const clientPoint = [clientX, clientY];\n      const target = getTarget(event);\n      const isLeave = event.type === 'mouseleave';\n      const isOverFloatingEl = contains(elements.floating, target);\n      const isOverReferenceEl = contains(elements.domReference, target);\n      const refRect = elements.domReference.getBoundingClientRect();\n      const rect = elements.floating.getBoundingClientRect();\n      const side = placement.split('-')[0];\n      const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n      const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n      const isOverReferenceRect = isInside(clientPoint, refRect);\n      const isFloatingWider = rect.width > refRect.width;\n      const isFloatingTaller = rect.height > refRect.height;\n      const left = (isFloatingWider ? refRect : rect).left;\n      const right = (isFloatingWider ? refRect : rect).right;\n      const top = (isFloatingTaller ? refRect : rect).top;\n      const bottom = (isFloatingTaller ? refRect : rect).bottom;\n      if (isOverFloatingEl) {\n        hasLanded = true;\n        if (!isLeave) {\n          return;\n        }\n      }\n      if (isOverReferenceEl) {\n        hasLanded = false;\n      }\n      if (isOverReferenceEl && !isLeave) {\n        hasLanded = true;\n        return;\n      }\n\n      // Prevent overlapping floating element from being stuck in an open-close\n      // loop: https://github.com/floating-ui/floating-ui/issues/1910\n      if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n        return;\n      }\n\n      // If any nested child is open, abort.\n      if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n        let {\n          context\n        } = _ref2;\n        return context == null ? void 0 : context.open;\n      })) {\n        return;\n      }\n\n      // If the pointer is leaving from the opposite side, the \"buffer\" logic\n      // creates a point where the floating element remains open, but should be\n      // ignored.\n      // A constant of 1 handles floating point rounding errors.\n      if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n        return close();\n      }\n\n      // Ignore when the cursor is within the rectangular trough between the\n      // two elements. Since the triangle is created from the cursor point,\n      // which can start beyond the ref element's edge, traversing back and\n      // forth from the ref to the floating element can cause it to close. This\n      // ensures it always remains open in that case.\n      let rectPoly = [];\n      switch (side) {\n        case 'top':\n          rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n          break;\n        case 'bottom':\n          rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n          break;\n        case 'left':\n          rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n          break;\n        case 'right':\n          rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n          break;\n      }\n      function getPolygon(_ref3) {\n        let [x, y] = _ref3;\n        switch (side) {\n          case 'top':\n            {\n              const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n              const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n              const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n              return [cursorPointOne, cursorPointTwo, ...commonPoints];\n            }\n          case 'bottom':\n            {\n              const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n              const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n              const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n              return [cursorPointOne, cursorPointTwo, ...commonPoints];\n            }\n          case 'left':\n            {\n              const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n              const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n              const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n              return [...commonPoints, cursorPointOne, cursorPointTwo];\n            }\n          case 'right':\n            {\n              const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n              const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n              const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n              return [cursorPointOne, cursorPointTwo, ...commonPoints];\n            }\n        }\n      }\n      if (isPointInPolygon([clientX, clientY], rectPoly)) {\n        return;\n      }\n      if (hasLanded && !isOverReferenceRect) {\n        return close();\n      }\n      if (!isLeave && requireIntent) {\n        const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n        const cursorSpeedThreshold = 0.1;\n        if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n          return close();\n        }\n      }\n      if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n        close();\n      } else if (!hasLanded && requireIntent) {\n        timeoutId = window.setTimeout(close, 40);\n      }\n    };\n  };\n  fn.__options = {\n    blockPointerEvents\n  };\n  return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingRootContext, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","import{autoUpdate as Z,flip as ee,inner as te,offset as ne,shift as le,size as re,useFloating as oe,useInnerOffset as ie,useInteractions as se}from\"@floating-ui/react\";import*as j from\"react\";import{createContext as _,useCallback as ae,useContext as R,useMemo as M,useRef as ue,useState as A}from\"react\";import{useDisposables as fe}from'../hooks/use-disposables.js';import{useEvent as z}from'../hooks/use-event.js';import{useIsoMorphicEffect as C}from'../hooks/use-iso-morphic-effect.js';let y=_({styles:void 0,setReference:()=>{},setFloating:()=>{},getReferenceProps:()=>({}),getFloatingProps:()=>({}),slot:{}});y.displayName=\"FloatingContext\";let H=_(null);H.displayName=\"PlacementContext\";function xe(e){return M(()=>e?typeof e==\"string\"?{to:e}:e:null,[e])}function ye(){return R(y).setReference}function Fe(){return R(y).getReferenceProps}function be(){let{getFloatingProps:e,slot:t}=R(y);return ae((...n)=>Object.assign({},e(...n),{\"data-anchor\":t.anchor}),[e,t])}function Re(e=null){e===!1&&(e=null),typeof e==\"string\"&&(e={to:e});let t=R(H),n=M(()=>e,[JSON.stringify(e,(r,o)=>{var u;return(u=o==null?void 0:o.outerHTML)!=null?u:o})]);C(()=>{t==null||t(n!=null?n:null)},[t,n]);let l=R(y);return M(()=>[l.setFloating,e?l.styles:{}],[l.setFloating,e,l.styles])}let q=4;function Me({children:e,enabled:t=!0}){let[n,l]=A(null),[r,o]=A(0),u=ue(null),[f,s]=A(null);pe(f);let i=t&&n!==null&&f!==null,{to:F=\"bottom\",gap:E=0,offset:v=0,padding:c=0,inner:P}=ce(n,f),[a,p=\"center\"]=F.split(\" \");C(()=>{i&&o(0)},[i]);let{refs:b,floatingStyles:w,context:g}=oe({open:i,placement:a===\"selection\"?p===\"center\"?\"bottom\":`bottom-${p}`:p===\"center\"?`${a}`:`${a}-${p}`,strategy:\"absolute\",transform:!1,middleware:[ne({mainAxis:a===\"selection\"?0:E,crossAxis:v}),le({padding:c}),a!==\"selection\"&&ee({padding:c}),a===\"selection\"&&P?te({...P,padding:c,overflowRef:u,offset:r,minItemsVisible:q,referenceOverflowThreshold:c,onFallbackChange(h){var O,W;if(!h)return;let d=g.elements.floating;if(!d)return;let T=parseFloat(getComputedStyle(d).scrollPaddingBottom)||0,$=Math.min(q,d.childElementCount),L=0,N=0;for(let m of(W=(O=g.elements.floating)==null?void 0:O.childNodes)!=null?W:[])if(m instanceof HTMLElement){let x=m.offsetTop,k=x+m.clientHeight+T,S=d.scrollTop,U=S+d.clientHeight;if(x>=S&&k<=U)$--;else{N=Math.max(0,Math.min(k,U)-Math.max(x,S)),L=m.clientHeight;break}}$>=1&&o(m=>{let x=L*$-N+T;return m>=x?m:x})}}):null,re({padding:c,apply({availableWidth:h,availableHeight:d,elements:T}){Object.assign(T.floating.style,{overflow:\"auto\",maxWidth:`${h}px`,maxHeight:`min(var(--anchor-max-height, 100vh), ${d}px)`})}})].filter(Boolean),whileElementsMounted:Z}),[I=a,B=p]=g.placement.split(\"-\");a===\"selection\"&&(I=\"selection\");let G=M(()=>({anchor:[I,B].filter(Boolean).join(\" \")}),[I,B]),K=ie(g,{overflowRef:u,onChange:o}),{getReferenceProps:Q,getFloatingProps:X}=se([K]),Y=z(h=>{s(h),b.setFloating(h)});return j.createElement(H.Provider,{value:l},j.createElement(y.Provider,{value:{setFloating:Y,setReference:b.setReference,styles:w,getReferenceProps:Q,getFloatingProps:X,slot:G}},e))}function pe(e){C(()=>{if(!e)return;let t=new MutationObserver(()=>{let n=window.getComputedStyle(e).maxHeight,l=parseFloat(n);if(isNaN(l))return;let r=parseInt(n);isNaN(r)||l!==r&&(e.style.maxHeight=`${Math.ceil(l)}px`)});return t.observe(e,{attributes:!0,attributeFilter:[\"style\"]}),()=>{t.disconnect()}},[e])}function ce(e,t){var o,u,f;let n=V((o=e==null?void 0:e.gap)!=null?o:\"var(--anchor-gap, 0)\",t),l=V((u=e==null?void 0:e.offset)!=null?u:\"var(--anchor-offset, 0)\",t),r=V((f=e==null?void 0:e.padding)!=null?f:\"var(--anchor-padding, 0)\",t);return{...e,gap:n,offset:l,padding:r}}function V(e,t,n=void 0){let l=fe(),r=z((s,i)=>{if(s==null)return[n,null];if(typeof s==\"number\")return[s,null];if(typeof s==\"string\"){if(!i)return[n,null];let F=J(s,i);return[F,E=>{let v=D(s);{let c=v.map(P=>window.getComputedStyle(i).getPropertyValue(P));l.requestAnimationFrame(function P(){l.nextFrame(P);let a=!1;for(let[b,w]of v.entries()){let g=window.getComputedStyle(i).getPropertyValue(w);if(c[b]!==g){c[b]=g,a=!0;break}}if(!a)return;let p=J(s,i);F!==p&&(E(p),F=p)})}return l.dispose}]}return[n,null]}),o=M(()=>r(e,t)[0],[e,t]),[u=o,f]=A();return C(()=>{let[s,i]=r(e,t);if(f(s),!!i)return i(f)},[e,t]),u}function D(e){let t=/var\\((.*)\\)/.exec(e);if(t){let n=t[1].indexOf(\",\");if(n===-1)return[t[1]];let l=t[1].slice(0,n).trim(),r=t[1].slice(n+1).trim();return r?[l,...D(r)]:[l]}return[]}function J(e,t){let n=document.createElement(\"div\");t.appendChild(n),n.style.setProperty(\"margin-top\",\"0px\",\"important\"),n.style.setProperty(\"margin-top\",e,\"important\");let l=parseFloat(window.getComputedStyle(n).marginTop)||0;return t.removeChild(n),l}export{Me as FloatingProvider,Re as useFloatingPanel,be as useFloatingPanelProps,ye as useFloatingReference,Fe as useFloatingReferenceProps,xe as useResolvedAnchor};\n","function r(n){let e=n.parentElement,l=null;for(;e&&!(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement&&(l=e),e=e.parentElement;let t=(e==null?void 0:e.getAttribute(\"disabled\"))===\"\";return t&&i(l)?!1:t}function i(n){if(!n)return!1;let e=n.previousElementSibling;for(;e!==null;){if(e instanceof HTMLLegendElement)return!1;e=e.previousElementSibling}return!0}export{r as isDisabledReactIssue7711};\n","\"use client\";import{useFocusRing as Le}from\"@react-aria/focus\";import{useHover as Ie}from\"@react-aria/interactions\";import y,{createContext as oe,createRef as Pe,useContext as re,useEffect as ne,useMemo as D,useReducer as De,useRef as ee,useState as le}from\"react\";import{useActivePress as he}from'../../hooks/use-active-press.js';import{useElementSize as ke}from'../../hooks/use-element-size.js';import{useEvent as b}from'../../hooks/use-event.js';import{useEventListener as Ge}from'../../hooks/use-event-listener.js';import{useId as ae}from'../../hooks/use-id.js';import{useIsoMorphicEffect as He}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Ae}from'../../hooks/use-latest-value.js';import{useOnDisappear as Ue}from'../../hooks/use-on-disappear.js';import{useOutsideClick as Ne}from'../../hooks/use-outside-click.js';import{useOwnerDocument as fe}from'../../hooks/use-owner.js';import{useResolveButtonType as we}from'../../hooks/use-resolve-button-type.js';import{MainTreeProvider as Ce,useMainTreeNode as Ke,useRootContainers as We}from'../../hooks/use-root-containers.js';import{useScrollLock as je}from'../../hooks/use-scroll-lock.js';import{optionalRef as Ve,useSyncRefs as X}from'../../hooks/use-sync-refs.js';import{Direction as G,useTabDirection as Re}from'../../hooks/use-tab-direction.js';import{transitionDataAttributes as Be,useTransition as _e}from'../../hooks/use-transition.js';import{CloseProvider as $e}from'../../internal/close-provider.js';import{FloatingProvider as Je,useFloatingPanel as Xe,useFloatingPanelProps as qe,useFloatingReference as ze,useResolvedAnchor as Ye}from'../../internal/floating.js';import{Hidden as ce,HiddenFeatures as ve}from'../../internal/hidden.js';import{OpenClosedProvider as Qe,ResetOpenClosedProvider as Ze,State as q,useOpenClosed as Fe}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as xe}from'../../utils/bugs.js';import{Focus as H,FocusResult as Te,FocusableMode as et,focusIn as W,getFocusableElements as me,isFocusableElement as tt}from'../../utils/focus-management.js';import{match as j}from'../../utils/match.js';import'../../utils/micro-task.js';import{getOwnerDocument as ot}from'../../utils/owner.js';import{RenderFeatures as pe,forwardRefWithAs as z,mergeProps as ye,useRender as te}from'../../utils/render.js';import{Keys as V}from'../keyboard.js';import{Portal as rt,useNestedPortals as nt}from'../portal/portal.js';var lt=(f=>(f[f.Open=0]=\"Open\",f[f.Closed=1]=\"Closed\",f))(lt||{}),at=(p=>(p[p.TogglePopover=0]=\"TogglePopover\",p[p.ClosePopover=1]=\"ClosePopover\",p[p.SetButton=2]=\"SetButton\",p[p.SetButtonId=3]=\"SetButtonId\",p[p.SetPanel=4]=\"SetPanel\",p[p.SetPanelId=5]=\"SetPanelId\",p))(at||{});let pt={[0]:o=>({...o,popoverState:j(o.popoverState,{[0]:1,[1]:0}),__demoMode:!1}),[1](o){return o.popoverState===1?o:{...o,popoverState:1,__demoMode:!1}},[2](o,a){return o.button===a.button?o:{...o,button:a.button}},[3](o,a){return o.buttonId===a.buttonId?o:{...o,buttonId:a.buttonId}},[4](o,a){return o.panel===a.panel?o:{...o,panel:a.panel}},[5](o,a){return o.panelId===a.panelId?o:{...o,panelId:a.panelId}}},Ee=oe(null);Ee.displayName=\"PopoverContext\";function se(o){let a=re(Ee);if(a===null){let f=new Error(`<${o} /> is missing a parent <Popover /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(f,se),f}return a}let ue=oe(null);ue.displayName=\"PopoverAPIContext\";function be(o){let a=re(ue);if(a===null){let f=new Error(`<${o} /> is missing a parent <Popover /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(f,be),f}return a}let ge=oe(null);ge.displayName=\"PopoverGroupContext\";function Me(){return re(ge)}let ie=oe(null);ie.displayName=\"PopoverPanelContext\";function st(){return re(ie)}function ut(o,a){return j(a.type,pt,o,a)}let it=\"div\";function dt(o,a){var J;let{__demoMode:f=!1,...C}=o,T=ee(null),S=X(a,Ve(t=>{T.current=t})),p=ee([]),l=De(ut,{__demoMode:f,popoverState:f?0:1,buttons:p,button:null,buttonId:null,panel:null,panelId:null,beforePanelSentinel:Pe(),afterPanelSentinel:Pe(),afterButtonSentinel:Pe()}),[{popoverState:c,button:d,buttonId:r,panel:s,panelId:R,beforePanelSentinel:m,afterPanelSentinel:h,afterButtonSentinel:P},n]=l,v=fe((J=T.current)!=null?J:d),g=D(()=>{if(!d||!s)return!1;for(let E of document.querySelectorAll(\"body > *\"))if(Number(E==null?void 0:E.contains(d))^Number(E==null?void 0:E.contains(s)))return!0;let t=me(),e=t.indexOf(d),u=(e+t.length-1)%t.length,i=(e+1)%t.length,A=t[u],x=t[i];return!s.contains(A)&&!s.contains(x)},[d,s]),_=Ae(r),L=Ae(R),I=D(()=>({buttonId:_,panelId:L,close:()=>n({type:1})}),[_,L,n]),M=Me(),k=M==null?void 0:M.registerPopover,B=b(()=>{var t;return(t=M==null?void 0:M.isFocusWithinPopoverGroup())!=null?t:(v==null?void 0:v.activeElement)&&((d==null?void 0:d.contains(v.activeElement))||(s==null?void 0:s.contains(v.activeElement)))});ne(()=>k==null?void 0:k(I),[k,I]);let[U,O]=nt(),N=Ke(d),w=We({mainTreeNode:N,portals:U,defaultContainers:[d,s]});Ge(v==null?void 0:v.defaultView,\"focus\",t=>{var e,u,i,A,x,E;t.target!==window&&t.target instanceof HTMLElement&&c===0&&(B()||d&&s&&(w.contains(t.target)||(u=(e=m.current)==null?void 0:e.contains)!=null&&u.call(e,t.target)||(A=(i=h.current)==null?void 0:i.contains)!=null&&A.call(i,t.target)||(E=(x=P.current)==null?void 0:x.contains)!=null&&E.call(x,t.target)||n({type:1})))},!0),Ne(c===0,w.resolveContainers,(t,e)=>{n({type:1}),tt(e,et.Loose)||(t.preventDefault(),d==null||d.focus())});let F=b(t=>{n({type:1});let e=(()=>t?t instanceof HTMLElement?t:\"current\"in t&&t.current instanceof HTMLElement?t.current:d:d)();e==null||e.focus()}),Q=D(()=>({close:F,isPortalled:g}),[F,g]),K=D(()=>({open:c===0,close:F}),[c,F]),Z={ref:S},$=te();return y.createElement(Ce,{node:N},y.createElement(Je,null,y.createElement(ie.Provider,{value:null},y.createElement(Ee.Provider,{value:l},y.createElement(ue.Provider,{value:Q},y.createElement($e,{value:F},y.createElement(Qe,{value:j(c,{[0]:q.Open,[1]:q.Closed})},y.createElement(O,null,$({ourProps:Z,theirProps:C,slot:K,defaultTag:it,name:\"Popover\"})))))))))}let Pt=\"button\";function ft(o,a){let f=ae(),{id:C=`headlessui-popover-button-${f}`,disabled:T=!1,autoFocus:S=!1,...p}=o,[l,c]=se(\"Popover.Button\"),{isPortalled:d}=be(\"Popover.Button\"),r=ee(null),s=`headlessui-focus-sentinel-${ae()}`,R=Me(),m=R==null?void 0:R.closeOthers,P=st()!==null;ne(()=>{if(!P)return c({type:3,buttonId:C}),()=>{c({type:3,buttonId:null})}},[P,C,c]);let[n]=le(()=>Symbol()),v=X(r,a,ze(),b(e=>{if(!P){if(e)l.buttons.current.push(n);else{let u=l.buttons.current.indexOf(n);u!==-1&&l.buttons.current.splice(u,1)}l.buttons.current.length>1&&console.warn(\"You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported.\"),e&&c({type:2,button:e})}})),g=X(r,a),_=fe(r),L=b(e=>{var u,i,A;if(P){if(l.popoverState===1)return;switch(e.key){case V.Space:case V.Enter:e.preventDefault(),(i=(u=e.target).click)==null||i.call(u),c({type:1}),(A=l.button)==null||A.focus();break}}else switch(e.key){case V.Space:case V.Enter:e.preventDefault(),e.stopPropagation(),l.popoverState===1&&(m==null||m(l.buttonId)),c({type:0});break;case V.Escape:if(l.popoverState!==0)return m==null?void 0:m(l.buttonId);if(!r.current||_!=null&&_.activeElement&&!r.current.contains(_.activeElement))return;e.preventDefault(),e.stopPropagation(),c({type:1});break}}),I=b(e=>{P||e.key===V.Space&&e.preventDefault()}),M=b(e=>{var u,i;xe(e.currentTarget)||T||(P?(c({type:1}),(u=l.button)==null||u.focus()):(e.preventDefault(),e.stopPropagation(),l.popoverState===1&&(m==null||m(l.buttonId)),c({type:0}),(i=l.button)==null||i.focus()))}),k=b(e=>{e.preventDefault(),e.stopPropagation()}),{isFocusVisible:B,focusProps:U}=Le({autoFocus:S}),{isHovered:O,hoverProps:N}=Ie({isDisabled:T}),{pressed:w,pressProps:Y}=he({disabled:T}),F=l.popoverState===0,Q=D(()=>({open:F,active:w||F,disabled:T,hover:O,focus:B,autofocus:S}),[F,O,B,w,T,S]),K=we(o,l.button),Z=P?ye({ref:g,type:K,onKeyDown:L,onClick:M,disabled:T||void 0,autoFocus:S},U,N,Y):ye({ref:v,id:l.buttonId,type:K,\"aria-expanded\":l.popoverState===0,\"aria-controls\":l.panel?l.panelId:void 0,disabled:T||void 0,autoFocus:S,onKeyDown:L,onKeyUp:I,onClick:M,onMouseDown:k},U,N,Y),$=Re(),J=b(()=>{let e=l.panel;if(!e)return;function u(){j($.current,{[G.Forwards]:()=>W(e,H.First),[G.Backwards]:()=>W(e,H.Last)})===Te.Error&&W(me().filter(A=>A.dataset.headlessuiFocusGuard!==\"true\"),j($.current,{[G.Forwards]:H.Next,[G.Backwards]:H.Previous}),{relativeTo:l.button})}u()}),t=te();return y.createElement(y.Fragment,null,t({ourProps:Z,theirProps:p,slot:Q,defaultTag:Pt,name:\"Popover.Button\"}),F&&!P&&d&&y.createElement(ce,{id:s,ref:l.afterButtonSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:J}))}let ct=\"div\",vt=pe.RenderStrategy|pe.Static;function Oe(o,a){let f=ae(),{id:C=`headlessui-popover-backdrop-${f}`,transition:T=!1,...S}=o,[{popoverState:p},l]=se(\"Popover.Backdrop\"),[c,d]=le(null),r=X(a,d),s=Fe(),[R,m]=_e(T,c,s!==null?(s&q.Open)===q.Open:p===0),h=b(g=>{if(xe(g.currentTarget))return g.preventDefault();l({type:1})}),P=D(()=>({open:p===0}),[p]),n={ref:r,id:C,\"aria-hidden\":!0,onClick:h,...Be(m)};return te()({ourProps:n,theirProps:S,slot:P,defaultTag:ct,features:vt,visible:R,name:\"Popover.Backdrop\"})}let Tt=\"div\",mt=pe.RenderStrategy|pe.Static;function yt(o,a){let f=ae(),{id:C=`headlessui-popover-panel-${f}`,focus:T=!1,anchor:S,portal:p=!1,modal:l=!1,transition:c=!1,...d}=o,[r,s]=se(\"Popover.Panel\"),{close:R,isPortalled:m}=be(\"Popover.Panel\"),h=`headlessui-focus-sentinel-before-${f}`,P=`headlessui-focus-sentinel-after-${f}`,n=ee(null),v=Ye(S),[g,_]=Xe(v),L=qe();v&&(p=!0);let[I,M]=le(null),k=X(n,a,v?g:null,b(t=>s({type:4,panel:t})),M),B=fe(n);He(()=>(s({type:5,panelId:C}),()=>{s({type:5,panelId:null})}),[C,s]);let U=Fe(),[O,N]=_e(c,I,U!==null?(U&q.Open)===q.Open:r.popoverState===0);Ue(O,r.button,()=>{s({type:1})});let w=r.__demoMode?!1:l&&O;je(w,B);let Y=b(t=>{var e;switch(t.key){case V.Escape:if(r.popoverState!==0||!n.current||B!=null&&B.activeElement&&!n.current.contains(B.activeElement))return;t.preventDefault(),t.stopPropagation(),s({type:1}),(e=r.button)==null||e.focus();break}});ne(()=>{var t;o.static||r.popoverState===1&&((t=o.unmount)==null||t)&&s({type:4,panel:null})},[r.popoverState,o.unmount,o.static,s]),ne(()=>{if(r.__demoMode||!T||r.popoverState!==0||!n.current)return;let t=B==null?void 0:B.activeElement;n.current.contains(t)||W(n.current,H.First)},[r.__demoMode,T,n.current,r.popoverState]);let F=D(()=>({open:r.popoverState===0,close:R}),[r.popoverState,R]),Q=ye(v?L():{},{ref:k,id:C,onKeyDown:Y,onBlur:T&&r.popoverState===0?t=>{var u,i,A,x,E;let e=t.relatedTarget;e&&n.current&&((u=n.current)!=null&&u.contains(e)||(s({type:1}),((A=(i=r.beforePanelSentinel.current)==null?void 0:i.contains)!=null&&A.call(i,e)||(E=(x=r.afterPanelSentinel.current)==null?void 0:x.contains)!=null&&E.call(x,e))&&e.focus({preventScroll:!0})))}:void 0,tabIndex:-1,style:{...d.style,..._,\"--button-width\":ke(r.button,!0).width},...Be(N)}),K=Re(),Z=b(()=>{let t=n.current;if(!t)return;function e(){j(K.current,{[G.Forwards]:()=>{var i;W(t,H.First)===Te.Error&&((i=r.afterPanelSentinel.current)==null||i.focus())},[G.Backwards]:()=>{var u;(u=r.button)==null||u.focus({preventScroll:!0})}})}e()}),$=b(()=>{let t=n.current;if(!t)return;function e(){j(K.current,{[G.Forwards]:()=>{if(!r.button)return;let u=me(),i=u.indexOf(r.button),A=u.slice(0,i+1),E=[...u.slice(i+1),...A];for(let de of E.slice())if(de.dataset.headlessuiFocusGuard===\"true\"||I!=null&&I.contains(de)){let Se=E.indexOf(de);Se!==-1&&E.splice(Se,1)}W(E,H.First,{sorted:!1})},[G.Backwards]:()=>{var i;W(t,H.Previous)===Te.Error&&((i=r.button)==null||i.focus())}})}e()}),J=te();return y.createElement(Ze,null,y.createElement(ie.Provider,{value:C},y.createElement(ue.Provider,{value:{close:R,isPortalled:m}},y.createElement(rt,{enabled:p?o.static||O:!1},O&&m&&y.createElement(ce,{id:h,ref:r.beforePanelSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:Z}),J({ourProps:Q,theirProps:d,slot:F,defaultTag:Tt,features:mt,visible:O,name:\"Popover.Panel\"}),O&&m&&y.createElement(ce,{id:P,ref:r.afterPanelSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:$})))))}let Et=\"div\";function bt(o,a){let f=ee(null),C=X(f,a),[T,S]=le([]),p=b(P=>{S(n=>{let v=n.indexOf(P);if(v!==-1){let g=n.slice();return g.splice(v,1),g}return n})}),l=b(P=>(S(n=>[...n,P]),()=>p(P))),c=b(()=>{var v;let P=ot(f);if(!P)return!1;let n=P.activeElement;return(v=f.current)!=null&&v.contains(n)?!0:T.some(g=>{var _,L;return((_=P.getElementById(g.buttonId.current))==null?void 0:_.contains(n))||((L=P.getElementById(g.panelId.current))==null?void 0:L.contains(n))})}),d=b(P=>{for(let n of T)n.buttonId.current!==P&&n.close()}),r=D(()=>({registerPopover:l,unregisterPopover:p,isFocusWithinPopoverGroup:c,closeOthers:d}),[l,p,c,d]),s=D(()=>({}),[]),R=o,m={ref:C},h=te();return y.createElement(Ce,null,y.createElement(ge.Provider,{value:r},h({ourProps:m,theirProps:R,slot:s,defaultTag:Et,name:\"Popover.Group\"})))}let gt=z(dt),St=z(ft),At=z(Oe),Ct=z(Oe),Rt=z(yt),Bt=z(bt),lo=Object.assign(gt,{Button:St,Backdrop:Ct,Overlay:At,Panel:Rt,Group:Bt});export{lo as Popover,Ct as PopoverBackdrop,St as PopoverButton,Bt as PopoverGroup,At as PopoverOverlay,Rt as PopoverPanel};\n","import{useMemo as a}from\"react\";function e(t,u){return a(()=>{var n;if(t.type)return t.type;let r=(n=t.as)!=null?n:\"button\";if(typeof r==\"string\"&&r.toLowerCase()===\"button\"||(u==null?void 0:u.tagName)===\"BUTTON\"&&!u.hasAttribute(\"type\"))return\"button\"},[t.type,t.as,u])}export{e as useResolveButtonType};\n","\"use client\";import f,{Fragment as R,createContext as g,useContext as T,useEffect as E,useMemo as c,useRef as A,useState as G}from\"react\";import{createPortal as O}from\"react-dom\";import{useEvent as L}from'../../hooks/use-event.js';import{useIsoMorphicEffect as x}from'../../hooks/use-iso-morphic-effect.js';import{useOnUnmount as h}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as _}from'../../hooks/use-owner.js';import{useServerHandoffComplete as F}from'../../hooks/use-server-handoff-complete.js';import{optionalRef as U,useSyncRefs as P}from'../../hooks/use-sync-refs.js';import{usePortalRoot as D}from'../../internal/portal-force-root.js';import{env as C}from'../../utils/env.js';import{forwardRefWithAs as m,useRender as d}from'../../utils/render.js';function N(u){let r=D(),n=T(v),e=_(u),[o,l]=G(()=>{var t;if(!r&&n!==null)return(t=n.current)!=null?t:null;if(C.isServer)return null;let p=e==null?void 0:e.getElementById(\"headlessui-portal-root\");if(p)return p;if(e===null)return null;let a=e.createElement(\"div\");return a.setAttribute(\"id\",\"headlessui-portal-root\"),e.body.appendChild(a)});return E(()=>{o!==null&&(e!=null&&e.body.contains(o)||e==null||e.body.appendChild(o))},[o,e]),E(()=>{r||n!==null&&l(n.current)},[n,l,r]),o}let M=R,S=m(function(r,n){let e=r,o=A(null),l=P(U(i=>{o.current=i}),n),p=_(o),a=N(o),[t]=G(()=>{var i;return C.isServer?null:(i=p==null?void 0:p.createElement(\"div\"))!=null?i:null}),s=T(y),b=F();x(()=>{!a||!t||a.contains(t)||(t.setAttribute(\"data-headlessui-portal\",\"\"),a.appendChild(t))},[a,t]),x(()=>{if(t&&s)return s.register(t)},[s,t]),h(()=>{var i;!a||!t||(t instanceof Node&&a.contains(t)&&a.removeChild(t),a.childNodes.length<=0&&((i=a.parentElement)==null||i.removeChild(a)))});let H=d();return b?!a||!t?null:O(H({ourProps:{ref:l},theirProps:e,slot:{},defaultTag:M,name:\"Portal\"}),t):null});function j(u,r){let n=P(r),{enabled:e=!0,...o}=u,l=d();return e?f.createElement(S,{...o,ref:n}):l({ourProps:{ref:n},theirProps:o,slot:{},defaultTag:M,name:\"Portal\"})}let W=R,v=g(null);function I(u,r){let{target:n,...e}=u,l={ref:P(r)},p=d();return f.createElement(v.Provider,{value:n},p({ourProps:l,theirProps:e,defaultTag:W,name:\"Popover.Group\"}))}let y=g(null);function te(){let u=T(y),r=A([]),n=L(l=>(r.current.push(l),u&&u.register(l),()=>e(l))),e=L(l=>{let p=r.current.indexOf(l);p!==-1&&r.current.splice(p,1),u&&u.unregister(l)}),o=c(()=>({register:n,unregister:e,portals:r}),[n,e,r]);return[r,c(()=>function({children:p}){return f.createElement(y.Provider,{value:o},p)},[o])]}let J=m(j),X=m(I),re=Object.assign(J,{Group:X});export{re as Portal,X as PortalGroup,te as useNestedPortals};\n","\"use client\";import m,{Fragment as O,createContext as ne,useContext as q,useEffect as ge,useMemo as ie,useRef as b,useState as V}from\"react\";import{useDisposables as ve}from'../../hooks/use-disposables.js';import{useEvent as E}from'../../hooks/use-event.js';import{useIsMounted as be}from'../../hooks/use-is-mounted.js';import{useIsoMorphicEffect as D}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Ee}from'../../hooks/use-latest-value.js';import{useServerHandoffComplete as re}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as oe}from'../../hooks/use-sync-refs.js';import{transitionDataAttributes as Se,useTransition as Re}from'../../hooks/use-transition.js';import{OpenClosedProvider as ye,State as x,useOpenClosed as se}from'../../internal/open-closed.js';import{classNames as Pe}from'../../utils/class-names.js';import{match as le}from'../../utils/match.js';import{RenderFeatures as xe,RenderStrategy as P,compact as Ne,forwardRefWithAs as J,useRender as ae}from'../../utils/render.js';function ue(e){var t;return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||((t=e.as)!=null?t:de)!==O||m.Children.count(e.children)===1}let w=ne(null);w.displayName=\"TransitionContext\";var _e=(n=>(n.Visible=\"visible\",n.Hidden=\"hidden\",n))(_e||{});function De(){let e=q(w);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}function He(){let e=q(M);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}let M=ne(null);M.displayName=\"NestingContext\";function U(e){return\"children\"in e?U(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t===\"visible\").length>0}function Te(e,t){let n=Ee(e),l=b([]),S=be(),R=ve(),d=E((o,i=P.Hidden)=>{let a=l.current.findIndex(({el:s})=>s===o);a!==-1&&(le(i,{[P.Unmount](){l.current.splice(a,1)},[P.Hidden](){l.current[a].state=\"hidden\"}}),R.microTask(()=>{var s;!U(l)&&S.current&&((s=n.current)==null||s.call(n))}))}),y=E(o=>{let i=l.current.find(({el:a})=>a===o);return i?i.state!==\"visible\"&&(i.state=\"visible\"):l.current.push({el:o,state:\"visible\"}),()=>d(o,P.Unmount)}),p=b([]),c=b(Promise.resolve()),C=b({enter:[],leave:[]}),h=E((o,i,a)=>{p.current.splice(0),t&&(t.chains.current[i]=t.chains.current[i].filter(([s])=>s!==o)),t==null||t.chains.current[i].push([o,new Promise(s=>{p.current.push(s)})]),t==null||t.chains.current[i].push([o,new Promise(s=>{Promise.all(C.current[i].map(([r,f])=>f)).then(()=>s())})]),i===\"enter\"?c.current=c.current.then(()=>t==null?void 0:t.wait.current).then(()=>a(i)):a(i)}),g=E((o,i,a)=>{Promise.all(C.current[i].splice(0).map(([s,r])=>r)).then(()=>{var s;(s=p.current.shift())==null||s()}).then(()=>a(i))});return ie(()=>({children:l,register:y,unregister:d,onStart:h,onStop:g,wait:c,chains:C}),[y,d,l,h,g,C,c])}let de=O,fe=xe.RenderStrategy;function Ae(e,t){var ee,te;let{transition:n=!0,beforeEnter:l,afterEnter:S,beforeLeave:R,afterLeave:d,enter:y,enterFrom:p,enterTo:c,entered:C,leave:h,leaveFrom:g,leaveTo:o,...i}=e,[a,s]=V(null),r=b(null),f=ue(e),j=oe(...f?[r,t,s]:t===null?[]:[t]),H=(ee=i.unmount)==null||ee?P.Unmount:P.Hidden,{show:u,appear:z,initial:K}=De(),[v,G]=V(u?\"visible\":\"hidden\"),Q=He(),{register:A,unregister:I}=Q;D(()=>A(r),[A,r]),D(()=>{if(H===P.Hidden&&r.current){if(u&&v!==\"visible\"){G(\"visible\");return}return le(v,{[\"hidden\"]:()=>I(r),[\"visible\"]:()=>A(r)})}},[v,r,A,I,u,H]);let B=re();D(()=>{if(f&&B&&v===\"visible\"&&r.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[r,v,B,f]);let ce=K&&!z,Y=z&&u&&K,W=b(!1),L=Te(()=>{W.current||(G(\"hidden\"),I(r))},Q),Z=E(k=>{W.current=!0;let F=k?\"enter\":\"leave\";L.onStart(r,F,_=>{_===\"enter\"?l==null||l():_===\"leave\"&&(R==null||R())})}),$=E(k=>{let F=k?\"enter\":\"leave\";W.current=!1,L.onStop(r,F,_=>{_===\"enter\"?S==null||S():_===\"leave\"&&(d==null||d())}),F===\"leave\"&&!U(L)&&(G(\"hidden\"),I(r))});ge(()=>{f&&n||(Z(u),$(u))},[u,f,n]);let pe=(()=>!(!n||!f||!B||ce))(),[,T]=Re(pe,a,u,{start:Z,end:$}),Ce=Ne({ref:j,className:((te=Pe(i.className,Y&&y,Y&&p,T.enter&&y,T.enter&&T.closed&&p,T.enter&&!T.closed&&c,T.leave&&h,T.leave&&!T.closed&&g,T.leave&&T.closed&&o,!T.transition&&u&&C))==null?void 0:te.trim())||void 0,...Se(T)}),N=0;v===\"visible\"&&(N|=x.Open),v===\"hidden\"&&(N|=x.Closed),T.enter&&(N|=x.Opening),T.leave&&(N|=x.Closing);let he=ae();return m.createElement(M.Provider,{value:L},m.createElement(ye,{value:N},he({ourProps:Ce,theirProps:i,defaultTag:de,features:fe,visible:v===\"visible\",name:\"Transition.Child\"})))}function Ie(e,t){let{show:n,appear:l=!1,unmount:S=!0,...R}=e,d=b(null),y=ue(e),p=oe(...y?[d,t]:t===null?[]:[t]);re();let c=se();if(n===void 0&&c!==null&&(n=(c&x.Open)===x.Open),n===void 0)throw new Error(\"A <Transition /> is used but it is missing a `show={true | false}` prop.\");let[C,h]=V(n?\"visible\":\"hidden\"),g=Te(()=>{n||h(\"hidden\")}),[o,i]=V(!0),a=b([n]);D(()=>{o!==!1&&a.current[a.current.length-1]!==n&&(a.current.push(n),i(!1))},[a,n]);let s=ie(()=>({show:n,appear:l,initial:o}),[n,l,o]);D(()=>{n?h(\"visible\"):!U(g)&&d.current!==null&&h(\"hidden\")},[n,g]);let r={unmount:S},f=E(()=>{var u;o&&i(!1),(u=e.beforeEnter)==null||u.call(e)}),j=E(()=>{var u;o&&i(!1),(u=e.beforeLeave)==null||u.call(e)}),H=ae();return m.createElement(M.Provider,{value:g},m.createElement(w.Provider,{value:s},H({ourProps:{...r,as:O,children:m.createElement(me,{ref:p,...r,...R,beforeEnter:f,beforeLeave:j})},theirProps:{},defaultTag:O,features:fe,visible:C===\"visible\",name:\"Transition\"})))}function Le(e,t){let n=q(w)!==null,l=se()!==null;return m.createElement(m.Fragment,null,!n&&l?m.createElement(X,{ref:t,...e}):m.createElement(me,{ref:t,...e}))}let X=J(Ie),me=J(Ae),Fe=J(Le),ze=Object.assign(X,{Child:Fe,Root:X});export{ze as Transition,Fe as TransitionChild};\n","import{useEffect as s,useState as o}from\"react\";import{disposables as t}from'../utils/disposables.js';function p(){let[e]=o(t);return s(()=>()=>e.dispose(),[e]),e}export{p as useDisposables};\n","import{useEffect as d}from\"react\";import{useLatestValue as s}from'./use-latest-value.js';function E(n,e,a,t){let i=s(a);d(()=>{n=n!=null?n:window;function r(o){i.current(o)}return n.addEventListener(e,r,t),()=>n.removeEventListener(e,r,t)},[n,e,t])}export{E as useEventListener};\n","import a from\"react\";import{useLatestValue as n}from'./use-latest-value.js';let o=function(t){let e=n(t);return a.useCallback((...r)=>e.current(...r),[e])};export{o as useEvent};\n","import{useRef as r}from\"react\";import{useIsoMorphicEffect as t}from'./use-iso-morphic-effect.js';function f(){let e=r(!1);return t(()=>(e.current=!0,()=>{e.current=!1}),[]),e}export{f as useIsMounted};\n","class a extends Map{constructor(t){super();this.factory=t}get(t){let e=super.get(t);return e===void 0&&(e=this.factory(t),this.set(t,e)),e}}export{a as DefaultMap};\n","import{useId as n}from\"react\";import{DefaultMap as f}from'../utils/default-map.js';import{createStore as u}from'../utils/store.js';import{useIsoMorphicEffect as c}from'./use-iso-morphic-effect.js';import{useStore as l}from'./use-store.js';let p=new f(()=>u(()=>[],{ADD(r){return this.includes(r)?this:[...this,r]},REMOVE(r){let e=this.indexOf(r);if(e===-1)return this;let t=this.slice();return t.splice(e,1),t}}));function x(r,e){let t=p.get(e),i=n(),h=l(t);if(c(()=>{if(r)return t.dispatch(\"ADD\",i),()=>t.dispatch(\"REMOVE\",i)},[t,r]),!r)return!1;let s=h.indexOf(i),o=h.length;return s===-1&&(s=o,o+=1),s===o-1}export{x as useIsTopLayer};\n","import{useEffect as f,useLayoutEffect as c}from\"react\";import{env as i}from'../utils/env.js';let n=(e,t)=>{i.isServer?f(e,t):c(e,t)};export{n as useIsoMorphicEffect};\n","import{useRef as t}from\"react\";import{useIsoMorphicEffect as o}from'./use-iso-morphic-effect.js';function s(e){let r=t(e);return o(()=>{r.current=e},[e]),r}export{s as useLatestValue};\n","import{useEffect as o}from\"react\";import{disposables as u}from'../utils/disposables.js';import{useLatestValue as c}from'./use-latest-value.js';function m(s,n,l){let i=c(t=>{let e=t.getBoundingClientRect();e.x===0&&e.y===0&&e.width===0&&e.height===0&&l()});o(()=>{if(!s)return;let t=n===null?null:n instanceof HTMLElement?n:n.current;if(!t)return;let e=u();if(typeof ResizeObserver!=\"undefined\"){let r=new ResizeObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}if(typeof IntersectionObserver!=\"undefined\"){let r=new IntersectionObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}return()=>e.dispose()},[n,i,s])}export{m as useOnDisappear};\n","import{useEffect as u,useRef as n}from\"react\";import{microTask as o}from'../utils/micro-task.js';import{useEvent as f}from'./use-event.js';function c(t){let r=f(t),e=n(!1);u(()=>(e.current=!1,()=>{e.current=!0,o(()=>{e.current&&r()})}),[r])}export{c as useOnUnmount};\n","import{useEffect as c}from\"react\";import{useLatestValue as a}from'./use-latest-value.js';function i(t,e,o,n){let u=a(o);c(()=>{if(!t)return;function r(m){u.current(m)}return document.addEventListener(e,r,n),()=>document.removeEventListener(e,r,n)},[t,e,n])}export{i as useDocumentEvent};\n","import{useCallback as T,useRef as d}from\"react\";import{FocusableMode as y,isFocusableElement as M}from'../utils/focus-management.js';import{isMobile as g}from'../utils/platform.js';import{useDocumentEvent as c}from'./use-document-event.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useLatestValue as b}from'./use-latest-value.js';import{useWindowEvent as P}from'./use-window-event.js';const E=30;function R(p,f,C){let u=L(p,\"outside-click\"),m=b(C),s=T(function(e,n){if(e.defaultPrevented)return;let r=n(e);if(r===null||!r.getRootNode().contains(r)||!r.isConnected)return;let h=function l(o){return typeof o==\"function\"?l(o()):Array.isArray(o)||o instanceof Set?o:[o]}(f);for(let l of h)if(l!==null&&(l.contains(r)||e.composed&&e.composedPath().includes(l)))return;return!M(r,y.Loose)&&r.tabIndex!==-1&&e.preventDefault(),m.current(e,r)},[m,f]),i=d(null);c(u,\"pointerdown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"mousedown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"click\",t=>{g()||i.current&&(s(t,()=>i.current),i.current=null)},!0);let a=d({x:0,y:0});c(u,\"touchstart\",t=>{a.current.x=t.touches[0].clientX,a.current.y=t.touches[0].clientY},!0),c(u,\"touchend\",t=>{let e={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY};if(!(Math.abs(e.x-a.current.x)>=E||Math.abs(e.y-a.current.y)>=E))return s(t,()=>t.target instanceof HTMLElement?t.target:null)},!0),P(u,\"blur\",t=>s(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{R as useOutsideClick};\n","import{useMemo as t}from\"react\";import{getOwnerDocument as o}from'../utils/owner.js';function n(...e){return t(()=>o(...e),[...e])}export{n as useOwnerDocument};\n","import f,{createContext as M,useContext as d,useState as H}from\"react\";import{Hidden as E,HiddenFeatures as T}from'../internal/hidden.js';import{getOwnerDocument as L}from'../utils/owner.js';import{useEvent as s}from'./use-event.js';import{useOwnerDocument as h}from'./use-owner.js';function R({defaultContainers:l=[],portals:n,mainTreeNode:o}={}){let r=h(o),u=s(()=>{var i,c;let t=[];for(let e of l)e!==null&&(e instanceof HTMLElement?t.push(e):\"current\"in e&&e.current instanceof HTMLElement&&t.push(e.current));if(n!=null&&n.current)for(let e of n.current)t.push(e);for(let e of(i=r==null?void 0:r.querySelectorAll(\"html > *, body > *\"))!=null?i:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!==\"headlessui-portal-root\"&&(o&&(e.contains(o)||e.contains((c=o==null?void 0:o.getRootNode())==null?void 0:c.host))||t.some(m=>e.contains(m))||t.push(e));return t});return{resolveContainers:u,contains:s(t=>u().some(i=>i.contains(t)))}}let a=M(null);function O({children:l,node:n}){let[o,r]=H(null),u=b(n!=null?n:o);return f.createElement(a.Provider,{value:u},l,u===null&&f.createElement(E,{features:T.Hidden,ref:t=>{var i,c;if(t){for(let e of(c=(i=L(t))==null?void 0:i.querySelectorAll(\"html > *, body > *\"))!=null?c:[])if(e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e!=null&&e.contains(t)){r(e);break}}}}))}function b(l=null){var n;return(n=d(a))!=null?n:l}export{O as MainTreeProvider,b as useMainTreeNode,R as useRootContainers};\n","function d(){let r;return{before({doc:e}){var l;let o=e.documentElement,t=(l=e.defaultView)!=null?l:window;r=Math.max(0,t.innerWidth-o.clientWidth)},after({doc:e,d:o}){let t=e.documentElement,l=Math.max(0,t.clientWidth-t.offsetWidth),n=Math.max(0,r-l);o.style(t,\"paddingRight\",`${n}px`)}}}export{d as adjustScrollbarPadding};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function d(){return u()?{before({doc:r,d:n,meta:c}){function o(a){return c.containers.flatMap(l=>l()).some(l=>l.contains(a))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),n.add(()=>n.microTask(()=>t.dispose()))}let a=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(l=i)}catch{}},!0),n.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;n.style(e,\"overscrollBehavior\",\"contain\")}else n.style(t.target,\"touchAction\",\"none\")}),n.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName===\"INPUT\")return;if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),l&&l.isConnected&&(l.scrollIntoView({block:\"nearest\"}),l=null)})})}}:{}}export{d as handleIOSLocking};\n","function r(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{r as preventScroll};\n","import{useDocumentOverflowLockedEffect as l}from'./document-overflow/use-document-overflow.js';import{useIsTopLayer as m}from'./use-is-top-layer.js';function f(e,c,n=()=>[document.body]){let r=m(e,\"scroll-lock\");l(r,c,t=>{var o;return{containers:[...(o=t.containers)!=null?o:[],n]}})}export{f as useScrollLock};\n","import{useStore as s}from'../../hooks/use-store.js';import{useIsoMorphicEffect as u}from'../use-iso-morphic-effect.js';import{overflows as t}from'./overflow-store.js';function a(r,e,n=()=>({containers:[]})){let f=s(t),o=e?f.get(e):void 0,i=o?o.count>0:!1;return u(()=>{if(!(!e||!r))return t.dispatch(\"PUSH\",e,n),()=>t.dispatch(\"POP\",e,n)},[r,e]),i}export{a as useDocumentOverflowLockedEffect};\n","import*as t from\"react\";import{env as f}from'../utils/env.js';function s(){let r=typeof document==\"undefined\";return\"useSyncExternalStore\"in t?(o=>o.useSyncExternalStore)(t)(()=>()=>{},()=>!1,()=>!r):!1}function l(){let r=s(),[e,n]=t.useState(f.isHandoffComplete);return e&&f.isHandoffComplete===!1&&n(!1),t.useEffect(()=>{e!==!0&&n(!0)},[e]),t.useEffect(()=>f.handoff(),[]),r?!1:e}export{l as useServerHandoffComplete};\n","import{useSyncExternalStore as e}from\"react\";function o(t){return e(t.subscribe,t.getSnapshot,t.getSnapshot)}export{o as useStore};\n","import{useEffect as l,useRef as i}from\"react\";import{useEvent as r}from'./use-event.js';let u=Symbol();function T(t,n=!0){return Object.assign(t,{[u]:n})}function y(...t){let n=i(t);l(()=>{n.current=t},[t]);let c=r(e=>{for(let o of n.current)o!=null&&(typeof o==\"function\"?o(e):o.current=e)});return t.every(e=>e==null||(e==null?void 0:e[u]))?void 0:c}export{T as optionalRef,y as useSyncRefs};\n","import{useRef as o}from\"react\";import{useWindowEvent as t}from'./use-window-event.js';var a=(r=>(r[r.Forwards=0]=\"Forwards\",r[r.Backwards=1]=\"Backwards\",r))(a||{});function u(){let e=o(0);return t(!0,\"keydown\",r=>{r.key===\"Tab\"&&(e.current=r.shiftKey?1:0)},!0),e}export{a as Direction,u as useTabDirection};\n","var T,b;import{useRef as c,useState as S}from\"react\";import{disposables as m}from'../utils/disposables.js';import{useDisposables as g}from'./use-disposables.js';import{useFlags as y}from'./use-flags.js';import{useIsoMorphicEffect as A}from'./use-iso-morphic-effect.js';typeof process!=\"undefined\"&&typeof globalThis!=\"undefined\"&&typeof Element!=\"undefined\"&&((T=process==null?void 0:process.env)==null?void 0:T[\"NODE_ENV\"])===\"test\"&&typeof((b=Element==null?void 0:Element.prototype)==null?void 0:b.getAnimations)==\"undefined\"&&(Element.prototype.getAnimations=function(){return console.warn([\"Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.\",\"Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.\",\"\",\"Example usage:\",\"```js\",\"import { mockAnimationsApi } from 'jsdom-testing-mocks'\",\"mockAnimationsApi()\",\"```\"].join(`\n`)),[]});var L=(r=>(r[r.None=0]=\"None\",r[r.Closed=1]=\"Closed\",r[r.Enter=2]=\"Enter\",r[r.Leave=4]=\"Leave\",r))(L||{});function R(t){let n={};for(let e in t)t[e]===!0&&(n[`data-${e}`]=\"\");return n}function x(t,n,e,i){let[r,o]=S(e),{hasFlag:s,addFlag:a,removeFlag:l}=y(t&&r?3:0),u=c(!1),f=c(!1),E=g();return A(()=>{var d;if(t){if(e&&o(!0),!n){e&&a(3);return}return(d=i==null?void 0:i.start)==null||d.call(i,e),C(n,{inFlight:u,prepare(){f.current?f.current=!1:f.current=u.current,u.current=!0,!f.current&&(e?(a(3),l(4)):(a(4),l(2)))},run(){f.current?e?(l(3),a(4)):(l(4),a(3)):e?l(1):a(1)},done(){var p;f.current&&typeof n.getAnimations==\"function\"&&n.getAnimations().length>0||(u.current=!1,l(7),e||o(!1),(p=i==null?void 0:i.end)==null||p.call(i,e))}})}},[t,e,n,E]),t?[r,{closed:s(1),enter:s(2),leave:s(4),transition:s(2)||s(4)}]:[e,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function C(t,{prepare:n,run:e,done:i,inFlight:r}){let o=m();return j(t,{prepare:n,inFlight:r}),o.nextFrame(()=>{e(),o.requestAnimationFrame(()=>{o.add(M(t,i))})}),o.dispose}function M(t,n){var o,s;let e=m();if(!t)return e.dispose;let i=!1;e.add(()=>{i=!0});let r=(s=(o=t.getAnimations)==null?void 0:o.call(t).filter(a=>a instanceof CSSTransition))!=null?s:[];return r.length===0?(n(),e.dispose):(Promise.allSettled(r.map(a=>a.finished)).then(()=>{i||n()}),e.dispose)}function j(t,{inFlight:n,prepare:e}){if(n!=null&&n.current){e();return}let i=t.style.transition;t.style.transition=\"none\",e(),t.offsetHeight,t.style.transition=i}export{R as transitionDataAttributes,x as useTransition};\n","import{useCallback as r,useState as b}from\"react\";function c(u=0){let[t,l]=b(u),g=r(e=>l(e),[t]),s=r(e=>l(a=>a|e),[t]),m=r(e=>(t&e)===e,[t]),n=r(e=>l(a=>a&~e),[l]),F=r(e=>l(a=>a^e),[l]);return{flags:t,setFlag:g,addFlag:s,hasFlag:m,removeFlag:n,toggleFlag:F}}export{c as useFlags};\n","import{useEffect as a}from\"react\";import{useLatestValue as f}from'./use-latest-value.js';function s(t,e,o,n){let i=f(o);a(()=>{if(!t)return;function r(d){i.current(d)}return window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)},[t,e,n])}export{s as useWindowEvent};\n","\"use client\";import r,{createContext as n,useContext as i}from\"react\";let e=n(()=>{});function u(){return i(e)}function C({value:t,children:o}){return r.createElement(e.Provider,{value:t},o)}export{C as CloseProvider,u as useClose};\n","import{forwardRefWithAs as i,useRender as p}from'../utils/render.js';let a=\"span\";var s=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(s||{});function l(t,r){var n;let{features:d=1,...e}=t,o={ref:r,\"aria-hidden\":(d&2)===2?!0:(n=e[\"aria-hidden\"])!=null?n:void 0,hidden:(d&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(d&4)===4&&(d&2)!==2&&{display:\"none\"}}};return p()({ourProps:o,theirProps:e,slot:{},defaultTag:a,name:\"Hidden\"})}let f=i(l);export{f as Hidden,s as HiddenFeatures};\n","import r,{createContext as l,useContext as d}from\"react\";let n=l(null);n.displayName=\"OpenClosedContext\";var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function u(){return d(n)}function c({value:o,children:t}){return r.createElement(n.Provider,{value:o},t)}function s({children:o}){return r.createElement(n.Provider,{value:null},o)}export{c as OpenClosedProvider,s as ResetOpenClosedProvider,i as State,u as useOpenClosed};\n","import t,{createContext as r,useContext as c}from\"react\";let e=r(!1);function a(){return c(e)}function l(o){return t.createElement(e.Provider,{value:o.force},o.children)}export{l as ForcePortalRoot,a as usePortalRoot};\n","function t(...r){return Array.from(new Set(r.flatMap(n=>typeof n==\"string\"?n.split(\" \"):[]))).filter(Boolean).join(\" \")}export{t as classNames};\n","import{microTask as i}from'./micro-task.js';function o(){let n=[],r={addEventListener(e,t,s,a){return e.addEventListener(t,s,a),r.add(()=>e.removeEventListener(t,s,a))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return r.add(()=>cancelAnimationFrame(t))},nextFrame(...e){return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e))},setTimeout(...e){let t=setTimeout(...e);return r.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return i(()=>{t.current&&e[0]()}),r.add(()=>{t.current=!1})},style(e,t,s){let a=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add(()=>{Object.assign(e.style,{[t]:a})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return n.includes(e)||n.push(e),()=>{let t=n.indexOf(e);if(t>=0)for(let s of n.splice(t,1))s()}},dispose(){for(let e of n.splice(0))e()}};return r}export{o as disposables};\n","var i=Object.defineProperty;var d=(t,e,n)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var r=(t,e,n)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,n),n);class o{constructor(){r(this,\"current\",this.detect());r(this,\"handoffState\",\"pending\");r(this,\"currentId\",0)}set(e){this.current!==e&&(this.handoffState=\"pending\",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}}let s=new o;export{s as env};\n","import{disposables as N}from'./disposables.js';import{match as L}from'./match.js';import{getOwnerDocument as E}from'./owner.js';let f=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),p=[\"[data-autofocus]\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var F=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n[n.AutoFocus=64]=\"AutoFocus\",n))(F||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),y=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(y||{});function b(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(f)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}function S(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(p)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function A(e,r=0){var t;return e===((t=E(e))==null?void 0:t.body)?!1:L(r,{[0](){return e.matches(f)},[1](){let u=e;for(;u!==null;){if(u.matches(f))return!0;u=u.parentElement}return!1}})}function G(e){let r=E(e);N().nextFrame(()=>{r&&!A(r.activeElement,0)&&I(e)})}var H=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(H||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function I(e){e==null||e.focus({preventScroll:!0})}let w=[\"textarea\",\"input\"].join(\",\");function O(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,w))!=null?t:!1}function _(e,r=t=>t){return e.slice().sort((t,u)=>{let o=r(t),c=r(u);if(o===null||c===null)return 0;let l=o.compareDocumentPosition(c);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function j(e,r){return P(b(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:u=null,skipElements:o=[]}={}){let c=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,l=Array.isArray(e)?t?_(e):e:r&64?S(e):b(e);o.length>0&&l.length>1&&(l=l.filter(s=>!o.some(a=>a!=null&&\"current\"in a?(a==null?void 0:a.current)===s:a===s))),u=u!=null?u:c.activeElement;let n=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),x=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,l.indexOf(u))-1;if(r&4)return Math.max(0,l.indexOf(u))+1;if(r&8)return l.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),M=r&32?{preventScroll:!0}:{},m=0,d=l.length,i;do{if(m>=d||m+d<=0)return 0;let s=x+m;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}i=l[s],i==null||i.focus(M),m+=n}while(i!==c.activeElement);return r&6&&O(i)&&i.select(),2}export{F as Focus,T as FocusResult,h as FocusableMode,I as focusElement,j as focusFrom,P as focusIn,f as focusableSelector,S as getAutoFocusableElements,b as getFocusableElements,A as isFocusableElement,G as restoreFocusIfNecessary,_ as sortByDomNode};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","import{env as n}from'./env.js';function u(r){return n.isServer?null:r instanceof Node?r.ownerDocument:r!=null&&r.hasOwnProperty(\"current\")&&r.current instanceof Node?r.current.ownerDocument:document}export{u as getOwnerDocument};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{Fragment as b,cloneElement as E,createElement as j,forwardRef as v,isValidElement as S,useCallback as x,useRef as w}from\"react\";import{classNames as N}from'./class-names.js';import{match as k}from'./match.js';var M=(a=>(a[a.None=0]=\"None\",a[a.RenderStrategy=1]=\"RenderStrategy\",a[a.Static=2]=\"Static\",a))(M||{}),O=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(O||{});function D(){let r=C();return x(n=>A({mergeRefs:r,...n}),[r])}function A({ourProps:r,theirProps:n,slot:e,defaultTag:a,features:s,visible:t=!0,name:l,mergeRefs:i}){i=i!=null?i:U;let o=P(n,r);if(t)return R(o,e,a,l,i);let y=s!=null?s:0;if(y&2){let{static:f=!1,...u}=o;if(f)return R(u,e,a,l,i)}if(y&1){let{unmount:f=!0,...u}=o;return k(f?0:1,{[0](){return null},[1](){return R({...u,hidden:!0,style:{display:\"none\"}},e,a,l,i)}})}return R(o,e,a,l,i)}function R(r,n={},e,a,s){let{as:t=e,children:l,refName:i=\"ref\",...o}=h(r,[\"unmount\",\"static\"]),y=r.ref!==void 0?{[i]:r.ref}:{},f=typeof l==\"function\"?l(n):l;\"className\"in o&&o.className&&typeof o.className==\"function\"&&(o.className=o.className(n)),o[\"aria-labelledby\"]&&o[\"aria-labelledby\"]===o.id&&(o[\"aria-labelledby\"]=void 0);let u={};if(n){let d=!1,p=[];for(let[c,T]of Object.entries(n))typeof T==\"boolean\"&&(d=!0),T===!0&&p.push(c.replace(/([A-Z])/g,g=>`-${g.toLowerCase()}`));if(d){u[\"data-headlessui-state\"]=p.join(\" \");for(let c of p)u[`data-${c}`]=\"\"}}if(t===b&&(Object.keys(m(o)).length>0||Object.keys(m(u)).length>0))if(!S(f)||Array.isArray(f)&&f.length>1){if(Object.keys(m(o)).length>0)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${a} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(m(o)).concat(Object.keys(m(u))).map(d=>`  - ${d}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(d=>`  - ${d}`).join(`\n`)].join(`\n`))}else{let d=f.props,p=d==null?void 0:d.className,c=typeof p==\"function\"?(...F)=>N(p(...F),o.className):N(p,o.className),T=c?{className:c}:{},g=P(f.props,m(h(o,[\"ref\"])));for(let F in u)F in g&&delete u[F];return E(f,Object.assign({},g,u,y,{ref:s(f.ref,y.ref)},T))}return j(t,Object.assign({},h(o,[\"ref\"]),t!==b&&y,t!==b&&u),f)}function C(){let r=w([]),n=x(e=>{for(let a of r.current)a!=null&&(typeof a==\"function\"?a(e):a.current=e)},[]);return(...e)=>{if(!e.every(a=>a==null))return r.current=e,n}}function U(...r){return r.every(n=>n==null)?void 0:n=>{for(let e of r)e!=null&&(typeof e==\"function\"?e(n):e.current=n)}}function P(...r){var a;if(r.length===0)return{};if(r.length===1)return r[0];let n={},e={};for(let s of r)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):n[t]=s[t];if(n.disabled||n[\"aria-disabled\"])for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s)&&(e[s]=[t=>{var l;return(l=t==null?void 0:t.preventDefault)==null?void 0:l.call(t)}]);for(let s in e)Object.assign(n,{[s](t,...l){let i=e[s];for(let o of i){if((t instanceof Event||(t==null?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;o(t,...l)}}});return n}function W(...r){var a;if(r.length===0)return{};if(r.length===1)return r[0];let n={},e={};for(let s of r)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):n[t]=s[t];for(let s in e)Object.assign(n,{[s](...t){let l=e[s];for(let i of l)i==null||i(...t)}});return n}function L(r){var n;return Object.assign(v(r),{displayName:(n=r.displayName)!=null?n:r.name})}function m(r){let n=Object.assign({},r);for(let e in n)n[e]===void 0&&delete n[e];return n}function h(r,n=[]){let e=Object.assign({},r);for(let a of n)a in e&&delete e[a];return e}export{M as RenderFeatures,O as RenderStrategy,m as compact,L as forwardRefWithAs,W as mergeProps,D as useRender};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","import * as React from \"react\";\nfunction BuildingOffice2Icon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(BuildingOffice2Icon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChatBubbleBottomCenterTextIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 0 1 .865-.501 48.172 48.172 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChatBubbleBottomCenterTextIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CloudIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0 0-10.233 2.33A4.502 4.502 0 0 0 2.25 15Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CloudIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CpuChipIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M8.25 3v1.5M4.5 8.25H3m18 0h-1.5M4.5 12H3m18 0h-1.5m-15 3.75H3m18 0h-1.5M8.25 19.5V21M12 3v1.5m0 15V21m3.75-18v1.5m0 15V21m-9-1.5h10.5a2.25 2.25 0 0 0 2.25-2.25V6.75a2.25 2.25 0 0 0-2.25-2.25H6.75A2.25 2.25 0 0 0 4.5 6.75v10.5a2.25 2.25 0 0 0 2.25 2.25Zm.75-12h9v9h-9v-9Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CpuChipIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CubeIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CubeIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction GlobeAltIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(GlobeAltIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction HomeModernIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M8.25 21v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21m0 0h4.5V3.545M12.75 21h7.5V10.75M2.25 21h1.5m18 0h-18M2.25 9l4.5-1.636M18.75 3l-1.5.545m0 6.205 3 1m1.5.5-1.5-.5M6.75 7.364V3h-3v18m3-13.636 10.5-3.819\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(HomeModernIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ServerStackIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ServerStackIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction SignalIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"none\",\n    viewBox: \"0 0 24 24\",\n    strokeWidth: 1.5,\n    stroke: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    d: \"M9.348 14.652a3.75 3.75 0 0 1 0-5.304m5.304 0a3.75 3.75 0 0 1 0 5.304m-7.425 2.121a6.75 6.75 0 0 1 0-9.546m9.546 0a6.75 6.75 0 0 1 0 9.546M5.106 18.894c-3.808-3.807-3.808-9.98 0-13.788m13.788 0c3.808 3.807 3.808 9.98 0 13.788M12 12h.008v.008H12V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(SignalIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction UserGroupIcon({\n  title,\n  titleId,\n  ...props\n}, svgRef) {\n  return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    fill: \"currentColor\",\n    \"aria-hidden\": \"true\",\n    \"data-slot\": \"icon\",\n    ref: svgRef,\n    \"aria-labelledby\": titleId\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n    id: titleId\n  }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    d: \"M8.25 6.75a3.75 3.75 0 1 1 7.5 0 3.75 3.75 0 0 1-7.5 0ZM15.75 9.75a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM2.25 9.75a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM6.31 15.117A6.745 6.745 0 0 1 12 12a6.745 6.745 0 0 1 6.709 7.498.75.75 0 0 1-.372.568A12.696 12.696 0 0 1 12 21.75c-2.305 0-4.47-.612-6.337-1.684a.75.75 0 0 1-.372-.568 6.787 6.787 0 0 1 1.019-4.38Z\",\n    clipRule: \"evenodd\"\n  }), /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M5.082 14.254a8.287 8.287 0 0 0-1.308 5.135 9.687 9.687 0 0 1-1.764-.44l-.115-.04a.563.563 0 0 1-.373-.487l-.01-.121a3.75 3.75 0 0 1 3.57-4.047ZM20.226 19.389a8.287 8.287 0 0 0-1.308-5.135 3.75 3.75 0 0 1 3.57 4.047l-.01.121a.563.563 0 0 1-.373.486l-.115.04c-.567.2-1.156.349-1.764.441Z\"\n  }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(UserGroupIcon);\nexport default ForwardRef;"],"names":["f","Map","h","t","e","r","get","set","getAttribute","inert","setAttribute","m","i","delete","removeAttribute","allowed","disallowed","d","c","a","n","add","s","l","o","parentElement","body","p","children","some","E","contains","dispose","Error","captureStackTrace","displayName","_","id","register","slot","disabled","D","ref","props","ourProps","theirProps","defaultTag","name","H","Object","assign","u","current","entries","document","readyState","removeEventListener","window","addEventListener","target","HTMLElement","closest","unshift","filter","isConnected","splice","capture","Set","x","None","InitialFocus","TabLock","FocusLock","RestoreFocus","AutoFocus","initialFocus","initialFocusFallback","containers","features","ownerDocument","slice","find","w","activeElement","ee","container","First","console","warn","te","previousActiveElement","defaultView","I","preventDefault","stopPropagation","re","R","g","Forwards","skipElements","relatedTarget","Backwards","Last","v","N","F","k","onKeyDown","key","requestAnimationFrame","onBlur","dataset","headlessuiFocusGuard","Next","Previous","WrapAround","relativeTo","B","as","type","onFocus","Focusable","ye","Oe","Open","Closed","he","SetTitleId","Se","titleId","O","Ie","V","open","onClose","role","autoFocus","__demoMode","unmount","P","T","S","b","q","descriptionId","panelRef","z","Q","Z","resolveContainers","mainTreeNode","portals","defaultContainers","Closing","defaultPrevented","Escape","blur","length","join","indexOf","value","Provider","oe","dialogState","close","setTitleId","U","ne","tabIndex","matchMedia","matches","y","le","force","Me","Ge","visible","RenderStrategy","Static","$e","transition","hasOwnProperty","static","show","je","onClick","Ye","Panel","Title","Description","Space","Enter","Backspace","Delete","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End","PageUp","PageDown","Tab","$c87311424ea30a05$var$testUserAgent","_window_navigator_userAgentData","navigator","brands","brand","test","userAgent","$c87311424ea30a05$var$testPlatform","platform","$c87311424ea30a05$var$cached","fn","res","$c87311424ea30a05$export$9ac100e40613ea10","$c87311424ea30a05$export$186c6964ca17d99","$c87311424ea30a05$export$7bef049ce92e4224","maxTouchPoints","$c87311424ea30a05$export$fedb369cb70207f1","$c87311424ea30a05$export$6446a186d09e379e","$431fbd86ca7dc216$export$b204af158042fbac","el","_el_ownerDocument","$431fbd86ca7dc216$export$f21a1ffae260145a","$507fabe10e71c6fb$var$currentModality","$507fabe10e71c6fb$var$changeHandlers","$507fabe10e71c6fb$export$d90243b58daecda7","$507fabe10e71c6fb$var$hasEventBeforeFocus","$507fabe10e71c6fb$var$hasBlurredWindowRecently","$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS","$507fabe10e71c6fb$var$triggerChangeHandlers","modality","handler","$507fabe10e71c6fb$var$handleKeyboardEvent","metaKey","altKey","ctrlKey","$507fabe10e71c6fb$var$isValidKey","$507fabe10e71c6fb$var$handlePointerEvent","$507fabe10e71c6fb$var$handleClickEvent","event","mozInputSource","isTrusted","pointerType","buttons","detail","$507fabe10e71c6fb$var$handleFocusEvent","$507fabe10e71c6fb$var$handleWindowBlur","$507fabe10e71c6fb$var$setupGlobalFocusEvents","element","windowObject","documentObject","focus","prototype","apply","this","arguments","PointerEvent","$507fabe10e71c6fb$var$tearDownWindowFocusTracking","once","loadListener","has","$507fabe10e71c6fb$export$b9b3dfddab17db27","$507fabe10e71c6fb$export$2f1888112f558a7d","$507fabe10e71c6fb$var$nonTextInputTypes","$507fabe10e71c6fb$export$ec71b4b83ac08ec3","deps","opts","isTextInput","_e_target","IHTMLInputElement","HTMLInputElement","IHTMLTextAreaElement","HTMLTextAreaElement","IHTMLElement","IKeyboardEvent","KeyboardEvent","isContentEditable","$507fabe10e71c6fb$var$isKeyboardFocusEvent","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","useLayoutEffect","$8ae05eaa5c114e9c$export$7f54fc3180508a52","args","$8a9cb279dc87e130$export$905e7fc544a71f36","isDefaultPrevented","nativeEvent","isPropagationStopped","persist","constructor","currentTarget","bubbles","cancelable","eventPhase","timeStamp","$8a9cb279dc87e130$export$715c682d09d639cc","stateRef","isFocused","observer","state","disconnect","dispatchBlur","HTMLButtonElement","HTMLSelectElement","onBlurHandler","MutationObserver","_stateRef_current_observer","relatedTargetEl","dispatchEvent","FocusEvent","observe","attributes","attributeFilter","$a1ea59d68270f0dd$export$f8168d8dd8fd66e6","isDisabled","onFocusProp","onBlurProp","onFocusChange","onSyntheticFocus","focusProps","undefined","$9ab94262bd0047c7$export$420e68273165f4ec","onBlurWithin","onFocusWithin","onFocusWithinChange","isFocusWithin","focusWithinProps","$f7dceffc5ad7768b$export$4e328f61c538687f","within","isFocusVisible","setFocused","isFocusVisibleState","setFocusVisible","updateState","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","setTimeout","$6179b936705e76d3$var$handleGlobalPointerEvent","$6179b936705e76d3$var$setupGlobalTouchEvents","width","height","top","clientY","right","clientX","bottom","left","getBoundingClientRect","pressed","pressProps","onPointerDown","onPointerUp","ResizeObserver","getUserAgent","uaData","userAgentData","Array","isArray","map","_ref","version","SafeReact","useSafeInsertionEffect","useInsertionEffect","useEffectEvent","callback","_len","_key","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","index","useEffect","horizontalKeys","verticalKeys","serverHandoffComplete","count","genId","Math","random","toString","useId","setId","createPubSub","emit","data","_map$get","forEach","on","listener","off","_map$get2","FloatingNodeContext","FloatingTreeContext","useFloatingParentNodeId","_React$useContext","useFloatingTree","FOCUSABLE_ATTRIBUTE","useFloating","options","nodeId","internalRootContext","onOpenChange","onOpenChangeProp","elements","elementsProp","floatingId","dataRef","events","nested","positionReference","setPositionReference","reference","reason","openEvent","refs","floating","domReference","useFloatingRootContext","rootContext","computedElements","_domReference","setDomReference","_setPositionReference","domReferenceRef","tree","position","node","computedPositionReference","contextElement","setReference","context","floatingContext","nodesRef","ACTIVE_KEY","SELECTED_KEY","mergeProps","userProps","propsList","elementKey","isItem","domUserProps","__","validProps","propsOrGetProps","concat","reduce","acc","includes","push","val","getArgsWithCustomFloatingHeight","rects","inner","listRef","overflowRef","onFallbackChange","offset","innerOffset","minItemsVisible","referenceOverflowThreshold","scrollRef","detectOverflowOptions","item","scrollEl","clientTop","floatingIsBordered","scrollElIsBordered","floatingIsScrollEl","nextArgs","offsetTop","offsetHeight","overflow","scrollHeight","refOverflow","elementContext","diffY","nextY","maxHeight","clientHeight","style","scrollTop","shouldFallback","styles","setFloating","getReferenceProps","getFloatingProps","enabled","getComputedStyle","parseFloat","isNaN","parseInt","ceil","pe","to","gap","padding","ce","split","floatingStyles","placement","strategy","transform","middleware","mainAxis","crossAxis","W","scrollPaddingBottom","$","min","childElementCount","L","childNodes","max","availableWidth","availableHeight","maxWidth","Boolean","whileElementsMounted","G","anchor","K","onChange","unstable_onChange","controlledScrollingRef","prevScrollTopRef","initialOverflowRef","onWheel","dY","deltaY","isAtTop","isAtBottom","remainingScroll","sign","method","onPointerMove","onScroll","scrollDiff","X","referenceDeps","floatingDeps","itemDeps","getItemProps","Y","J","getPropertyValue","nextFrame","exec","trim","createElement","appendChild","setProperty","marginTop","removeChild","HTMLFieldSetElement","HTMLLegendElement","previousElementSibling","lt","at","TogglePopover","ClosePopover","SetButton","SetButtonId","SetPanel","SetPanelId","pt","popoverState","button","buttonId","panel","panelId","Ee","se","ue","ge","ie","ut","vt","C","mt","gt","beforePanelSentinel","afterPanelSentinel","afterButtonSentinel","querySelectorAll","Number","A","M","registerPopover","isFocusWithinPopoverGroup","call","Loose","isPortalled","St","closeOthers","Symbol","click","isHovered","hoverProps","onHoverStart","onHoverChange","onHoverEnd","setHovered","ignoreEmulatedMouseEvents","triggerHoverEnd","triggerHoverStart","onPointerEnter","onPointerLeave","onTouchStart","onMouseEnter","onMouseLeave","active","hover","autofocus","toLowerCase","tagName","hasAttribute","onKeyUp","onMouseDown","At","Ct","Rt","portal","modal","JSON","stringify","outerHTML","preventScroll","de","sorted","Bt","getElementById","unregisterPopover","lo","Button","Backdrop","Overlay","Group","isServer","Node","unregister","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","_e","Visible","Hidden","Te","findIndex","Unmount","microTask","Promise","resolve","chains","all","then","wait","shift","onStart","onStop","fe","appear","initial","beforeEnter","j","beforeLeave","me","afterEnter","afterLeave","entered","De","He","start","end","Ce","className","closed","Opening","Fe","ze","Child","Root","super","factory","ADD","REMOVE","dispatch","IntersectionObserver","getRootNode","composed","composedPath","touches","changedTouches","abs","HTMLIFrameElement","head","host","before","doc","documentElement","innerWidth","clientWidth","after","offsetWidth","PUSH","meta","POP","SCROLL_PREVENT","flatMap","scrollBehavior","scrollY","pageYOffset","hash","URL","href","querySelector","headlessuiPortal","scrollWidth","passive","scrollTo","scrollIntoView","block","SCROLL_ALLOW","TEARDOWN","subscribe","getSnapshot","values","useSyncExternalStore","isHandoffComplete","handoff","every","shiftKey","process","globalThis","Element","getAnimations","Leave","hasFlag","addFlag","removeFlag","flags","setFlag","toggleFlag","prepare","run","done","inFlight","CSSTransition","allSettled","finished","hidden","margin","clip","whiteSpace","borderWidth","display","from","cancelAnimationFrame","clearTimeout","group","defineProperty","enumerable","configurable","writable","detect","handoffState","currentId","reset","nextId","isClient","NoScroll","Overflow","Success","Underflow","sort","MAX_SAFE_INTEGER","Strict","Keyboard","Mouse","headlessuiFocusVisible","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","select","keys","queueMicrotask","catch","mergeRefs","refName","replace","startsWith","Event","BuildingOffice2Icon","title","svgRef","xmlns","fill","viewBox","strokeWidth","stroke","strokeLinecap","strokeLinejoin","ChatBubbleBottomCenterTextIcon","CloudIcon","CpuChipIcon","CubeIcon","GlobeAltIcon","HomeModernIcon","ServerStackIcon","SignalIcon","UserGroupIcon","fillRule","clipRule"],"sourceRoot":""}