{"version":3,"file":"5177.058be0a0.js","mappings":"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","sources":["webpack://ucn/./node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.module.js","webpack://ucn/./node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.module.js","webpack://ucn/./node_modules/@radix-ui/react-scroll-area/dist/index.module.js","webpack://ucn/./node_modules/@radix-ui/react-use-direction/dist/index.module.js","webpack://ucn/./node_modules/@radix-ui/number/dist/index.module.js","webpack://ucn/./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://ucn/./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://ucn/./node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","webpack://ucn/./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://ucn/./node_modules/@reach/portal/dist/reach-portal.esm.js","webpack://ucn/./node_modules/@reach/observe-rect/dist/observe-rect.esm.js","webpack://ucn/./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://ucn/./node_modules/@reach/rect/dist/reach-rect.esm.js","webpack://ucn/./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js","webpack://ucn/./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://ucn/./node_modules/@reach/popover/dist/reach-popover.esm.js","webpack://ucn/./node_modules/@reach/utils/context/dist/reach-utils-context.esm.js","webpack://ucn/./node_modules/@reach/utils/noop/dist/reach-utils-noop.esm.js","webpack://ucn/./node_modules/@reach/descendants/dist/reach-descendants.esm.js","webpack://ucn/./node_modules/@xstate/fsm/es/index.js","webpack://ucn/./node_modules/@reach/utils/is-right-click/dist/reach-utils-is-right-click.esm.js","webpack://ucn/./node_modules/@reach/utils/use-stable-callback/dist/reach-utils-use-stable-callback.esm.js","webpack://ucn/./node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","webpack://ucn/./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://ucn/./node_modules/@reach/utils/use-constant/dist/reach-utils-use-constant.esm.js","webpack://ucn/./node_modules/@reach/machine/dist/reach-machine.esm.js","webpack://ucn/./node_modules/@reach/listbox/dist/reach-listbox.esm.js","webpack://ucn/./node_modules/@reach/utils/use-stateful-ref-value/dist/reach-utils-use-stateful-ref-value.esm.js","webpack://ucn/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://ucn/./node_modules/prop-types/index.js","webpack://ucn/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://ucn/./node_modules/tabbable/index.js"],"sourcesContent":["import{useLayoutEffect as e}from\"@radix-ui/react-use-layout-effect\";import{useComposedRefs as n}from\"@radix-ui/react-compose-refs\";import*as t from\"react\";export const Presence=u=>{const{present:o,children:i}=u,s=function(n){const[u,o]=t.useState(),i=t.useRef({}),s=t.useRef(n),c=t.useRef(\"none\"),a=n?\"mounted\":\"unmounted\",[d,m]=function(e,n){return t.useReducer(((e,t)=>{const r=n[e][t];return null!=r?r:e}),e)}(a,{mounted:{UNMOUNT:\"unmounted\",ANIMATION_OUT:\"unmountSuspended\"},unmountSuspended:{MOUNT:\"mounted\",ANIMATION_END:\"unmounted\"},unmounted:{MOUNT:\"mounted\"}});return t.useEffect((()=>{const e=r(i.current);c.current=\"mounted\"===d?e:\"none\"}),[d]),e((()=>{const e=i.current,t=s.current;if(t!==n){const u=c.current,o=r(e);if(n)m(\"MOUNT\");else if(\"none\"===o||\"none\"===(null==e?void 0:e.display))m(\"UNMOUNT\");else{const e=u!==o;m(t&&e?\"ANIMATION_OUT\":\"UNMOUNT\")}s.current=n}}),[n,m]),e((()=>{if(u){const e=e=>{const n=r(i.current).includes(e.animationName);e.target===u&&n&&m(\"ANIMATION_END\")},n=e=>{e.target===u&&(c.current=r(i.current))};return u.addEventListener(\"animationstart\",n),u.addEventListener(\"animationcancel\",e),u.addEventListener(\"animationend\",e),()=>{u.removeEventListener(\"animationstart\",n),u.removeEventListener(\"animationcancel\",e),u.removeEventListener(\"animationend\",e)}}m(\"ANIMATION_END\")}),[u,m]),{isPresent:[\"mounted\",\"unmountSuspended\"].includes(d),ref:t.useCallback((e=>{e&&(i.current=getComputedStyle(e)),o(e)}),[])}}(o),c=\"function\"==typeof i?i({present:s.isPresent}):t.Children.only(i),a=n(s.ref,c.ref);return\"function\"==typeof i||s.isPresent?/*#__PURE__*/t.cloneElement(c,{ref:a}):null};function r(e){return(null==e?void 0:e.animationName)||\"none\"}Presence.displayName=\"Presence\";\n//# sourceMappingURL=index.module.js.map\n","import{Slot as e}from\"@radix-ui/react-slot\";import*as r from\"react\";import t from\"@babel/runtime/helpers/esm/extends\";export const Primitive=[\"a\",\"button\",\"div\",\"h2\",\"h3\",\"img\",\"li\",\"nav\",\"ol\",\"p\",\"span\",\"svg\",\"ul\"].reduce(((o,i)=>({...o,[i]:/*#__PURE__*/r.forwardRef(((o,m)=>{const{asChild:a,...s}=o,n=a?e:i;return r.useEffect((()=>{window[Symbol.for(\"radix-ui\")]=!0}),[]),/*#__PURE__*/r.createElement(n,t({},s,{ref:m}))}))})),{});export const Root=Primitive;\n//# sourceMappingURL=index.module.js.map\n","import{composeEventHandlers as e}from\"@radix-ui/primitive\";import{clamp as r}from\"@radix-ui/number\";import{useLayoutEffect as t}from\"@radix-ui/react-use-layout-effect\";import{useDirection as o}from\"@radix-ui/react-use-direction\";import{useCallbackRef as n}from\"@radix-ui/react-use-callback-ref\";import{useComposedRefs as l}from\"@radix-ui/react-compose-refs\";import{createContextScope as i}from\"@radix-ui/react-context\";import{Presence as a}from\"@radix-ui/react-presence\";import{Primitive as c}from\"@radix-ui/react-primitive\";import*as s from\"react\";import u from\"@babel/runtime/helpers/esm/extends\";const[d,p]=i(\"ScrollArea\");export{p as createScrollAreaScope};const[f,h]=d(\"ScrollArea\");export const ScrollArea=/*#__PURE__*/s.forwardRef(((e,r)=>{const{__scopeScrollArea:t,type:n=\"hover\",scrollHideDelay:i=600,...a}=e,[d,p]=s.useState(null),[h,m]=s.useState(null),[w,b]=s.useState(null),[v,S]=s.useState(null),[g,E]=s.useState(null),[C,T]=s.useState(0),[y,A]=s.useState(0),[x,R]=s.useState(!1),[P,L]=s.useState(!1),_=l(r,(e=>p(e))),D=o(d,a.dir);/*#__PURE__*/return s.createElement(f,{scope:t,type:n,dir:D,scrollHideDelay:i,scrollArea:d,viewport:h,onViewportChange:m,content:w,onContentChange:b,scrollbarX:v,onScrollbarXChange:S,scrollbarXEnabled:x,onScrollbarXEnabledChange:R,scrollbarY:g,onScrollbarYChange:E,scrollbarYEnabled:P,onScrollbarYEnabledChange:L,onCornerWidthChange:T,onCornerHeightChange:A},/*#__PURE__*/s.createElement(c.div,u({},a,{ref:_,style:{position:\"relative\",\"--radix-scroll-area-corner-width\":C+\"px\",\"--radix-scroll-area-corner-height\":y+\"px\",...e.style}})))}));/*#__PURE__*/export const ScrollAreaViewport=/*#__PURE__*/s.forwardRef(((e,r)=>{const{__scopeScrollArea:t,children:o,...n}=e,i=h(\"ScrollAreaViewport\",t),a=s.useRef(null),d=l(r,a,i.onViewportChange);/*#__PURE__*/return s.createElement(s.Fragment,null,/*#__PURE__*/s.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}\"}}),/*#__PURE__*/s.createElement(c.div,u({\"data-radix-scroll-area-viewport\":\"\"},n,{ref:d,style:{overflowX:i.scrollbarXEnabled?\"scroll\":\"hidden\",overflowY:i.scrollbarYEnabled?\"scroll\":\"hidden\",...e.style}}),/*#__PURE__*/s.createElement(\"div\",{ref:i.onContentChange,style:{minWidth:\"100%\",display:\"table\"}},o)))}));/*#__PURE__*/export const ScrollAreaScrollbar=/*#__PURE__*/s.forwardRef(((e,r)=>{const{forceMount:t,...o}=e,n=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:i}=n,a=\"horizontal\"===e.orientation;return s.useEffect((()=>(a?l(!0):i(!0),()=>{a?l(!1):i(!1)})),[a,l,i]),\"hover\"===n.type?/*#__PURE__*/s.createElement(m,u({},o,{ref:r,forceMount:t})):\"scroll\"===n.type?/*#__PURE__*/s.createElement(w,u({},o,{ref:r,forceMount:t})):\"auto\"===n.type?/*#__PURE__*/s.createElement(b,u({},o,{ref:r,forceMount:t})):\"always\"===n.type?/*#__PURE__*/s.createElement(v,u({},o,{ref:r})):null}));/*#__PURE__*/const m=/*#__PURE__*/s.forwardRef(((e,r)=>{const{forceMount:t,...o}=e,n=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),[l,i]=s.useState(!1);return s.useEffect((()=>{const e=n.scrollArea;let r=0;if(e){const t=()=>{window.clearTimeout(r),i(!0)},o=()=>{r=window.setTimeout((()=>i(!1)),n.scrollHideDelay)};return e.addEventListener(\"pointerenter\",t),e.addEventListener(\"pointerleave\",o),()=>{e.removeEventListener(\"pointerenter\",t),e.removeEventListener(\"pointerleave\",o)}}}),[n.scrollArea,n.scrollHideDelay]),/*#__PURE__*/s.createElement(a,{present:t||l},/*#__PURE__*/s.createElement(b,u({\"data-state\":l?\"visible\":\"hidden\"},o,{ref:r})))})),w=/*#__PURE__*/s.forwardRef(((r,t)=>{const{forceMount:o,...n}=r,l=h(\"ScrollAreaScrollbar\",r.__scopeScrollArea),i=\"horizontal\"===r.orientation,c=z((()=>p(\"SCROLL_END\")),100),[d,p]=(f=\"hidden\",m={hidden:{SCROLL:\"scrolling\"},scrolling:{SCROLL_END:\"idle\",POINTER_ENTER:\"interacting\"},interacting:{SCROLL:\"interacting\",POINTER_LEAVE:\"idle\"},idle:{HIDE:\"hidden\",SCROLL:\"scrolling\",POINTER_ENTER:\"interacting\"}},s.useReducer(((e,r)=>{const t=m[e][r];return null!=t?t:e}),f));var f,m;return s.useEffect((()=>{if(\"idle\"===d){const e=window.setTimeout((()=>p(\"HIDE\")),l.scrollHideDelay);return()=>window.clearTimeout(e)}}),[d,l.scrollHideDelay,p]),s.useEffect((()=>{const e=l.viewport,r=i?\"scrollLeft\":\"scrollTop\";if(e){let t=e[r];const o=()=>{const o=e[r];t!==o&&(p(\"SCROLL\"),c()),t=o};return e.addEventListener(\"scroll\",o),()=>e.removeEventListener(\"scroll\",o)}}),[l.viewport,i,p,c]),/*#__PURE__*/s.createElement(a,{present:o||\"hidden\"!==d},/*#__PURE__*/s.createElement(v,u({\"data-state\":\"hidden\"===d?\"hidden\":\"visible\"},n,{ref:t,onPointerEnter:e(r.onPointerEnter,(()=>p(\"POINTER_ENTER\"))),onPointerLeave:e(r.onPointerLeave,(()=>p(\"POINTER_LEAVE\")))})))})),b=/*#__PURE__*/s.forwardRef(((e,r)=>{const t=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),{forceMount:o,...n}=e,[l,i]=s.useState(!1),c=\"horizontal\"===e.orientation,d=z((()=>{if(t.viewport){const e=t.viewport.offsetWidth{const{orientation:t=\"vertical\",...o}=e,n=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),l=s.useRef(null),i=s.useRef(0),[a,c]=s.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=x(a.viewport,a.content),p={...o,sizes:a,onSizesChange:c,hasThumb:Boolean(d>0&&d<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function f(e,r){return function(e,r,t,o=\"ltr\"){const n=R(t),l=n/2,i=r||l,a=n-i,c=t.scrollbar.paddingStart+i,s=t.scrollbar.size-t.scrollbar.paddingEnd-a,u=t.content-t.viewport;return L([c,s],\"ltr\"===o?[0,u]:[-1*u,0])(e)}(e,i.current,a,r)}return\"horizontal\"===t?/*#__PURE__*/s.createElement(S,u({},p,{ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){const e=P(n.viewport.scrollLeft,a,n.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=f(e,n.dir))}})):\"vertical\"===t?/*#__PURE__*/s.createElement(g,u({},p,{ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){const e=P(n.viewport.scrollTop,a);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=f(e))}})):null})),S=/*#__PURE__*/s.forwardRef(((e,r)=>{const{sizes:t,onSizesChange:o,...n}=e,i=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),[a,c]=s.useState(),d=s.useRef(null),p=l(r,d,i.onScrollbarXChange);return s.useEffect((()=>{d.current&&c(getComputedStyle(d.current))}),[d]),/*#__PURE__*/s.createElement(T,u({\"data-orientation\":\"horizontal\"},n,{ref:p,sizes:t,style:{bottom:0,left:\"rtl\"===i.dir?\"var(--radix-scroll-area-corner-width)\":0,right:\"ltr\"===i.dir?\"var(--radix-scroll-area-corner-width)\":0,\"--radix-scroll-area-thumb-width\":R(t)+\"px\",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){const o=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(o),_(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&i.viewport&&a&&o({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:A(a.paddingLeft),paddingEnd:A(a.paddingRight)}})}}))})),g=/*#__PURE__*/s.forwardRef(((e,r)=>{const{sizes:t,onSizesChange:o,...n}=e,i=h(\"ScrollAreaScrollbar\",e.__scopeScrollArea),[a,c]=s.useState(),d=s.useRef(null),p=l(r,d,i.onScrollbarYChange);return s.useEffect((()=>{d.current&&c(getComputedStyle(d.current))}),[d]),/*#__PURE__*/s.createElement(T,u({\"data-orientation\":\"vertical\"},n,{ref:p,sizes:t,style:{top:0,right:\"ltr\"===i.dir?0:void 0,left:\"rtl\"===i.dir?0:void 0,bottom:\"var(--radix-scroll-area-corner-height)\",\"--radix-scroll-area-thumb-height\":R(t)+\"px\",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){const o=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(o),_(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&i.viewport&&a&&o({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:A(a.paddingTop),paddingEnd:A(a.paddingBottom)}})}}))})),[E,C]=d(\"ScrollAreaScrollbar\"),T=/*#__PURE__*/s.forwardRef(((r,t)=>{const{__scopeScrollArea:o,sizes:i,hasThumb:a,onThumbChange:d,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:m,onDragScroll:w,onWheelScroll:b,onResize:v,...S}=r,g=h(\"ScrollAreaScrollbar\",o),[C,T]=s.useState(null),y=l(t,(e=>T(e))),A=s.useRef(null),x=s.useRef(\"\"),R=g.viewport,P=i.content-i.viewport,L=n(b),_=n(m),D=z(v,10);function W(e){if(A.current){const r=e.clientX-A.current.left,t=e.clientY-A.current.top;w({x:r,y:t})}}return s.useEffect((()=>{const e=e=>{const r=e.target;(null==C?void 0:C.contains(r))&&L(e,P)};return document.addEventListener(\"wheel\",e,{passive:!1}),()=>document.removeEventListener(\"wheel\",e,{passive:!1})}),[R,C,P,L]),s.useEffect(_,[i,_]),H(C,D),H(g.content,D),/*#__PURE__*/s.createElement(E,{scope:o,scrollbar:C,hasThumb:a,onThumbChange:n(d),onThumbPointerUp:n(p),onThumbPositionChange:_,onThumbPointerDown:n(f)},/*#__PURE__*/s.createElement(c.div,u({},S,{ref:y,style:{position:\"absolute\",...S.style},onPointerDown:e(r.onPointerDown,(e=>{if(0===e.button){e.target.setPointerCapture(e.pointerId),A.current=C.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=\"none\",W(e)}})),onPointerMove:e(r.onPointerMove,W),onPointerUp:e(r.onPointerUp,(e=>{e.target.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=x.current,A.current=null}))})))}));export const ScrollAreaThumb=/*#__PURE__*/s.forwardRef(((r,t)=>{const{__scopeScrollArea:o,style:n,...i}=r,a=h(\"ScrollbarThumb\",o),d=C(\"ScrollbarThumb\",o),{onThumbPositionChange:p}=d,f=l(t,(e=>d.onThumbChange(e))),m=s.useRef(),w=z((()=>{m.current&&(m.current(),m.current=void 0)}),100);return s.useEffect((()=>{const e=a.viewport;if(e){const r=()=>{if(w(),!m.current){const r=D(e,p);m.current=r,p()}};return p(),e.addEventListener(\"scroll\",r),()=>e.removeEventListener(\"scroll\",r)}}),[a.viewport,w,p]),d.hasThumb?/*#__PURE__*/s.createElement(c.div,u({},i,{ref:f,style:{width:\"var(--radix-scroll-area-thumb-width)\",height:\"var(--radix-scroll-area-thumb-height)\",...n},onPointerDownCapture:e(r.onPointerDownCapture,(e=>{const r=e.target.getBoundingClientRect(),t=e.clientX-r.left,o=e.clientY-r.top;d.onThumbPointerDown({x:t,y:o})})),onPointerUp:e(r.onPointerUp,d.onThumbPointerUp)})):null}));/*#__PURE__*/export const ScrollAreaCorner=/*#__PURE__*/s.forwardRef(((e,r)=>{const t=h(\"ScrollAreaCorner\",e.__scopeScrollArea),o=Boolean(t.scrollbarX&&t.scrollbarY);return\"scroll\"!==t.type&&o?/*#__PURE__*/s.createElement(y,u({},e,{ref:r})):null}));/*#__PURE__*/const y=/*#__PURE__*/s.forwardRef(((e,r)=>{const{__scopeScrollArea:t,...o}=e,n=h(\"ScrollAreaCorner\",t),[l,i]=s.useState(0),[a,d]=s.useState(0),p=Boolean(l&&a);return H(n.scrollbarX,(()=>{var e;const r=(null===(e=n.scrollbarX)||void 0===e?void 0:e.offsetHeight)||0;n.onCornerHeightChange(r),d(r)})),H(n.scrollbarY,(()=>{var e;const r=(null===(e=n.scrollbarY)||void 0===e?void 0:e.offsetWidth)||0;n.onCornerWidthChange(r),i(r)})),p?/*#__PURE__*/s.createElement(c.div,u({},o,{ref:r,style:{width:l,height:a,position:\"absolute\",right:\"ltr\"===n.dir?0:void 0,left:\"rtl\"===n.dir?0:void 0,bottom:0,...e.style}})):null}));function A(e){return e?parseInt(e,10):0}function x(e,r){const t=e/r;return isNaN(t)?0:t}function R(e){const r=x(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-t)*r;return Math.max(o,18)}function P(e,t,o=\"ltr\"){const n=R(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-l,a=t.content-t.viewport,c=i-n,s=r(e,\"ltr\"===o?[0,a]:[-1*a,0]);return L([0,a],[0,c])(s)}function L(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];const o=(r[1]-r[0])/(e[1]-e[0]);return r[0]+o*(t-e[0])}}function _(e,r){return e>0&&e{}))=>{let t={left:e.scrollLeft,top:e.scrollTop},o=0;return function n(){const l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function z(e,r){const t=n(e),o=s.useRef(0);return s.useEffect((()=>()=>window.clearTimeout(o.current)),[]),s.useCallback((()=>{window.clearTimeout(o.current),o.current=window.setTimeout(t,r)}),[t,r])}function H(e,r){const o=n(r);t((()=>{let r=0;if(e){const t=new ResizeObserver((()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(o)}));return t.observe(e),()=>{window.cancelAnimationFrame(r),t.unobserve(e)}}}),[e,o])}export const Root=ScrollArea;export const Viewport=ScrollAreaViewport;export const Scrollbar=ScrollAreaScrollbar;export const Thumb=ScrollAreaThumb;export const Corner=ScrollAreaCorner;\n//# sourceMappingURL=index.module.js.map\n","import*as e from\"react\";export function useDirection(t,n){const[r,o]=e.useState(\"ltr\"),[i,u]=e.useState(),c=e.useRef(0);return e.useEffect((()=>{if(void 0===n&&null!=t&&t.parentElement){const e=getComputedStyle(t.parentElement);u(e)}}),[t,n]),e.useEffect((()=>(void 0===n&&function e(){c.current=requestAnimationFrame((()=>{const t=null==i?void 0:i.direction;t&&o(t),e()}))}(),()=>cancelAnimationFrame(c.current))),[i,n,o]),n||r}\n//# sourceMappingURL=index.module.js.map\n","export function clamp(t,[a,n]){return Math.min(n,Math.max(a,t))}\n//# sourceMappingURL=index.module.js.map\n","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\nexport { canUseDOM };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn't part of the initial render, we don't have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it'll make the first render slower (unlikely\n * to matter, but you're welcome to measure your app and let us know if\n * it's a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\nexport { useId };\n","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };\n","import { useRef, useEffect, createElement } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { createPortal } from 'react-dom';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"reach-portal\" : _ref$type,\n containerRef = _ref.containerRef;\n var mountNode = useRef(null);\n var portalNode = useRef(null);\n var forceUpdate = useForceUpdate();\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n if (containerRef != null) {\n process.env.NODE_ENV !== \"production\" ? warning(typeof containerRef === \"object\" && \"current\" in containerRef, \"@reach/portal: Invalid value passed to the `containerRef` of a \" + \"`Portal`. The portal will be appended to the document body, but if \" + \"you want to attach it to another DOM node you must pass a valid \" + \"React ref object to `containerRef`.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(containerRef ? containerRef.current != null : true, \"@reach/portal: A ref was passed to the `containerRef` prop of a \" + \"`Portal`, but no DOM node was attached to it. Be sure to pass the \" + \"ref to a DOM component.\\n\\nIf you are forwarding the ref from \" + \"another component, be sure to use the React.forwardRef API. \" + \"See https://reactjs.org/docs/forwarding-refs.html.\") : void 0;\n }\n }, [containerRef]);\n }\n\n useIsomorphicLayoutEffect(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It's possible that the content of the portal has, itself, been portaled.\n // In that case, it's important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n var body = (containerRef == null ? void 0 : containerRef.current) || ownerDocument.body;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && body) {\n body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate, containerRef]);\n return portalNode.current ? /*#__PURE__*/createPortal(children, portalNode.current) : /*#__PURE__*/createElement(\"span\", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Portal;\nexport { Portal };\n","var props = [\"bottom\", \"height\", \"left\", \"right\", \"top\", \"width\"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\nexport default observeRect;\n//# sourceMappingURL=observe-rect.esm.js.map\n","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\nexport { isBoolean, isFunction, isNumber, isString };\n","import { useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport observeRect from '@reach/observe-rect';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { isBoolean, isFunction } from '@reach/utils/type-check';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Rect.displayName = \"Rect\";\n Rect.propTypes = {\n children: PropTypes.func.isRequired,\n observe: PropTypes.bool,\n onChange: PropTypes.func\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isBoolean(observeOrOptions), \"Passing `observe` as the second argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `observe` property as the second argument (`useRect(ref, { observe })`).\\n\" + \"See https://reach.tech/rect#userect-observe\") : void 0;\n }, [observeOrOptions]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isFunction(deprecated_onChange), \"Passing `onChange` as the third argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `onChange` property as the second argument (`useRect(ref, { onChange })`).\\n\" + \"See https://reach.tech/rect#userect-onchange\") : void 0;\n }, [deprecated_onChange]);\n }\n\n var _React$useState = useState(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = useRef(false);\n var initialRefIsSet = useRef(false);\n\n var _React$useState2 = useState(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = useRef(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n useIsomorphicLayoutEffect(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n useIsomorphicLayoutEffect(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we'll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"You need to place the ref\");\n }\n\n return;\n }\n\n var observer = observeRect(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\nexport default Rect;\nexport { Rect, useRect };\n","import { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\nexport { getOwnerDocument, getOwnerWindow };\n","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\nexport { assignRef, useComposedRefs };\n","import { forwardRef, createElement, useRef, useEffect } from 'react';\nimport { Portal } from '@reach/portal';\nimport { useRect } from '@reach/rect';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport tabbable from 'tabbable';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar _excluded = [\"as\", \"targetRef\", \"position\", \"unstable_observableRefs\"];\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Popover\n */\nvar Popover = /*#__PURE__*/forwardRef(function Popover(props, ref) {\n return /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(PopoverImpl, _extends({\n ref: ref\n }, props)));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Popover.displayName = \"Popover\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * PopoverImpl\n *\n * Popover is conditionally rendered so we can't start measuring until it shows\n * up, so useRect needs to live down here not up in Popover\n */\n\n\nvar PopoverImpl = /*#__PURE__*/forwardRef(function PopoverImpl(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n targetRef = _ref.targetRef,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? positionDefault : _ref$position,\n _ref$unstable_observa = _ref.unstable_observableRefs,\n unstable_observableRefs = _ref$unstable_observa === void 0 ? [] : _ref$unstable_observa,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var popoverRef = useRef(null);\n var popoverRect = useRect(popoverRef, {\n observe: !props.hidden\n });\n var targetRect = useRect(targetRef, {\n observe: !props.hidden\n });\n var ref = useComposedRefs(popoverRef, forwardedRef);\n useSimulateTabNavigationForReactTree(targetRef, popoverRef);\n return /*#__PURE__*/createElement(Comp, _extends({\n \"data-reach-popover\": \"\",\n ref: ref\n }, props, {\n style: _extends({\n position: \"absolute\"\n }, getStyles.apply(void 0, [position, targetRect, popoverRect].concat(unstable_observableRefs)), props.style)\n }));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n PopoverImpl.displayName = \"PopoverImpl\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, targetRect, popoverRect) {\n for (var _len = arguments.length, unstable_observableRefs = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n unstable_observableRefs[_key - 3] = arguments[_key];\n }\n\n return popoverRect ? position.apply(void 0, [targetRect, popoverRect].concat(unstable_observableRefs.map(function (ref) {\n return ref.current;\n }))) : {\n visibility: \"hidden\"\n };\n}\n\nfunction getTopPosition(targetRect, popoverRect, isDirectionUp) {\n return {\n top: isDirectionUp ? targetRect.top - popoverRect.height + window.pageYOffset + \"px\" : targetRect.top + targetRect.height + window.pageYOffset + \"px\"\n };\n}\n\nvar positionDefault = function positionDefault(targetRect, popoverRect) {\n if (!targetRect || !popoverRect) {\n return {};\n }\n\n var _getCollisions = getCollisions(targetRect, popoverRect),\n directionRight = _getCollisions.directionRight,\n directionUp = _getCollisions.directionUp;\n\n return _extends({\n left: directionRight ? targetRect.right - popoverRect.width + window.pageXOffset + \"px\" : targetRect.left + window.pageXOffset + \"px\"\n }, getTopPosition(targetRect, popoverRect, directionUp));\n};\n\nvar positionRight = function positionRight(targetRect, popoverRect) {\n if (!targetRect || !popoverRect) {\n return {};\n }\n\n var _getCollisions2 = getCollisions(targetRect, popoverRect),\n directionLeft = _getCollisions2.directionLeft,\n directionUp = _getCollisions2.directionUp;\n\n return _extends({\n left: directionLeft ? targetRect.left + window.pageXOffset + \"px\" : targetRect.right - popoverRect.width + window.pageXOffset + \"px\"\n }, getTopPosition(targetRect, popoverRect, directionUp));\n};\n\nvar positionMatchWidth = function positionMatchWidth(targetRect, popoverRect) {\n if (!targetRect || !popoverRect) {\n return {};\n }\n\n var _getCollisions3 = getCollisions(targetRect, popoverRect),\n directionUp = _getCollisions3.directionUp;\n\n return _extends({\n width: targetRect.width,\n left: targetRect.left\n }, getTopPosition(targetRect, popoverRect, directionUp));\n};\n\nfunction getCollisions(targetRect, popoverRect, offsetLeft, offsetBottom) {\n if (offsetLeft === void 0) {\n offsetLeft = 0;\n }\n\n if (offsetBottom === void 0) {\n offsetBottom = 0;\n }\n\n var collisions = {\n top: targetRect.top - popoverRect.height < 0,\n right: window.innerWidth < targetRect.left + popoverRect.width - offsetLeft,\n bottom: window.innerHeight < targetRect.bottom + popoverRect.height - offsetBottom,\n left: targetRect.left + targetRect.width - popoverRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionLeft = collisions.left && !collisions.right;\n var directionUp = collisions.bottom && !collisions.top;\n var directionDown = collisions.top && !collisions.bottom;\n return {\n directionRight: directionRight,\n directionLeft: directionLeft,\n directionUp: directionUp,\n directionDown: directionDown\n };\n} // Heads up, my jQuery past haunts this function. This hook scopes the tab\n// order to the React element tree, instead of the DOM tree. This way, when the\n// user navigates with tab from the targetRef, the tab order moves into the\n// popup, and then out of the popup back to the rest of the document.\n// (We call targetRef, triggerRef inside this function to avoid confusion with\n// event.target)\n\n\nfunction useSimulateTabNavigationForReactTree(triggerRef, popoverRef) {\n var ownerDocument = getOwnerDocument(triggerRef.current);\n\n function handleKeyDown(event) {\n if (event.key === \"Tab\" && popoverRef.current && tabbable(popoverRef.current).length === 0) {\n return;\n }\n\n if (event.key === \"Tab\" && event.shiftKey) {\n if (shiftTabbedFromElementAfterTrigger(event)) {\n focusLastTabbableInPopover(event);\n } else if (shiftTabbedOutOfPopover(event)) {\n focusTriggerRef(event);\n } else if (shiftTabbedToBrowserChrome(event)) {\n disableTabbablesInPopover();\n }\n } else if (event.key === \"Tab\") {\n if (tabbedFromTriggerToPopover()) {\n focusFirstPopoverTabbable(event);\n } else if (tabbedOutOfPopover()) {\n focusTabbableAfterTrigger(event);\n } else if (tabbedToBrowserChrome(event)) {\n disableTabbablesInPopover();\n }\n }\n }\n\n useEffect(function () {\n ownerDocument.addEventListener(\"keydown\", handleKeyDown);\n return function () {\n ownerDocument.removeEventListener(\"keydown\", handleKeyDown);\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function getElementAfterTrigger() {\n var elements = tabbable(ownerDocument);\n var targetIndex = elements && triggerRef.current ? elements.indexOf(triggerRef.current) : -1;\n var elementAfterTrigger = elements && elements[targetIndex + 1];\n return popoverRef.current && popoverRef.current.contains(elementAfterTrigger || null) ? false : elementAfterTrigger;\n }\n\n function tabbedFromTriggerToPopover() {\n return triggerRef.current ? triggerRef.current === ownerDocument.activeElement : false;\n }\n\n function focusFirstPopoverTabbable(event) {\n var elements = popoverRef.current && tabbable(popoverRef.current);\n\n if (elements && elements[0]) {\n event.preventDefault();\n elements[0].focus();\n }\n }\n\n function tabbedOutOfPopover() {\n var inPopover = popoverRef.current ? popoverRef.current.contains(ownerDocument.activeElement || null) : false;\n\n if (inPopover) {\n var elements = popoverRef.current && tabbable(popoverRef.current);\n return Boolean(elements && elements[elements.length - 1] === ownerDocument.activeElement);\n }\n\n return false;\n }\n\n function focusTabbableAfterTrigger(event) {\n var elementAfterTrigger = getElementAfterTrigger();\n\n if (elementAfterTrigger) {\n event.preventDefault();\n elementAfterTrigger.focus();\n }\n }\n\n function shiftTabbedFromElementAfterTrigger(event) {\n if (!event.shiftKey) return;\n var elementAfterTrigger = getElementAfterTrigger();\n return event.target === elementAfterTrigger;\n }\n\n function focusLastTabbableInPopover(event) {\n var elements = popoverRef.current && tabbable(popoverRef.current);\n var last = elements && elements[elements.length - 1];\n\n if (last) {\n event.preventDefault();\n last.focus();\n }\n }\n\n function shiftTabbedOutOfPopover(event) {\n var elements = popoverRef.current && tabbable(popoverRef.current);\n\n if (elements) {\n return elements.length === 0 ? false : event.target === elements[0];\n }\n\n return false;\n }\n\n function focusTriggerRef(event) {\n var _triggerRef$current;\n\n event.preventDefault();\n (_triggerRef$current = triggerRef.current) == null ? void 0 : _triggerRef$current.focus();\n }\n\n function tabbedToBrowserChrome(event) {\n var elements = popoverRef.current ? tabbable(ownerDocument).filter(function (element) {\n return !popoverRef.current.contains(element);\n }) : null;\n return elements ? event.target === elements[elements.length - 1] : false;\n }\n\n function shiftTabbedToBrowserChrome(event) {\n // we're assuming the popover will never contain the first tabbable\n // element, and it better not, because the trigger needs to be tabbable!\n return event.target === tabbable(ownerDocument)[0];\n }\n\n var restoreTabIndexTuplés = [];\n\n function disableTabbablesInPopover() {\n var elements = popoverRef.current && tabbable(popoverRef.current);\n\n if (elements) {\n elements.forEach(function (element) {\n restoreTabIndexTuplés.push([element, element.tabIndex]);\n element.tabIndex = -1;\n });\n ownerDocument.addEventListener(\"focusin\", enableTabbablesInPopover);\n }\n }\n\n function enableTabbablesInPopover() {\n ownerDocument.removeEventListener(\"focusin\", enableTabbablesInPopover);\n restoreTabIndexTuplés.forEach(function (_ref2) {\n var element = _ref2[0],\n tabIndex = _ref2[1];\n element.tabIndex = tabIndex;\n });\n }\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Popover;\nexport { Popover, getCollisions, positionDefault, positionMatchWidth, positionRight };\n","import { createContext } from 'react';\n\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext(defaultValue);\n\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = name;\n }\n\n return Ctx;\n}\n\nexport { createNamedContext };\n","function noop() {}\n\nexport { noop };\n","import { useContext, useState, useCallback, createElement, useMemo } from 'react';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { createNamedContext } from '@reach/utils/context';\nimport { noop } from '@reach/utils/noop';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar _excluded = [\"element\", \"index\"];\n\nfunction createDescendantContext(name, initialValue) {\n if (initialValue === void 0) {\n initialValue = {};\n }\n\n var descendants = [];\n return createNamedContext(name, _extends({\n descendants: descendants,\n registerDescendant: noop,\n unregisterDescendant: noop\n }, initialValue));\n}\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\n\n\nfunction useDescendant(descendant, context, indexProp) {\n var forceUpdate = useForceUpdate();\n\n var _React$useContext = useContext(context),\n registerDescendant = _React$useContext.registerDescendant,\n unregisterDescendant = _React$useContext.unregisterDescendant,\n descendants = _React$useContext.descendants; // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants so that\n // everything is up-to-date before the user interacts with a collection.\n\n\n var index = indexProp != null ? indexProp : descendants.findIndex(function (item) {\n return item.element === descendant.element;\n }); // Prevent any flashing\n\n useIsomorphicLayoutEffect(function () {\n if (!descendant.element) forceUpdate();\n registerDescendant(_extends({}, descendant, {\n index: index\n }));\n return function () {\n unregisterDescendant(descendant.element);\n };\n }, [descendant, forceUpdate, index, registerDescendant, unregisterDescendant].concat(Object.values(descendant)));\n return index;\n}\n\nfunction useDescendantsInit() {\n return useState([]);\n}\n\nfunction useDescendants(ctx) {\n return useContext(ctx).descendants;\n}\n\nfunction DescendantProvider(_ref) {\n var Ctx = _ref.context,\n children = _ref.children,\n items = _ref.items,\n set = _ref.set;\n var registerDescendant = useCallback(function (_ref2) {\n var element = _ref2.element,\n explicitIndex = _ref2.index,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (!element) {\n return;\n }\n\n set(function (items) {\n var newItems;\n\n if (explicitIndex != null) {\n return [].concat(items, [_extends({}, rest, {\n element: element,\n index: explicitIndex\n })]).sort(function (a, b) {\n return a.index - b.index;\n });\n } else if (items.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [_extends({}, rest, {\n element: element,\n index: 0\n })];\n } else if (items.find(function (item) {\n return item.element === element;\n })) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n var index = items.findIndex(function (item) {\n if (!item.element || !element) {\n return false;\n } // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n\n\n return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);\n });\n\n var newItem = _extends({}, rest, {\n element: element,\n index: index\n }); // If an index is not found we will push the element to the end.\n\n\n if (index === -1) {\n newItems = [].concat(items, [newItem]);\n } else {\n newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));\n }\n }\n\n return newItems.map(function (item, index) {\n return _extends({}, item, {\n index: index\n });\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var unregisterDescendant = useCallback(function (element) {\n if (!element) {\n return;\n }\n\n set(function (items) {\n return items.filter(function (item) {\n return element !== item.element;\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: useMemo(function () {\n return {\n descendants: items,\n registerDescendant: registerDescendant,\n unregisterDescendant: unregisterDescendant\n };\n }, [items, registerDescendant, unregisterDescendant])\n }, children);\n}\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n * @param context\n * @param options\n */\n\n\nfunction useDescendantKeyDown(context, options) {\n var _React$useContext2 = useContext(context),\n descendants = _React$useContext2.descendants;\n\n var callback = options.callback,\n currentIndex = options.currentIndex,\n filter = options.filter,\n _options$key = options.key,\n key = _options$key === void 0 ? \"index\" : _options$key,\n _options$orientation = options.orientation,\n orientation = _options$orientation === void 0 ? \"vertical\" : _options$orientation,\n _options$rotate = options.rotate,\n rotate = _options$rotate === void 0 ? true : _options$rotate,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n return function handleKeyDown(event) {\n if (![\"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\", \"PageUp\", \"PageDown\", \"Home\", \"End\"].includes(event.key)) {\n return;\n }\n\n var index = currentIndex != null ? currentIndex : -1; // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n\n var selectableDescendants = filter ? descendants.filter(filter) : descendants; // We need some options for any of this to work!\n\n if (!selectableDescendants.length) {\n return;\n }\n\n var selectableIndex = selectableDescendants.findIndex(function (descendant) {\n return descendant.index === currentIndex;\n });\n\n function getNextOption() {\n var atBottom = index === getLastOption().index;\n return atBottom ? rotate ? getFirstOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n var atTop = index === getFirstOption().index;\n return atTop ? rotate ? getLastOption() : selectableDescendants[selectableIndex] : selectableDescendants[(selectableIndex - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var next = getNextOption();\n callback(key === \"option\" ? next : next[key]);\n }\n\n break;\n\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var prev = getPreviousOption();\n callback(key === \"option\" ? prev : prev[key]);\n }\n\n break;\n\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n\n break;\n\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n\n break;\n\n case \"PageUp\":\n event.preventDefault();\n var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n\n case \"Home\":\n event.preventDefault();\n var first = getFirstOption();\n callback(key === \"option\" ? first : first[key]);\n break;\n\n case \"PageDown\":\n event.preventDefault();\n var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n\n case \"End\":\n event.preventDefault();\n var last = getLastOption();\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { DescendantProvider, createDescendantContext, useDescendant, useDescendantKeyDown, useDescendants, useDescendantsInit };\n","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar t;!function(t){t[t.NotStarted=0]=\"NotStarted\",t[t.Running=1]=\"Running\",t[t.Stopped=2]=\"Stopped\"}(t||(t={}));var n={type:\"xstate.init\"};function e(t){return void 0===t?[]:[].concat(t)}function r(t){return{type:\"xstate.assign\",assignment:t}}function i(t,n){return\"string\"==typeof(t=\"string\"==typeof t&&n&&n[t]?n[t]:t)?{type:t}:\"function\"==typeof t?{type:t.name,exec:t}:t}function o(t){return function(n){return t===n}}function a(t){return\"string\"==typeof t?{type:t}:t}function u(t,n){return{value:t,context:n,actions:[],changed:!1,matches:o(t)}}function c(t,n){void 0===n&&(n={});var r={config:t,_options:n,initialState:{value:t.initial,actions:e(t.states[t.initial].entry).map((function(t){return i(t,n.actions)})),context:t.context,matches:o(t.initial)},transition:function(n,c){var s,f,l=\"string\"==typeof n?{value:n,context:t.context}:n,v=l.value,p=l.context,g=a(c),y=t.states[v];if(y.on){var d=e(y.on[g.type]),x=function(n){if(void 0===n)return{value:u(v,p)};var e=\"string\"==typeof n?{target:n}:n,a=e.target,c=void 0===a?v:a,s=e.actions,f=void 0===s?[]:s,l=e.cond,d=p;if((void 0===l?function(){return!0}:l)(p,g)){var x=t.states[c],m=!1,h=[].concat(y.exit,f,x.entry).filter((function(t){return t})).map((function(t){return i(t,r._options.actions)})).filter((function(t){if(\"xstate.assign\"===t.type){m=!0;var n=Object.assign({},d);return\"function\"==typeof t.assignment?n=t.assignment(d,g):Object.keys(t.assignment).forEach((function(e){n[e]=\"function\"==typeof t.assignment[e]?t.assignment[e](d,g):t.assignment[e]})),d=n,!1}return!0}));return{value:{value:c,context:d,actions:h,changed:c!==v||h.length>0||m,matches:o(c)}}}};try{for(var m=function(t){var n=\"function\"==typeof Symbol&&t[Symbol.iterator],e=0;return n?n.call(t):{next:function(){return t&&e>=t.length&&(t=void 0),{value:t&&t[e++],done:!t}}}}(d),h=m.next();!h.done;h=m.next()){var S=x(h.value);if(\"object\"==typeof S)return S.value}}catch(t){s={error:t}}finally{try{h&&!h.done&&(f=m.return)&&f.call(m)}finally{if(s)throw s.error}}}return u(v,p)}};return r}var s=function(t,n){return t.actions.forEach((function(e){var r=e.exec;return r&&r(t.context,n)}))};function f(e){var r=e.initialState,i=t.NotStarted,o=new Set,u={_machine:e,send:function(n){i===t.Running&&(r=e.transition(r,n),s(r,a(n)),o.forEach((function(t){return t(r)})))},subscribe:function(t){return o.add(t),t(r),{unsubscribe:function(){return o.delete(t)}}},start:function(){return i=t.Running,s(r,n),u},stop:function(){return i=t.Stopped,o.clear(),u},get state(){return r},get status(){return i}};return u}export{t as InterpreterStatus,r as assign,c as createMachine,f as interpret};\n","/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\nfunction isRightClick(nativeEvent) {\n return \"which\" in nativeEvent ? nativeEvent.which === 3 : \"button\" in nativeEvent ? nativeEvent.button === 2 : false;\n}\n\nexport { isRightClick };\n","import { useCallback, useRef, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '../../use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\nfunction createStableCallbackHook(useEffectHook, callback) {\n var callbackRef = useRef(callback);\n useEffectHook(function () {\n callbackRef.current = callback;\n }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n return useCallback(function () {\n callbackRef.current && callbackRef.current.apply(callbackRef, arguments);\n }, []);\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n */\n\n\nfunction useStableCallback(callback) {\n return createStableCallbackHook(useEffect, callback);\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when passed\n * as a dependency.\n *\n * Use this over `useStableCallback` when you want the callback to be cached in\n * `useLayoutEffect` instead of `useEffect` to deal with timing issues only when\n * needed.\n */\n\nfunction useStableLayoutCallback(callback) {\n return createStableCallbackHook(useIsomorphicLayoutEffect, callback);\n}\n\nexport { useStableCallback, useStableLayoutCallback };\n","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n\nexport { makeId };\n","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import { useRef } from 'react';\n\n/**\n * React hook for creating a value exactly once.\n * @see https://github.com/Andarist/use-constant\n */\n\nfunction useConstant(fn) {\n var ref = useRef();\n\n if (!ref.current) {\n ref.current = {\n v: fn()\n };\n }\n\n return ref.current.v;\n}\n\nexport { useConstant };\n","import { useRef, useState, useCallback, useEffect, useMemo } from 'react';\nimport { interpret, createMachine } from '@xstate/fsm';\nexport { InterpreterStatus, assign, createMachine, interpret } from '@xstate/fsm';\nimport { isString } from '@reach/utils/type-check';\nimport { useConstant } from '@reach/utils/use-constant';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar getServiceState = function getServiceState(service) {\n var currentValue;\n service.subscribe(function (state) {\n currentValue = state;\n }).unsubscribe();\n return currentValue;\n};\n/**\n * This `useMachine` works very similiarly to what you get from `@xstate/react`\n * with some additions.\n * - A second argument `refs` is passed to send all of our refs into our\n * machine's contextual data object.\n * - We wrap the `send` function so that refs are updated included in all of\n * our events so we can use their current value (generally DOM nodes)\n * anywhere in our actions.\n * - We initialize the machine inside the component rather than throwing an\n * error if an outside initializer creates a value that doesn't match. This\n * is useful as some components may need a different initial state or some\n * initial data based on props. We should *generally* just update the state\n * with an event via useEffect and depend on a static initial value, but this\n * is difficult if that initial value matters for SSR or to prevent some\n * layout jank before the first paint. I don't think there's a problem with\n * this approach, but we'll see what happens.\n *\n * @param initialMachine\n * @param refs\n */\n\n\nfunction useMachine(initialMachine, refs, DEBUG) {\n // State machine should not change between renders, so let's store it in a\n // ref. This should also help if we need to use a creator function to inject\n // dynamic initial state values based on props.\n var machineRef = useRef(initialMachine);\n var service = useConstant(function () {\n return interpret(machineRef.current).start();\n });\n var lastEventType = useRef(null);\n\n var _React$useState = useState(function () {\n return getServiceState(service);\n }),\n state = _React$useState[0],\n setState = _React$useState[1]; // This function reference will change on every render if we just pass on\n // current.matches, but it shouldn't change unless the current value is\n // updated. This was causing some lagginess when profiling in Listbox but\n // is probably an issue everywhere since the parent components that handle\n // state logic at the top might re-create context on each render as a\n // result of this change.\n // Add refs to every event so we can use them to perform actions.\n\n\n var send = useCallback(function (rawEvent) {\n var event = isString(rawEvent) ? {\n type: rawEvent\n } : rawEvent;\n var refValues = unwrapRefs(refs);\n service.send(_extends({}, event, {\n lastEventType: lastEventType.current,\n refs: refValues\n }));\n lastEventType.current = event.type;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (DEBUG) {\n console.group(\"Event Sent\");\n console.log(\"Event:\", event);\n console.groupEnd();\n }\n }\n }, // We can disable the lint warning here. Refs will always be refs\n // (TypeScript enforced!) and should not trigger a re-render. The state\n // machine service persist for the life of the component.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [DEBUG]);\n useEffect(function () {\n service.subscribe(function setStateIfChanged(newState) {\n if (newState.changed) {\n setState(newState);\n }\n });\n return function () {\n service.stop();\n };\n }, [service]);\n useEffect(function () {\n if (process.env.NODE_ENV !== \"production\") {\n if (DEBUG && state.changed) {\n console.group(\"State Updated\");\n console.log(\"State:\", state);\n console.groupEnd();\n }\n }\n }, [DEBUG, state]); // We are going to pass along our state without the actions to avoid excess\n // renders when the reference changes. We haven't really needed them at this\n // point, but if we do we can maybe reconsider this approach.\n\n var memoizedState = useMemo(function () {\n return _extends({}, state, {\n matches: function matches(value) {\n return value === state.value;\n }\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [state.changed, state.context, state.value]);\n return [memoizedState, send, service];\n}\n/**\n * Converts an object with React refs into an object with the same keys and\n * the current value of those refs.\n *\n * @param refs\n */\n\nfunction unwrapRefs(refs) {\n return Object.entries(refs).reduce(function (value, _ref) {\n var name = _ref[0],\n ref = _ref[1];\n value[name] = ref.current;\n return value;\n }, {});\n}\n/**\n * Most of the time you want to create a static state machine outside of your\n * component, but in some cases we may need data from props in the first render\n * cycle. We can create our machine in each component IF we only create it once\n * and guarantee that it never changes between renders.\n *\n * This hook can take a machine definition created by a function inline to use\n * values defined in the component, and we never change the machine for the\n * life of the component.\n *\n * @param machineDefinition\n * @param options\n */\n\nfunction useCreateMachine(machineDefinition, options) {\n return useConstant(function () {\n return createMachine(machineDefinition, options);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { unwrapRefs, useCreateMachine, useMachine };\n","import { forwardRef, useRef, useMemo, useEffect, createElement, Fragment, useContext, memo, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useId } from '@reach/auto-id';\nimport { Popover, positionMatchWidth } from '@reach/popover';\nimport { createDescendantContext, useDescendantsInit, DescendantProvider, useDescendant, useDescendants, useDescendantKeyDown } from '@reach/descendants';\nimport { isRightClick } from '@reach/utils/is-right-click';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useStableCallback } from '@reach/utils/use-stable-callback';\nimport { createNamedContext } from '@reach/utils/context';\nimport { isFunction, isBoolean, isString } from '@reach/utils/type-check';\nimport { makeId } from '@reach/utils/make-id';\nimport { useControlledSwitchWarning, useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { useStatefulRefValue } from '@reach/utils/use-stateful-ref-value';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { assign, useCreateMachine, useMachine } from '@reach/machine';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _commonEvents;\n////////////////////////////////////////////////////////////////////////////////\n// States\nvar ListboxStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (ListboxStates) {\n ListboxStates[\"Idle\"] = \"IDLE\";\n ListboxStates[\"Open\"] = \"OPEN\";\n ListboxStates[\"Navigating\"] = \"NAVIGATING\";\n ListboxStates[\"Dragging\"] = \"DRAGGING\";\n ListboxStates[\"Interacting\"] = \"INTERACTING\";\n})(ListboxStates || (ListboxStates = {}));\n\nvar ListboxEvents; ////////////////////////////////////////////////////////////////////////////////\n// Actions and conditions\n\n(function (ListboxEvents) {\n ListboxEvents[\"ButtonMouseDown\"] = \"BUTTON_MOUSE_DOWN\";\n ListboxEvents[\"ButtonMouseUp\"] = \"BUTTON_MOUSE_UP\";\n ListboxEvents[\"Blur\"] = \"BLUR\";\n ListboxEvents[\"ClearNavSelection\"] = \"CLEAR_NAV_SELECTION\";\n ListboxEvents[\"ClearTypeahead\"] = \"CLEAR_TYPEAHEAD\";\n ListboxEvents[\"GetDerivedData\"] = \"GET_DERIVED_DATA\";\n ListboxEvents[\"KeyDownEscape\"] = \"KEY_DOWN_ESCAPE\";\n ListboxEvents[\"KeyDownEnter\"] = \"KEY_DOWN_ENTER\";\n ListboxEvents[\"KeyDownSpace\"] = \"KEY_DOWN_SPACE\";\n ListboxEvents[\"KeyDownNavigate\"] = \"KEY_DOWN_NAVIGATE\";\n ListboxEvents[\"KeyDownSearch\"] = \"KEY_DOWN_SEARCH\";\n ListboxEvents[\"KeyDownTab\"] = \"KEY_DOWN_TAB\";\n ListboxEvents[\"KeyDownShiftTab\"] = \"KEY_DOWN_SHIFT_TAB\";\n ListboxEvents[\"OptionTouchStart\"] = \"OPTION_TOUCH_START\";\n ListboxEvents[\"OptionMouseMove\"] = \"OPTION_MOUSE_MOVE\";\n ListboxEvents[\"OptionMouseEnter\"] = \"OPTION_MOUSE_ENTER\";\n ListboxEvents[\"OptionMouseDown\"] = \"OPTION_MOUSE_DOWN\";\n ListboxEvents[\"OptionMouseUp\"] = \"OPTION_MOUSE_UP\";\n ListboxEvents[\"OptionClick\"] = \"OPTION_CLICK\";\n ListboxEvents[\"ListMouseUp\"] = \"LIST_MOUSE_UP\";\n ListboxEvents[\"OptionPress\"] = \"OPTION_PRESS\";\n ListboxEvents[\"OutsideMouseDown\"] = \"OUTSIDE_MOUSE_DOWN\";\n ListboxEvents[\"OutsideMouseUp\"] = \"OUTSIDE_MOUSE_UP\";\n ListboxEvents[\"ValueChange\"] = \"VALUE_CHANGE\";\n ListboxEvents[\"PopoverPointerDown\"] = \"POPOVER_POINTER_DOWN\";\n ListboxEvents[\"PopoverPointerUp\"] = \"POPOVER_POINTER_UP\";\n ListboxEvents[\"UpdateAfterTypeahead\"] = \"UPDATE_AFTER_TYPEAHEAD\";\n})(ListboxEvents || (ListboxEvents = {}));\n\nvar clearNavigationValue = /*#__PURE__*/assign({\n navigationValue: null\n});\nvar clearTypeahead = /*#__PURE__*/assign({\n typeaheadQuery: null\n});\nvar assignValue = /*#__PURE__*/assign({\n value: function value(_, event) {\n return event.value;\n }\n});\nvar navigate = /*#__PURE__*/assign({\n navigationValue: function navigationValue(data, event) {\n return event.value;\n }\n});\nvar navigateFromCurrentValue = /*#__PURE__*/assign({\n navigationValue: function navigationValue(data) {\n // Before we navigate based on the current value, we need to make sure the\n // current value is selectable. If not, we should instead navigate to the\n // first selectable option.\n var selected = findOptionFromValue(data.value, data.options);\n\n if (selected && !selected.disabled) {\n return data.value;\n } else {\n var _data$options$find;\n\n return ((_data$options$find = data.options.find(function (option) {\n return !option.disabled;\n })) == null ? void 0 : _data$options$find.value) || null;\n }\n }\n});\n\nfunction listboxLostFocus(data, event) {\n if (event.type === ListboxEvents.Blur) {\n var _event$refs = event.refs,\n list = _event$refs.list,\n popover = _event$refs.popover;\n var relatedTarget = event.relatedTarget;\n var ownerDocument = getOwnerDocument(popover);\n return !!((ownerDocument == null ? void 0 : ownerDocument.activeElement) !== list && popover && !popover.contains(relatedTarget || (ownerDocument == null ? void 0 : ownerDocument.activeElement)));\n }\n\n return false;\n}\n\nfunction clickedOutsideOfListbox(data, event) {\n if (event.type === ListboxEvents.OutsideMouseDown || event.type === ListboxEvents.OutsideMouseUp) {\n var _event$refs2 = event.refs,\n button = _event$refs2.button,\n popover = _event$refs2.popover;\n var relatedTarget = event.relatedTarget; // Close the popover IF:\n\n return !!( // clicked element is not the button\n relatedTarget !== button && // clicked element is not inside the button\n button && !button.contains(relatedTarget) && // clicked element is not inside the popover\n popover && !popover.contains(relatedTarget));\n }\n\n return false;\n}\n\nfunction optionIsActive(data, event) {\n return !!data.options.find(function (option) {\n return option.value === data.navigationValue;\n });\n}\n\nfunction shouldNavigate(data, event) {\n var _event$refs3 = event.refs,\n popover = _event$refs3.popover,\n list = _event$refs3.list;\n var relatedTarget = event.relatedTarget; // When a blur event happens, we want to move to Navigating state unless the\n // user is interacting with elements inside the popover...\n\n if (popover && relatedTarget && popover.contains(relatedTarget) && relatedTarget !== list) {\n return false;\n } // ...otherwise, just make sure the next option is selectable\n\n\n return optionIsActive(data);\n}\n\nfunction focusList(data, event) {\n requestAnimationFrame(function () {\n event.refs.list && event.refs.list.focus();\n });\n}\n\nfunction focusButton(data, event) {\n event.refs.button && event.refs.button.focus();\n}\n\nfunction listboxIsNotDisabled(data, event) {\n return !event.disabled;\n}\n\nfunction optionIsNavigable(data, event) {\n if (event.type === ListboxEvents.OptionTouchStart) {\n if (event && event.disabled) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction optionIsSelectable(data, event) {\n if (\"disabled\" in event && event.disabled) {\n return false;\n }\n\n if (\"value\" in event) {\n return event.value != null;\n }\n\n return data.navigationValue != null;\n}\n\nfunction selectOption(data, event) {\n event.callback && event.callback(event.value);\n}\n\nfunction submitForm(data, event) {\n if (event.type !== ListboxEvents.KeyDownEnter) {\n return;\n } // So this one is a little weird, but here's what we're doing.\n // When a user presses Enter in the context of a form, the form\n // should submit. Now I know you're probably thinking:\n //\n // \"Aha! I've got it!\"\n // > inputNode.form.submit()\n // ** cracks knuckles ** \"Phew. My work here is done.\"\n //\n // But alas, we are not so lucky. What's really happening when a\n // user presses enter in a normal form field is that the browser\n // looks at the form the input is in, then looks for the first\n // button or input in that form where its type property is `submit`,\n // then it triggers a click event on that button. COOL, CARRY ON.\n //\n // If we were to fire inputNode.form.submit(), this would bypass any\n // onSubmit handler in the form and just do what the browser\n // normally does when you submit a form and trigger a page refresh.\n // No bueno. So we do what the browser does and just go on a duck\n // hunt for the first submit button in the form and we click that\n // sucker.\n\n\n var hiddenInput = event.refs.hiddenInput;\n\n if (hiddenInput && hiddenInput.form) {\n var submitButton = hiddenInput.form.querySelector(\"button,[type='submit']\");\n submitButton && submitButton.click();\n }\n}\n\nvar setTypeahead = /*#__PURE__*/assign({\n typeaheadQuery: function typeaheadQuery(data, event) {\n return (data.typeaheadQuery || \"\") + event.query;\n }\n});\nvar setValueFromTypeahead = /*#__PURE__*/assign({\n value: function value(data, event) {\n if (event.type === ListboxEvents.UpdateAfterTypeahead && event.query) {\n var match = findOptionFromTypeahead(data.options, event.query);\n\n if (match && !match.disabled) {\n event.callback && event.callback(match.value);\n return match.value;\n }\n }\n\n return data.value;\n }\n});\nvar setNavSelectionFromTypeahead = /*#__PURE__*/assign({\n navigationValue: function navigationValue(data, event) {\n if (event.type === ListboxEvents.UpdateAfterTypeahead && event.query) {\n var match = findOptionFromTypeahead(data.options, event.query);\n\n if (match && !match.disabled) {\n return match.value;\n }\n }\n\n return data.navigationValue;\n }\n});\nvar commonEvents = (_commonEvents = {}, _commonEvents[ListboxEvents.GetDerivedData] = {\n actions: /*#__PURE__*/assign(function (ctx, event) {\n return _extends({}, ctx, event.data);\n })\n}, _commonEvents[ListboxEvents.ValueChange] = {\n actions: [assignValue, selectOption]\n}, _commonEvents); ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Initializer for our state machine.\n *\n * @param initial\n * @param props\n */\n\nvar createMachineDefinition = function createMachineDefinition(_ref) {\n var _extends2, _extends3, _extends4, _extends5, _extends6, _states;\n\n var value = _ref.value;\n return {\n id: \"listbox\",\n initial: ListboxStates.Idle,\n context: {\n value: value,\n options: [],\n navigationValue: null,\n typeaheadQuery: null\n },\n states: (_states = {}, _states[ListboxStates.Idle] = {\n on: _extends({}, commonEvents, (_extends2 = {}, _extends2[ListboxEvents.ButtonMouseDown] = {\n target: ListboxStates.Open,\n actions: [navigateFromCurrentValue],\n cond: listboxIsNotDisabled\n }, _extends2[ListboxEvents.KeyDownSpace] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, focusList],\n cond: listboxIsNotDisabled\n }, _extends2[ListboxEvents.KeyDownSearch] = {\n target: ListboxStates.Idle,\n actions: setTypeahead,\n cond: listboxIsNotDisabled\n }, _extends2[ListboxEvents.UpdateAfterTypeahead] = {\n target: ListboxStates.Idle,\n actions: [setValueFromTypeahead],\n cond: listboxIsNotDisabled\n }, _extends2[ListboxEvents.ClearTypeahead] = {\n target: ListboxStates.Idle,\n actions: clearTypeahead\n }, _extends2[ListboxEvents.KeyDownNavigate] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, clearTypeahead, focusList],\n cond: listboxIsNotDisabled\n }, _extends2[ListboxEvents.KeyDownEnter] = {\n actions: [submitForm],\n cond: listboxIsNotDisabled\n }, _extends2))\n }, _states[ListboxStates.Interacting] = {\n entry: [clearNavigationValue],\n on: _extends({}, commonEvents, (_extends3 = {}, _extends3[ListboxEvents.ClearNavSelection] = {\n actions: [clearNavigationValue, focusList]\n }, _extends3[ListboxEvents.KeyDownEnter] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends3[ListboxEvents.KeyDownSpace] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends3[ListboxEvents.ButtonMouseDown] = {\n target: ListboxStates.Idle,\n // When the user triggers a mouseDown event on the button, we call\n // event.preventDefault() because the browser will naturally send a\n // mouseup event and click, which will reopen the button (which we\n // don't want). As such, the click won't blur the open list or\n // re-focus the trigger, so we call `focusButton` to do that manually.\n // We could work around this with deferred transitions with xstate,\n // but @xstate/fsm currently doesn't support that feature and this\n // works good enough for the moment.\n actions: [focusButton]\n }, _extends3[ListboxEvents.KeyDownEscape] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends3[ListboxEvents.OptionMouseDown] = {\n target: ListboxStates.Dragging\n }, _extends3[ListboxEvents.OutsideMouseDown] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Dragging,\n actions: clearTypeahead,\n cond: optionIsActive\n }], _extends3[ListboxEvents.OutsideMouseUp] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends3[ListboxEvents.KeyDownEnter] = ListboxStates.Interacting, _extends3[ListboxEvents.Blur] = [{\n target: ListboxStates.Idle,\n cond: listboxLostFocus,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: shouldNavigate\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends3[ListboxEvents.OptionTouchStart] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends3[ListboxEvents.OptionClick] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends3[ListboxEvents.OptionPress] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends3[ListboxEvents.OptionMouseEnter] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends3[ListboxEvents.KeyDownNavigate] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead, focusList]\n }, _extends3))\n }, _states[ListboxStates.Open] = {\n on: _extends({}, commonEvents, (_extends4 = {}, _extends4[ListboxEvents.ClearNavSelection] = {\n actions: [clearNavigationValue]\n }, _extends4[ListboxEvents.KeyDownEnter] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends4[ListboxEvents.KeyDownSpace] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends4[ListboxEvents.ButtonMouseDown] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends4[ListboxEvents.KeyDownEscape] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends4[ListboxEvents.OptionMouseDown] = {\n target: ListboxStates.Dragging\n }, _extends4[ListboxEvents.OutsideMouseDown] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Dragging,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends4[ListboxEvents.OutsideMouseUp] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends4[ListboxEvents.Blur] = [{\n target: ListboxStates.Idle,\n cond: listboxLostFocus,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: shouldNavigate\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends4[ListboxEvents.ButtonMouseUp] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, focusList]\n }, _extends4[ListboxEvents.ListMouseUp] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, focusList]\n }, _extends4[ListboxEvents.OptionTouchStart] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends4[ListboxEvents.OptionClick] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends4[ListboxEvents.OptionPress] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends4[ListboxEvents.KeyDownNavigate] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead, focusList]\n }, _extends4[ListboxEvents.KeyDownSearch] = {\n target: ListboxStates.Navigating,\n actions: setTypeahead\n }, _extends4[ListboxEvents.UpdateAfterTypeahead] = {\n actions: [setNavSelectionFromTypeahead]\n }, _extends4[ListboxEvents.ClearTypeahead] = {\n actions: clearTypeahead\n }, _extends4[ListboxEvents.OptionMouseMove] = [{\n target: ListboxStates.Dragging,\n actions: [navigate],\n cond: optionIsNavigable\n }, {\n target: ListboxStates.Dragging\n }], _extends4))\n }, _states[ListboxStates.Dragging] = {\n on: _extends({}, commonEvents, (_extends5 = {}, _extends5[ListboxEvents.ClearNavSelection] = {\n actions: [clearNavigationValue]\n }, _extends5[ListboxEvents.KeyDownEnter] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends5[ListboxEvents.KeyDownSpace] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends5[ListboxEvents.ButtonMouseDown] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends5[ListboxEvents.KeyDownEscape] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends5[ListboxEvents.OptionMouseDown] = {\n target: ListboxStates.Dragging\n }, _extends5[ListboxEvents.OutsideMouseDown] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends5[ListboxEvents.OutsideMouseUp] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive,\n actions: focusList\n }, {\n target: ListboxStates.Interacting,\n actions: [clearTypeahead, focusList]\n }], _extends5[ListboxEvents.Blur] = [{\n target: ListboxStates.Idle,\n cond: listboxLostFocus,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: shouldNavigate\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends5[ListboxEvents.ButtonMouseUp] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, focusList]\n }, _extends5[ListboxEvents.OptionTouchStart] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends5[ListboxEvents.OptionClick] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends5[ListboxEvents.OptionPress] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends5[ListboxEvents.OptionMouseEnter] = {\n target: ListboxStates.Dragging,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends5[ListboxEvents.KeyDownNavigate] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead, focusList]\n }, _extends5[ListboxEvents.KeyDownSearch] = {\n target: ListboxStates.Navigating,\n actions: setTypeahead\n }, _extends5[ListboxEvents.UpdateAfterTypeahead] = {\n actions: [setNavSelectionFromTypeahead]\n }, _extends5[ListboxEvents.ClearTypeahead] = {\n actions: clearTypeahead\n }, _extends5[ListboxEvents.OptionMouseMove] = [{\n target: ListboxStates.Navigating,\n actions: [navigate],\n cond: optionIsNavigable\n }, {\n target: ListboxStates.Navigating\n }], _extends5[ListboxEvents.OptionMouseUp] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends5))\n }, _states[ListboxStates.Navigating] = {\n on: _extends({}, commonEvents, (_extends6 = {}, _extends6[ListboxEvents.ClearNavSelection] = {\n actions: [clearNavigationValue, focusList]\n }, _extends6[ListboxEvents.KeyDownEnter] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends6[ListboxEvents.KeyDownSpace] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends6[ListboxEvents.ButtonMouseDown] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends6[ListboxEvents.KeyDownEscape] = {\n target: ListboxStates.Idle,\n actions: [focusButton]\n }, _extends6[ListboxEvents.OptionMouseDown] = {\n target: ListboxStates.Dragging\n }, _extends6[ListboxEvents.OutsideMouseDown] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends6[ListboxEvents.OutsideMouseUp] = [{\n target: ListboxStates.Idle,\n cond: clickedOutsideOfListbox,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: optionIsActive\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends6[ListboxEvents.Blur] = [{\n target: ListboxStates.Idle,\n cond: listboxLostFocus,\n actions: clearTypeahead\n }, {\n target: ListboxStates.Navigating,\n cond: shouldNavigate\n }, {\n target: ListboxStates.Interacting,\n actions: clearTypeahead\n }], _extends6[ListboxEvents.ButtonMouseUp] = {\n target: ListboxStates.Navigating,\n actions: [navigateFromCurrentValue, focusList]\n }, _extends6[ListboxEvents.OptionTouchStart] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends6[ListboxEvents.OptionClick] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends6[ListboxEvents.OptionPress] = {\n target: ListboxStates.Idle,\n actions: [assignValue, clearTypeahead, focusButton, selectOption],\n cond: optionIsSelectable\n }, _extends6[ListboxEvents.OptionMouseEnter] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead],\n cond: optionIsNavigable\n }, _extends6[ListboxEvents.KeyDownNavigate] = {\n target: ListboxStates.Navigating,\n actions: [navigate, clearTypeahead, focusList]\n }, _extends6[ListboxEvents.KeyDownSearch] = {\n target: ListboxStates.Navigating,\n actions: setTypeahead\n }, _extends6[ListboxEvents.UpdateAfterTypeahead] = {\n actions: [setNavSelectionFromTypeahead]\n }, _extends6[ListboxEvents.ClearTypeahead] = {\n actions: clearTypeahead\n }, _extends6[ListboxEvents.OptionMouseMove] = [{\n target: ListboxStates.Navigating,\n actions: [navigate],\n cond: optionIsNavigable\n }, {\n target: ListboxStates.Navigating\n }], _extends6))\n }, _states)\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n\nfunction findOptionFromTypeahead(options, string) {\n if (string === void 0) {\n string = \"\";\n }\n\n if (!string) return null;\n var found = options.find(function (option) {\n return !option.disabled && option.label && option.label.toLowerCase().startsWith(string.toLowerCase());\n });\n return found || null;\n}\n\nfunction findOptionFromValue(value, options) {\n return value ? options.find(function (option) {\n return option.value === value;\n }) : undefined;\n} ////////////////////////////////////////////////////////////////////////////////\n// Types\n\n/**\n * Shared partial interface for all of our event objects.\n */\n\nvar _excluded = [\"as\", \"aria-labelledby\", \"aria-label\", \"children\", \"defaultValue\", \"disabled\", \"form\", \"name\", \"onChange\", \"required\", \"value\", \"__componentName\"],\n _excluded2 = [\"arrow\", \"button\", \"children\", \"portal\"],\n _excluded3 = [\"aria-label\", \"arrow\", \"as\", \"children\", \"onKeyDown\", \"onMouseDown\", \"onMouseUp\"],\n _excluded4 = [\"as\", \"children\"],\n _excluded5 = [\"as\", \"position\", \"onBlur\", \"onKeyDown\", \"onMouseUp\", \"portal\", \"unstable_observableRefs\"],\n _excluded6 = [\"as\"],\n _excluded7 = [\"as\", \"children\", \"disabled\", \"index\", \"label\", \"onClick\", \"onMouseDown\", \"onMouseEnter\", \"onMouseLeave\", \"onMouseMove\", \"onMouseUp\", \"onTouchStart\", \"value\"],\n _excluded8 = [\"as\", \"label\", \"children\"],\n _excluded9 = [\"as\"];\nvar DEBUG = false; ////////////////////////////////////////////////////////////////////////////////\n// ListboxContext\n\nvar ListboxDescendantContext = /*#__PURE__*/createDescendantContext(\"ListboxDescendantContext\");\nvar ListboxContext = /*#__PURE__*/createNamedContext(\"ListboxContext\", {});\nvar ListboxGroupContext = /*#__PURE__*/createNamedContext(\"ListboxGroupContext\", {}); ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxInput\n *\n * The top-level component and context provider for the listbox.\n *\n * @see Docs https://reach.tech/listbox#listboxinput\n */\n\nvar ListboxInput = /*#__PURE__*/forwardRef(function ListboxInput(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n ariaLabelledBy = _ref[\"aria-labelledby\"],\n ariaLabel = _ref[\"aria-label\"],\n children = _ref.children,\n defaultValue = _ref.defaultValue,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n form = _ref.form,\n name = _ref.name,\n onChange = _ref.onChange,\n required = _ref.required,\n valueProp = _ref.value,\n _ref$__componentName = _ref.__componentName,\n __componentName = _ref$__componentName === void 0 ? \"ListboxInput\" : _ref$__componentName,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var isControlled = useRef(valueProp != null);\n\n var _useDescendantsInit = useDescendantsInit(),\n options = _useDescendantsInit[0],\n setOptions = _useDescendantsInit[1]; // DOM refs\n\n\n var buttonRef = useRef(null);\n var hiddenInputRef = useRef(null);\n var highlightedOptionRef = useRef(null);\n var inputRef = useRef(null);\n var listRef = useRef(null);\n var popoverRef = useRef(null);\n var selectedOptionRef = useRef(null);\n var machine = useCreateMachine(createMachineDefinition({\n // The initial value of our machine should come from the `value` or\n // `defaultValue` props if they exist.\n value: (isControlled.current ? valueProp : defaultValue) || null\n }));\n\n var _useMachine = useMachine(machine, {\n button: buttonRef,\n hiddenInput: hiddenInputRef,\n highlightedOption: highlightedOptionRef,\n input: inputRef,\n list: listRef,\n popover: popoverRef,\n selectedOption: selectedOptionRef\n }, DEBUG),\n state = _useMachine[0],\n send = _useMachine[1];\n\n function handleValueChange(newValue) {\n if (newValue !== state.context.value) {\n onChange == null ? void 0 : onChange(newValue);\n }\n } // IDs for aria attributes\n\n\n var _id = useId(props.id);\n\n var id = props.id || makeId(\"listbox-input\", _id);\n var ref = useComposedRefs(inputRef, forwardedRef); // If the button has children, we just render them as the label.\n // Otherwise we'll find the option with a value that matches the listbox value\n // and use its label in the button. We'll get that here and send it to the\n // button via context.\n // If a user needs the label for SSR to prevent hydration mismatch issues,\n // they need to control the state of the component and pass a label directly\n // to the button.\n\n var valueLabel = useMemo(function () {\n var selected = options.find(function (option) {\n return option.value === state.context.value;\n });\n return selected ? selected.label : null;\n }, [options, state.context.value]);\n var isExpanded = isListboxExpanded(state.value);\n var context = {\n ariaLabel: ariaLabel,\n ariaLabelledBy: ariaLabelledBy,\n buttonRef: buttonRef,\n disabled: disabled,\n highlightedOptionRef: highlightedOptionRef,\n isExpanded: isExpanded,\n listboxId: id,\n listboxValueLabel: valueLabel,\n listRef: listRef,\n onValueChange: handleValueChange,\n popoverRef: popoverRef,\n selectedOptionRef: selectedOptionRef,\n send: send,\n state: state.value,\n stateData: state.context\n }; // For uncontrolled listbox components where no `defaultValue` is provided, we\n // will update the value based on the value of the first selectable option.\n // We call the update directly because:\n // A) we only ever need to do this once, so we can guard with a ref\n // B) useLayoutEffect races useDecendant, so we might not have options yet\n // C) useEffect will cause a flash\n\n var mounted = useRef(false);\n\n if (!isControlled.current && // the app is not controlling state\n defaultValue == null && // there is no default value\n !mounted.current && // we haven't done this already\n options.length // we have some options\n ) {\n mounted.current = true;\n var first = options.find(function (option) {\n return !option.disabled;\n });\n\n if (first && first.value) {\n send({\n type: ListboxEvents.ValueChange,\n value: first.value\n });\n }\n }\n\n useControlledSwitchWarning(valueProp, \"value\", __componentName); // Even if the app controls state, we still need to update it internally to\n // run the state machine transitions\n\n useControlledStateSync(valueProp, state.context.value, function () {\n send({\n type: ListboxEvents.ValueChange,\n value: valueProp\n });\n });\n useIsomorphicLayoutEffect(function () {\n send({\n type: ListboxEvents.GetDerivedData,\n data: {\n options: options\n }\n });\n }, [options, send]);\n useEffect(function () {\n function handleMouseDown(event) {\n var target = event.target,\n relatedTarget = event.relatedTarget;\n\n if (!popoverContainsEventTarget(popoverRef.current, target)) {\n send({\n type: ListboxEvents.OutsideMouseDown,\n relatedTarget: relatedTarget || target\n });\n }\n }\n\n if (isExpanded) {\n window.addEventListener(\"mousedown\", handleMouseDown);\n }\n\n return function () {\n window.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [send, isExpanded]);\n useEffect(function () {\n function handleMouseUp(event) {\n var target = event.target,\n relatedTarget = event.relatedTarget;\n\n if (!popoverContainsEventTarget(popoverRef.current, target)) {\n send({\n type: ListboxEvents.OutsideMouseUp,\n relatedTarget: relatedTarget || target\n });\n }\n }\n\n if (isExpanded) {\n window.addEventListener(\"mouseup\", handleMouseUp);\n }\n\n return function () {\n window.removeEventListener(\"mouseup\", handleMouseUp);\n };\n }, [send, isExpanded]);\n useCheckStyles(\"listbox\");\n return /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-listbox-input\": \"\",\n \"data-state\": isExpanded ? \"expanded\" : \"closed\",\n \"data-value\": state.context.value,\n id: id\n }), /*#__PURE__*/createElement(ListboxContext.Provider, {\n value: context\n }, /*#__PURE__*/createElement(DescendantProvider, {\n context: ListboxDescendantContext,\n items: options,\n set: setOptions\n }, isFunction(children) ? children({\n id: id,\n isExpanded: isExpanded,\n value: state.context.value,\n selectedOptionRef: selectedOptionRef,\n highlightedOptionRef: highlightedOptionRef,\n valueLabel: valueLabel,\n // TODO: Remove in 1.0\n expanded: isExpanded\n }) : children, (form || name || required) && /*#__PURE__*/createElement(\"input\", {\n ref: hiddenInputRef,\n \"data-reach-listbox-hidden-input\": \"\",\n disabled: disabled,\n form: form,\n name: name,\n readOnly: true,\n required: required,\n tabIndex: -1,\n type: \"hidden\",\n value: state.context.value || \"\"\n }))));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxInput.displayName = \"ListboxInput\";\n ListboxInput.propTypes = {\n children: /*#__PURE__*/PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n defaultValue: PropTypes.string,\n disabled: PropTypes.bool,\n form: PropTypes.string,\n name: PropTypes.string,\n onChange: PropTypes.func,\n required: PropTypes.bool,\n value: PropTypes.string\n };\n}\n/**\n * @see Docs https://reach.tech/listbox#listboxinput-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Listbox\n *\n * High-level listbox API\n *\n * @example\n * \n * Option 1\n * Option 2\n * Option 3\n * \n *\n * @see Docs https://reach.tech/listbox#listbox-1\n */\nvar Listbox = /*#__PURE__*/forwardRef(function Listbox(_ref2, forwardedRef) {\n var _ref2$arrow = _ref2.arrow,\n arrow = _ref2$arrow === void 0 ? \"▼\" : _ref2$arrow,\n button = _ref2.button,\n children = _ref2.children,\n _ref2$portal = _ref2.portal,\n portal = _ref2$portal === void 0 ? true : _ref2$portal,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n return /*#__PURE__*/createElement(ListboxInput, _extends({}, props, {\n __componentName: \"Listbox\",\n ref: forwardedRef\n }), function (_ref3) {\n var value = _ref3.value,\n valueLabel = _ref3.valueLabel;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(ListboxButton, {\n arrow: arrow,\n children: button ? isFunction(button) ? button({\n value: value,\n label: valueLabel\n }) : button : undefined\n }), /*#__PURE__*/createElement(ListboxPopover, {\n portal: portal\n }, /*#__PURE__*/createElement(ListboxList, null, children)));\n });\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Listbox.displayName = \"Listbox\";\n Listbox.propTypes = /*#__PURE__*/_extends({}, ListboxInput.propTypes, {\n arrow: /*#__PURE__*/PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n button: /*#__PURE__*/PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n children: PropTypes.node\n });\n}\n/**\n * @see Docs https://reach.tech/listbox#listbox-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxButton\n *\n * The interactive toggle button that triggers the popover for the listbox.\n *\n * @see Docs https://reach.tech/listbox#listbox-button\n */\nvar ListboxButtonImpl = /*#__PURE__*/forwardRef(function ListboxButton(_ref4, forwardedRef) {\n var ariaLabel = _ref4[\"aria-label\"],\n _ref4$arrow = _ref4.arrow,\n arrow = _ref4$arrow === void 0 ? false : _ref4$arrow,\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"span\" : _ref4$as,\n children = _ref4.children,\n onKeyDown = _ref4.onKeyDown,\n onMouseDown = _ref4.onMouseDown,\n onMouseUp = _ref4.onMouseUp,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n var _React$useContext = useContext(ListboxContext),\n buttonRef = _React$useContext.buttonRef,\n send = _React$useContext.send,\n ariaLabelledBy = _React$useContext.ariaLabelledBy,\n disabled = _React$useContext.disabled,\n isExpanded = _React$useContext.isExpanded,\n listboxId = _React$useContext.listboxId,\n stateData = _React$useContext.stateData,\n listboxValueLabel = _React$useContext.listboxValueLabel;\n\n var listboxValue = stateData.value;\n var ref = useComposedRefs(buttonRef, forwardedRef);\n var handleKeyDown = useKeyDown();\n\n function handleMouseDown(event) {\n if (!isRightClick(event.nativeEvent)) {\n event.preventDefault();\n event.stopPropagation();\n send({\n type: ListboxEvents.ButtonMouseDown,\n disabled: disabled\n });\n }\n }\n\n function handleMouseUp(event) {\n if (!isRightClick(event.nativeEvent)) {\n event.preventDefault();\n event.stopPropagation();\n send({\n type: ListboxEvents.ButtonMouseUp\n });\n }\n }\n\n var id = makeId(\"button\", listboxId); // If the button has children, we just render them as the label\n // If a user needs the label on the server to prevent hydration mismatch\n // errors, they need to control the state of the component and pass a label\n // directly to the button.\n\n var label = useMemo(function () {\n if (!children) {\n return listboxValueLabel;\n } else if (isFunction(children)) {\n return children({\n isExpanded: isExpanded,\n label: listboxValueLabel,\n value: listboxValue,\n // TODO: Remove in 1.0\n expanded: isExpanded\n });\n }\n\n return children;\n }, [children, listboxValueLabel, isExpanded, listboxValue]);\n return /*#__PURE__*/createElement(Comp // Applicable to all host language elements regardless of whether a\n // `role` is applied.\n // https://www.w3.org/WAI/PF/aria/states_and_properties#global_states_header\n , _extends({\n \"aria-disabled\": disabled || undefined // Set by the JavaScript when the listbox is displayed. Otherwise, is\n // not present.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n ,\n \"aria-expanded\": isExpanded || undefined // Indicates that activating the button displays a listbox.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n ,\n \"aria-haspopup\": \"listbox\" // References the two elements whose labels are concatenated by the\n // browser to label the button. The first element is a span containing\n // perceivable label for the listbox component. The second element is\n // the button itself; the button text is set to the name of the\n // currently chosen element.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n // If an `aria-label` is passed, we should skip `aria-labelledby` to\n // avoid confusion.\n ,\n \"aria-labelledby\": ariaLabel ? undefined : [ariaLabelledBy, id].filter(Boolean).join(\" \"),\n \"aria-label\": ariaLabel // Identifies the element as a button widget.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/button/button.html\n ,\n role: \"button\" // Includes the element in the tab sequence.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/button/button.html\n ,\n tabIndex: disabled ? -1 : 0\n }, props, {\n ref: ref,\n \"data-reach-listbox-button\": \"\",\n id: id,\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown),\n onMouseDown: composeEventHandlers(onMouseDown, handleMouseDown),\n onMouseUp: composeEventHandlers(onMouseUp, handleMouseUp)\n }), label, arrow && /*#__PURE__*/createElement(ListboxArrow, null, isBoolean(arrow) ? null : arrow));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxButtonImpl.displayName = \"ListboxButton\";\n ListboxButtonImpl.propTypes = {\n arrow: /*#__PURE__*/PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n children: /*#__PURE__*/PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n };\n}\n\nvar ListboxButton = /*#__PURE__*/memo(ListboxButtonImpl);\n/**\n * @see Docs https://reach.tech/listbox#listboxbutton-props\n */\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxArrow\n *\n * A wrapper component for an arrow to display in the `ListboxButton`\n *\n * @see Docs https://reach.tech/listbox#listboxarrow\n */\nvar ListboxArrowImpl = /*#__PURE__*/forwardRef(function ListboxArrow(_ref5, forwardedRef) {\n var _ref5$as = _ref5.as,\n Comp = _ref5$as === void 0 ? \"span\" : _ref5$as,\n children = _ref5.children,\n props = _objectWithoutPropertiesLoose(_ref5, _excluded4);\n\n var _React$useContext2 = useContext(ListboxContext),\n isExpanded = _React$useContext2.isExpanded;\n\n return /*#__PURE__*/createElement(Comp // The arrow provides no semantic value and its inner content should be\n // hidden from the accessibility tree\n , _extends({\n \"aria-hidden\": true\n }, props, {\n ref: forwardedRef,\n \"data-reach-listbox-arrow\": \"\",\n \"data-expanded\": isExpanded ? \"\" : undefined\n }), isFunction(children) ? children({\n isExpanded: isExpanded,\n // TODO: Remove in 1.0\n expanded: isExpanded\n }) : children || \"▼\");\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxArrowImpl.displayName = \"ListboxArrow\";\n ListboxArrowImpl.propTypes = {\n children: /*#__PURE__*/PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n };\n}\n\nvar ListboxArrow = /*#__PURE__*/memo(ListboxArrowImpl);\n/**\n * @see Docs https://reach.tech/listbox#listboxarrow-props\n */\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxPopover\n *\n * The popover containing the list of options.\n *\n * @see Docs https://reach.tech/listbox#listboxpopover\n */\nvar ListboxPopoverImpl = /*#__PURE__*/forwardRef(function ListboxPopover(_ref6, forwardedRef) {\n var _ref6$as = _ref6.as,\n Comp = _ref6$as === void 0 ? \"div\" : _ref6$as,\n _ref6$position = _ref6.position,\n position = _ref6$position === void 0 ? positionMatchWidth : _ref6$position,\n onBlur = _ref6.onBlur,\n onKeyDown = _ref6.onKeyDown,\n onMouseUp = _ref6.onMouseUp,\n _ref6$portal = _ref6.portal,\n portal = _ref6$portal === void 0 ? true : _ref6$portal,\n unstable_observableRefs = _ref6.unstable_observableRefs,\n props = _objectWithoutPropertiesLoose(_ref6, _excluded5);\n\n var _React$useContext3 = useContext(ListboxContext),\n isExpanded = _React$useContext3.isExpanded,\n buttonRef = _React$useContext3.buttonRef,\n popoverRef = _React$useContext3.popoverRef,\n send = _React$useContext3.send;\n\n var ref = useComposedRefs(popoverRef, forwardedRef);\n var handleKeyDown = useKeyDown();\n\n function handleMouseUp() {\n send({\n type: ListboxEvents.ListMouseUp\n });\n }\n\n var commonProps = _extends({\n hidden: !isExpanded,\n tabIndex: -1\n }, props, {\n ref: ref,\n \"data-reach-listbox-popover\": \"\",\n onMouseUp: composeEventHandlers(onMouseUp, handleMouseUp),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n });\n\n function handleBlur(event) {\n var nativeEvent = event.nativeEvent;\n requestAnimationFrame(function () {\n send({\n type: ListboxEvents.Blur,\n relatedTarget: nativeEvent.relatedTarget || nativeEvent.target\n });\n });\n }\n\n return portal ? /*#__PURE__*/createElement(Popover, _extends({}, commonProps, {\n as: Comp,\n targetRef: buttonRef,\n position: position,\n unstable_observableRefs: unstable_observableRefs\n })) : /*#__PURE__*/createElement(Comp, commonProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxPopoverImpl.displayName = \"ListboxPopover\";\n ListboxPopoverImpl.propTypes = {\n children: PropTypes.node.isRequired,\n portal: PropTypes.bool,\n position: PropTypes.func\n };\n}\n\nvar ListboxPopover = /*#__PURE__*/memo(ListboxPopoverImpl);\n/**\n * @see Docs https://reach.tech/listbox#listboxpopover-props\n */\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxList\n *\n * The list containing all listbox options.\n *\n * @see Docs https://reach.tech/listbox#listboxlist\n */\nvar ListboxList = /*#__PURE__*/forwardRef(function ListboxList(_ref7, forwardedRef) {\n var _ref7$as = _ref7.as,\n Comp = _ref7$as === void 0 ? \"ul\" : _ref7$as,\n props = _objectWithoutPropertiesLoose(_ref7, _excluded6);\n\n var _React$useContext4 = useContext(ListboxContext),\n listRef = _React$useContext4.listRef,\n ariaLabel = _React$useContext4.ariaLabel,\n ariaLabelledBy = _React$useContext4.ariaLabelledBy,\n isExpanded = _React$useContext4.isExpanded,\n listboxId = _React$useContext4.listboxId,\n _React$useContext4$st = _React$useContext4.stateData,\n value = _React$useContext4$st.value,\n navigationValue = _React$useContext4$st.navigationValue;\n\n var ref = useComposedRefs(forwardedRef, listRef);\n return /*#__PURE__*/createElement(Comp // Tells assistive technologies which of the options, if any, is\n // visually indicated as having keyboard focus. DOM focus remains on the\n // `ul` element and the idref specified for `aria-activedescendant`\n // refers to the `li` element that is visually styled as focused. When\n // navigation keys, such as `Down Arrow`, are pressed, the JavaScript\n // changes the value.\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-grouped.html\n , _extends({\n \"aria-activedescendant\": useOptionId(isExpanded ? navigationValue : value) // If the listbox is not part of another widget, then it has a visible\n // label referenced by `aria-labelledby` on the element with role\n // `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n // If an `aria-label` is passed, we should skip `aria-labelledby` to\n // avoid confusion.\n ,\n \"aria-labelledby\": ariaLabel ? undefined : ariaLabelledBy,\n \"aria-label\": ariaLabel // An element that contains or owns all the listbox options has role\n // listbox.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n ,\n role: \"listbox\" // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n ,\n tabIndex: -1\n }, props, {\n ref: ref,\n \"data-reach-listbox-list\": \"\",\n id: makeId(\"listbox\", listboxId)\n }));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxList.displayName = \"ListboxList\";\n ListboxList.propTypes = {};\n}\n/**\n * @see Docs https://reach.tech/listbox#listboxlist-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxOption\n *\n * A selectable option for the listbox.\n *\n * @see Docs https://reach.tech/listbox#listboxoption\n */\nvar ListboxOption = /*#__PURE__*/forwardRef(function ListboxOption(_ref8, forwardedRef) {\n var _ref8$as = _ref8.as,\n Comp = _ref8$as === void 0 ? \"li\" : _ref8$as,\n children = _ref8.children,\n disabled = _ref8.disabled,\n indexProp = _ref8.index,\n labelProp = _ref8.label,\n onClick = _ref8.onClick,\n onMouseDown = _ref8.onMouseDown,\n onMouseEnter = _ref8.onMouseEnter,\n onMouseLeave = _ref8.onMouseLeave,\n onMouseMove = _ref8.onMouseMove,\n onMouseUp = _ref8.onMouseUp,\n onTouchStart = _ref8.onTouchStart,\n value = _ref8.value,\n props = _objectWithoutPropertiesLoose(_ref8, _excluded7);\n\n if (process.env.NODE_ENV !== \"production\" && !value) {\n throw Error(\"A ListboxOption must have a value prop.\");\n }\n\n var _React$useContext5 = useContext(ListboxContext),\n highlightedOptionRef = _React$useContext5.highlightedOptionRef,\n selectedOptionRef = _React$useContext5.selectedOptionRef,\n send = _React$useContext5.send,\n isExpanded = _React$useContext5.isExpanded,\n onValueChange = _React$useContext5.onValueChange,\n state = _React$useContext5.state,\n _React$useContext5$st = _React$useContext5.stateData,\n listboxValue = _React$useContext5$st.value,\n navigationValue = _React$useContext5$st.navigationValue;\n\n var _React$useState = useState(labelProp),\n labelState = _React$useState[0],\n setLabel = _React$useState[1];\n\n var label = labelProp || labelState || \"\";\n var ownRef = useRef(null);\n\n var _useStatefulRefValue = useStatefulRefValue(ownRef, null),\n element = _useStatefulRefValue[0],\n handleRefSet = _useStatefulRefValue[1];\n\n var descendant = useMemo(function () {\n return {\n element: element,\n value: value,\n label: label,\n disabled: !!disabled\n };\n }, [disabled, element, label, value]);\n useDescendant(descendant, ListboxDescendantContext, indexProp); // After the ref is mounted to the DOM node, we check to see if we have an\n // explicit label prop before looking for the node's textContent for\n // typeahead functionality.\n\n var getLabelFromDomNode = useCallback(function (node) {\n if (!labelProp && node) {\n setLabel(function (prevState) {\n if (node.textContent && prevState !== node.textContent) {\n return node.textContent;\n }\n\n return prevState || \"\";\n });\n }\n }, [labelProp]);\n var isHighlighted = navigationValue ? navigationValue === value : false;\n var isSelected = listboxValue === value;\n var ref = useComposedRefs(getLabelFromDomNode, forwardedRef, handleRefSet, isSelected ? selectedOptionRef : null, isHighlighted ? highlightedOptionRef : null);\n\n function handleMouseEnter() {\n send({\n type: ListboxEvents.OptionMouseEnter,\n value: value,\n disabled: !!disabled\n });\n }\n\n function handleTouchStart() {\n send({\n type: ListboxEvents.OptionTouchStart,\n value: value,\n disabled: !!disabled\n });\n }\n\n function handleMouseLeave() {\n send({\n type: ListboxEvents.ClearNavSelection\n });\n }\n\n function handleMouseDown(event) {\n // Prevent blur event from firing and bubbling to the popover\n if (!isRightClick(event.nativeEvent)) {\n event.preventDefault();\n send({\n type: ListboxEvents.OptionMouseDown\n });\n }\n }\n\n function handleMouseUp(event) {\n if (!isRightClick(event.nativeEvent)) {\n send({\n type: ListboxEvents.OptionMouseUp,\n value: value,\n callback: onValueChange,\n disabled: !!disabled\n });\n }\n }\n\n function handleClick(event) {\n // Generally an option will be selected on mouseup, but in case this isn't\n // handled correctly by the device (whether because it's a touch/pen or\n // virtual click event) we want to handle selection on a full click event\n // just in case. This should address issues with screenreader selection,\n // but this needs more robust testing.\n if (!isRightClick(event.nativeEvent)) {\n send({\n type: ListboxEvents.OptionClick,\n value: value,\n callback: onValueChange,\n disabled: !!disabled\n });\n }\n }\n\n function handleMouseMove() {\n // We don't really *need* these guards since we put all of our transition\n // logic in the state machine, but in this case it seems wise not to\n // needlessly run our transitions every time the user's mouse moves. Seems\n // like a lot. 🙃\n if (state === ListboxStates.Open || navigationValue !== value) {\n send({\n type: ListboxEvents.OptionMouseMove,\n value: value,\n disabled: !!disabled\n });\n }\n }\n\n return /*#__PURE__*/createElement(Comp // In a single-select listbox, the selected option has `aria-selected`\n // set to `true`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n , _extends({\n \"aria-selected\": (isExpanded ? isHighlighted : isSelected) || undefined // Applicable to all host language elements regardless of whether a\n // `role` is applied.\n // https://www.w3.org/WAI/PF/aria/states_and_properties#global_states_header\n ,\n \"aria-disabled\": disabled || undefined // Each option in the listbox has role `option` and is a DOM descendant\n // of the element with role `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n ,\n role: \"option\"\n }, props, {\n ref: ref,\n id: useOptionId(value),\n \"data-reach-listbox-option\": \"\",\n \"data-current-nav\": isHighlighted ? \"\" : undefined,\n \"data-current-selected\": isSelected ? \"\" : undefined,\n \"data-label\": label,\n \"data-value\": value,\n onClick: composeEventHandlers(onClick, handleClick),\n onMouseDown: composeEventHandlers(onMouseDown, handleMouseDown),\n onMouseEnter: composeEventHandlers(onMouseEnter, handleMouseEnter),\n onMouseLeave: composeEventHandlers(onMouseLeave, handleMouseLeave),\n onMouseMove: composeEventHandlers(onMouseMove, handleMouseMove),\n onMouseUp: composeEventHandlers(onMouseUp, handleMouseUp),\n onTouchStart: composeEventHandlers(onTouchStart, handleTouchStart)\n }), children);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxOption.displayName = \"ListboxOption\";\n ListboxOption.propTypes = {\n disabled: PropTypes.bool,\n label: PropTypes.string,\n value: PropTypes.string.isRequired\n };\n}\n/**\n * @see Docs https://reach.tech/listbox#listboxoption-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxGroup\n *\n * A group of related listbox options.\n *\n * @see Docs https://reach.tech/listbox#listboxgroup\n */\nvar ListboxGroup = /*#__PURE__*/forwardRef(function ListboxGroup(_ref9, forwardedRef) {\n var _ref9$as = _ref9.as,\n Comp = _ref9$as === void 0 ? \"div\" : _ref9$as,\n label = _ref9.label,\n children = _ref9.children,\n props = _objectWithoutPropertiesLoose(_ref9, _excluded8);\n\n var _React$useContext6 = useContext(ListboxContext),\n listboxId = _React$useContext6.listboxId;\n\n var labelId = makeId(\"label\", useId(props.id), listboxId);\n return /*#__PURE__*/createElement(ListboxGroupContext.Provider, {\n value: {\n labelId: labelId\n }\n }, /*#__PURE__*/createElement(Comp // Refers to the element containing the option group label\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-grouped.html\n , _extends({\n \"aria-labelledby\": labelId // Identifies a group of related options\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-grouped.html\n ,\n role: \"group\"\n }, props, {\n \"data-reach-listbox-group\": \"\",\n ref: forwardedRef\n }), label && /*#__PURE__*/createElement(ListboxGroupLabel, null, label), children));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxGroup.displayName = \"ListboxGroup\";\n ListboxGroup.propTypes = {\n label: /*#__PURE__*/PropTypes.oneOfType([PropTypes.string, PropTypes.element])\n };\n}\n/**\n * @see Docs https://reach.tech/listbox#listboxgroup-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * ListboxGroupLabel\n *\n * @see Docs https://reach.tech/listbox#listboxgrouplabel\n */\nvar ListboxGroupLabel = /*#__PURE__*/forwardRef(function ListboxGroupLabel(_ref10, forwardedRef) {\n var _ref10$as = _ref10.as,\n Comp = _ref10$as === void 0 ? \"span\" : _ref10$as,\n props = _objectWithoutPropertiesLoose(_ref10, _excluded9);\n\n var _React$useContext7 = useContext(ListboxGroupContext),\n labelId = _React$useContext7.labelId;\n\n return /*#__PURE__*/createElement(Comp // See examples\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-grouped.html\n , _extends({\n role: \"presentation\"\n }, props, {\n ref: forwardedRef,\n \"data-reach-listbox-group-label\": \"\",\n id: labelId\n }));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ListboxGroupLabel.displayName = \"ListboxGroupLabel\";\n ListboxGroupLabel.propTypes = {};\n}\n/**\n * @see Docs https://reach.tech/listbox#listboxgroup-props\n */\n\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hook that exposes data for a given `Listbox` component to its descendants.\n *\n * @see Docs https://reach.tech/listbox#uselistboxcontext\n */\nfunction useListboxContext() {\n var _React$useContext8 = useContext(ListboxContext),\n highlightedOptionRef = _React$useContext8.highlightedOptionRef,\n selectedOptionRef = _React$useContext8.selectedOptionRef,\n listboxId = _React$useContext8.listboxId,\n listboxValueLabel = _React$useContext8.listboxValueLabel,\n isExpanded = _React$useContext8.isExpanded,\n value = _React$useContext8.stateData.value;\n\n return useMemo(function () {\n return {\n id: listboxId,\n isExpanded: isExpanded,\n selectedOptionRef: selectedOptionRef,\n highlightedOptionRef: highlightedOptionRef,\n value: value,\n valueLabel: listboxValueLabel\n };\n }, [listboxId, isExpanded, value, listboxValueLabel, selectedOptionRef, highlightedOptionRef]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction isListboxExpanded(state) {\n return [ListboxStates.Navigating, ListboxStates.Open, ListboxStates.Dragging, ListboxStates.Interacting].includes(state);\n}\n\nfunction useKeyDown() {\n var _React$useContext9 = useContext(ListboxContext),\n send = _React$useContext9.send,\n listboxDisabled = _React$useContext9.disabled,\n onValueChange = _React$useContext9.onValueChange,\n _React$useContext9$st = _React$useContext9.stateData,\n navigationValue = _React$useContext9$st.navigationValue,\n typeaheadQuery = _React$useContext9$st.typeaheadQuery;\n\n var options = useDescendants(ListboxDescendantContext);\n var stableOnValueChange = useStableCallback(onValueChange);\n useEffect(function () {\n if (typeaheadQuery) {\n send({\n type: ListboxEvents.UpdateAfterTypeahead,\n query: typeaheadQuery,\n callback: stableOnValueChange\n });\n }\n\n var timeout = window.setTimeout(function () {\n if (typeaheadQuery != null) {\n send({\n type: ListboxEvents.ClearTypeahead\n });\n }\n }, 1000);\n return function () {\n window.clearTimeout(timeout);\n };\n }, [stableOnValueChange, send, typeaheadQuery]);\n var index = options.findIndex(function (_ref11) {\n var value = _ref11.value;\n return value === navigationValue;\n });\n var handleKeyDown = composeEventHandlers(function (event) {\n var key = event.key;\n var isSearching = isString(key) && key.length === 1;\n var navOption = options.find(function (option) {\n return option.value === navigationValue;\n });\n\n switch (key) {\n case \"Enter\":\n send({\n type: ListboxEvents.KeyDownEnter,\n value: navigationValue,\n callback: onValueChange,\n disabled: !!(navOption != null && navOption.disabled || listboxDisabled)\n });\n return;\n\n case \" \":\n // Prevent browser from scrolling down\n event.preventDefault();\n send({\n type: ListboxEvents.KeyDownSpace,\n value: navigationValue,\n callback: onValueChange,\n disabled: !!(navOption != null && navOption.disabled || listboxDisabled)\n });\n return;\n\n case \"Escape\":\n send({\n type: ListboxEvents.KeyDownEscape\n });\n return;\n\n case \"Tab\":\n var eventType = event.shiftKey ? ListboxEvents.KeyDownShiftTab : ListboxEvents.KeyDownTab;\n send({\n type: eventType\n });\n return;\n\n default:\n if (isSearching) {\n send({\n type: ListboxEvents.KeyDownSearch,\n query: key,\n disabled: listboxDisabled\n });\n }\n\n return;\n }\n }, useDescendantKeyDown(ListboxDescendantContext, {\n currentIndex: index,\n orientation: \"vertical\",\n key: \"index\",\n rotate: true,\n filter: function filter(option) {\n return !option.disabled;\n },\n callback: function callback(nextIndex) {\n send({\n type: ListboxEvents.KeyDownNavigate,\n value: options[nextIndex].value,\n disabled: listboxDisabled\n });\n }\n }));\n return handleKeyDown;\n}\n\nfunction useOptionId(value) {\n var _React$useContext10 = useContext(ListboxContext),\n listboxId = _React$useContext10.listboxId;\n\n return value ? makeId(\"option-\" + value, listboxId) : undefined;\n}\n\nfunction popoverContainsEventTarget(popover, target) {\n return !!(popover && popover.contains(target));\n} ////////////////////////////////////////////////////////////////////////////////\n// Types\n\n\nfunction useControlledStateSync(controlPropValue, internalValue, send) {\n var _React$useRef = useRef(controlPropValue != null),\n isControlled = _React$useRef.current;\n\n if (isControlled && controlPropValue !== internalValue) {\n send();\n }\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { Listbox, ListboxArrow, ListboxButton, ListboxGroup, ListboxGroupLabel, ListboxInput, ListboxList, ListboxOption, ListboxPopover, useListboxContext };\n","import { useState, useCallback } from 'react';\n\nfunction useStatefulRefValue(ref, initialState) {\n var _useState = useState(initialState),\n state = _useState[0],\n setState = _useState[1];\n\n var callbackRef = useCallback(function (refValue) {\n ref.current = refValue;\n setState(refValue); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [state, callbackRef];\n}\n\nexport { useStatefulRefValue };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n];\nvar candidateSelector = candidateSelectors.join(',');\n\nvar matches = typeof Element === 'undefined'\n ? function () {}\n : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\nfunction tabbable(el, options) {\n options = options || {};\n\n var regularTabbables = [];\n var orderedTabbables = [];\n\n var candidates = el.querySelectorAll(candidateSelector);\n\n if (options.includeContainer) {\n if (matches.call(el, candidateSelector)) {\n candidates = Array.prototype.slice.apply(candidates);\n candidates.unshift(el);\n }\n }\n\n var i, candidate, candidateTabindex;\n for (i = 0; i < candidates.length; i++) {\n candidate = candidates[i];\n\n if (!isNodeMatchingSelectorTabbable(candidate)) continue;\n\n candidateTabindex = getTabindex(candidate);\n if (candidateTabindex === 0) {\n regularTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n node: candidate,\n });\n }\n }\n\n var tabbableNodes = orderedTabbables\n .sort(sortOrderedTabbables)\n .map(function(a) { return a.node })\n .concat(regularTabbables);\n\n return tabbableNodes;\n}\n\ntabbable.isTabbable = isTabbable;\ntabbable.isFocusable = isFocusable;\n\nfunction isNodeMatchingSelectorTabbable(node) {\n if (\n !isNodeMatchingSelectorFocusable(node)\n || isNonTabbableRadio(node)\n || getTabindex(node) < 0\n ) {\n return false;\n }\n return true;\n}\n\nfunction isTabbable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, candidateSelector) === false) return false;\n return isNodeMatchingSelectorTabbable(node);\n}\n\nfunction isNodeMatchingSelectorFocusable(node) {\n if (\n node.disabled\n || isHiddenInput(node)\n || isHidden(node)\n ) {\n return false;\n }\n return true;\n}\n\nvar focusableCandidateSelector = candidateSelectors.concat('iframe').join(',');\nfunction isFocusable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, focusableCandidateSelector) === false) return false;\n return isNodeMatchingSelectorFocusable(node);\n}\n\nfunction getTabindex(node) {\n var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n if (!isNaN(tabindexAttr)) return tabindexAttr;\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if (isContentEditable(node)) return 0;\n return node.tabIndex;\n}\n\nfunction sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n}\n\nfunction isContentEditable(node) {\n return node.contentEditable === 'true';\n}\n\nfunction isInput(node) {\n return node.tagName === 'INPUT';\n}\n\nfunction isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n}\n\nfunction isRadio(node) {\n return isInput(node) && node.type === 'radio';\n}\n\nfunction isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n}\n\nfunction getCheckedRadio(nodes) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked) {\n return nodes[i];\n }\n }\n}\n\nfunction isTabbableRadio(node) {\n if (!node.name) return true;\n // This won't account for the edge case where you have radio groups with the same\n // in separate forms on the same page.\n var radioSet = node.ownerDocument.querySelectorAll('input[type=\"radio\"][name=\"' + node.name + '\"]');\n var checked = getCheckedRadio(radioSet);\n return !checked || checked === node;\n}\n\nfunction isHidden(node) {\n // offsetParent being null will allow detecting cases where an element is invisible or inside an invisible element,\n // as long as the element does not use position: fixed. For them, their visibility has to be checked directly as well.\n return node.offsetParent === null || getComputedStyle(node).visibility === 'hidden';\n}\n\nmodule.exports = tabbable;\n"],"names":["Presence","u","present","o","children","i","s","n","c","a","d","m","e","t","r","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","current","display","includes","animationName","target","addEventListener","removeEventListener","isPresent","ref","getComputedStyle","displayName","Primitive","reduce","asChild","window","Symbol","for","p","f","h","ScrollArea","__scopeScrollArea","type","scrollHideDelay","w","b","v","S","g","E","C","T","y","A","x","R","P","L","_","D","parentElement","requestAnimationFrame","direction","cancelAnimationFrame","dir","scope","scrollArea","viewport","onViewportChange","content","onContentChange","scrollbarX","onScrollbarXChange","scrollbarXEnabled","onScrollbarXEnabledChange","scrollbarY","onScrollbarYChange","scrollbarYEnabled","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","style","position","ScrollAreaViewport","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","ScrollAreaScrollbar","forceMount","l","orientation","clearTimeout","setTimeout","z","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","onPointerEnter","onPointerLeave","offsetWidth","scrollWidth","offsetHeight","scrollHeight","H","scrollbar","size","paddingStart","paddingEnd","sizes","onSizesChange","hasThumb","Boolean","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","scrollLeft","transform","onWheelScroll","onDragScroll","scrollTop","bottom","left","right","deltaX","preventDefault","onResize","clientWidth","paddingLeft","paddingRight","top","deltaY","clientHeight","paddingTop","paddingBottom","W","clientX","clientY","contains","document","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","onPointerMove","onPointerUp","releasePointerCapture","ScrollAreaThumb","width","height","onPointerDownCapture","ScrollAreaCorner","parseInt","isNaN","Math","max","min","ResizeObserver","observe","unobserve","Viewport","Scrollbar","Thumb","Corner","canUseDOM","createElement","useLayoutEffect","useEffect","serverHandoffComplete","id","genId","useForceUpdate","dispatch","useState","Object","create","useCallback","Portal","_ref","_ref$type","containerRef","mountNode","useRef","portalNode","forceUpdate","ownerDocument","appendChild","removeChild","createPortal","rafId","props","observedNodes","Map","run","changedStates","forEach","state","node","newRect","some","prop","rectChanged","rect","push","callbacks","cb","wasEmpty","has","get","set","undefined","hasRectChanged","index","indexOf","splice","length","isBoolean","value","toString","call","isString","useRect","nodeRef","observeOrOptions","deprecated_onChange","onChange","_observeOrOptions$obs","_React$useState","element","setElement","initialRectIsSet","initialRefIsSet","_React$useState2","setRect","onChangeRef","elem","observer","getOwnerDocument","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelperLoose","allowArrayLike","it","iterator","isArray","minLen","prototype","slice","constructor","name","from","test","_unsupportedIterableToArray","done","TypeError","next","bind","assignRef","error","Error","useComposedRefs","_len","arguments","refs","_key","_step","_iterator","_extends","assign","source","key","hasOwnProperty","apply","this","_excluded","Popover","forwardRef","PopoverImpl","forwardedRef","_ref$as","as","Comp","targetRef","_ref$position","positionDefault","_ref$unstable_observa","unstable_observableRefs","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","popoverRef","popoverRect","targetRect","triggerRef","handleKeyDown","event","shiftKey","shiftTabbedFromElementAfterTrigger","focusLastTabbableInPopover","shiftTabbedOutOfPopover","focusTriggerRef","shiftTabbedToBrowserChrome","disableTabbablesInPopover","tabbedFromTriggerToPopover","focusFirstPopoverTabbable","tabbedOutOfPopover","focusTabbableAfterTrigger","tabbedToBrowserChrome","getElementAfterTrigger","elements","targetIndex","elementAfterTrigger","activeElement","focus","last","_triggerRef$current","filter","tabIndex","enableTabbablesInPopover","_ref2","useSimulateTabNavigationForReactTree","getStyles","concat","map","visibility","getTopPosition","isDirectionUp","pageYOffset","_getCollisions","getCollisions","directionRight","directionUp","pageXOffset","positionMatchWidth","offsetLeft","offsetBottom","collisions","innerWidth","innerHeight","directionLeft","directionDown","createNamedContext","defaultValue","createContext","noop","createDescendantContext","initialValue","descendants","registerDescendant","unregisterDescendant","DescendantProvider","Ctx","context","items","explicitIndex","rest","newItems","sort","find","item","findIndex","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","newItem","Provider","useMemo","isRightClick","nativeEvent","which","createStableCallbackHook","useEffectHook","callback","callbackRef","args","val","join","composeEventHandlers","theirHandler","ourHandler","defaultPrevented","NotStarted","Running","Stopped","assignment","exec","actions","changed","matches","useConstant","fn","_commonEvents","ListboxStates","ListboxEvents","useMachine","initialMachine","DEBUG","machineRef","service","initialState","Set","_machine","send","transition","subscribe","add","unsubscribe","delete","start","stop","clear","status","lastEventType","currentValue","getServiceState","setState","rawEvent","refValues","entries","unwrapRefs","newState","useCreateMachine","machineDefinition","options","config","_options","initial","states","entry","on","cond","exit","return","clearNavigationValue","navigationValue","clearTypeahead","typeaheadQuery","assignValue","data","navigateFromCurrentValue","_data$options$find","selected","option","disabled","listboxLostFocus","Blur","_event$refs","list","popover","relatedTarget","clickedOutsideOfListbox","OutsideMouseDown","OutsideMouseUp","_event$refs2","optionIsActive","shouldNavigate","_event$refs3","focusList","focusButton","listboxIsNotDisabled","optionIsNavigable","OptionTouchStart","optionIsSelectable","selectOption","submitForm","KeyDownEnter","hiddenInput","form","submitButton","querySelector","click","setTypeahead","query","setValueFromTypeahead","UpdateAfterTypeahead","match","findOptionFromTypeahead","setNavSelectionFromTypeahead","commonEvents","GetDerivedData","ctx","ValueChange","string","label","toLowerCase","startsWith","_excluded3","_excluded4","_excluded5","_excluded6","_excluded7","ListboxDescendantContext","ListboxContext","ListboxInput","ariaLabelledBy","ariaLabel","_ref$disabled","required","valueProp","__componentName","isControlled","_useDescendantsInit","setOptions","buttonRef","hiddenInputRef","highlightedOptionRef","inputRef","listRef","selectedOptionRef","machine","_extends2","_extends3","_extends4","_extends5","_extends6","_states","Idle","ButtonMouseDown","Open","KeyDownSpace","Navigating","KeyDownSearch","ClearTypeahead","KeyDownNavigate","Interacting","ClearNavSelection","KeyDownEscape","OptionMouseDown","Dragging","OptionClick","OptionPress","OptionMouseEnter","ButtonMouseUp","ListMouseUp","OptionMouseMove","OptionMouseUp","createMachineDefinition","_useMachine","highlightedOption","input","selectedOption","_id","idFromProps","initialId","setId","String","valueLabel","isExpanded","isListboxExpanded","listboxId","listboxValueLabel","onValueChange","newValue","stateData","first","controlPropValue","internalValue","useControlledStateSync","handleMouseDown","popoverContainsEventTarget","handleMouseUp","expanded","readOnly","ListboxButtonImpl","_ref4","_ref4$arrow","arrow","_ref4$as","onKeyDown","onMouseDown","onMouseUp","_React$useContext","useContext","listboxValue","useKeyDown","role","stopPropagation","ListboxArrow","ListboxButton","memo","ListboxArrowImpl","_ref5","_ref5$as","ListboxPopoverImpl","_ref6","_ref6$as","_ref6$position","onBlur","_ref6$portal","portal","_React$useContext3","commonProps","ListboxPopover","ListboxList","_ref7","_ref7$as","_React$useContext4","_React$useContext4$st","useOptionId","ListboxOption","_ref8","_ref8$as","indexProp","labelProp","onClick","onMouseEnter","onMouseLeave","onMouseMove","onTouchStart","_React$useContext5","_React$useContext5$st","labelState","setLabel","_useStatefulRefValue","_useState","refValue","useStatefulRefValue","handleRefSet","descendant","values","useDescendant","getLabelFromDomNode","prevState","textContent","isHighlighted","isSelected","_React$useContext9","listboxDisabled","_React$useContext9$st","stableOnValueChange","timeout","_ref11","isSearching","navOption","eventType","KeyDownShiftTab","KeyDownTab","currentIndex","_options$key","_options$orientation","_options$rotate","rotate","_options$rtl","rtl","selectableDescendants","selectableIndex","getNextOption","prev","getPreviousOption","nextOrPrev","prevOrNext","prevOrFirst","ctrlKey","getFirstOption","nextOrLast","getLastOption","useDescendantKeyDown","nextIndex","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","exports","shim","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","candidateSelectors","candidateSelector","Element","msMatchesSelector","webkitMatchesSelector","tabbable","el","candidate","candidateTabindex","regularTabbables","orderedTabbables","candidates","querySelectorAll","includeContainer","unshift","isNodeMatchingSelectorTabbable","getTabindex","documentOrder","sortOrderedTabbables","isNodeMatchingSelectorFocusable","isInput","isRadio","checked","nodes","getCheckedRadio","isTabbableRadio","isNonTabbableRadio","isHiddenInput","offsetParent","isHidden","isTabbable","isFocusable","focusableCandidateSelector","tabindexAttr","getAttribute","contentEditable","isContentEditable","tagName"],"sourceRoot":""}