@box/box-ai-agent-selector 2.2.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as BoxAiAgent}from"./box-ai-agent.js";import messages from"../esm/lib/messages.js";import{AI_AGENTS_LOCAL_STORAGE_KEY,LOGGER_ACTION_CLICK,LOGGER_BASE_CONFIG,LOGGER_TARGET}from"../esm/lib/constants.js";import{ACTIONS}from"../esm/lib/contexts/actions.js";import{n as SELECTOR_ALIGNMENT,t as REQUEST_STATE}from"./types.js";import{useAgentsDispatch}from"../esm/lib/contexts/context.js";import useLocalStorageAIAgents from"../esm/lib/hooks/useLocalStorageAIAgents.js";import*as React$1 from"react";import{createContext,isValidElement,useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"react";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{createPortal,flushSync}from"react-dom";import{Button,FilterChip,LoadingIndicator,Status,Tooltip,TooltipProvider,useFullTextTooltip}from"@box/blueprint-web";import{AlertBadge}from"@box/blueprint-web-assets/icons/Fill";import clsx from"clsx";import{useIntl}from"react-intl";import '../styles/box-ai-agent-selector.css';var __commonJSMin=(cb,mod)=>()=>(mod||(cb((mod={exports:{}}).exports,mod),cb=null),mod.exports),__require=(x=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(x,{get:(a,b)=>(typeof require<`u`?require:a)[b]}):x)(function(x){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+x+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});function noop(..._){}function applyState(argument,currentValue){return isUpdater(argument)?argument(isLazyValue(currentValue)?currentValue():currentValue):argument}function isUpdater(argument){return typeof argument==`function`}function isLazyValue(value){return typeof value==`function`}function hasOwnProperty(object,prop){return typeof Object.hasOwn==`function`?Object.hasOwn(object,prop):Object.prototype.hasOwnProperty.call(object,prop)}function chain(...fns){return(...args)=>{for(let fn of fns)typeof fn==`function`&&fn(...args)}}function normalizeString(str){return str.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function omit(object,keys){let result={...object};for(let key of keys)hasOwnProperty(result,key)&&delete result[key];return result}function pick(object,paths){let result={};for(let key of paths)hasOwnProperty(object,key)&&(result[key]=object[key]);return result}function identity(value){return value}function invariant(condition,message){if(!condition)throw Error(typeof message==`string`?message:`Invariant failed`)}function getKeys(obj){return Object.keys(obj)}function disabledFromProps(props){return props.disabled||props[`aria-disabled`]===!0||props[`aria-disabled`]===`true`}function removeUndefinedValues(obj){let result={};for(let key in obj)obj[key]!==void 0&&(result[key]=obj[key]);return result}function defaultValue(...values){for(let value of values)if(value!==void 0)return value}function setRef(ref,value){typeof ref==`function`?ref(value):ref&&(ref.current=value)}function isValidElementWithRef(element){return!element||!isValidElement(element)?!1:`ref`in element.props||`ref`in element}function getRefProperty(element){return isValidElementWithRef(element)?{...element.props}.ref||element.ref:null}function mergeProps(base,overrides){let props={...base};for(let key in overrides){if(!hasOwnProperty(overrides,key))continue;if(key===`className`){let prop=`className`;props[prop]=base[prop]?`${base[prop]} ${overrides[prop]}`:overrides[prop];continue}if(key===`style`){let prop=`style`;props[prop]=base[prop]?{...base[prop],...overrides[prop]}:overrides[prop];continue}let overrideValue=overrides[key];if(typeof overrideValue==`function`&&key.startsWith(`on`)){let baseValue=base[key];if(typeof baseValue==`function`){props[key]=(...args)=>{overrideValue(...args),baseValue(...args)};continue}}props[key]=overrideValue}return props}var canUseDOM=checkIsBrowser();function checkIsBrowser(){return typeof window<`u`&&!!window.document?.createElement}function getDocument(node){return node?`self`in node?node.document:node.ownerDocument||document:document}function getWindow$1(node){return node?`self`in node?node.self:getDocument(node).defaultView||window:self}function getActiveElement(node,activeDescendant=!1){let{activeElement}=getDocument(node);if(!activeElement?.nodeName)return null;if(isFrame(activeElement)&&activeElement.contentDocument?.body)return getActiveElement(activeElement.contentDocument.body,activeDescendant);if(activeDescendant){let id=activeElement.getAttribute(`aria-activedescendant`);if(id){let element=getDocument(activeElement).getElementById(id);if(element)return element}}return activeElement}function contains(parent,child){return parent===child||parent.contains(child)}function isFrame(element){return element.tagName===`IFRAME`}function isButton(element){let tagName=element.tagName.toLowerCase();return tagName===`button`?!0:tagName===`input`&&element.type?buttonInputTypes$1.indexOf(element.type)!==-1:!1}var buttonInputTypes$1=[`button`,`color`,`file`,`image`,`reset`,`submit`];function isVisible(element){if(typeof element.checkVisibility==`function`)return element.checkVisibility();let htmlElement=element;return htmlElement.offsetWidth>0||htmlElement.offsetHeight>0||element.getClientRects().length>0}function isTextField(element){try{let isTextInput=element instanceof HTMLInputElement&&element.selectionStart!==null,isTextArea=element.tagName===`TEXTAREA`;return isTextInput||isTextArea||!1}catch{return!1}}function isTextbox(element){return element.isContentEditable||isTextField(element)}function getTextboxValue(element){if(isTextField(element))return element.value;if(element.isContentEditable){let range=getDocument(element).createRange();return range.selectNodeContents(element),range.toString()}return``}function getTextboxSelection(element){let start=0,end=0;if(isTextField(element))start=element.selectionStart||0,end=element.selectionEnd||0;else if(element.isContentEditable){let selection=getDocument(element).getSelection();if(selection?.rangeCount&&selection.anchorNode&&contains(element,selection.anchorNode)&&selection.focusNode&&contains(element,selection.focusNode)){let range=selection.getRangeAt(0),nextRange=range.cloneRange();nextRange.selectNodeContents(element),nextRange.setEnd(range.startContainer,range.startOffset),start=nextRange.toString().length,nextRange.setEnd(range.endContainer,range.endOffset),end=nextRange.toString().length}}return{start,end}}function getPopupRole(element,fallback){let allowedPopupRoles=[`dialog`,`menu`,`listbox`,`tree`,`grid`],role=element?.getAttribute(`role`);return role&&allowedPopupRoles.indexOf(role)!==-1?role:fallback}function getPopupItemRole(element,fallback){let itemRoleByPopupRole={menu:`menuitem`,listbox:`option`,tree:`treeitem`},popupRole=getPopupRole(element);return popupRole?itemRoleByPopupRole[popupRole]??fallback:fallback}function getScrollingElement(element){if(!element)return null;let isScrollableOverflow=overflow=>overflow===`auto`||overflow===`scroll`;if(element.clientHeight&&element.scrollHeight>element.clientHeight){let{overflowY}=getComputedStyle(element);if(isScrollableOverflow(overflowY))return element}else if(element.clientWidth&&element.scrollWidth>element.clientWidth){let{overflowX}=getComputedStyle(element);if(isScrollableOverflow(overflowX))return element}return getScrollingElement(element.parentElement)||document.scrollingElement||document.body}function sortBasedOnDOMPosition(items,getElement){let pairs=items.map((item,index)=>[index,item]),isOrderDifferent=!1;return pairs.sort(([indexA,a],[indexB,b])=>{let elementA=getElement(a),elementB=getElement(b);return elementA===elementB||!elementA||!elementB?0:isElementPreceding(elementA,elementB)?(indexA>indexB&&(isOrderDifferent=!0),-1):(indexA<indexB&&(isOrderDifferent=!0),1)}),isOrderDifferent?pairs.map(([_,item])=>item):items}function isElementPreceding(a,b){return!!(b.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_PRECEDING)}function isTouchDevice(){return canUseDOM&&!!navigator.maxTouchPoints}function isApple(){return canUseDOM?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function isSafari(){return canUseDOM&&isApple()&&/apple/i.test(navigator.vendor)}function isFirefox(){return canUseDOM&&/firefox\//i.test(navigator.userAgent)}function isMac(){return canUseDOM&&navigator.platform.startsWith(`Mac`)&&!isTouchDevice()}function isPortalEvent(event){return!!(event.currentTarget&&!contains(event.currentTarget,event.target))}function isSelfTarget(event){return event.target===event.currentTarget}function isOpeningInNewTab(event){let element=event.currentTarget;if(!element)return!1;let isAppleDevice=isApple();if(isAppleDevice&&!event.metaKey||!isAppleDevice&&!event.ctrlKey)return!1;let tagName=element.tagName.toLowerCase();return tagName===`a`||tagName===`button`&&element.type===`submit`||tagName===`input`&&element.type===`submit`}function isDownloading(event){let element=event.currentTarget;if(!element)return!1;let tagName=element.tagName.toLowerCase();return event.altKey?tagName===`a`||tagName===`button`&&element.type===`submit`||tagName===`input`&&element.type===`submit`:!1}function fireBlurEvent(element,eventInit){let event=new FocusEvent(`blur`,eventInit),defaultAllowed=element.dispatchEvent(event),bubbleInit={...eventInit,bubbles:!0};return element.dispatchEvent(new FocusEvent(`focusout`,bubbleInit)),defaultAllowed}function fireKeyboardEvent(element,type,eventInit){let event=new KeyboardEvent(type,eventInit);return element.dispatchEvent(event)}function fireClickEvent(element,eventInit){let event=new MouseEvent(`click`,eventInit);return element.dispatchEvent(event)}function isFocusEventOutside(event,container){let containerElement=container||event.currentTarget,relatedTarget=event.relatedTarget;return!relatedTarget||!contains(containerElement,relatedTarget)}function queueBeforeEvent(element,type,callback,timeout){let cancelTimer=(callback2=>{if(timeout){let timerId2=setTimeout(callback2,timeout);return()=>clearTimeout(timerId2)}let timerId=requestAnimationFrame(callback2);return()=>cancelAnimationFrame(timerId)})(()=>{element.removeEventListener(type,callSync,!0),callback()}),callSync=()=>{cancelTimer(),callback()};return element.addEventListener(type,callSync,{once:!0,capture:!0}),cancelTimer}function addGlobalEventListener(type,listener,options,scope=window){let children=[];try{scope.document.addEventListener(type,listener,options);for(let frame of Array.from(scope.frames))children.push(addGlobalEventListener(type,listener,options,frame))}catch{}return()=>{try{scope.document.removeEventListener(type,listener,options)}catch{}for(let remove of children)remove()}}var _React={...React$1},useReactId=_React.useId;_React.useDeferredValue;var useReactInsertionEffect=_React.useInsertionEffect,useSafeLayoutEffect=canUseDOM?useLayoutEffect:useEffect;function useInitialValue(value){let[initialValue]=useState(value);return initialValue}function useLiveRef(value){let ref=useRef(value);return useSafeLayoutEffect(()=>{ref.current=value}),ref}function useEvent(callback){let ref=useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return useReactInsertionEffect?useReactInsertionEffect(()=>{ref.current=callback}):ref.current=callback,useCallback((...args)=>ref.current?.call(ref,...args),[])}function useTransactionState(callback){let[state,setState]=useState(null);return useSafeLayoutEffect(()=>{if(state==null||!callback)return;let prevState=null;return callback(prev=>(prevState=prev,state)),()=>{callback(prevState)}},[state,callback]),[state,setState]}function useMergeRefs(...refs){return useMemo(()=>{if(refs.some(Boolean))return value=>{for(let ref of refs)setRef(ref,value)}},refs)}function useId(defaultId){if(useReactId){let reactId=useReactId();return defaultId||reactId}let[id,setId]=useState(defaultId);return useSafeLayoutEffect(()=>{defaultId||id||setId(`id-${Math.random().toString(36).slice(2,8)}`)},[defaultId,id]),defaultId||id}function useTagName(refOrElement,type){let stringOrUndefined=type2=>{if(typeof type2==`string`)return type2},[tagName,setTagName]=useState(()=>stringOrUndefined(type));return useSafeLayoutEffect(()=>{setTagName((refOrElement&&`current`in refOrElement?refOrElement.current:refOrElement)?.tagName.toLowerCase()||stringOrUndefined(type))},[refOrElement,type]),tagName}function useAttribute(refOrElement,attributeName,defaultValue){let initialValue=useInitialValue(defaultValue),[attribute,setAttribute]=useState(initialValue);return useEffect(()=>{let element=refOrElement&&`current`in refOrElement?refOrElement.current:refOrElement;if(!element)return;let callback=()=>{setAttribute(element.getAttribute(attributeName)??initialValue)},observer=new MutationObserver(callback);return observer.observe(element,{attributeFilter:[attributeName]}),callback(),()=>observer.disconnect()},[refOrElement,attributeName,initialValue]),attribute}function useUpdateEffect(effect,deps){let mounted=useRef(!1);useEffect(()=>{if(mounted.current)return effect();mounted.current=!0},deps),useEffect(()=>()=>{mounted.current=!1},[])}function useForceUpdate(){return useReducer(()=>[],[])}function useBooleanEvent(booleanOrCallback){return useEvent(typeof booleanOrCallback==`function`?booleanOrCallback:()=>booleanOrCallback)}function useWrapElement(props,callback,deps=[]){let wrapElement=useCallback(element=>(props.wrapElement&&(element=props.wrapElement(element)),callback(element)),[...deps,props.wrapElement]);return{...props,wrapElement}}function usePortalRef(portalProp=!1,portalRefProp){let[portalNode,setPortalNode]=useState(null);return{portalRef:useMergeRefs(setPortalNode,portalRefProp),portalNode,domReady:!portalProp||portalNode}}function useMetadataProps(props,key,value){let parent=props.onLoadedMetadataCapture,onLoadedMetadataCapture=useMemo(()=>Object.assign(()=>{},parent,...value===void 0?[]:[{[key]:value}]),[parent,key,value]);return[parent?.[key],{onLoadedMetadataCapture}]}var hasInstalledGlobalEventListeners$1=!1;function useIsMouseMoving(){return useEffect(()=>{hasInstalledGlobalEventListeners$1||=(addGlobalEventListener(`mousemove`,setMouseMoving,!0),addGlobalEventListener(`mousedown`,resetMouseMoving,!0),addGlobalEventListener(`mouseup`,resetMouseMoving,!0),addGlobalEventListener(`keydown`,resetMouseMoving,!0),addGlobalEventListener(`scroll`,resetMouseMoving,!0),!0)},[]),useEvent(()=>mouseMoving)}var mouseMoving=!1,previousScreenX=0,previousScreenY=0;function hasMouseMovement(event){let movementX=event.movementX||event.screenX-previousScreenX,movementY=event.movementY||event.screenY-previousScreenY;return previousScreenX=event.screenX,previousScreenY=event.screenY,movementX||movementY||process.env.NODE_ENV===`test`}function setMouseMoving(event){hasMouseMovement(event)&&(mouseMoving=!0)}function resetMouseMoving(){mouseMoving=!1}function forwardRef2(render){let Role=React$1.forwardRef((props,ref)=>render({...props,ref}));return Role.displayName=render.displayName||render.name,Role}function memo2(Component,propsAreEqual){return React$1.memo(Component,propsAreEqual)}function createElement(Type,props){let{wrapElement,render,...rest}=props,mergedRef=useMergeRefs(props.ref,getRefProperty(render)),element;if(React$1.isValidElement(render)){let renderProps={...render.props,ref:mergedRef};element=React$1.cloneElement(render,mergeProps(rest,renderProps))}else element=render?render(rest):jsx(Type,{...rest});return wrapElement?wrapElement(element):element}function createHook(useProps){let useRole=(props={})=>useProps(props);return useRole.displayName=useProps.name,useRole}function createStoreContext(providers=[],scopedProviders=[]){let context=React$1.createContext(void 0),scopedContext=React$1.createContext(void 0),useContext2=()=>React$1.useContext(context),useScopedContext=(onlyScoped=!1)=>{let scoped=React$1.useContext(scopedContext),store=useContext2();return onlyScoped?scoped:scoped||store},useProviderContext=()=>{let scoped=React$1.useContext(scopedContext),store=useContext2();if(!(scoped&&scoped===store))return store},ContextProvider=props=>providers.reduceRight((children,Provider)=>jsx(Provider,{...props,children}),jsx(context.Provider,{...props}));return{context,scopedContext,useContext:useContext2,useScopedContext,useProviderContext,ContextProvider,ScopedContextProvider:props=>jsx(ContextProvider,{...props,children:scopedProviders.reduceRight((children,Provider)=>jsx(Provider,{...props,children}),jsx(scopedContext.Provider,{...props}))})}}var ctx$6=createStoreContext();ctx$6.useContext,ctx$6.useScopedContext;var useDisclosureProviderContext=ctx$6.useProviderContext,DisclosureContextProvider=ctx$6.ContextProvider,DisclosureScopedContextProvider=ctx$6.ScopedContextProvider,ctx$5=createStoreContext([DisclosureContextProvider],[DisclosureScopedContextProvider]);ctx$5.useContext,ctx$5.useScopedContext;var useDialogProviderContext=ctx$5.useProviderContext,DialogContextProvider=ctx$5.ContextProvider,DialogScopedContextProvider=ctx$5.ScopedContextProvider,DialogHeadingContext=createContext(void 0),DialogDescriptionContext=createContext(void 0),ctx$4=createStoreContext([DialogContextProvider],[DialogScopedContextProvider]),usePopoverContext=ctx$4.useContext;ctx$4.useScopedContext;var usePopoverProviderContext=ctx$4.useProviderContext,PopoverContextProvider=ctx$4.ContextProvider,PopoverScopedContextProvider=ctx$4.ScopedContextProvider,ctx$3=createStoreContext(),useCollectionContext=ctx$3.useContext;ctx$3.useScopedContext,ctx$3.useProviderContext;var CollectionContextProvider=ctx$3.ContextProvider,CollectionScopedContextProvider=ctx$3.ScopedContextProvider,ctx$2=createStoreContext([CollectionContextProvider],[CollectionScopedContextProvider]),useCompositeContext=ctx$2.useContext;ctx$2.useScopedContext;var useCompositeProviderContext=ctx$2.useProviderContext,CompositeContextProvider=ctx$2.ContextProvider,CompositeScopedContextProvider=ctx$2.ScopedContextProvider,CompositeItemContext=createContext(void 0),CompositeRowContext=createContext(void 0),ctx$1=createStoreContext([PopoverContextProvider,CompositeContextProvider],[PopoverScopedContextProvider,CompositeScopedContextProvider]),useSelectContext=ctx$1.useContext,useSelectScopedContext=ctx$1.useScopedContext,useSelectProviderContext=ctx$1.useProviderContext,SelectContextProvider=ctx$1.ContextProvider,SelectScopedContextProvider=ctx$1.ScopedContextProvider,SelectItemCheckedContext=createContext(!1),SelectHeadingContext=createContext(null);function getInternal(store,key){let internals=store.__unstableInternals;return invariant(internals,`Invalid store`),internals[key]}function createStore(initialState,...stores){let state=initialState,prevStateBatch=state,lastUpdate=Symbol(),destroy=noop,instances=new Set,updatedKeys=new Set,setups=new Set,listeners=new Set,batchListeners=new Set,disposables=new WeakMap,listenerKeys=new WeakMap,storeSetup=callback=>(setups.add(callback),()=>setups.delete(callback)),storeInit=()=>{let initialized=instances.size,instance=Symbol();instances.add(instance);let maybeDestroy=()=>{instances.delete(instance),!instances.size&&destroy()};if(initialized)return maybeDestroy;let desyncs=getKeys(state).map(key=>chain(...stores.map(store=>{let storeState=(store?.getState)?.call(store);if(storeState&&hasOwnProperty(storeState,key))return sync(store,[key],state2=>{setState(key,state2[key],!0)})}))),teardowns=[];for(let setup2 of setups)teardowns.push(setup2());let cleanups=stores.map(init);return destroy=chain(...desyncs,...teardowns,...cleanups),maybeDestroy},sub=(keys,listener,set=listeners)=>(set.add(listener),listenerKeys.set(listener,keys),()=>{var _a;(_a=disposables.get(listener))==null||_a(),disposables.delete(listener),listenerKeys.delete(listener),set.delete(listener)}),storeSubscribe=(keys,listener)=>sub(keys,listener),storeSync=(keys,listener)=>(disposables.set(listener,listener(state,state)),sub(keys,listener)),storeBatch=(keys,listener)=>(disposables.set(listener,listener(state,prevStateBatch)),sub(keys,listener,batchListeners)),storePick=keys=>createStore(pick(state,keys),finalStore),storeOmit=keys=>createStore(omit(state,keys),finalStore),getState=()=>state,setState=(key,value,fromStores=!1)=>{var _a;if(!hasOwnProperty(state,key))return;let nextValue=applyState(value,state[key]);if(nextValue===state[key])return;if(!fromStores)for(let store of stores)(_a=store?.setState)==null||_a.call(store,key,nextValue);let prevState=state;state={...state,[key]:nextValue};let thisUpdate=Symbol();lastUpdate=thisUpdate,updatedKeys.add(key);let run=(listener,prev,uKeys)=>{var _a2;let keys=listenerKeys.get(listener);(!keys||keys.some(k=>uKeys?uKeys.has(k):k===key))&&((_a2=disposables.get(listener))==null||_a2(),disposables.set(listener,listener(state,prev)))};for(let listener of listeners)run(listener,prevState);queueMicrotask(()=>{if(lastUpdate!==thisUpdate)return;let snapshot=state;for(let listener of batchListeners)run(listener,prevStateBatch,updatedKeys);prevStateBatch=snapshot,updatedKeys.clear()})},finalStore={getState,setState,__unstableInternals:{setup:storeSetup,init:storeInit,subscribe:storeSubscribe,sync:storeSync,batch:storeBatch,pick:storePick,omit:storeOmit}};return finalStore}function setup(store,...args){if(store)return getInternal(store,`setup`)(...args)}function init(store,...args){if(store)return getInternal(store,`init`)(...args)}function subscribe(store,...args){if(store)return getInternal(store,`subscribe`)(...args)}function sync(store,...args){if(store)return getInternal(store,`sync`)(...args)}function batch(store,...args){if(store)return getInternal(store,`batch`)(...args)}function omit2(store,...args){if(store)return getInternal(store,`omit`)(...args)}function mergeStore(...stores){let initialState={};for(let store2 of stores){let nextState=(store2?.getState)?.call(store2);nextState&&Object.assign(initialState,nextState)}let store=createStore(initialState,...stores);return Object.assign({},...stores,store)}function throwOnConflictingProps(props,store){if(process.env.NODE_ENV===`production`||!store)return;let defaultKeys=Object.entries(props).filter(([key,value])=>key.startsWith(`default`)&&value!==void 0).map(([key])=>{let stateKey=key.replace(`default`,``);return`${stateKey[0]?.toLowerCase()||``}${stateKey.slice(1)}`});if(!defaultKeys.length)return;let storeState=store.getState();if(defaultKeys.filter(key=>hasOwnProperty(storeState,key)).length)throw Error(`Passing a store prop in conjunction with a default state is not supported.
|
|
1
|
+
import messages from"../esm/lib/messages.js";import{t as BoxAiAgent}from"./box-ai-agent.js";import{AI_AGENTS_LOCAL_STORAGE_KEY,LOGGER_ACTION_CLICK,LOGGER_BASE_CONFIG,LOGGER_TARGET}from"../esm/lib/constants.js";import{ACTIONS}from"../esm/lib/contexts/actions.js";import{n as SELECTOR_ALIGNMENT,t as REQUEST_STATE}from"./types.js";import{useAgentsDispatch}from"../esm/lib/contexts/context.js";import useLocalStorageAIAgents from"../esm/lib/hooks/useLocalStorageAIAgents.js";import*as React$1 from"react";import{createContext,isValidElement,useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"react";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{createPortal,flushSync}from"react-dom";import{Button,FilterChip,LoadingIndicator,Status,Tooltip,TooltipProvider,useFullTextTooltip}from"@box/blueprint-web";import{AlertBadge}from"@box/blueprint-web-assets/icons/Fill";import clsx from"clsx";import{useIntl}from"react-intl";import '../styles/box-ai-agent-selector.css';var __commonJSMin=(cb,mod)=>()=>(mod||(cb((mod={exports:{}}).exports,mod),cb=null),mod.exports),__require=(x=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(x,{get:(a,b)=>(typeof require<`u`?require:a)[b]}):x)(function(x){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+x+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});function noop(..._){}function applyState(argument,currentValue){return isUpdater(argument)?argument(isLazyValue(currentValue)?currentValue():currentValue):argument}function isUpdater(argument){return typeof argument==`function`}function isLazyValue(value){return typeof value==`function`}function hasOwnProperty(object,prop){return typeof Object.hasOwn==`function`?Object.hasOwn(object,prop):Object.prototype.hasOwnProperty.call(object,prop)}function chain(...fns){return(...args)=>{for(let fn of fns)typeof fn==`function`&&fn(...args)}}function normalizeString(str){return str.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function omit(object,keys){let result={...object};for(let key of keys)hasOwnProperty(result,key)&&delete result[key];return result}function pick(object,paths){let result={};for(let key of paths)hasOwnProperty(object,key)&&(result[key]=object[key]);return result}function identity(value){return value}function invariant(condition,message){if(!condition)throw Error(typeof message==`string`?message:`Invariant failed`)}function getKeys(obj){return Object.keys(obj)}function disabledFromProps(props){return props.disabled||props[`aria-disabled`]===!0||props[`aria-disabled`]===`true`}function removeUndefinedValues(obj){let result={};for(let key in obj)obj[key]!==void 0&&(result[key]=obj[key]);return result}function defaultValue(...values){for(let value of values)if(value!==void 0)return value}function setRef(ref,value){typeof ref==`function`?ref(value):ref&&(ref.current=value)}function isValidElementWithRef(element){return!element||!isValidElement(element)?!1:`ref`in element.props||`ref`in element}function getRefProperty(element){return isValidElementWithRef(element)?{...element.props}.ref||element.ref:null}function mergeProps(base,overrides){let props={...base};for(let key in overrides){if(!hasOwnProperty(overrides,key))continue;if(key===`className`){let prop=`className`;props[prop]=base[prop]?`${base[prop]} ${overrides[prop]}`:overrides[prop];continue}if(key===`style`){let prop=`style`;props[prop]=base[prop]?{...base[prop],...overrides[prop]}:overrides[prop];continue}let overrideValue=overrides[key];if(typeof overrideValue==`function`&&key.startsWith(`on`)){let baseValue=base[key];if(typeof baseValue==`function`){props[key]=(...args)=>{overrideValue(...args),baseValue(...args)};continue}}props[key]=overrideValue}return props}var canUseDOM=checkIsBrowser();function checkIsBrowser(){return typeof window<`u`&&!!window.document?.createElement}function getDocument(node){return node?`self`in node?node.document:node.ownerDocument||document:document}function getWindow$1(node){return node?`self`in node?node.self:getDocument(node).defaultView||window:self}function getActiveElement(node,activeDescendant=!1){let{activeElement}=getDocument(node);if(!activeElement?.nodeName)return null;if(isFrame(activeElement)&&activeElement.contentDocument?.body)return getActiveElement(activeElement.contentDocument.body,activeDescendant);if(activeDescendant){let id=activeElement.getAttribute(`aria-activedescendant`);if(id){let element=getDocument(activeElement).getElementById(id);if(element)return element}}return activeElement}function contains(parent,child){return parent===child||parent.contains(child)}function isFrame(element){return element.tagName===`IFRAME`}function isButton(element){let tagName=element.tagName.toLowerCase();return tagName===`button`?!0:tagName===`input`&&element.type?buttonInputTypes$1.indexOf(element.type)!==-1:!1}var buttonInputTypes$1=[`button`,`color`,`file`,`image`,`reset`,`submit`];function isVisible(element){if(typeof element.checkVisibility==`function`)return element.checkVisibility();let htmlElement=element;return htmlElement.offsetWidth>0||htmlElement.offsetHeight>0||element.getClientRects().length>0}function isTextField(element){try{let isTextInput=element instanceof HTMLInputElement&&element.selectionStart!==null,isTextArea=element.tagName===`TEXTAREA`;return isTextInput||isTextArea||!1}catch{return!1}}function isTextbox(element){return element.isContentEditable||isTextField(element)}function getTextboxValue(element){if(isTextField(element))return element.value;if(element.isContentEditable){let range=getDocument(element).createRange();return range.selectNodeContents(element),range.toString()}return``}function getTextboxSelection(element){let start=0,end=0;if(isTextField(element))start=element.selectionStart||0,end=element.selectionEnd||0;else if(element.isContentEditable){let selection=getDocument(element).getSelection();if(selection?.rangeCount&&selection.anchorNode&&contains(element,selection.anchorNode)&&selection.focusNode&&contains(element,selection.focusNode)){let range=selection.getRangeAt(0),nextRange=range.cloneRange();nextRange.selectNodeContents(element),nextRange.setEnd(range.startContainer,range.startOffset),start=nextRange.toString().length,nextRange.setEnd(range.endContainer,range.endOffset),end=nextRange.toString().length}}return{start,end}}function getPopupRole(element,fallback){let allowedPopupRoles=[`dialog`,`menu`,`listbox`,`tree`,`grid`],role=element?.getAttribute(`role`);return role&&allowedPopupRoles.indexOf(role)!==-1?role:fallback}function getPopupItemRole(element,fallback){let itemRoleByPopupRole={menu:`menuitem`,listbox:`option`,tree:`treeitem`},popupRole=getPopupRole(element);return popupRole?itemRoleByPopupRole[popupRole]??fallback:fallback}function getScrollingElement(element){if(!element)return null;let isScrollableOverflow=overflow=>overflow===`auto`||overflow===`scroll`;if(element.clientHeight&&element.scrollHeight>element.clientHeight){let{overflowY}=getComputedStyle(element);if(isScrollableOverflow(overflowY))return element}else if(element.clientWidth&&element.scrollWidth>element.clientWidth){let{overflowX}=getComputedStyle(element);if(isScrollableOverflow(overflowX))return element}return getScrollingElement(element.parentElement)||document.scrollingElement||document.body}function sortBasedOnDOMPosition(items,getElement){let pairs=items.map((item,index)=>[index,item]),isOrderDifferent=!1;return pairs.sort(([indexA,a],[indexB,b])=>{let elementA=getElement(a),elementB=getElement(b);return elementA===elementB||!elementA||!elementB?0:isElementPreceding(elementA,elementB)?(indexA>indexB&&(isOrderDifferent=!0),-1):(indexA<indexB&&(isOrderDifferent=!0),1)}),isOrderDifferent?pairs.map(([_,item])=>item):items}function isElementPreceding(a,b){return!!(b.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_PRECEDING)}function isTouchDevice(){return canUseDOM&&!!navigator.maxTouchPoints}function isApple(){return canUseDOM?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function isSafari(){return canUseDOM&&isApple()&&/apple/i.test(navigator.vendor)}function isFirefox(){return canUseDOM&&/firefox\//i.test(navigator.userAgent)}function isMac(){return canUseDOM&&navigator.platform.startsWith(`Mac`)&&!isTouchDevice()}function isPortalEvent(event){return!!(event.currentTarget&&!contains(event.currentTarget,event.target))}function isSelfTarget(event){return event.target===event.currentTarget}function isOpeningInNewTab(event){let element=event.currentTarget;if(!element)return!1;let isAppleDevice=isApple();if(isAppleDevice&&!event.metaKey||!isAppleDevice&&!event.ctrlKey)return!1;let tagName=element.tagName.toLowerCase();return tagName===`a`||tagName===`button`&&element.type===`submit`||tagName===`input`&&element.type===`submit`}function isDownloading(event){let element=event.currentTarget;if(!element)return!1;let tagName=element.tagName.toLowerCase();return event.altKey?tagName===`a`||tagName===`button`&&element.type===`submit`||tagName===`input`&&element.type===`submit`:!1}function fireBlurEvent(element,eventInit){let event=new FocusEvent(`blur`,eventInit),defaultAllowed=element.dispatchEvent(event),bubbleInit={...eventInit,bubbles:!0};return element.dispatchEvent(new FocusEvent(`focusout`,bubbleInit)),defaultAllowed}function fireKeyboardEvent(element,type,eventInit){let event=new KeyboardEvent(type,eventInit);return element.dispatchEvent(event)}function fireClickEvent(element,eventInit){let event=new MouseEvent(`click`,eventInit);return element.dispatchEvent(event)}function isFocusEventOutside(event,container){let containerElement=container||event.currentTarget,relatedTarget=event.relatedTarget;return!relatedTarget||!contains(containerElement,relatedTarget)}function queueBeforeEvent(element,type,callback,timeout){let cancelTimer=(callback2=>{if(timeout){let timerId2=setTimeout(callback2,timeout);return()=>clearTimeout(timerId2)}let timerId=requestAnimationFrame(callback2);return()=>cancelAnimationFrame(timerId)})(()=>{element.removeEventListener(type,callSync,!0),callback()}),callSync=()=>{cancelTimer(),callback()};return element.addEventListener(type,callSync,{once:!0,capture:!0}),cancelTimer}function addGlobalEventListener(type,listener,options,scope=window){let children=[];try{scope.document.addEventListener(type,listener,options);for(let frame of Array.from(scope.frames))children.push(addGlobalEventListener(type,listener,options,frame))}catch{}return()=>{try{scope.document.removeEventListener(type,listener,options)}catch{}for(let remove of children)remove()}}var _React={...React$1},useReactId=_React.useId;_React.useDeferredValue;var useReactInsertionEffect=_React.useInsertionEffect,useSafeLayoutEffect=canUseDOM?useLayoutEffect:useEffect;function useInitialValue(value){let[initialValue]=useState(value);return initialValue}function useLiveRef(value){let ref=useRef(value);return useSafeLayoutEffect(()=>{ref.current=value}),ref}function useEvent(callback){let ref=useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return useReactInsertionEffect?useReactInsertionEffect(()=>{ref.current=callback}):ref.current=callback,useCallback((...args)=>ref.current?.call(ref,...args),[])}function useTransactionState(callback){let[state,setState]=useState(null);return useSafeLayoutEffect(()=>{if(state==null||!callback)return;let prevState=null;return callback(prev=>(prevState=prev,state)),()=>{callback(prevState)}},[state,callback]),[state,setState]}function useMergeRefs(...refs){return useMemo(()=>{if(refs.some(Boolean))return value=>{for(let ref of refs)setRef(ref,value)}},refs)}function useId(defaultId){if(useReactId){let reactId=useReactId();return defaultId||reactId}let[id,setId]=useState(defaultId);return useSafeLayoutEffect(()=>{defaultId||id||setId(`id-${Math.random().toString(36).slice(2,8)}`)},[defaultId,id]),defaultId||id}function useTagName(refOrElement,type){let stringOrUndefined=type2=>{if(typeof type2==`string`)return type2},[tagName,setTagName]=useState(()=>stringOrUndefined(type));return useSafeLayoutEffect(()=>{setTagName((refOrElement&&`current`in refOrElement?refOrElement.current:refOrElement)?.tagName.toLowerCase()||stringOrUndefined(type))},[refOrElement,type]),tagName}function useAttribute(refOrElement,attributeName,defaultValue){let initialValue=useInitialValue(defaultValue),[attribute,setAttribute]=useState(initialValue);return useEffect(()=>{let element=refOrElement&&`current`in refOrElement?refOrElement.current:refOrElement;if(!element)return;let callback=()=>{setAttribute(element.getAttribute(attributeName)??initialValue)},observer=new MutationObserver(callback);return observer.observe(element,{attributeFilter:[attributeName]}),callback(),()=>observer.disconnect()},[refOrElement,attributeName,initialValue]),attribute}function useUpdateEffect(effect,deps){let mounted=useRef(!1);useEffect(()=>{if(mounted.current)return effect();mounted.current=!0},deps),useEffect(()=>()=>{mounted.current=!1},[])}function useForceUpdate(){return useReducer(()=>[],[])}function useBooleanEvent(booleanOrCallback){return useEvent(typeof booleanOrCallback==`function`?booleanOrCallback:()=>booleanOrCallback)}function useWrapElement(props,callback,deps=[]){let wrapElement=useCallback(element=>(props.wrapElement&&(element=props.wrapElement(element)),callback(element)),[...deps,props.wrapElement]);return{...props,wrapElement}}function usePortalRef(portalProp=!1,portalRefProp){let[portalNode,setPortalNode]=useState(null);return{portalRef:useMergeRefs(setPortalNode,portalRefProp),portalNode,domReady:!portalProp||portalNode}}function useMetadataProps(props,key,value){let parent=props.onLoadedMetadataCapture,onLoadedMetadataCapture=useMemo(()=>Object.assign(()=>{},parent,...value===void 0?[]:[{[key]:value}]),[parent,key,value]);return[parent?.[key],{onLoadedMetadataCapture}]}var hasInstalledGlobalEventListeners$1=!1;function useIsMouseMoving(){return useEffect(()=>{hasInstalledGlobalEventListeners$1||=(addGlobalEventListener(`mousemove`,setMouseMoving,!0),addGlobalEventListener(`mousedown`,resetMouseMoving,!0),addGlobalEventListener(`mouseup`,resetMouseMoving,!0),addGlobalEventListener(`keydown`,resetMouseMoving,!0),addGlobalEventListener(`scroll`,resetMouseMoving,!0),!0)},[]),useEvent(()=>mouseMoving)}var mouseMoving=!1,previousScreenX=0,previousScreenY=0;function hasMouseMovement(event){let movementX=event.movementX||event.screenX-previousScreenX,movementY=event.movementY||event.screenY-previousScreenY;return previousScreenX=event.screenX,previousScreenY=event.screenY,movementX||movementY||process.env.NODE_ENV===`test`}function setMouseMoving(event){hasMouseMovement(event)&&(mouseMoving=!0)}function resetMouseMoving(){mouseMoving=!1}function forwardRef2(render){let Role=React$1.forwardRef((props,ref)=>render({...props,ref}));return Role.displayName=render.displayName||render.name,Role}function memo2(Component,propsAreEqual){return React$1.memo(Component,propsAreEqual)}function createElement(Type,props){let{wrapElement,render,...rest}=props,mergedRef=useMergeRefs(props.ref,getRefProperty(render)),element;if(React$1.isValidElement(render)){let renderProps={...render.props,ref:mergedRef};element=React$1.cloneElement(render,mergeProps(rest,renderProps))}else element=render?render(rest):jsx(Type,{...rest});return wrapElement?wrapElement(element):element}function createHook(useProps){let useRole=(props={})=>useProps(props);return useRole.displayName=useProps.name,useRole}function createStoreContext(providers=[],scopedProviders=[]){let context=React$1.createContext(void 0),scopedContext=React$1.createContext(void 0),useContext2=()=>React$1.useContext(context),useScopedContext=(onlyScoped=!1)=>{let scoped=React$1.useContext(scopedContext),store=useContext2();return onlyScoped?scoped:scoped||store},useProviderContext=()=>{let scoped=React$1.useContext(scopedContext),store=useContext2();if(!(scoped&&scoped===store))return store},ContextProvider=props=>providers.reduceRight((children,Provider)=>jsx(Provider,{...props,children}),jsx(context.Provider,{...props}));return{context,scopedContext,useContext:useContext2,useScopedContext,useProviderContext,ContextProvider,ScopedContextProvider:props=>jsx(ContextProvider,{...props,children:scopedProviders.reduceRight((children,Provider)=>jsx(Provider,{...props,children}),jsx(scopedContext.Provider,{...props}))})}}var ctx$6=createStoreContext();ctx$6.useContext,ctx$6.useScopedContext;var useDisclosureProviderContext=ctx$6.useProviderContext,DisclosureContextProvider=ctx$6.ContextProvider,DisclosureScopedContextProvider=ctx$6.ScopedContextProvider,ctx$5=createStoreContext([DisclosureContextProvider],[DisclosureScopedContextProvider]);ctx$5.useContext,ctx$5.useScopedContext;var useDialogProviderContext=ctx$5.useProviderContext,DialogContextProvider=ctx$5.ContextProvider,DialogScopedContextProvider=ctx$5.ScopedContextProvider,DialogHeadingContext=createContext(void 0),DialogDescriptionContext=createContext(void 0),ctx$4=createStoreContext([DialogContextProvider],[DialogScopedContextProvider]),usePopoverContext=ctx$4.useContext;ctx$4.useScopedContext;var usePopoverProviderContext=ctx$4.useProviderContext,PopoverContextProvider=ctx$4.ContextProvider,PopoverScopedContextProvider=ctx$4.ScopedContextProvider,ctx$3=createStoreContext(),useCollectionContext=ctx$3.useContext;ctx$3.useScopedContext,ctx$3.useProviderContext;var CollectionContextProvider=ctx$3.ContextProvider,CollectionScopedContextProvider=ctx$3.ScopedContextProvider,ctx$2=createStoreContext([CollectionContextProvider],[CollectionScopedContextProvider]),useCompositeContext=ctx$2.useContext;ctx$2.useScopedContext;var useCompositeProviderContext=ctx$2.useProviderContext,CompositeContextProvider=ctx$2.ContextProvider,CompositeScopedContextProvider=ctx$2.ScopedContextProvider,CompositeItemContext=createContext(void 0),CompositeRowContext=createContext(void 0),ctx$1=createStoreContext([PopoverContextProvider,CompositeContextProvider],[PopoverScopedContextProvider,CompositeScopedContextProvider]),useSelectContext=ctx$1.useContext,useSelectScopedContext=ctx$1.useScopedContext,useSelectProviderContext=ctx$1.useProviderContext,SelectContextProvider=ctx$1.ContextProvider,SelectScopedContextProvider=ctx$1.ScopedContextProvider,SelectItemCheckedContext=createContext(!1),SelectHeadingContext=createContext(null);function getInternal(store,key){let internals=store.__unstableInternals;return invariant(internals,`Invalid store`),internals[key]}function createStore(initialState,...stores){let state=initialState,prevStateBatch=state,lastUpdate=Symbol(),destroy=noop,instances=new Set,updatedKeys=new Set,setups=new Set,listeners=new Set,batchListeners=new Set,disposables=new WeakMap,listenerKeys=new WeakMap,storeSetup=callback=>(setups.add(callback),()=>setups.delete(callback)),storeInit=()=>{let initialized=instances.size,instance=Symbol();instances.add(instance);let maybeDestroy=()=>{instances.delete(instance),!instances.size&&destroy()};if(initialized)return maybeDestroy;let desyncs=getKeys(state).map(key=>chain(...stores.map(store=>{let storeState=(store?.getState)?.call(store);if(storeState&&hasOwnProperty(storeState,key))return sync(store,[key],state2=>{setState(key,state2[key],!0)})}))),teardowns=[];for(let setup2 of setups)teardowns.push(setup2());let cleanups=stores.map(init);return destroy=chain(...desyncs,...teardowns,...cleanups),maybeDestroy},sub=(keys,listener,set=listeners)=>(set.add(listener),listenerKeys.set(listener,keys),()=>{var _a;(_a=disposables.get(listener))==null||_a(),disposables.delete(listener),listenerKeys.delete(listener),set.delete(listener)}),storeSubscribe=(keys,listener)=>sub(keys,listener),storeSync=(keys,listener)=>(disposables.set(listener,listener(state,state)),sub(keys,listener)),storeBatch=(keys,listener)=>(disposables.set(listener,listener(state,prevStateBatch)),sub(keys,listener,batchListeners)),storePick=keys=>createStore(pick(state,keys),finalStore),storeOmit=keys=>createStore(omit(state,keys),finalStore),getState=()=>state,setState=(key,value,fromStores=!1)=>{var _a;if(!hasOwnProperty(state,key))return;let nextValue=applyState(value,state[key]);if(nextValue===state[key])return;if(!fromStores)for(let store of stores)(_a=store?.setState)==null||_a.call(store,key,nextValue);let prevState=state;state={...state,[key]:nextValue};let thisUpdate=Symbol();lastUpdate=thisUpdate,updatedKeys.add(key);let run=(listener,prev,uKeys)=>{var _a2;let keys=listenerKeys.get(listener);(!keys||keys.some(k=>uKeys?uKeys.has(k):k===key))&&((_a2=disposables.get(listener))==null||_a2(),disposables.set(listener,listener(state,prev)))};for(let listener of listeners)run(listener,prevState);queueMicrotask(()=>{if(lastUpdate!==thisUpdate)return;let snapshot=state;for(let listener of batchListeners)run(listener,prevStateBatch,updatedKeys);prevStateBatch=snapshot,updatedKeys.clear()})},finalStore={getState,setState,__unstableInternals:{setup:storeSetup,init:storeInit,subscribe:storeSubscribe,sync:storeSync,batch:storeBatch,pick:storePick,omit:storeOmit}};return finalStore}function setup(store,...args){if(store)return getInternal(store,`setup`)(...args)}function init(store,...args){if(store)return getInternal(store,`init`)(...args)}function subscribe(store,...args){if(store)return getInternal(store,`subscribe`)(...args)}function sync(store,...args){if(store)return getInternal(store,`sync`)(...args)}function batch(store,...args){if(store)return getInternal(store,`batch`)(...args)}function omit2(store,...args){if(store)return getInternal(store,`omit`)(...args)}function mergeStore(...stores){let initialState={};for(let store2 of stores){let nextState=(store2?.getState)?.call(store2);nextState&&Object.assign(initialState,nextState)}let store=createStore(initialState,...stores);return Object.assign({},...stores,store)}function throwOnConflictingProps(props,store){if(process.env.NODE_ENV===`production`||!store)return;let defaultKeys=Object.entries(props).filter(([key,value])=>key.startsWith(`default`)&&value!==void 0).map(([key])=>{let stateKey=key.replace(`default`,``);return`${stateKey[0]?.toLowerCase()||``}${stateKey.slice(1)}`});if(!defaultKeys.length)return;let storeState=store.getState();if(defaultKeys.filter(key=>hasOwnProperty(storeState,key)).length)throw Error(`Passing a store prop in conjunction with a default state is not supported.
|
|
2
2
|
|
|
3
3
|
const store = useSelectStore();
|
|
4
4
|
<SelectProvider store={store} defaultValue="Apple" />
|
|
@@ -12,4 +12,4 @@ const store = useSelectStore({ defaultValue: "Apple" });
|
|
|
12
12
|
See https://github.com/ariakit/ariakit/pull/2745 for more details.
|
|
13
13
|
|
|
14
14
|
If there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit
|
|
15
|
-
`)}var require_use_sync_external_store_shim_production=__commonJSMin((exports=>{var React=__require(`react`);function is(x,y){return x===y&&(x!==0||1/x==1/y)||x!==x&&y!==y}var objectIs=typeof Object.is==`function`?Object.is:is,useState=React.useState,useEffect=React.useEffect,useLayoutEffect=React.useLayoutEffect,useDebugValue=React.useDebugValue;function useSyncExternalStore$2(subscribe,getSnapshot){var value=getSnapshot(),_useState=useState({inst:{value,getSnapshot}}),inst=_useState[0].inst,forceUpdate=_useState[1];return useLayoutEffect(function(){inst.value=value,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceUpdate({inst})},[subscribe,value,getSnapshot]),useEffect(function(){return checkIfSnapshotChanged(inst)&&forceUpdate({inst}),subscribe(function(){checkIfSnapshotChanged(inst)&&forceUpdate({inst})})},[subscribe]),useDebugValue(value),value}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch{return!0}}function useSyncExternalStore$1(subscribe,getSnapshot){return getSnapshot()}var shim=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?useSyncExternalStore$1:useSyncExternalStore$2;exports.useSyncExternalStore=React.useSyncExternalStore===void 0?shim:React.useSyncExternalStore})),require_use_sync_external_store_shim_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(function(){function is(x,y){return x===y&&(x!==0||1/x==1/y)||x!==x&&y!==y}function useSyncExternalStore$2(subscribe,getSnapshot){didWarnOld18Alpha||React.startTransition===void 0||(didWarnOld18Alpha=!0,console.error(`You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.`));var value=getSnapshot();if(!didWarnUncachedGetSnapshot){var cachedValue=getSnapshot();objectIs(value,cachedValue)||(console.error(`The result of getSnapshot should be cached to avoid an infinite loop`),didWarnUncachedGetSnapshot=!0)}cachedValue=useState({inst:{value,getSnapshot}});var inst=cachedValue[0].inst,forceUpdate=cachedValue[1];return useLayoutEffect(function(){inst.value=value,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceUpdate({inst})},[subscribe,value,getSnapshot]),useEffect(function(){return checkIfSnapshotChanged(inst)&&forceUpdate({inst}),subscribe(function(){checkIfSnapshotChanged(inst)&&forceUpdate({inst})})},[subscribe]),useDebugValue(value),value}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch{return!0}}function useSyncExternalStore$1(subscribe,getSnapshot){return getSnapshot()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var React=__require(`react`),objectIs=typeof Object.is==`function`?Object.is:is,useState=React.useState,useEffect=React.useEffect,useLayoutEffect=React.useLayoutEffect,useDebugValue=React.useDebugValue,didWarnOld18Alpha=!1,didWarnUncachedGetSnapshot=!1,shim=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?useSyncExternalStore$1:useSyncExternalStore$2;exports.useSyncExternalStore=React.useSyncExternalStore===void 0?shim:React.useSyncExternalStore,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),import_shim=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_use_sync_external_store_shim_production():module.exports=require_use_sync_external_store_shim_development()}))(),noopSubscribe=()=>()=>{};function useStoreState(store,keyOrSelector=identity){let storeSubscribe=React$1.useCallback(callback=>store?subscribe(store,null,callback):noopSubscribe(),[store]),getSnapshot=()=>{let key=typeof keyOrSelector==`string`?keyOrSelector:null,selector=typeof keyOrSelector==`function`?keyOrSelector:null,state=store?.getState();if(selector)return selector(state);if(state&&key&&hasOwnProperty(state,key))return state[key]};return(0,import_shim.useSyncExternalStore)(storeSubscribe,getSnapshot,getSnapshot)}function useStoreStateObject(store,object){let objRef=React$1.useRef({}),storeSubscribe=React$1.useCallback(callback=>store?subscribe(store,null,callback):noopSubscribe(),[store]),getSnapshot=()=>{let state=store?.getState(),updated=!1,obj=objRef.current;for(let prop in object){let keyOrSelector=object[prop];if(typeof keyOrSelector==`function`){let value=keyOrSelector(state);value!==obj[prop]&&(obj[prop]=value,updated=!0)}if(typeof keyOrSelector==`string`){if(!state||!hasOwnProperty(state,keyOrSelector))continue;let value=state[keyOrSelector];value!==obj[prop]&&(obj[prop]=value,updated=!0)}}return updated&&(objRef.current={...obj}),objRef.current};return(0,import_shim.useSyncExternalStore)(storeSubscribe,getSnapshot,getSnapshot)}function useStoreProps(store,props,key,setKey){let value=hasOwnProperty(props,key)?props[key]:void 0,propsRef=useLiveRef({value,setValue:setKey?props[setKey]:void 0});useSafeLayoutEffect(()=>sync(store,[key],(state,prev)=>{let{value:value2,setValue:setValue2}=propsRef.current;setValue2&&state[key]!==prev[key]&&state[key]!==value2&&setValue2(state[key])}),[store,key]),useSafeLayoutEffect(()=>{if(value!==void 0)return store.setState(key,value),batch(store,[key],()=>{value!==void 0&&store.setState(key,value)})})}function useStore(createStore,props){let[store,setStore]=React$1.useState(()=>createStore(props));useSafeLayoutEffect(()=>init(store),[store]);let useState2=React$1.useCallback(keyOrSelector=>useStoreState(store,keyOrSelector),[store]);return[React$1.useMemo(()=>({...store,useState:useState2}),[store,useState2]),useEvent(()=>{setStore(store2=>createStore({...props,...store2.getState()}))})]}var TagName$25=`span`,pointsMap={top:`4,10 8,6 12,10`,right:`6,4 10,8 6,12`,bottom:`4,6 8,10 12,6`,left:`10,4 6,8 10,12`},usePopoverDisclosureArrow=createHook(function({store,placement,...props}){let context=usePopoverContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`PopoverDisclosureArrow must be wrapped in a PopoverDisclosure component.`);let points=pointsMap[useStoreState(store,state=>placement||state.placement).split(`-`)[0]];return props={children:useMemo(()=>jsx(`svg`,{display:`block`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,children:jsx(`polyline`,{points})}),[points]),"aria-hidden":!0,...props,style:{width:`1em`,height:`1em`,pointerEvents:`none`,...props.style}},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$25,usePopoverDisclosureArrow(props))});var TagName$24=`span`,useSelectArrow=createHook(function({store,...props}){let context=useSelectContext();return store||=context,props=usePopoverDisclosureArrow({store,...props}),props}),SelectArrow=forwardRef2(function(props){return createElement(TagName$24,useSelectArrow(props))}),NULL_ITEM$1={id:null};function flipItems$1(items,activeId,shouldInsertNullItem=!1){let index=items.findIndex(item=>item.id===activeId);return[...items.slice(index+1),...shouldInsertNullItem?[NULL_ITEM$1]:[],...items.slice(0,index)]}function findFirstEnabledItem$1(items,excludeId){return items.find(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getEnabledItem(store,id){return id&&store.item(id)||null}function groupItemsByRows$1(items){let rows=[];for(let item of items){let row=rows.find(currentRow=>currentRow[0]?.rowId===item.rowId);row?row.push(item):rows.push([item])}return rows}function selectTextField(element,collapseToEnd=!1){if(isTextField(element))element.setSelectionRange(collapseToEnd?element.value.length:0,element.value.length);else if(element.isContentEditable){let selection=getDocument(element).getSelection();selection?.selectAllChildren(element),collapseToEnd&&selection?.collapseToEnd()}}var FOCUS_SILENTLY=Symbol(`FOCUS_SILENTLY`);function focusSilently(element){element[FOCUS_SILENTLY]=!0,element.focus({preventScroll:!0})}function silentlyFocused(element){let isSilentlyFocused=element[FOCUS_SILENTLY];return delete element[FOCUS_SILENTLY],isSilentlyFocused}function isItem(store,element,exclude){if(!element||element===exclude)return!1;let item=store.item(element.id);return!(!item||exclude&&item.element===exclude)}var TagName$23=`div`,chars=``;function clearChars(){chars=``}function isValidTypeaheadEvent(event){let target=event.target;return target&&isTextField(target)?!1:event.key===` `&&chars.length?!0:event.key.length===1&&!event.ctrlKey&&!event.altKey&&!event.metaKey&&/^[\p{Letter}\p{Number}]$/u.test(event.key)}function isSelfTargetOrItem(event,items){if(isSelfTarget(event))return!0;let target=event.target;return target?items.some(item=>item.element===target):!1}function getEnabledItems$1(items){return items.filter(item=>!item.disabled)}function itemTextStartsWith(item,text){let itemText=item.element?.textContent||item.children||`value`in item&&item.value;return itemText?normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase()):!1}function getSameInitialItems(items,char,activeId){if(!activeId)return items;let activeItem=items.find(item=>item.id===activeId);return!activeItem||!itemTextStartsWith(activeItem,char)||chars!==char&&itemTextStartsWith(activeItem,chars)?items:(chars=char,flipItems$1(items.filter(item=>itemTextStartsWith(item,chars)),activeId).filter(item=>item.id!==activeId))}var useCompositeTypeahead=createHook(function({store,typeahead=!0,...props}){let context=useCompositeContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`CompositeTypeahead must be a Composite component`);let onKeyDownCaptureProp=props.onKeyDownCapture,cleanupTimeoutRef=useRef(0),onKeyDownCapture=useEvent(event=>{if(onKeyDownCaptureProp?.(event),event.defaultPrevented||!typeahead||!store)return;if(!isValidTypeaheadEvent(event))return clearChars();let{renderedItems,items,activeId,id}=store.getState(),enabledItems=getEnabledItems$1(items.length>renderedItems.length?items:renderedItems),document=getDocument(event.currentTarget),selector=`[data-offscreen-id="${id}"]`,offscreenItems=document.querySelectorAll(selector);for(let element of offscreenItems){let disabled=element.ariaDisabled===`true`||`disabled`in element&&!!element.disabled;enabledItems.push({id:element.id,element,disabled})}if(offscreenItems.length&&(enabledItems=sortBasedOnDOMPosition(enabledItems,i=>i.element)),!isSelfTargetOrItem(event,enabledItems))return clearChars();event.preventDefault(),window.clearTimeout(cleanupTimeoutRef.current),cleanupTimeoutRef.current=window.setTimeout(()=>{chars=``},500);let char=event.key.toLowerCase();chars+=char,enabledItems=getSameInitialItems(enabledItems,char,activeId);let item=enabledItems.find(item2=>itemTextStartsWith(item2,chars));item?store.move(item.id):clearChars()});return props={...props,onKeyDownCapture},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$23,useCompositeTypeahead(props))});var TagName$22=`div`,usePopoverAnchor=createHook(function({store,...props}){let context=usePopoverProviderContext();return store||=context,props={...props,ref:useMergeRefs(store?.setAnchorElement,props.ref)},props});forwardRef2(function(props){return createElement(TagName$22,usePopoverAnchor(props))});var FocusableContext=createContext(!0),selector=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function hasNegativeTabIndex(element){return Number.parseInt(element.getAttribute(`tabindex`)||`0`,10)<0}function isFocusable(element){return!(!element.matches(selector)||!isVisible(element)||element.closest(`[inert]`))}function isTabbable(element){if(!isFocusable(element)||hasNegativeTabIndex(element))return!1;if(!(`form`in element)||!element.form||element.checked||element.type!==`radio`)return!0;let radioGroup=element.form.elements.namedItem(element.name);if(!radioGroup||!(`length`in radioGroup))return!0;let activeElement=getActiveElement(element);return!activeElement||activeElement===element||!(`form`in activeElement)||activeElement.form!==element.form||activeElement.name!==element.name}function getAllFocusableIn(container,includeContainer){let elements=Array.from(container.querySelectorAll(selector));includeContainer&&elements.unshift(container);let focusableElements=elements.filter(isFocusable);return focusableElements.forEach((element,i)=>{if(!isFrame(element))return;let frameBody=element.contentDocument?.body;frameBody&&focusableElements.splice(i,1,...getAllFocusableIn(frameBody))}),focusableElements}function getAllTabbableIn(container,includeContainer,fallbackToFocusable){let elements=Array.from(container.querySelectorAll(selector)),tabbableElements=elements.filter(isTabbable);return includeContainer&&isTabbable(container)&&tabbableElements.unshift(container),tabbableElements.forEach((element,i)=>{if(!isFrame(element))return;let frameBody=element.contentDocument?.body;if(!frameBody)return;let allFrameTabbable=getAllTabbableIn(frameBody,!1,fallbackToFocusable);tabbableElements.splice(i,1,...allFrameTabbable)}),!tabbableElements.length&&fallbackToFocusable?elements:tabbableElements}function getFirstTabbableIn(container,includeContainer,fallbackToFocusable){let[first]=getAllTabbableIn(container,includeContainer,fallbackToFocusable);return first||null}function getNextTabbableIn(container,includeContainer,fallbackToFirst,fallbackToFocusable){let activeElement=getActiveElement(container),allFocusable=getAllFocusableIn(container,includeContainer),activeIndex=allFocusable.indexOf(activeElement),nextFocusableElements=allFocusable.slice(activeIndex+1);return nextFocusableElements.find(isTabbable)||(fallbackToFirst?allFocusable.find(isTabbable):null)||(fallbackToFocusable?nextFocusableElements[0]:null)||null}function getNextTabbable(fallbackToFirst,fallbackToFocusable){return getNextTabbableIn(document.body,!1,fallbackToFirst,fallbackToFocusable)}function getPreviousTabbableIn(container,includeContainer,fallbackToLast,fallbackToFocusable){let activeElement=getActiveElement(container),allFocusable=getAllFocusableIn(container,includeContainer).reverse(),activeIndex=allFocusable.indexOf(activeElement),previousFocusableElements=allFocusable.slice(activeIndex+1);return previousFocusableElements.find(isTabbable)||(fallbackToLast?allFocusable.find(isTabbable):null)||(fallbackToFocusable?previousFocusableElements[0]:null)||null}function getPreviousTabbable(fallbackToFirst,fallbackToFocusable){return getPreviousTabbableIn(document.body,!1,fallbackToFirst,fallbackToFocusable)}function hasFocus(element){let activeElement=getActiveElement(element);if(!activeElement)return!1;if(activeElement===element)return!0;let activeDescendant=activeElement.getAttribute(`aria-activedescendant`);return activeDescendant?activeDescendant===element.id:!1}function hasFocusWithin(element){let activeElement=getActiveElement(element);if(!activeElement)return!1;if(contains(element,activeElement))return!0;let activeDescendant=activeElement.getAttribute(`aria-activedescendant`);return!activeDescendant||!(`id`in element)?!1:activeDescendant===element.id?!0:!!element.querySelector(`#${CSS.escape(activeDescendant)}`)}function disableFocus(element){let currentTabindex=element.getAttribute(`tabindex`)??``;element.setAttribute(`data-tabindex`,currentTabindex),element.setAttribute(`tabindex`,`-1`)}function disableFocusIn(container,includeContainer){let tabbableElements=getAllTabbableIn(container,includeContainer);for(let element of tabbableElements)disableFocus(element)}function restoreFocusIn(container){let elements=container.querySelectorAll(`[data-tabindex]`),restoreTabIndex=element=>{let tabindex=element.getAttribute(`data-tabindex`);element.removeAttribute(`data-tabindex`),tabindex?element.setAttribute(`tabindex`,tabindex):element.removeAttribute(`tabindex`)};container.hasAttribute(`data-tabindex`)&&restoreTabIndex(container);for(let element of elements)restoreTabIndex(element)}function focusIntoView(element,options){`scrollIntoView`in element?(element.focus({preventScroll:!0}),element.scrollIntoView({block:`nearest`,inline:`nearest`,...options})):element.focus()}var TagName$21=`div`,accessibleWhenDisabledSymbol=Symbol(`accessibleWhenDisabled`),isSafariBrowser$1=isSafari(),alwaysFocusVisibleInputTypes=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`];function isAlwaysFocusVisible(element){let{tagName,readOnly,type}=element;return tagName===`TEXTAREA`&&!readOnly||tagName===`SELECT`&&!readOnly?!0:tagName===`INPUT`&&!readOnly?alwaysFocusVisibleInputTypes.includes(type):!!(element.isContentEditable||element.getAttribute(`role`)===`combobox`&&element.dataset.name)}function isNativeTabbable(tagName){return tagName?tagName===`button`||tagName===`summary`||tagName===`input`||tagName===`select`||tagName===`textarea`||tagName===`a`:!0}function supportsDisabledAttribute(tagName){return tagName?tagName===`button`||tagName===`input`||tagName===`select`||tagName===`textarea`:!0}var buttonInputTypes=[`button`,`color`,`file`,`image`,`reset`,`submit`];function needsSafariTabIndex(tagName,inputType){return tagName===`button`?!0:tagName===`input`&&inputType?inputType===`checkbox`||inputType===`radio`?!0:buttonInputTypes.includes(inputType):!1}function getTabIndex({focusable,trulyDisabled,nativeTabbable,supportsDisabled,safariTabIndex,tabIndexProp}){return focusable?trulyDisabled?nativeTabbable&&!supportsDisabled?-1:void 0:nativeTabbable?safariTabIndex&&tabIndexProp==null?0:tabIndexProp:tabIndexProp??0:tabIndexProp}function useDisableEvent(onEvent,disabled){return useEvent(event=>{onEvent?.(event),!event.defaultPrevented&&disabled&&(event.stopPropagation(),event.preventDefault())})}var hasInstalledGlobalEventListeners=!1,isKeyboardModality=!0;function onGlobalMouseDown(event){let target=event.target;target&&`hasAttribute`in target&&(target.hasAttribute(`data-focus-visible`)||(isKeyboardModality=!1))}function onGlobalKeyDown(event){event.metaKey||event.ctrlKey||event.altKey||(isKeyboardModality=!0)}var useFocusable=createHook(function({focusable=!0,accessibleWhenDisabled,autoFocus,onFocusVisible,...props}){let ref=useRef(null),[parentAccessibleWhenDisabled,metadataProps]=useMetadataProps(props,accessibleWhenDisabledSymbol,accessibleWhenDisabled);accessibleWhenDisabled??=parentAccessibleWhenDisabled,useEffect(()=>{focusable&&(hasInstalledGlobalEventListeners||=(addGlobalEventListener(`mousedown`,onGlobalMouseDown,!0),addGlobalEventListener(`keydown`,onGlobalKeyDown,!0),!0))},[focusable]);let disabled=focusable&&disabledFromProps(props),trulyDisabled=!!disabled&&!accessibleWhenDisabled,[focusVisible,setFocusVisible]=useState(!1);useEffect(()=>{focusable&&trulyDisabled&&focusVisible&&setFocusVisible(!1)},[focusable,trulyDisabled,focusVisible]),useEffect(()=>{if(!focusable||!focusVisible)return;let element=ref.current;if(!element||typeof IntersectionObserver>`u`)return;let observer=new IntersectionObserver(()=>{isFocusable(element)||setFocusVisible(!1)});return observer.observe(element),()=>observer.disconnect()},[focusable,focusVisible]);let onKeyPressCapture=useDisableEvent(props.onKeyPressCapture,disabled),onMouseDownCapture=useDisableEvent(props.onMouseDownCapture,disabled),onClickCapture=useDisableEvent(props.onClickCapture,disabled),handleFocusVisible=(event,currentTarget)=>{if(currentTarget&&(event.currentTarget=currentTarget),!focusable)return;let element=event.currentTarget;element&&hasFocus(element)&&(onFocusVisible?.(event),!event.defaultPrevented&&(element.dataset.focusVisible=`true`,setFocusVisible(!0)))},onKeyDownCaptureProp=props.onKeyDownCapture,onKeyDownCapture=useEvent(event=>{if(onKeyDownCaptureProp?.(event),event.defaultPrevented||!focusable||focusVisible||event.metaKey||event.altKey||event.ctrlKey||!isSelfTarget(event))return;let element=event.currentTarget;queueBeforeEvent(element,`focusout`,()=>handleFocusVisible(event,element))}),onFocusCaptureProp=props.onFocusCapture,onFocusCapture=useEvent(event=>{if(onFocusCaptureProp?.(event),event.defaultPrevented||!focusable)return;if(!isSelfTarget(event)){setFocusVisible(!1);return}let element=event.currentTarget;isKeyboardModality||isAlwaysFocusVisible(event.target)?queueBeforeEvent(event.target,`focusout`,()=>handleFocusVisible(event,element)):setFocusVisible(!1)}),onBlurProp=props.onBlur,onBlur=useEvent(event=>{onBlurProp?.(event),focusable&&isFocusEventOutside(event)&&(event.currentTarget.removeAttribute(`data-focus-visible`),setFocusVisible(!1))}),autoFocusOnShow=useContext(FocusableContext),autoFocusRef=useEvent(element=>{focusable&&autoFocus&&element&&autoFocusOnShow&&queueMicrotask(()=>{hasFocus(element)||isFocusable(element)&&element.focus()})}),tagName=useTagName(ref),nativeTabbable=focusable&&isNativeTabbable(tagName),supportsDisabled=focusable&&supportsDisabledAttribute(tagName),[safariTabIndex,setSafariTabIndex]=useState(!1);isSafariBrowser$1&&useEffect(()=>{if(!focusable)return;let element=ref.current;if(!element)return;let tag=element.tagName.toLowerCase(),type=element.type;setSafariTabIndex(needsSafariTabIndex(tag,type))},[focusable]);let styleProp=props.style,style=useMemo(()=>trulyDisabled?{pointerEvents:`none`,...styleProp}:styleProp,[trulyDisabled,styleProp]);return props={"data-focus-visible":focusable&&focusVisible||void 0,"data-autofocus":autoFocus||void 0,"aria-disabled":disabled||void 0,...props,...metadataProps,ref:useMergeRefs(ref,autoFocusRef,props.ref),style,tabIndex:getTabIndex({focusable,trulyDisabled,nativeTabbable,supportsDisabled,safariTabIndex,tabIndexProp:props.tabIndex}),disabled:supportsDisabled&&trulyDisabled?!0:void 0,contentEditable:disabled?void 0:props.contentEditable,onKeyPressCapture,onClickCapture,onMouseDownCapture,onKeyDownCapture,onFocusCapture,onBlur},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$21,useFocusable(props))});var TagName$20=`button`;function isNativeClick(event){if(!event.isTrusted)return!1;let element=event.currentTarget;return event.key===`Enter`?isButton(element)||element.tagName===`SUMMARY`||element.tagName===`A`:event.key===` `?isButton(element)||element.tagName===`SUMMARY`||element.tagName===`INPUT`||element.tagName===`SELECT`:!1}var symbol$2=Symbol(`command`),useCommand=createHook(function({clickOnEnter=!0,clickOnSpace=!0,...props}){let ref=useRef(null),[isNativeButton,setIsNativeButton]=useState(!1);useEffect(()=>{ref.current&&setIsNativeButton(isButton(ref.current))},[]);let[active,setActive]=useState(!1),activeRef=useRef(!1),disabled=disabledFromProps(props),[isDuplicate,metadataProps]=useMetadataProps(props,symbol$2,!0),onKeyDownProp=props.onKeyDown,onKeyDown=useEvent(event=>{onKeyDownProp?.(event);let element=event.currentTarget;if(event.defaultPrevented||isDuplicate||disabled||!isSelfTarget(event)||isTextField(element)||element.isContentEditable)return;let isEnter=clickOnEnter&&event.key===`Enter`,isSpace=clickOnSpace&&event.key===` `,shouldPreventEnter=event.key===`Enter`&&!clickOnEnter,shouldPreventSpace=event.key===` `&&!clickOnSpace;if(shouldPreventEnter||shouldPreventSpace){event.preventDefault();return}if(isEnter||isSpace){let nativeClick=isNativeClick(event);if(isEnter){if(!nativeClick){event.preventDefault();let{view,...eventInit}=event,click=()=>fireClickEvent(element,eventInit);isFirefox()?queueBeforeEvent(element,`keyup`,click):queueMicrotask(click)}}else isSpace&&(activeRef.current=!0,nativeClick||(event.preventDefault(),setActive(!0)))}}),onKeyUpProp=props.onKeyUp,onKeyUp=useEvent(event=>{if(onKeyUpProp?.(event),event.defaultPrevented||isDuplicate||disabled||event.metaKey)return;let isSpace=clickOnSpace&&event.key===` `;if(activeRef.current&&isSpace&&(activeRef.current=!1,!isNativeClick(event))){event.preventDefault(),setActive(!1);let element=event.currentTarget,{view,...eventInit}=event;queueMicrotask(()=>fireClickEvent(element,eventInit))}});return props={"data-active":active||void 0,type:isNativeButton?`button`:void 0,...metadataProps,...props,ref:useMergeRefs(ref,props.ref),onKeyDown,onKeyUp},props=useFocusable(props),props});forwardRef2(function(props){return createElement(TagName$20,useCommand(props))});var TagName$19=`button`,useButton=createHook(function(props){let ref=useRef(null),tagName=useTagName(ref,TagName$19),[isNativeButton,setIsNativeButton]=useState(()=>!!tagName&&isButton({tagName,type:props.type}));return useEffect(()=>{ref.current&&setIsNativeButton(isButton(ref.current))},[]),props={role:!isNativeButton&&tagName!==`a`?`button`:void 0,...props,ref:useMergeRefs(ref,props.ref)},props=useCommand(props),props});forwardRef2(function(props){return createElement(TagName$19,useButton(props))});var TagName$18=`button`,symbol$1=Symbol(`disclosure`),useDisclosure=createHook(function({store,toggleOnClick=!0,...props}){let context=useDisclosureProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Disclosure must receive a `store` prop or be wrapped in a DisclosureProvider component.");let ref=useRef(null),[expanded,setExpanded]=useState(!1),disclosureElement=useStoreState(store,`disclosureElement`),open=useStoreState(store,`open`);useEffect(()=>{let isCurrentDisclosure=disclosureElement===ref.current;disclosureElement?.isConnected||(store?.setDisclosureElement(ref.current),isCurrentDisclosure=!0),setExpanded(open&&isCurrentDisclosure)},[disclosureElement,store,open]);let onClickProp=props.onClick,toggleOnClickProp=useBooleanEvent(toggleOnClick),[isDuplicate,metadataProps]=useMetadataProps(props,symbol$1,!0),onClick=useEvent(event=>{onClickProp?.(event),!event.defaultPrevented&&(isDuplicate||toggleOnClickProp(event)&&(store?.setDisclosureElement(event.currentTarget),store?.toggle()))});return props={"aria-expanded":expanded,"aria-controls":useStoreState(store,`contentElement`)?.id,...metadataProps,...props,ref:useMergeRefs(ref,props.ref),onClick},props=useButton(props),props});forwardRef2(function(props){return createElement(TagName$18,useDisclosure(props))});var TagName$17=`button`,useDialogDisclosure=createHook(function({store,...props}){let context=useDialogProviderContext();return store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"DialogDisclosure must receive a `store` prop or be wrapped in a DialogProvider component."),props={"aria-haspopup":getPopupRole(useStoreState(store,`contentElement`),`dialog`),...props},props=useDisclosure({store,...props}),props});forwardRef2(function(props){return createElement(TagName$17,useDialogDisclosure(props))});var TagName$16=`button`,usePopoverDisclosure=createHook(function({store,...props}){let context=usePopoverProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"PopoverDisclosure must receive a `store` prop or be wrapped in a PopoverProvider component.");let onClickProp=props.onClick,onClick=useEvent(event=>{store?.setAnchorElement(event.currentTarget),onClickProp?.(event)});return props=useWrapElement(props,element=>jsx(PopoverScopedContextProvider,{value:store,children:element}),[store]),props={...props,onClick},props=usePopoverAnchor({store,...props}),props=useDialogDisclosure({store,...props}),props});forwardRef2(function(props){return createElement(TagName$16,usePopoverDisclosure(props))});function toArray(arg){return Array.isArray(arg)?arg:arg===void 0?[]:[arg]}function flatten2DArray(array){let flattened=[];for(let row of array)flattened.push(...row);return flattened}function reverseArray(array){return array.slice().reverse()}var TagName$15=`button`;function getSelectedValues(select){return Array.from(select.selectedOptions).map(option=>option.value)}function nextWithValue(store,next){return()=>{let nextId=next();if(!nextId)return;let i=0,nextItem=store.item(nextId),firstItem=nextItem;for(;nextItem&&nextItem.value==null;){let nextId2=next(++i);if(!nextId2)return;if(nextItem=store.item(nextId2),nextItem===firstItem)break}return nextItem?.id}}var useSelect=createHook(function({store,name,form,required,showOnKeyDown=!0,moveOnKeyDown=!0,toggleOnPress=!0,toggleOnClick=toggleOnPress,...props}){let context=useSelectProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Select must receive a `store` prop or be wrapped in a SelectProvider component.");let onKeyDownProp=props.onKeyDown,showOnKeyDownProp=useBooleanEvent(showOnKeyDown),moveOnKeyDownProp=useBooleanEvent(moveOnKeyDown),dir=useStoreState(store,`placement`).split(`-`)[0],value=useStoreState(store,`value`),multiSelectable=Array.isArray(value),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.defaultPrevented||!store)return;let{orientation,items:items2,activeId}=store.getState(),isVertical=orientation!==`horizontal`,isHorizontal=orientation!==`vertical`,isGrid=!!items2.find(item=>!item.disabled&&item.value!=null)?.rowId,getId={ArrowUp:(isGrid||isVertical)&&nextWithValue(store,store.up),ArrowRight:(isGrid||isHorizontal)&&nextWithValue(store,store.next),ArrowDown:(isGrid||isVertical)&&nextWithValue(store,store.down),ArrowLeft:(isGrid||isHorizontal)&&nextWithValue(store,store.previous)}[event.key];getId&&moveOnKeyDownProp(event)&&(event.preventDefault(),store.move(getId()));let isTopOrBottom=dir===`top`||dir===`bottom`;({ArrowDown:isTopOrBottom,ArrowUp:isTopOrBottom,ArrowLeft:dir===`left`,ArrowRight:dir===`right`})[event.key]&&showOnKeyDownProp(event)&&(event.preventDefault(),store.move(activeId),queueBeforeEvent(event.currentTarget,`keyup`,store.show))});props=useWrapElement(props,element=>jsx(SelectScopedContextProvider,{value:store,children:element}),[store]);let[autofill,setAutofill]=useState(!1),nativeSelectChangedRef=useRef(!1);useEffect(()=>{let nativeSelectChanged=nativeSelectChangedRef.current;nativeSelectChangedRef.current=!1,!nativeSelectChanged&&setAutofill(!1)},[value]);let labelId=useStoreState(store,state=>state.labelElement?.id),label=props[`aria-label`],labelledBy=props[`aria-labelledby`]||labelId,items=useStoreState(store,state=>{if(name)return state.items}),values=useMemo(()=>[...new Set(items?.map(i=>i.value).filter(v=>v!=null))],[items]);props=useWrapElement(props,element=>name?jsxs(Fragment,{children:[jsxs(`select`,{style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`},tabIndex:-1,"aria-hidden":!0,"aria-label":label,"aria-labelledby":label==null?labelledBy:void 0,name,form,required,disabled:props.disabled,value,multiple:multiSelectable,onFocus:()=>(store?.getState().selectElement)?.focus(),onChange:event=>{nativeSelectChangedRef.current=!0,setAutofill(!0),store?.setValue(multiSelectable?getSelectedValues(event.target):event.target.value)},children:[toArray(value).map(value2=>value2==null||values.includes(value2)?null:jsx(`option`,{value:value2,children:value2},value2)),values.map(value2=>jsx(`option`,{value:value2,children:value2},value2))]}),element]}):element,[store,label,labelledBy,name,form,required,value,multiSelectable,values,props.disabled]);let children=jsxs(Fragment,{children:[value,jsx(SelectArrow,{})]}),contentElement=useStoreState(store,`contentElement`);return props={role:`combobox`,"aria-autocomplete":`none`,"aria-labelledby":props[`aria-label`]==null?labelId:void 0,"aria-haspopup":getPopupRole(contentElement,`listbox`),"data-autofill":autofill||void 0,"data-name":name,children,...props,ref:useMergeRefs(store.setSelectElement,props.ref),onKeyDown},props=usePopoverDisclosure({store,toggleOnClick,...props}),props=useCompositeTypeahead({store,...props}),props}),Select=forwardRef2(function(props){return createElement(TagName$15,useSelect(props))}),HeadingContext=createContext(0),TagName$14=`div`;function getMouseDestination(event){let relatedTarget=event.relatedTarget;return relatedTarget?.nodeType===Node.ELEMENT_NODE?relatedTarget:null}function hoveringInside(event){let nextElement=getMouseDestination(event);return nextElement?contains(event.currentTarget,nextElement):!1}var symbol=Symbol(`composite-hover`);function movingToAnotherItem(event){let dest=getMouseDestination(event);if(!dest)return!1;do{if(hasOwnProperty(dest,symbol)&&dest[symbol])return!0;dest=dest.parentElement}while(dest);return!1}var useCompositeHover=createHook(function({store,focusOnHover=!0,blurOnHoverEnd=!!focusOnHover,...props}){let context=useCompositeContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`CompositeHover must be wrapped in a Composite component.`);let isMouseMoving=useIsMouseMoving(),onMouseMoveProp=props.onMouseMove,focusOnHoverProp=useBooleanEvent(focusOnHover),onMouseMove=useEvent(event=>{if(onMouseMoveProp?.(event),!event.defaultPrevented&&isMouseMoving()&&focusOnHoverProp(event)){if(!hasFocusWithin(event.currentTarget)){let baseElement=store?.getState().baseElement;baseElement&&!hasFocus(baseElement)&&baseElement.focus()}store?.setActiveId(event.currentTarget.id)}}),onMouseLeaveProp=props.onMouseLeave,blurOnHoverEndProp=useBooleanEvent(blurOnHoverEnd),onMouseLeave=useEvent(event=>{var _a;onMouseLeaveProp?.(event),!event.defaultPrevented&&isMouseMoving()&&(hoveringInside(event)||movingToAnotherItem(event)||focusOnHoverProp(event)&&blurOnHoverEndProp(event)&&(store?.setActiveId(null),(_a=store?.getState().baseElement)==null||_a.focus()))}),ref=useCallback(element=>{element&&(element[symbol]=!0)},[]);return props={...props,ref:useMergeRefs(ref,props.ref),onMouseMove,onMouseLeave},removeUndefinedValues(props)});memo2(forwardRef2(function(props){return createElement(TagName$14,useCompositeHover(props))}));var TagName$13=`div`,useCollectionItem=createHook(function({store,shouldRegisterItem=!0,getItem=identity,element,...props}){let context=useCollectionContext();store||=context;let id=useId(props.id),ref=useRef(element);return useEffect(()=>{let element2=ref.current;if(!id||!element2||!shouldRegisterItem)return;let item=getItem({id,element:element2});return store?.renderItem(item)},[id,shouldRegisterItem,getItem,store]),props={...props,ref:useMergeRefs(ref,props.ref)},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$13,useCollectionItem(props))});var TagName$12=`button`;function isEditableElement(element){return isTextbox(element)?!0:element.tagName===`INPUT`&&!isButton(element)}function getNextPageOffset(scrollingElement,pageUp=!1){let height=scrollingElement.clientHeight,{top}=scrollingElement.getBoundingClientRect(),pageSize=Math.max(height*.875,height-40)*1.5,pageOffset=pageUp?height-pageSize+top:pageSize+top;return scrollingElement.tagName===`HTML`?pageOffset+scrollingElement.scrollTop:pageOffset}function getItemOffset(itemElement,pageUp=!1){let{top}=itemElement.getBoundingClientRect();return pageUp?top+itemElement.clientHeight:top}function findNextPageItemId(element,store,next,pageUp=!1){if(!store||!next)return;let{renderedItems}=store.getState(),scrollingElement=getScrollingElement(element);if(!scrollingElement)return;let nextPageOffset=getNextPageOffset(scrollingElement,pageUp),id,prevDifference;for(let i=0;i<renderedItems.length;i+=1){let previousId=id;if(id=next(i),!id)break;if(id===previousId)continue;let itemElement=getEnabledItem(store,id)?.element;if(!itemElement)continue;let difference=getItemOffset(itemElement,pageUp)-nextPageOffset,absDifference=Math.abs(difference);if(pageUp&&difference<=0||!pageUp&&difference>=0){prevDifference!==void 0&&prevDifference<absDifference&&(id=previousId);break}prevDifference=absDifference}return id}function targetIsAnotherItem(event,store){return isSelfTarget(event)?!1:isItem(store,event.target)}var useCompositeItem=createHook(function({store,rowId:rowIdProp,preventScrollOnKeyDown=!1,moveOnKeyPress=!0,tabbable=!1,getItem:getItemProp,"aria-setsize":ariaSetSizeProp,"aria-posinset":ariaPosInSetProp,...props}){let context=useCompositeContext();store||=context;let id=useId(props.id),ref=useRef(null),row=useContext(CompositeRowContext),trulyDisabled=disabledFromProps(props)&&!props.accessibleWhenDisabled,{rowId,baseElement,isActiveItem,ariaSetSize,ariaPosInSet,isTabbable}=useStoreStateObject(store,{rowId(state){if(rowIdProp)return rowIdProp;if(state&&row?.baseElement&&row.baseElement===state.baseElement)return row.id},baseElement(state){return state?.baseElement||void 0},isActiveItem(state){return!!state&&state.activeId===id},ariaSetSize(state){if(ariaSetSizeProp!=null)return ariaSetSizeProp;if(state&&row?.ariaSetSize&&row.baseElement===state.baseElement)return row.ariaSetSize},ariaPosInSet(state){if(ariaPosInSetProp!=null)return ariaPosInSetProp;if(!state||!row?.ariaPosInSet||row.baseElement!==state.baseElement)return;let itemsInRow=state.renderedItems.filter(item=>item.rowId===rowId);return row.ariaPosInSet+itemsInRow.findIndex(item=>item.id===id)},isTabbable(state){if(!state?.renderedItems.length)return!0;if(state.virtualFocus)return!1;if(tabbable)return!0;if(state.activeId===null)return!1;let item=store?.item(state.activeId);return item?.disabled||!item?.element?!0:state.activeId===id}}),getItem=useCallback(item=>{let nextItem={...item,id:id||item.id,rowId,disabled:!!trulyDisabled,children:item.element?.textContent};return getItemProp?getItemProp(nextItem):nextItem},[id,rowId,trulyDisabled,getItemProp]),onFocusProp=props.onFocus,hasFocusedComposite=useRef(!1),onFocus=useEvent(event=>{if(onFocusProp?.(event),event.defaultPrevented||isPortalEvent(event)||!id||!store||targetIsAnotherItem(event,store))return;let{virtualFocus,baseElement:baseElement2}=store.getState();store.setActiveId(id),isTextbox(event.currentTarget)&&selectTextField(event.currentTarget),virtualFocus&&isSelfTarget(event)&&(isEditableElement(event.currentTarget)||baseElement2?.isConnected&&(isSafari()&&event.currentTarget.hasAttribute(`data-autofocus`)&&event.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),hasFocusedComposite.current=!0,event.relatedTarget===baseElement2||isItem(store,event.relatedTarget)?focusSilently(baseElement2):baseElement2.focus()))}),onBlurCaptureProp=props.onBlurCapture,onBlurCapture=useEvent(event=>{onBlurCaptureProp?.(event),!event.defaultPrevented&&store?.getState()?.virtualFocus&&hasFocusedComposite.current&&(hasFocusedComposite.current=!1,event.preventDefault(),event.stopPropagation())}),onKeyDownProp=props.onKeyDown,preventScrollOnKeyDownProp=useBooleanEvent(preventScrollOnKeyDown),moveOnKeyPressProp=useBooleanEvent(moveOnKeyPress),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.defaultPrevented||!isSelfTarget(event)||!store)return;let{currentTarget}=event,state=store.getState(),isGrid=!!store.item(id)?.rowId,isVertical=state.orientation!==`horizontal`,isHorizontal=state.orientation!==`vertical`,canHomeEnd=()=>!!(isGrid||isHorizontal||!state.baseElement||!isTextField(state.baseElement)),action={ArrowUp:(isGrid||isVertical)&&store.up,ArrowRight:(isGrid||isHorizontal)&&store.next,ArrowDown:(isGrid||isVertical)&&store.down,ArrowLeft:(isGrid||isHorizontal)&&store.previous,Home:()=>{if(canHomeEnd())return!isGrid||event.ctrlKey?store?.first():store?.previous(-1)},End:()=>{if(canHomeEnd())return!isGrid||event.ctrlKey?store?.last():store?.next(-1)},PageUp:()=>findNextPageItemId(currentTarget,store,store?.up,!0),PageDown:()=>findNextPageItemId(currentTarget,store,store?.down)}[event.key];if(action){if(isTextbox(currentTarget)){let selection=getTextboxSelection(currentTarget),isLeft=isHorizontal&&event.key===`ArrowLeft`,isRight=isHorizontal&&event.key===`ArrowRight`,isUp=isVertical&&event.key===`ArrowUp`,isDown=isVertical&&event.key===`ArrowDown`;if(isRight||isDown){let{length:valueLength}=getTextboxValue(currentTarget);if(selection.end!==valueLength)return}else if((isLeft||isUp)&&selection.start!==0)return}let nextId=action();if(preventScrollOnKeyDownProp(event)||nextId!==void 0){if(!moveOnKeyPressProp(event))return;event.preventDefault(),store.move(nextId)}}}),providerValue=useMemo(()=>({id,baseElement}),[id,baseElement]);return props=useWrapElement(props,element=>jsx(CompositeItemContext.Provider,{value:providerValue,children:element}),[providerValue]),props={"data-active-item":isActiveItem||void 0,...props,id,ref:useMergeRefs(ref,props.ref),tabIndex:isTabbable?props.tabIndex:-1,onFocus,onBlurCapture,onKeyDown},props=useCommand(props),props=useCollectionItem({store,...props,getItem,shouldRegisterItem:id?props.shouldRegisterItem:!1}),removeUndefinedValues({...props,"aria-setsize":ariaSetSize,"aria-posinset":ariaPosInSet})});memo2(forwardRef2(function(props){return createElement(TagName$12,useCompositeItem(props))}));var TagName$11=`div`;function isSelected(storeValue,itemValue){if(itemValue!=null)return storeValue==null?!1:Array.isArray(storeValue)?storeValue.includes(itemValue):storeValue===itemValue}var useSelectItem=createHook(function({store,value,getItem:getItemProp,hideOnClick,setValueOnClick=value!=null,preventScrollOnKeyDown=!0,focusOnHover=!0,...props}){let context=useSelectScopedContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`SelectItem must be wrapped in a SelectList or SelectPopover component.`);let id=useId(props.id),disabled=disabledFromProps(props),{listElement,multiSelectable,selected,autoFocus}=useStoreStateObject(store,{listElement:`listElement`,multiSelectable(state){return Array.isArray(state.value)},selected(state){return isSelected(state.value,value)},autoFocus(state){return value==null||state.value==null||state.activeId!==id&&store?.item(state.activeId)?!1:Array.isArray(state.value)?state.value[state.value.length-1]===value:state.value===value}}),virtualFocus=useStoreState(store?.combobox,`virtualFocus`),getItem=useCallback(item=>{let nextItem={...item,value:disabled?void 0:value};return getItemProp?getItemProp(nextItem):nextItem},[disabled,value,getItemProp]);hideOnClick??=value!=null&&!multiSelectable;let onClickProp=props.onClick,setValueOnClickProp=useBooleanEvent(setValueOnClick),hideOnClickProp=useBooleanEvent(hideOnClick),onClick=useEvent(event=>{onClickProp?.(event),!event.defaultPrevented&&(isDownloading(event)||isOpeningInNewTab(event)||(setValueOnClickProp(event)&&value!=null&&store?.setValue(prevValue=>Array.isArray(prevValue)?prevValue.includes(value)?prevValue.filter(v=>v!==value):[...prevValue,value]:value),hideOnClickProp(event)&&store?.hide()))});props=useWrapElement(props,element=>jsx(SelectItemCheckedContext.Provider,{value:selected??!1,children:element}),[selected]);let shouldAutoFocus=props.autoFocus??autoFocus;props={role:getPopupItemRole(listElement),"aria-selected":selected,children:value,...props,id,autoFocus:virtualFocus===!1?!1:shouldAutoFocus,"data-autofocus":shouldAutoFocus||void 0,onClick},props=useCompositeItem({store,getItem,preventScrollOnKeyDown,...props});let focusOnHoverProp=useBooleanEvent(focusOnHover);return props=useCompositeHover({store,...props,focusOnHover(event){return focusOnHoverProp(event)?!!store?.getState()?.open:!1}}),props}),SelectItem=memo2(forwardRef2(function(props){return createElement(TagName$11,useSelectItem(props))})),TagName$10=`div`;function afterTimeout(timeoutMs,cb){let timeoutId=setTimeout(cb,timeoutMs);return()=>clearTimeout(timeoutId)}function afterPaint(cb){let raf=requestAnimationFrame(()=>{raf=requestAnimationFrame(cb)});return()=>cancelAnimationFrame(raf)}function parseCSSTime(...times){return times.join(`, `).split(`, `).reduce((longestTime,currentTimeString)=>{let multiplier=currentTimeString.endsWith(`ms`)?1:1e3,currentTime=Number.parseFloat(currentTimeString||`0s`)*multiplier;return currentTime>longestTime?currentTime:longestTime},0)}function isHidden(mounted,hidden,alwaysVisible){return!alwaysVisible&&hidden!==!1&&(!mounted||!!hidden)}var useDisclosureContent=createHook(function({store,alwaysVisible,...props}){let context=useDisclosureProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.");let ref=useRef(null),id=useId(props.id),[transition,setTransition]=useState(null),open=useStoreState(store,`open`),mounted=useStoreState(store,`mounted`),animated=useStoreState(store,`animated`),contentElement=useStoreState(store,`contentElement`),otherElement=useStoreState(store.disclosure,`contentElement`);useSafeLayoutEffect(()=>{ref.current&&store?.setContentElement(ref.current)},[store]),useSafeLayoutEffect(()=>{let previousAnimated;return store?.setState(`animated`,animated2=>(previousAnimated=animated2,!0)),()=>{previousAnimated!==void 0&&store?.setState(`animated`,previousAnimated)}},[store]),useSafeLayoutEffect(()=>{if(animated){if(!contentElement?.isConnected){setTransition(null);return}return afterPaint(()=>{setTransition(open?`enter`:mounted?`leave`:null)})}},[animated,contentElement,open,mounted]),useSafeLayoutEffect(()=>{if(!store||!animated||!transition||!contentElement)return;let stopAnimation=()=>store?.setState(`animating`,!1),stopAnimationSync=()=>flushSync(stopAnimation);if(transition===`leave`&&open||transition===`enter`&&!open)return;if(typeof animated==`number`)return afterTimeout(animated,stopAnimationSync);let{transitionDuration,animationDuration,transitionDelay,animationDelay}=getComputedStyle(contentElement),{transitionDuration:transitionDuration2=`0`,animationDuration:animationDuration2=`0`,transitionDelay:transitionDelay2=`0`,animationDelay:animationDelay2=`0`}=otherElement?getComputedStyle(otherElement):{},timeout=parseCSSTime(transitionDelay,animationDelay,transitionDelay2,animationDelay2)+parseCSSTime(transitionDuration,animationDuration,transitionDuration2,animationDuration2);if(!timeout){transition===`enter`&&store.setState(`animated`,!1),stopAnimation();return}return afterTimeout(Math.max(timeout-1e3/60,0),stopAnimationSync)},[store,animated,contentElement,otherElement,open,transition]),props=useWrapElement(props,element=>jsx(DialogScopedContextProvider,{value:store,children:element}),[store]);let hidden=isHidden(mounted,props.hidden,alwaysVisible),styleProp=props.style,style=useMemo(()=>hidden?{...styleProp,display:`none`}:styleProp,[hidden,styleProp]);return props={"data-open":open||void 0,"data-enter":transition===`enter`||void 0,"data-leave":transition===`leave`||void 0,hidden,...props,id,ref:useMergeRefs(id?store.setContentElement:null,ref,props.ref),style},removeUndefinedValues(props)}),DisclosureContentImpl=forwardRef2(function(props){return createElement(TagName$10,useDisclosureContent(props))});forwardRef2(function({unmountOnHide,...props}){let context=useDisclosureProviderContext();return useStoreState(props.store||context,state=>!unmountOnHide||state?.mounted)===!1?null:jsx(DisclosureContentImpl,{...props})});var TagName$9=`div`;function isGrid(items){return items.some(item=>!!item.rowId)}function isPrintableKey(event){let target=event.target;return target&&!isTextField(target)?!1:event.key.length===1&&!event.ctrlKey&&!event.metaKey}function isModifierKey(event){return event.key===`Shift`||event.key===`Control`||event.key===`Alt`||event.key===`Meta`}function useKeyboardEventProxy(store,onKeyboardEvent,previousElementRef){return useEvent(event=>{if(onKeyboardEvent?.(event),event.defaultPrevented||event.isPropagationStopped()||!isSelfTarget(event)||isModifierKey(event)||isPrintableKey(event))return;let activeElement=getEnabledItem(store,store.getState().activeId)?.element;if(!activeElement)return;let{view,...eventInit}=event;activeElement!==previousElementRef?.current&&activeElement.focus(),fireKeyboardEvent(activeElement,event.type,eventInit)||event.preventDefault(),event.currentTarget.contains(activeElement)&&event.stopPropagation()})}function findFirstEnabledItemInTheLastRow(items){return findFirstEnabledItem$1(flatten2DArray(reverseArray(groupItemsByRows$1(items))))}function withBaseScrollPreserved(store,callback){let{virtualFocus,baseElement}=store.getState();if(!virtualFocus||!baseElement||!isTextField(baseElement)){callback();return}let savedScrollLeft=baseElement.scrollLeft,savedScrollTop=baseElement.scrollTop;callback(),baseElement.scrollLeft=savedScrollLeft,baseElement.scrollTop=savedScrollTop}function useScheduleFocus(store){let[scheduled,setScheduled]=useState(!1),schedule=useCallback(()=>setScheduled(!0),[]),activeItem=useStoreState(store,state=>getEnabledItem(store,state.activeId));return useEffect(()=>{let activeElement=activeItem?.element;scheduled&&activeElement&&(setScheduled(!1),withBaseScrollPreserved(store,()=>{activeElement.focus({preventScroll:!0})}))},[store,activeItem,scheduled]),schedule}var useComposite=createHook(function({store,composite=!0,focusOnMove=composite,moveOnKeyPress=!0,...props}){let context=useCompositeProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.");let ref=useRef(null),previousElementRef=useRef(null),scheduleFocus=useScheduleFocus(store),moves=useStoreState(store,`moves`),[,setBaseElement]=useTransactionState(composite?store.setBaseElement:null);useEffect(()=>{if(!store||!moves||!composite||!focusOnMove)return;let{activeId:activeId2}=store.getState(),itemElement=getEnabledItem(store,activeId2)?.element;itemElement&&withBaseScrollPreserved(store,()=>focusIntoView(itemElement))},[store,moves,composite,focusOnMove]),useSafeLayoutEffect(()=>{if(!store||!moves||!composite)return;let{baseElement,activeId:activeId2}=store.getState();if(activeId2!==null||!baseElement)return;let previousElement=previousElementRef.current;previousElementRef.current=null,previousElement&&fireBlurEvent(previousElement,{relatedTarget:baseElement}),hasFocus(baseElement)||baseElement.focus()},[store,moves,composite]);let activeId=useStoreState(store,`activeId`),virtualFocus=useStoreState(store,`virtualFocus`);useSafeLayoutEffect(()=>{if(!store||!composite||!virtualFocus)return;let previousElement=previousElementRef.current;if(previousElementRef.current=null,!previousElement)return;let relatedTarget=getEnabledItem(store,activeId)?.element||getActiveElement(previousElement);relatedTarget!==previousElement&&fireBlurEvent(previousElement,{relatedTarget})},[store,activeId,virtualFocus,composite]);let onKeyDownCapture=useKeyboardEventProxy(store,props.onKeyDownCapture,previousElementRef),onKeyUpCapture=useKeyboardEventProxy(store,props.onKeyUpCapture,previousElementRef),onFocusCaptureProp=props.onFocusCapture,onFocusCapture=useEvent(event=>{if(onFocusCaptureProp?.(event),event.defaultPrevented||!store)return;let{virtualFocus:virtualFocus2}=store.getState();if(!virtualFocus2)return;let previousActiveElement=event.relatedTarget,isSilentlyFocused=silentlyFocused(event.currentTarget);isSelfTarget(event)&&isSilentlyFocused&&(event.stopPropagation(),previousElementRef.current=previousActiveElement)}),onFocusProp=props.onFocus,onFocus=useEvent(event=>{if(onFocusProp?.(event),event.defaultPrevented||!composite||!store)return;let{relatedTarget}=event,{virtualFocus:virtualFocus2}=store.getState();virtualFocus2?isSelfTarget(event)&&!isItem(store,relatedTarget)&&queueMicrotask(scheduleFocus):isSelfTarget(event)&&store.setActiveId(null)}),onBlurCaptureProp=props.onBlurCapture,onBlurCapture=useEvent(event=>{if(onBlurCaptureProp?.(event),event.defaultPrevented||!store)return;let{virtualFocus:virtualFocus2,activeId:activeId2}=store.getState();if(!virtualFocus2)return;let activeElement=getEnabledItem(store,activeId2)?.element,nextActiveElement=event.relatedTarget,nextActiveElementIsItem=isItem(store,nextActiveElement),previousElement=previousElementRef.current;previousElementRef.current=null,isSelfTarget(event)&&nextActiveElementIsItem?(nextActiveElement===activeElement?previousElement&&previousElement!==nextActiveElement&&fireBlurEvent(previousElement,event):activeElement?fireBlurEvent(activeElement,event):previousElement&&fireBlurEvent(previousElement,event),event.stopPropagation()):!isItem(store,event.target)&&activeElement&&fireBlurEvent(activeElement,event)}),onKeyDownProp=props.onKeyDown,moveOnKeyPressProp=useBooleanEvent(moveOnKeyPress),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.nativeEvent.isComposing||event.defaultPrevented||!store||!isSelfTarget(event))return;let{orientation,renderedItems,activeId:activeId2}=store.getState();if(getEnabledItem(store,activeId2)?.element?.isConnected)return;let isVertical=orientation!==`horizontal`,isHorizontal=orientation!==`vertical`,grid=isGrid(renderedItems);if((event.key===`ArrowLeft`||event.key===`ArrowRight`||event.key===`Home`||event.key===`End`)&&isTextField(event.currentTarget))return;let action={ArrowUp:(grid||isVertical)&&(()=>grid?findFirstEnabledItemInTheLastRow(renderedItems)?.id:store?.last()),ArrowRight:(grid||isHorizontal)&&store.first,ArrowDown:(grid||isVertical)&&store.first,ArrowLeft:(grid||isHorizontal)&&store.last,Home:store.first,End:store.last,PageUp:store.first,PageDown:store.last}[event.key];if(action){let id=action();if(id!==void 0){if(!moveOnKeyPressProp(event))return;event.preventDefault(),store.move(id)}}});return props=useWrapElement(props,element=>jsx(CompositeContextProvider,{value:store,children:element}),[store]),props={"aria-activedescendant":useStoreState(store,state=>{if(store&&composite&&state.virtualFocus)return getEnabledItem(store,state.activeId)?.id}),...props,ref:useMergeRefs(ref,setBaseElement,props.ref),onKeyDownCapture,onKeyUpCapture,onFocusCapture,onFocus,onBlurCapture,onKeyDown},props=useFocusable({focusable:useStoreState(store,state=>composite&&(state.virtualFocus||state.activeId===null)),...props}),props});forwardRef2(function(props){return createElement(TagName$9,useComposite(props))});var TagName$8=`div`,SelectListContext=createContext(null),useSelectList=createHook(function({store,resetOnEscape=!0,hideOnEnter=!0,focusOnMove=!0,composite,alwaysVisible,...props}){let context=useSelectContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"SelectList must receive a `store` prop or be wrapped in a SelectProvider component.");let id=useId(props.id),value=useStoreState(store,`value`),multiSelectable=Array.isArray(value),[defaultValue,setDefaultValue]=useState(value),mounted=useStoreState(store,`mounted`);useEffect(()=>{mounted||setDefaultValue(value)},[mounted,value]),resetOnEscape&&=!multiSelectable;let onKeyDownProp=props.onKeyDown,resetOnEscapeProp=useBooleanEvent(resetOnEscape),hideOnEnterProp=useBooleanEvent(hideOnEnter),onKeyDown=useEvent(event=>{onKeyDownProp?.(event),!event.defaultPrevented&&(event.key===`Escape`&&resetOnEscapeProp(event)&&store?.setValue(defaultValue),(event.key===` `||event.key===`Enter`)&&isSelfTarget(event)&&hideOnEnterProp(event)&&(event.preventDefault(),store?.hide()))}),headingContext=useContext(SelectHeadingContext),headingState=useState(),[headingId,setHeadingId]=headingContext||headingState,headingContextValue=useMemo(()=>[headingId,setHeadingId],[headingId,setHeadingId]),[childStore,setChildStore]=useState(null),setStore=useContext(SelectListContext);useEffect(()=>{if(setStore)return setStore(store),()=>setStore(null)},[setStore,store]),props=useWrapElement(props,element2=>jsx(SelectScopedContextProvider,{value:store,children:jsx(SelectListContext.Provider,{value:setChildStore,children:jsx(SelectHeadingContext.Provider,{value:headingContextValue,children:element2})})}),[store,headingContextValue]);let hasCombobox=!!store.combobox;composite??=!hasCombobox&&childStore!==store;let[element,setElement]=useTransactionState(composite?store.setListElement:null),role=useAttribute(element,`role`,props.role),ariaMultiSelectable=(composite||role===`listbox`||role===`menu`||role===`tree`||role===`grid`)&&multiSelectable||void 0,hidden=isHidden(mounted,props.hidden,alwaysVisible),style=hidden?{...props.style,display:`none`}:props.style;composite&&(props={role:`listbox`,"aria-multiselectable":ariaMultiSelectable,...props});let labelId=useStoreState(store,state=>headingId||state.labelElement?.id);return props={"aria-labelledby":props[`aria-label`]==null?labelId:void 0,hidden,...props,id,ref:useMergeRefs(setElement,props.ref),style,onKeyDown},props=useComposite({store,...props,composite}),props=useCompositeTypeahead({store,typeahead:!hasCombobox,...props}),props}),SelectList=forwardRef2(function(props){return createElement(TagName$8,useSelectList(props))}),PortalContext=createContext(null),TagName$7=`span`,useVisuallyHidden=createHook(function(props){return props={...props,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...props.style}},props});forwardRef2(function(props){return createElement(TagName$7,useVisuallyHidden(props))});var TagName$6=`span`,useFocusTrap=createHook(function(props){return props={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...props,style:{position:`fixed`,top:0,left:0,...props.style}},props=useVisuallyHidden(props),props}),FocusTrap=forwardRef2(function(props){return createElement(TagName$6,useFocusTrap(props))}),TagName$5=`div`;function getRootElement(element){return getDocument(element).body}function getPortalElement(element,portalElement){return portalElement?typeof portalElement==`function`?portalElement(element):portalElement:getDocument(element).createElement(`div`)}function getRandomId(prefix=`id`){return`${prefix?`${prefix}-`:``}${Math.random().toString(36).slice(2,8)}`}function queueFocus(element){queueMicrotask(()=>{element?.focus()})}var usePortal=createHook(function({preserveTabOrder,preserveTabOrderAnchor,portalElement,portalRef,portal=!0,...props}){let ref=useRef(null),refProp=useMergeRefs(ref,props.ref),context=useContext(PortalContext),[portalNode,setPortalNode]=useState(null),[anchorPortalNode,setAnchorPortalNode]=useState(null),outerBeforeRef=useRef(null),innerBeforeRef=useRef(null),innerAfterRef=useRef(null),outerAfterRef=useRef(null);return useSafeLayoutEffect(()=>{let element=ref.current;if(!element||!portal){setPortalNode(null);return}let portalEl=getPortalElement(element,portalElement);if(!portalEl){setPortalNode(null);return}let isPortalInDocument=portalEl.isConnected;if(isPortalInDocument||(context||getRootElement(element)).appendChild(portalEl),portalEl.id||=element.id?`portal/${element.id}`:getRandomId(),setPortalNode(portalEl),setRef(portalRef,portalEl),!isPortalInDocument)return()=>{portalEl.remove(),setRef(portalRef,null)}},[portal,portalElement,context,portalRef]),useSafeLayoutEffect(()=>{if(!portal||!preserveTabOrder||!preserveTabOrderAnchor)return;let element=getDocument(preserveTabOrderAnchor).createElement(`span`);return element.style.position=`fixed`,preserveTabOrderAnchor.insertAdjacentElement(`afterend`,element),setAnchorPortalNode(element),()=>{element.remove(),setAnchorPortalNode(null)}},[portal,preserveTabOrder,preserveTabOrderAnchor]),useEffect(()=>{if(!portalNode||!preserveTabOrder)return;let raf=0,onFocus=event=>{if(!isFocusEventOutside(event))return;let focusing=event.type===`focusin`;if(cancelAnimationFrame(raf),focusing)return restoreFocusIn(portalNode);raf=requestAnimationFrame(()=>{disableFocusIn(portalNode,!0)})};return portalNode.addEventListener(`focusin`,onFocus,!0),portalNode.addEventListener(`focusout`,onFocus,!0),()=>{cancelAnimationFrame(raf),portalNode.removeEventListener(`focusin`,onFocus,!0),portalNode.removeEventListener(`focusout`,onFocus,!0)}},[portalNode,preserveTabOrder]),props=useWrapElement(props,element=>{if(element=jsx(PortalContext.Provider,{value:portalNode||context,children:element}),!portal)return element;if(!portalNode)return jsx(`span`,{ref:refProp,id:props.id,style:{position:`fixed`},hidden:!0});element=jsxs(Fragment,{children:[preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:innerBeforeRef,"data-focus-trap":props.id,className:`__focus-trap-inner-before`,onFocus:event=>{isFocusEventOutside(event,portalNode)?queueFocus(getNextTabbable()):queueFocus(outerBeforeRef.current)}}),element,preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:innerAfterRef,"data-focus-trap":props.id,className:`__focus-trap-inner-after`,onFocus:event=>{isFocusEventOutside(event,portalNode)?queueFocus(getPreviousTabbable()):queueFocus(outerAfterRef.current)}})]}),portalNode&&(element=createPortal(element,portalNode));let preserveTabOrderElement=jsxs(Fragment,{children:[preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:outerBeforeRef,"data-focus-trap":props.id,className:`__focus-trap-outer-before`,onFocus:event=>{event.relatedTarget!==outerAfterRef.current&&isFocusEventOutside(event,portalNode)?queueFocus(innerBeforeRef.current):queueFocus(getPreviousTabbable())}}),preserveTabOrder&&jsx(`span`,{"aria-owns":portalNode?.id,style:{position:`fixed`}}),preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:outerAfterRef,"data-focus-trap":props.id,className:`__focus-trap-outer-after`,onFocus:event=>{if(isFocusEventOutside(event,portalNode))queueFocus(innerAfterRef.current);else{let nextTabbable=getNextTabbable();if(nextTabbable===innerBeforeRef.current){requestAnimationFrame(()=>getNextTabbable()?.focus());return}queueFocus(nextTabbable)}}})]});return anchorPortalNode&&preserveTabOrder&&(preserveTabOrderElement=createPortal(preserveTabOrderElement,anchorPortalNode)),jsxs(Fragment,{children:[preserveTabOrderElement,element]})},[portalNode,context,portal,props.id,preserveTabOrder,anchorPortalNode]),props={...props,ref:refProp},props});forwardRef2(function(props){return createElement(TagName$5,usePortal(props))});function HeadingLevel({level,children}){let contextLevel=useContext(HeadingContext),nextLevel=Math.max(Math.min(level||contextLevel+1,6),1);return jsx(HeadingContext.Provider,{value:nextLevel,children})}var TagName$4=`div`,useFocusableContainer=createHook(function({autoFocusOnShow=!0,...props}){return props=useWrapElement(props,element=>jsx(FocusableContext.Provider,{value:autoFocusOnShow,children:element}),[autoFocusOnShow]),props});forwardRef2(function(props){return createElement(TagName$4,useFocusableContainer(props))});function prependHiddenDismiss(container,onClick){let button=getDocument(container).createElement(`button`);return button.type=`button`,button.tabIndex=-1,button.textContent=`Dismiss popup`,Object.assign(button.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),button.addEventListener(`click`,onClick),container.prepend(button),()=>{button.removeEventListener(`click`,onClick),button.remove()}}function usePreviousMouseDownRef(enabled){let previousMouseDownRef=useRef(null);return useEffect(()=>{if(!enabled){previousMouseDownRef.current=null;return}return addGlobalEventListener(`mousedown`,event=>{previousMouseDownRef.current=event.target},!0)},[enabled]),previousMouseDownRef}var cleanups=new WeakMap;function orchestrate(element,key,setup){cleanups.has(element)||cleanups.set(element,new Map);let elementCleanups=cleanups.get(element),prevCleanup=elementCleanups.get(key);if(!prevCleanup)return elementCleanups.set(key,setup()),()=>{var _a;(_a=elementCleanups.get(key))==null||_a(),elementCleanups.delete(key)};let cleanup=setup(),nextCleanup=()=>{cleanup(),prevCleanup(),elementCleanups.delete(key)};return elementCleanups.set(key,nextCleanup),()=>{elementCleanups.get(key)===nextCleanup&&(cleanup(),elementCleanups.set(key,prevCleanup))}}function setAttribute(element,attr,value){return orchestrate(element,attr,()=>{let previousValue=element.getAttribute(attr);return element.setAttribute(attr,value),()=>{previousValue==null?element.removeAttribute(attr):element.setAttribute(attr,previousValue)}})}function setProperty(element,property,value){return orchestrate(element,property,()=>{let exists=property in element,previousValue=element[property];return element[property]=value,()=>{exists?element[property]=previousValue:delete element[property]}})}function assignStyle(element,style){return element?orchestrate(element,`style`,()=>{let prevStyle=element.style.cssText;return Object.assign(element.style,style),()=>{element.style.cssText=prevStyle}}):()=>{}}function setCSSProperty(element,property,value){return element?orchestrate(element,property,()=>{let previousValue=element.style.getPropertyValue(property);return element.style.setProperty(property,value),()=>{previousValue?element.style.setProperty(property,previousValue):element.style.removeProperty(property)}}):()=>{}}var ignoreTags=[`SCRIPT`,`STYLE`];function getSnapshotPropertyName(id){return`__ariakit-dialog-snapshot-${id}`}function inSnapshot(id,element){let doc=getDocument(element),propertyName=getSnapshotPropertyName(id);if(!doc.body[propertyName])return!0;do{if(element===doc.body)return!1;if(element[propertyName])return!0;if(!element.parentElement)return!1;element=element.parentElement}while(!0)}function isValidElement$1(id,element,ignoredElements){return ignoreTags.includes(element.tagName)||!inSnapshot(id,element)?!1:!ignoredElements.some(enabledElement=>enabledElement&&contains(element,enabledElement))}function walkTreeOutside(id,elements,callback,ancestorCallback){for(let element of elements){if(!element?.isConnected)continue;let hasAncestorAlready=elements.some(maybeAncestor=>!maybeAncestor||maybeAncestor===element?!1:maybeAncestor.contains(element)),doc=getDocument(element),originalElement=element;for(;element.parentElement&&element!==doc.body;){if(ancestorCallback?.(element.parentElement,originalElement),!hasAncestorAlready)for(let child of element.parentElement.children)isValidElement$1(id,child,elements)&&callback(child,originalElement);element=element.parentElement}}}function createWalkTreeSnapshot(id,elements){let{body}=getDocument(elements[0]),cleanups=[];return walkTreeOutside(id,elements,element=>{cleanups.push(setProperty(element,getSnapshotPropertyName(id),!0))}),chain(setProperty(body,getSnapshotPropertyName(id),!0),()=>{for(let cleanup of cleanups)cleanup()})}function isBackdrop(element,...ids){if(!element)return!1;let backdrop=element.getAttribute(`data-backdrop`);return backdrop==null?!1:backdrop===``||backdrop===`true`||!ids.length?!0:ids.some(id=>backdrop===id)}function getPropertyName(id=``,ancestor=!1){return`__ariakit-dialog-${ancestor?`ancestor`:`outside`}${id?`-${id}`:``}`}function markElement(element,id=``){return chain(setProperty(element,getPropertyName(),!0),setProperty(element,getPropertyName(id),!0))}function markAncestor(element,id=``){return chain(setProperty(element,getPropertyName(``,!0),!0),setProperty(element,getPropertyName(id,!0),!0))}function isElementMarked(element,id){let ancestorProperty=getPropertyName(id,!0);if(element[ancestorProperty])return!0;let elementProperty=getPropertyName(id);do{if(element[elementProperty])return!0;if(!element.parentElement)return!1;element=element.parentElement}while(!0)}function markTreeOutside(id,elements){let cleanups=[],ids=elements.map(el=>el?.id);return walkTreeOutside(id,elements,element=>{isBackdrop(element,...ids)||cleanups.unshift(markElement(element,id))},(ancestor,element)=>{element.hasAttribute(`data-dialog`)&&element.id!==id||cleanups.unshift(markAncestor(ancestor,id))}),()=>{for(let cleanup of cleanups)cleanup()}}function isInDocument(target){return target.tagName===`HTML`?!0:contains(getDocument(target).body,target)}function isDisclosure(disclosure,target){if(!disclosure)return!1;if(contains(disclosure,target))return!0;let activeId=target.getAttribute(`aria-activedescendant`);if(activeId){let activeElement=getDocument(disclosure).getElementById(activeId);if(activeElement)return contains(disclosure,activeElement)}return!1}function isMouseEventOnDialog(event,dialog){if(!(`clientY`in event))return!1;let rect=dialog.getBoundingClientRect();return rect.width===0||rect.height===0?!1:rect.top<=event.clientY&&event.clientY<=rect.top+rect.height&&rect.left<=event.clientX&&event.clientX<=rect.left+rect.width}function useEventOutside({store,type,listener,capture,domReady}){let callListener=useEvent(listener),open=useStoreState(store,`open`),focusedRef=useRef(!1);useSafeLayoutEffect(()=>{if(!open||!domReady)return;let{contentElement}=store.getState();if(!contentElement)return;let onFocus=()=>{focusedRef.current=!0};return contentElement.addEventListener(`focusin`,onFocus,!0),()=>contentElement.removeEventListener(`focusin`,onFocus,!0)},[store,open,domReady]),useEffect(()=>open?addGlobalEventListener(type,event=>{let{contentElement,disclosureElement}=store.getState(),target=event.target;contentElement&&target&&isInDocument(target)&&(contains(contentElement,target)||isDisclosure(disclosureElement,target)||target.hasAttribute(`data-focus-trap`)||isMouseEventOnDialog(event,contentElement)||focusedRef.current&&!isElementMarked(target,contentElement.id)||callListener(event))},capture):void 0,[open,capture,store,type,callListener])}function shouldHideOnInteractOutside(hideOnInteractOutside,event){return typeof hideOnInteractOutside==`function`?hideOnInteractOutside(event):!!hideOnInteractOutside}function useHideOnInteractOutside(store,hideOnInteractOutside,domReady,interactedOutsideRef){let previousMouseDownRef=usePreviousMouseDownRef(useStoreState(store,`open`)),props={store,domReady,capture:!0};useEventOutside({...props,type:`click`,listener:event=>{let{contentElement}=store.getState(),previousMouseDown=previousMouseDownRef.current;previousMouseDown&&isElementMarked(previousMouseDown,contentElement?.id)&&shouldHideOnInteractOutside(hideOnInteractOutside,event)&&(interactedOutsideRef&&(interactedOutsideRef.current=!0),store.hide())}}),useEventOutside({...props,type:`focusin`,listener:event=>{let{contentElement}=store.getState();contentElement&&event.target!==getDocument(contentElement)&&shouldHideOnInteractOutside(hideOnInteractOutside,event)&&store.hide()}}),useEventOutside({...props,type:`contextmenu`,listener:event=>{shouldHideOnInteractOutside(hideOnInteractOutside,event)&&(interactedOutsideRef&&(interactedOutsideRef.current=!0),store.hide())}})}var NestedDialogsContext=createContext({});function useNestedDialogs(store){let context=useContext(NestedDialogsContext),[dialogs,setDialogs]=useState([]),add=useCallback(dialog=>(setDialogs(dialogs2=>[...dialogs2,dialog]),chain(context.add?.call(context,dialog),()=>{setDialogs(dialogs2=>dialogs2.filter(d=>d!==dialog))})),[context]);useSafeLayoutEffect(()=>sync(store,[`open`,`contentElement`],state=>{if(state.open&&state.contentElement)return context.add?.call(context,store)}),[store,context]);let providerValue=useMemo(()=>({store,add}),[store,add]);return{wrapElement:useCallback(element=>jsx(NestedDialogsContext.Provider,{value:providerValue,children:element}),[providerValue]),nestedDialogs:dialogs}}function useRootDialog({attribute,contentId,contentElement,enabled}){let[updated,retry]=useForceUpdate(),isRootDialog=useCallback(()=>{if(!enabled||!contentElement)return!1;let{body}=getDocument(contentElement),id=body.getAttribute(attribute);return!id||id===contentId},[updated,enabled,contentElement,attribute,contentId]);return useEffect(()=>{if(!enabled||!contentId||!contentElement)return;let{body}=getDocument(contentElement);if(isRootDialog())return body.setAttribute(attribute,contentId),()=>body.removeAttribute(attribute);let observer=new MutationObserver(()=>flushSync(retry));return observer.observe(body,{attributeFilter:[attribute]}),()=>observer.disconnect()},[updated,enabled,contentId,contentElement,isRootDialog,attribute]),isRootDialog}function getPaddingProperty(documentElement){let documentLeft=documentElement.getBoundingClientRect().left;return Math.round(documentLeft)+documentElement.scrollLeft?`paddingLeft`:`paddingRight`}function usePreventBodyScroll(contentElement,contentId,enabled){let isRootDialog=useRootDialog({attribute:`data-dialog-prevent-body-scroll`,contentElement,contentId,enabled});useEffect(()=>{if(!isRootDialog()||!contentElement)return;let doc=getDocument(contentElement),win=getWindow$1(contentElement),{documentElement,body}=doc,cssScrollbarWidth=documentElement.style.getPropertyValue(`--scrollbar-width`),scrollbarWidth=cssScrollbarWidth?Number.parseInt(cssScrollbarWidth,10):win.innerWidth-documentElement.clientWidth,setScrollbarWidthProperty=()=>setCSSProperty(documentElement,`--scrollbar-width`,`${scrollbarWidth}px`),paddingProperty=getPaddingProperty(documentElement),setStyle=()=>assignStyle(body,{overflow:`hidden`,[paddingProperty]:`${scrollbarWidth}px`}),setIOSStyle=()=>{let{scrollX,scrollY,visualViewport}=win,offsetLeft=visualViewport?.offsetLeft??0,offsetTop=visualViewport?.offsetTop??0,restoreStyle=assignStyle(body,{position:`fixed`,overflow:`hidden`,top:`${-(scrollY-Math.floor(offsetTop))}px`,left:`${-(scrollX-Math.floor(offsetLeft))}px`,right:`0`,[paddingProperty]:`${scrollbarWidth}px`});return()=>{restoreStyle(),process.env.NODE_ENV!==`test`&&win.scrollTo({left:scrollX,top:scrollY,behavior:`instant`})}},isIOS=isApple()&&!isMac();return chain(setScrollbarWidthProperty(),isIOS?setIOSStyle():setStyle())},[isRootDialog,contentElement])}function isFocusTrap(element,...ids){if(!element)return!1;let attr=element.getAttribute(`data-focus-trap`);return attr==null?!1:ids.length?attr===``?!1:ids.some(id=>attr===id):!0}function supportsInert(){return`inert`in HTMLElement.prototype}function hideElementFromAccessibilityTree(element){return setAttribute(element,`aria-hidden`,`true`)}function disableTree(element,ignoredElements){return`style`in element?supportsInert()?setProperty(element,`inert`,!0):chain(...getAllTabbableIn(element,!0).map(element2=>{if(ignoredElements?.some(el=>el&&contains(el,element2)))return noop;let restoreFocusMethod=orchestrate(element2,`focus`,()=>(element2.focus=noop,()=>{delete element2.focus}));return chain(setAttribute(element2,`tabindex`,`-1`),restoreFocusMethod)}),hideElementFromAccessibilityTree(element),assignStyle(element,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):noop}function disableTreeOutside(id,elements){let cleanups=[],ids=elements.map(el=>el?.id);return walkTreeOutside(id,elements,element=>{isBackdrop(element,...ids)||isFocusTrap(element,...ids)||cleanups.unshift(disableTree(element,elements))},element=>{element.hasAttribute(`role`)&&(elements.some(el=>el&&contains(el,element))||cleanups.unshift(setAttribute(element,`role`,`none`)))}),()=>{for(let cleanup of cleanups)cleanup()}}function createDisclosureStore(props={}){let store=mergeStore(props.store,omit2(props.disclosure,[`contentElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store?.getState(),open=defaultValue(props.open,syncState?.open,props.defaultOpen,!1),animated=defaultValue(props.animated,syncState?.animated,!1),disclosure=createStore({open,animated,animating:!!animated&&open,mounted:open,contentElement:defaultValue(syncState?.contentElement,null),disclosureElement:defaultValue(syncState?.disclosureElement,null)},store);return setup(disclosure,()=>sync(disclosure,[`animated`,`animating`],state=>{state.animated||disclosure.setState(`animating`,!1)})),setup(disclosure,()=>subscribe(disclosure,[`open`],()=>{disclosure.getState().animated&&disclosure.setState(`animating`,!0)})),setup(disclosure,()=>sync(disclosure,[`open`,`animating`],state=>{disclosure.setState(`mounted`,state.open||state.animating)})),{...disclosure,disclosure:props.disclosure,setOpen:value=>disclosure.setState(`open`,value),show:()=>disclosure.setState(`open`,!0),hide:()=>disclosure.setState(`open`,!1),toggle:()=>disclosure.setState(`open`,open2=>!open2),stopAnimation:()=>disclosure.setState(`animating`,!1),setContentElement:value=>disclosure.setState(`contentElement`,value),setDisclosureElement:value=>disclosure.setState(`disclosureElement`,value)}}function useDisclosureStoreProps(store,update,props){return useUpdateEffect(update,[props.store,props.disclosure]),useStoreProps(store,props,`open`,`setOpen`),useStoreProps(store,props,`mounted`,`setMounted`),useStoreProps(store,props,`animated`),Object.assign(store,{disclosure:props.disclosure})}function useDisclosureStore(props={}){let[store,update]=useStore(createDisclosureStore,props);return useDisclosureStoreProps(store,update,props)}var TagName$3=`div`,elements=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);createHook(function(props){return props});var Role=forwardRef2(function(props){return createElement(TagName$3,props)});Object.assign(Role,elements.reduce((acc,element)=>(acc[element]=forwardRef2(function(props){return createElement(element,props)}),acc),{}));function DialogBackdrop({store,backdrop,alwaysVisible,hidden}){let ref=useRef(null),disclosure=useDisclosureStore({disclosure:store}),contentElement=useStoreState(store,`contentElement`);useEffect(()=>{let backdrop2=ref.current,dialog=contentElement;backdrop2&&dialog&&(backdrop2.style.zIndex=getComputedStyle(dialog).zIndex)},[contentElement]),useSafeLayoutEffect(()=>{let id=contentElement?.id;if(!id)return;let backdrop2=ref.current;if(backdrop2)return markAncestor(backdrop2,id)},[contentElement]);let props=useDisclosureContent({ref,store:disclosure,role:`presentation`,"data-backdrop":contentElement?.id||``,alwaysVisible,hidden:hidden??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!backdrop)return null;if(isValidElement(backdrop))return jsx(Role,{...props,render:backdrop});let Component=typeof backdrop==`boolean`?`div`:backdrop;return jsx(Role,{...props,render:jsx(Component,{})})}function createDialogStore(props={}){return createDisclosureStore(props)}function useDialogStoreProps(store,update,props){return useDisclosureStoreProps(store,update,props)}function useDialogStore(props={}){let[store,update]=useStore(createDialogStore,props);return useDialogStoreProps(store,update,props)}var TagName$2=`div`,isSafariBrowser=isSafari();function isAlreadyFocusingAnotherElement(dialog){let activeElement=getActiveElement();return!activeElement||dialog&&contains(dialog,activeElement)?!1:!!isFocusable(activeElement)}function getElementFromProp(prop,focusable=!1){if(!prop)return null;let element=`current`in prop?prop.current:prop;return element?focusable?isFocusable(element)?element:null:element:null}var useDialog=createHook(function({store:storeProp,open:openProp,onClose,focusable=!0,modal=!0,portal=!!modal,backdrop=!!modal,hideOnEscape=!0,hideOnInteractOutside=!0,getPersistentElements,preventBodyScroll=!!modal,autoFocusOnShow=!0,autoFocusOnHide=!0,initialFocus,finalFocus,unmountOnHide,unstable_treeSnapshotKey,...props}){let context=useDialogProviderContext(),ref=useRef(null),store=useDialogStore({store:storeProp||context,open:openProp,setOpen(open2){if(open2)return;let dialog=ref.current;if(!dialog)return;let event=new Event(`close`,{bubbles:!1,cancelable:!0});onClose&&dialog.addEventListener(`close`,onClose,{once:!0}),dialog.dispatchEvent(event),event.defaultPrevented&&store.setOpen(!0)}}),{portalRef,domReady}=usePortalRef(portal,props.portalRef),preserveTabOrderProp=props.preserveTabOrder,preserveTabOrder=useStoreState(store,state=>preserveTabOrderProp&&!modal&&state.mounted),id=useId(props.id),open=useStoreState(store,`open`),mounted=useStoreState(store,`mounted`),contentElement=useStoreState(store,`contentElement`),hidden=isHidden(mounted,props.hidden,props.alwaysVisible);usePreventBodyScroll(contentElement,id,preventBodyScroll&&!hidden);let interactedOutsideRef=useRef(!1);useSafeLayoutEffect(()=>sync(store,[`open`],state=>{state.open&&(interactedOutsideRef.current=!1)}),[store]),useHideOnInteractOutside(store,hideOnInteractOutside,domReady,interactedOutsideRef);let{wrapElement,nestedDialogs}=useNestedDialogs(store);props=useWrapElement(props,wrapElement,[wrapElement]);let lastMousedownRef=useRef(null);isSafariBrowser&&useEffect(()=>{if(!domReady)return;let dialog=ref.current;if(!dialog)return;let doc=getDocument(dialog),onMousedown=event=>{lastMousedownRef.current=event.target};return doc.addEventListener(`mousedown`,onMousedown,!0),()=>{doc.removeEventListener(`mousedown`,onMousedown,!0)}},[domReady]),useSafeLayoutEffect(()=>{if(!open)return;let dialog=ref.current,activeElement=getActiveElement(dialog,!0);if(activeElement){if(activeElement.tagName===`BODY`){let fallback=lastMousedownRef.current;if(lastMousedownRef.current=null,!fallback?.isConnected||!isFocusable(fallback)||dialog&&contains(dialog,fallback))return;store.setDisclosureElement(fallback);return}dialog&&contains(dialog,activeElement)||store.setDisclosureElement(activeElement)}},[store,open]),useEffect(()=>{if(!mounted||!domReady)return;let dialog=ref.current;if(!dialog)return;let win=getWindow$1(dialog),viewport=win.visualViewport||win,setViewportHeight=()=>{let height=win.visualViewport?.height??win.innerHeight;dialog.style.setProperty(`--dialog-viewport-height`,`${height}px`)};return setViewportHeight(),viewport.addEventListener(`resize`,setViewportHeight),()=>{viewport.removeEventListener(`resize`,setViewportHeight)}},[mounted,domReady]),useEffect(()=>{if(!modal||!mounted||!domReady)return;let dialog=ref.current;if(dialog&&!dialog.querySelector(`[data-dialog-dismiss]`))return prependHiddenDismiss(dialog,store.hide)},[store,modal,mounted,domReady]),useSafeLayoutEffect(()=>{if(!supportsInert()||open||!mounted||!domReady)return;let dialog=ref.current;if(dialog)return disableTree(dialog)},[open,mounted,domReady]);let canTakeTreeSnapshot=open&&domReady;useSafeLayoutEffect(()=>{if(!id||!canTakeTreeSnapshot)return;let dialog=ref.current;return createWalkTreeSnapshot(id,[dialog])},[id,canTakeTreeSnapshot,unstable_treeSnapshotKey]);let getPersistentElementsProp=useEvent(getPersistentElements);useSafeLayoutEffect(()=>{if(!id||!canTakeTreeSnapshot)return;let{disclosureElement}=store.getState(),allElements=[ref.current,...getPersistentElementsProp()||[],...nestedDialogs.map(dialog2=>dialog2.getState().contentElement)];return modal?chain(markTreeOutside(id,allElements),disableTreeOutside(id,allElements)):markTreeOutside(id,[disclosureElement,...allElements])},[id,store,canTakeTreeSnapshot,getPersistentElementsProp,nestedDialogs,modal,unstable_treeSnapshotKey]);let mayAutoFocusOnShow=!!autoFocusOnShow,autoFocusOnShowProp=useBooleanEvent(autoFocusOnShow),[autoFocusEnabled,setAutoFocusEnabled]=useState(!1);useEffect(()=>{if(!open||!mayAutoFocusOnShow||!domReady||!contentElement?.isConnected)return;let element=getElementFromProp(initialFocus,!0)||contentElement.querySelector(`[data-autofocus=true],[autofocus]`)||getFirstTabbableIn(contentElement,!0,portal&&preserveTabOrder)||contentElement,isElementFocusable=isFocusable(element);autoFocusOnShowProp(isElementFocusable?element:null)&&(setAutoFocusEnabled(!0),queueMicrotask(()=>{store.getState().open&&(element.focus(),isSafariBrowser&&isElementFocusable&&element.scrollIntoView({block:`nearest`,inline:`nearest`}))}))},[open,mayAutoFocusOnShow,domReady,contentElement,initialFocus,portal,preserveTabOrder,store,autoFocusOnShowProp]);let mayAutoFocusOnHide=!!autoFocusOnHide,autoFocusOnHideProp=useBooleanEvent(autoFocusOnHide),[hasOpened,setHasOpened]=useState(!1);useEffect(()=>{if(open)return setHasOpened(!0),()=>setHasOpened(!1)},[open]);let focusOnHide=useCallback((dialog,retry=!0)=>{if(interactedOutsideRef.current)return;let{disclosureElement}=store.getState();if(isAlreadyFocusingAnotherElement(dialog))return;let element=getElementFromProp(finalFocus)||disclosureElement;if(element?.id){let doc=getDocument(element),selector=`[aria-activedescendant="${element.id}"]`,composite=doc.querySelector(selector);composite&&(element=composite)}if(element&&!isFocusable(element)){let maybeParentDialog=element.closest(`[data-dialog]`);if(maybeParentDialog?.id){let doc=getDocument(maybeParentDialog),selector=`[aria-controls~="${maybeParentDialog.id}"]`,control=doc.querySelector(selector);control&&(element=control)}}let isElementFocusable=element&&isFocusable(element);if(!isElementFocusable&&retry){requestAnimationFrame(()=>focusOnHide(dialog,!1));return}autoFocusOnHideProp(isElementFocusable?element:null)&&isElementFocusable&&element?.focus()},[store,finalFocus,autoFocusOnHideProp]),focusedOnHideRef=useRef(!1);useSafeLayoutEffect(()=>{if(open||!hasOpened||!mayAutoFocusOnHide)return;let dialog=ref.current;focusedOnHideRef.current=!0,focusOnHide(dialog)},[open,hasOpened,domReady,mayAutoFocusOnHide,focusOnHide]),useEffect(()=>{if(!hasOpened||!mayAutoFocusOnHide)return;let dialog=ref.current;return()=>{if(focusedOnHideRef.current){focusedOnHideRef.current=!1;return}focusOnHide(dialog)}},[hasOpened,mayAutoFocusOnHide,focusOnHide]);let hideOnEscapeProp=useBooleanEvent(hideOnEscape);useEffect(()=>!domReady||!mounted?void 0:addGlobalEventListener(`keydown`,event=>{if(event.key!==`Escape`||event.defaultPrevented)return;let dialog=ref.current;if(!dialog||isElementMarked(dialog))return;let target=event.target;if(!target)return;let{disclosureElement}=store.getState();(target.tagName===`BODY`||contains(dialog,target)||!disclosureElement||contains(disclosureElement,target))&&hideOnEscapeProp(event)&&store.hide()},!0),[store,domReady,mounted,hideOnEscapeProp]),props=useWrapElement(props,element=>jsx(HeadingLevel,{level:modal?1:void 0,children:element}),[modal]);let hiddenProp=props.hidden,alwaysVisible=props.alwaysVisible;props=useWrapElement(props,element=>backdrop?jsxs(Fragment,{children:[jsx(DialogBackdrop,{store,backdrop,hidden:hiddenProp,alwaysVisible}),element]}):element,[store,backdrop,hiddenProp,alwaysVisible]);let[headingId,setHeadingId]=useState(),[descriptionId,setDescriptionId]=useState();return props=useWrapElement(props,element=>jsx(DialogScopedContextProvider,{value:store,children:jsx(DialogHeadingContext.Provider,{value:setHeadingId,children:jsx(DialogDescriptionContext.Provider,{value:setDescriptionId,children:element})})}),[store]),props={"data-dialog":``,role:`dialog`,tabIndex:focusable?-1:void 0,"aria-labelledby":props[`aria-label`]==null?headingId:void 0,"aria-describedby":descriptionId,...props,id,ref:useMergeRefs(ref,props.ref)},props=useFocusableContainer({...props,autoFocusOnShow:autoFocusEnabled}),props=useDisclosureContent({store,...props}),props=useFocusable({...props,focusable}),props=usePortal({portal,...props,portalRef,preserveTabOrder}),props});function createDialogComponent(Component,useProviderContext=useDialogProviderContext){return forwardRef2(function(props){let context=useProviderContext();return useStoreState(props.store||context,state=>!props.unmountOnHide||state?.mounted||!!props.open)?jsx(Component,{...props}):null})}createDialogComponent(forwardRef2(function(props){return createElement(TagName$2,useDialog(props))}),useDialogProviderContext);var min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function clamp(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}function getSideAxis(placement){let firstChar=placement[0];return firstChar===`t`||firstChar===`b`?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.includes(`start`)?placement.replace(`start`,`end`):placement.replace(`end`,`start`)}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){let side=getSide(placement);return oppositeSideMap[side]+placement.slice(side.length)}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width,height}=rect;return{width,height,top:y,left:x,right:x+width,bottom:y+height,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}async function detectOverflow(state,options){options===void 0&&(options={});let{x,y,platform,rects,elements,strategy}=state,{boundary=`clippingAncestors`,rootBoundary=`viewport`,elementContext=`floating`,altBoundary=!1,padding=0}=evaluate(options,state),paddingObject=getPaddingObject(padding),element=elements[altBoundary?elementContext===`floating`?`reference`:`floating`:elementContext],clippingClientRect=rectToClientRect(await platform.getClippingRect({element:await(platform.isElement==null?void 0:platform.isElement(element))??!0?element:element.contextElement||await(platform.getDocumentElement==null?void 0:platform.getDocumentElement(elements.floating)),boundary,rootBoundary,strategy})),rect=elementContext===`floating`?{x,y,width:rects.floating.width,height:rects.floating.height}:rects.reference,offsetParent=await(platform.getOffsetParent==null?void 0:platform.getOffsetParent(elements.floating)),offsetScale=await(platform.isElement==null?void 0:platform.isElement(offsetParent))&&await(platform.getScale==null?void 0:platform.getScale(offsetParent))||{x:1,y:1},elementClientRect=rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect?await platform.convertOffsetParentRelativeRectToViewportRelativeRect({elements,rect,offsetParent,strategy}):rect);return{top:(clippingClientRect.top-elementClientRect.top+paddingObject.top)/offsetScale.y,bottom:(elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom)/offsetScale.y,left:(clippingClientRect.left-elementClientRect.left+paddingObject.left)/offsetScale.x,right:(elementClientRect.right-clippingClientRect.right+paddingObject.right)/offsetScale.x}}var MAX_RESET_COUNT=50,computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform}=config,platformWithDetectOverflow=platform.detectOverflow?platform:{...platform,detectOverflow},rtl=await(platform.isRTL==null?void 0:platform.isRTL(floating)),rects=await platform.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,resetCount=0,middlewareData={};for(let i=0;i<middleware.length;i++){let currentMiddleware=middleware[i];if(!currentMiddleware)continue;let{name,fn}=currentMiddleware,{x:nextX,y:nextY,data,reset}=await fn({x,y,initialPlacement:placement,placement:statefulPlacement,strategy,middlewareData,rects,platform:platformWithDetectOverflow,elements:{reference,floating}});x=nextX??x,y=nextY??y,middlewareData[name]={...middlewareData[name],...data},reset&&resetCount<MAX_RESET_COUNT&&(resetCount++,typeof reset==`object`&&(reset.placement&&(statefulPlacement=reset.placement),reset.rects&&(rects=reset.rects===!0?await platform.getElementRects({reference,floating,strategy}):reset.rects),{x,y}=computeCoordsFromPlacement(rects,statefulPlacement,rtl)),i=-1)}return{x,y,placement:statefulPlacement,strategy,middlewareData}},arrow$1=options=>({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform.getOffsetParent==null?void 0:platform.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform.isElement==null?void 0:platform.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset=clamp(min$1,center,max),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset&&rects.reference[length]/2-(center<min$1?minPadding:maxPadding)-arrowDimensions[length]/2<0,alignmentOffset=shouldAddOffset?center<min$1?center-min$1:center-max:0;return{[axis]:coords[axis]+alignmentOffset,data:{[axis]:offset,centerOffset:center-offset-alignmentOffset,...shouldAddOffset&&{alignmentOffset}},reset:shouldAddOffset}}}),flip$1=function(options){return options===void 0&&(options={}),{name:`flip`,options,async fn(state){var _middlewareData$arrow;let{placement,middlewareData,rects,initialPlacement,platform,elements}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!0,fallbackPlacements:specifiedFallbackPlacements,fallbackStrategy=`bestFit`,fallbackAxisSideDirection=`none`,flipAlignment=!0,...detectOverflowOptions}=evaluate(options,state);if((_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset)return{};let side=getSide(placement),initialSideAxis=getSideAxis(initialPlacement),isBasePlacement=getSide(initialPlacement)===initialPlacement,rtl=await(platform.isRTL==null?void 0:platform.isRTL(elements.floating)),fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipAlignment?[getOppositePlacement(initialPlacement)]:getExpandedPlacements(initialPlacement)),hasFallbackAxisSideDirection=fallbackAxisSideDirection!==`none`;!specifiedFallbackPlacements&&hasFallbackAxisSideDirection&&fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement,flipAlignment,fallbackAxisSideDirection,rtl));let placements=[initialPlacement,...fallbackPlacements],overflow=await platform.detectOverflow(state,detectOverflowOptions),overflows=[],overflowsData=middlewareData.flip?.overflows||[];if(checkMainAxis&&overflows.push(overflow[side]),checkCrossAxis){let sides=getAlignmentSides(placement,rects,rtl);overflows.push(overflow[sides[0]],overflow[sides[1]])}if(overflowsData=[...overflowsData,{placement,overflows}],!overflows.every(side=>side<=0)){let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{let placement=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow=>overflow>0).reduce((acc,overflow)=>acc+overflow,0)]).sort((a,b)=>a[1]-b[1])[0]?.[0];placement&&(resetPlacement=placement);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform,elements}=state,rtl=await(platform.isRTL==null?void 0:platform.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement,platform}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x,y}=_ref;return{x,y}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await platform.detectOverflow(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min=mainAxisCoord+overflow[minSide],max=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp(min,mainAxisCoord,max)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min=crossAxisCoord+overflow[minSide],max=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp(min,crossAxisCoord,max)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}},limitShift$1=function(options){return options===void 0&&(options={}),{options,fn(state){let{x,y,placement,rects,middlewareData}=state,{offset=0,mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!0}=evaluate(options,state),coords={x,y},crossAxis=getSideAxis(placement),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis],rawOffset=evaluate(offset,state),computedOffset=typeof rawOffset==`number`?{mainAxis:rawOffset,crossAxis:0}:{mainAxis:0,crossAxis:0,...rawOffset};if(checkMainAxis){let len=mainAxis===`y`?`height`:`width`,limitMin=rects.reference[mainAxis]-rects.floating[len]+computedOffset.mainAxis,limitMax=rects.reference[mainAxis]+rects.reference[len]-computedOffset.mainAxis;mainAxisCoord<limitMin?mainAxisCoord=limitMin:mainAxisCoord>limitMax&&(mainAxisCoord=limitMax)}if(checkCrossAxis){let len=mainAxis===`y`?`width`:`height`,isOriginSide=originSides.has(getSide(placement)),limitMin=rects.reference[crossAxis]-rects.floating[len]+(isOriginSide&&middlewareData.offset?.[crossAxis]||0)+(isOriginSide?0:computedOffset.crossAxis),limitMax=rects.reference[crossAxis]+rects.reference[len]+(isOriginSide?0:middlewareData.offset?.[crossAxis]||0)-(isOriginSide?computedOffset.crossAxis:0);crossAxisCoord<limitMin?crossAxisCoord=limitMin:crossAxisCoord>limitMax&&(crossAxisCoord=limitMax)}return{[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord}}}},size$1=function(options){return options===void 0&&(options={}),{name:`size`,options,async fn(state){var _state$middlewareData,_state$middlewareData2;let{placement,rects,platform,elements}=state,{apply=()=>{},...detectOverflowOptions}=evaluate(options,state),overflow=await platform.detectOverflow(state,detectOverflowOptions),side=getSide(placement),alignment=getAlignment(placement),isYAxis=getSideAxis(placement)===`y`,{width,height}=rects.floating,heightSide,widthSide;side===`top`||side===`bottom`?(heightSide=side,widthSide=alignment===(await(platform.isRTL==null?void 0:platform.isRTL(elements.floating))?`start`:`end`)?`left`:`right`):(widthSide=side,heightSide=alignment===`end`?`top`:`bottom`);let maximumClippingHeight=height-overflow.top-overflow.bottom,maximumClippingWidth=width-overflow.left-overflow.right,overflowAvailableHeight=min(height-overflow[heightSide],maximumClippingHeight),overflowAvailableWidth=min(width-overflow[widthSide],maximumClippingWidth),noShift=!state.middlewareData.shift,availableHeight=overflowAvailableHeight,availableWidth=overflowAvailableWidth;if((_state$middlewareData=state.middlewareData.shift)!=null&&_state$middlewareData.enabled.x&&(availableWidth=maximumClippingWidth),(_state$middlewareData2=state.middlewareData.shift)!=null&&_state$middlewareData2.enabled.y&&(availableHeight=maximumClippingHeight),noShift&&!alignment){let xMin=max(overflow.left,0),xMax=max(overflow.right,0),yMin=max(overflow.top,0),yMax=max(overflow.bottom,0);isYAxis?availableWidth=width-2*(xMin!==0||xMax!==0?xMin+xMax:max(overflow.left,overflow.right)):availableHeight=height-2*(yMin!==0||yMax!==0?yMin+yMax:max(overflow.top,overflow.bottom))}await apply({...state,availableWidth,availableHeight});let nextDimensions=await platform.getDimensions(elements.floating);return width!==nextDimensions.width||height!==nextDimensions.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&display!==`inline`&&display!==`contents`}function isTableElement(element){return/^(table|td|th)$/.test(getNodeName(element))}function isTopLayer(element){try{if(element.matches(`:popover-open`))return!0}catch{}try{return element.matches(`:modal`)}catch{return!1}}var willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=value=>!!value&&value!==`none`,isWebKitValue;function isContainingBlock(elementOrCss){let css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return isNotNone(css.transform)||isNotNone(css.translate)||isNotNone(css.scale)||isNotNone(css.rotate)||isNotNone(css.perspective)||!isWebKit()&&(isNotNone(css.backdropFilter)||isNotNone(css.filter))||willChangeRe.test(css.willChange||``)||containRe.test(css.contain||``)}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return isWebKitValue??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),isWebKitValue}function isLastTraversableNode(node){return/^(html|body|#document)$/.test(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}else return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width=parseFloat(css.width)||0,height=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width,offsetHeight=hasOffset?element.offsetHeight:height,shouldFallback=round(width)!==offsetWidth||round(height)!==offsetHeight;return shouldFallback&&(width=offsetWidth,height=offsetHeight),{width,height,$:shouldFallback}}function unwrapElement(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width,height,$}=getCssDimensions(domElement),x=($?round(rect.width):rect.width)/width,y=($?round(rect.height):rect.height)/height;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width=clientRect.width/scale.x,height=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width*=iframeScale.x,height*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width,height,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll=getNodeScroll(offsetParent)),isOffsetParentAnElement)){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll=getNodeScroll(element),body=element.ownerDocument.body,width=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll.scrollLeft+getWindowScrollBarX(element),y=-scroll.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width),{width,height,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;if(visualViewport){width=visualViewport.width,height=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc=html.ownerDocument,body=doc.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width+=windowScrollbarX);return{width,height,x,y}}function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache){let cachedResult=cache.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&(currentContainingBlockComputedStyle.position===`absolute`||currentContainingBlockComputedStyle.position===`fixed`)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstRect=getClientRectFromClippingAncestor(element,clippingAncestors[0],strategy),top=firstRect.top,right=firstRect.right,bottom=firstRect.bottom,left=firstRect.left;for(let i=1;i<clippingAncestors.length;i++){let rect=getClientRectFromClippingAncestor(element,clippingAncestors[i],strategy);top=max(rect.top,top),right=min(rect.right,right),bottom=min(rect.bottom,bottom),left=max(rect.left,left)}return{width:right-left,height:bottom-top,x:left,y:top}}function getDimensions(element){let{width,height}=getCssDimensions(element);return{width,height}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);return{x:rect.left+scroll.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width,height}=elementRectForRootMargin;if(skip||onMove(),!width||!height)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width)),insetBottom=floor(root.clientHeight-(top+height)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh();ratio?refresh(!1,ratio):timeoutId=setTimeout(()=>{refresh(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh(!0),cleanup}function autoUpdate(reference,floating,update,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...floating?getOverflowAncestors(floating):[]]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&floating&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),floating&&resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update),ancestorResize&&ancestor.removeEventListener(`resize`,update)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,size=size$1,arrow=arrow$1,limitShift=limitShift$1,computePosition=(reference,floating,options)=>{let cache=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})},TagName$1=`div`;function createDOMRect(x=0,y=0,width=0,height=0){if(typeof DOMRect==`function`)return new DOMRect(x,y,width,height);let rect={x,y,width,height,top:y,right:x+width,bottom:y+height,left:x};return{...rect,toJSON:()=>rect}}function getDOMRect(anchorRect){if(!anchorRect)return createDOMRect();let{x,y,width,height}=anchorRect;return createDOMRect(x,y,width,height)}function getAnchorElement(anchorElement,getAnchorRect){return{contextElement:anchorElement||void 0,getBoundingClientRect:()=>{let anchor=anchorElement,anchorRect=getAnchorRect?.(anchor);return anchorRect||!anchor?getDOMRect(anchorRect):anchor.getBoundingClientRect()}}}function isValidPlacement(flip2){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(flip2)}function roundByDPR(value){let dpr=window.devicePixelRatio||1;return Math.round(value*dpr)/dpr}function getOffsetMiddleware(arrowElement,props){return offset(({placement})=>{let arrowOffset=(arrowElement?.clientHeight||0)/2,finalGutter=typeof props.gutter==`number`?props.gutter+arrowOffset:props.gutter??arrowOffset;return{crossAxis:placement.split(`-`)[1]?void 0:props.shift,mainAxis:finalGutter,alignmentAxis:props.shift}})}function getFlipMiddleware(props){if(props.flip===!1)return;let fallbackPlacements=typeof props.flip==`string`?props.flip.split(` `):void 0;return invariant(!fallbackPlacements||fallbackPlacements.every(isValidPlacement),process.env.NODE_ENV!==`production`&&"`flip` expects a spaced-delimited list of placements"),flip({padding:props.overflowPadding,fallbackPlacements})}function getShiftMiddleware(props){if(!(!props.slide&&!props.overlap))return shift({mainAxis:props.slide,crossAxis:props.overlap,padding:props.overflowPadding,limiter:limitShift()})}function getSizeMiddleware(props){return size({padding:props.overflowPadding,apply({elements,availableWidth,availableHeight,rects}){let wrapper=elements.floating,referenceWidth=Math.round(rects.reference.width);availableWidth=Math.floor(availableWidth),availableHeight=Math.floor(availableHeight),wrapper.style.setProperty(`--popover-anchor-width`,`${referenceWidth}px`),wrapper.style.setProperty(`--popover-available-width`,`${availableWidth}px`),wrapper.style.setProperty(`--popover-available-height`,`${availableHeight}px`),props.sameWidth&&(wrapper.style.width=`${referenceWidth}px`),props.fitViewport&&(wrapper.style.maxWidth=`${availableWidth}px`,wrapper.style.maxHeight=`${availableHeight}px`)}})}function getArrowMiddleware(arrowElement,props){if(arrowElement)return arrow({element:arrowElement,padding:props.arrowPadding})}var usePopover=createHook(function({store,modal=!1,portal=!!modal,preserveTabOrder=!0,autoFocusOnShow=!0,wrapperProps,fixed=!1,flip:flip2=!0,shift:shift2=0,slide=!0,overlap=!1,sameWidth=!1,fitViewport=!1,gutter,arrowPadding=4,overflowPadding=8,getAnchorRect,updatePosition,...props}){let context=usePopoverProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Popover must receive a `store` prop or be wrapped in a PopoverProvider component.");let arrowElement=useStoreState(store,`arrowElement`),anchorElement=useStoreState(store,`anchorElement`),disclosureElement=useStoreState(store,`disclosureElement`),popoverElement=useStoreState(store,`popoverElement`),contentElement=useStoreState(store,`contentElement`),placement=useStoreState(store,`placement`),mounted=useStoreState(store,`mounted`),rendered=useStoreState(store,`rendered`),defaultArrowElementRef=useRef(null),[positioned,setPositioned]=useState(!1),{portalRef,domReady}=usePortalRef(portal,props.portalRef),getAnchorRectProp=useEvent(getAnchorRect),updatePositionProp=useEvent(updatePosition),hasCustomUpdatePosition=!!updatePosition;useSafeLayoutEffect(()=>{if(!popoverElement?.isConnected)return;popoverElement.style.setProperty(`--popover-overflow-padding`,`${overflowPadding}px`);let anchor=getAnchorElement(anchorElement,getAnchorRectProp),updatePosition2=async()=>{if(!mounted)return;arrowElement||(defaultArrowElementRef.current=defaultArrowElementRef.current||document.createElement(`div`));let arrow2=arrowElement||defaultArrowElementRef.current,middleware=[getOffsetMiddleware(arrow2,{gutter,shift:shift2}),getFlipMiddleware({flip:flip2,overflowPadding}),getShiftMiddleware({slide,shift:shift2,overlap,overflowPadding}),getArrowMiddleware(arrow2,{arrowPadding}),getSizeMiddleware({sameWidth,fitViewport,overflowPadding})],pos=await computePosition(anchor,popoverElement,{placement,strategy:fixed?`fixed`:`absolute`,middleware});store?.setState(`currentPlacement`,pos.placement),setPositioned(!0);let x=roundByDPR(pos.x),y=roundByDPR(pos.y);if(Object.assign(popoverElement.style,{top:`0`,left:`0`,transform:`translate3d(${x}px,${y}px,0)`}),arrow2&&pos.middlewareData.arrow){let{x:arrowX,y:arrowY}=pos.middlewareData.arrow,side=pos.placement.split(`-`)[0],centerX=arrow2.clientWidth/2,centerY=arrow2.clientHeight/2,originX=arrowX==null?-centerX:arrowX+centerX,originY=arrowY==null?-centerY:arrowY+centerY;popoverElement.style.setProperty(`--popover-transform-origin`,{top:`${originX}px calc(100% + ${centerY}px)`,bottom:`${originX}px ${-centerY}px`,left:`calc(100% + ${centerX}px) ${originY}px`,right:`${-centerX}px ${originY}px`}[side]),Object.assign(arrow2.style,{left:arrowX==null?``:`${arrowX}px`,top:arrowY==null?``:`${arrowY}px`,[side]:`100%`})}},cancelAutoUpdate=autoUpdate(anchor,popoverElement,async()=>{hasCustomUpdatePosition?(await updatePositionProp({updatePosition:updatePosition2}),setPositioned(!0)):await updatePosition2()},{elementResize:typeof ResizeObserver==`function`});return()=>{setPositioned(!1),cancelAutoUpdate()}},[store,rendered,popoverElement,arrowElement,anchorElement,popoverElement,placement,mounted,domReady,fixed,flip2,shift2,slide,overlap,sameWidth,fitViewport,gutter,arrowPadding,overflowPadding,getAnchorRectProp,hasCustomUpdatePosition,updatePositionProp]),useSafeLayoutEffect(()=>{if(!mounted||!domReady||!popoverElement?.isConnected||!contentElement?.isConnected)return;let applyZIndex=()=>{popoverElement.style.zIndex=getComputedStyle(contentElement).zIndex};applyZIndex();let raf=requestAnimationFrame(()=>{raf=requestAnimationFrame(applyZIndex)});return()=>cancelAnimationFrame(raf)},[mounted,domReady,popoverElement,contentElement]);let position=fixed?`fixed`:`absolute`;return props=useWrapElement(props,element=>jsx(`div`,{...wrapperProps,style:{position,top:0,left:0,width:`max-content`,...wrapperProps?.style},ref:store?.setPopoverElement,children:element}),[store,position,wrapperProps]),props=useWrapElement(props,element=>jsx(PopoverScopedContextProvider,{value:store,children:element}),[store]),props={"data-placing":!positioned||void 0,...props,style:{position:`relative`,...props.style}},props=useDialog({store,modal,portal,preserveTabOrder,preserveTabOrderAnchor:disclosureElement||anchorElement,autoFocusOnShow:positioned&&autoFocusOnShow,...props,portalRef}),props});createDialogComponent(forwardRef2(function(props){return createElement(TagName$1,usePopover(props))}),usePopoverProviderContext);var TagName=`div`,useSelectPopover=createHook(function({store,alwaysVisible,...props}){let context=useSelectProviderContext();return store||=context,props=useSelectList({store,alwaysVisible,...props}),props=usePopover({store,alwaysVisible,...props}),props}),SelectPopover=createDialogComponent(forwardRef2(function(props){return createElement(TagName,useSelectPopover(props))}),useSelectProviderContext);function createPopoverStore({popover:otherPopover,...props}={}){let store=mergeStore(props.store,omit2(otherPopover,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store?.getState(),dialog=createDialogStore({...props,store}),placement=defaultValue(props.placement,syncState?.placement,`bottom`),popover=createStore({...dialog.getState(),placement,currentPlacement:placement,anchorElement:defaultValue(syncState?.anchorElement,null),popoverElement:defaultValue(syncState?.popoverElement,null),arrowElement:defaultValue(syncState?.arrowElement,null),rendered:Symbol(`rendered`)},dialog,store);return{...dialog,...popover,setAnchorElement:element=>popover.setState(`anchorElement`,element),setPopoverElement:element=>popover.setState(`popoverElement`,element),setArrowElement:element=>popover.setState(`arrowElement`,element),render:()=>popover.setState(`rendered`,Symbol(`rendered`))}}function usePopoverStoreProps(store,update,props){return useUpdateEffect(update,[props.popover]),useStoreProps(store,props,`placement`),useDialogStoreProps(store,update,props)}function getCommonParent(items){let firstItem=items.find(item=>!!item.element),lastElement=[...items].reverse().find(item=>!!item.element)?.element,parentElement=firstItem?.element?.parentElement;if(!lastElement)return getDocument(parentElement).body;for(;parentElement;){if(parentElement.contains(lastElement))return parentElement;parentElement=parentElement.parentElement}return getDocument(parentElement).body}function getPrivateStore(store){return store?.__unstablePrivateStore}function createCollectionStore(props={}){throwOnConflictingProps(props,props.store);let syncState=props.store?.getState(),items=defaultValue(props.items,syncState?.items,props.defaultItems,[]),itemsMap=new Map(items.map(item=>[item.id,item])),initialState={items,renderedItems:defaultValue(syncState?.renderedItems,[])},syncPrivateStore=getPrivateStore(props.store),privateStore=createStore({items,renderedItems:initialState.renderedItems},syncPrivateStore),collection=createStore(initialState,props.store),sortItems=renderedItems=>{let sortedItems=sortBasedOnDOMPosition(renderedItems,i=>i.element);privateStore.setState(`renderedItems`,sortedItems),collection.setState(`renderedItems`,sortedItems)};setup(collection,()=>init(privateStore)),setup(privateStore,()=>batch(privateStore,[`items`],state=>{collection.setState(`items`,state.items)})),setup(privateStore,()=>batch(privateStore,[`renderedItems`],state=>{let firstRun=!0,raf=requestAnimationFrame(()=>{let{renderedItems}=collection.getState();state.renderedItems!==renderedItems&&sortItems(state.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(raf);let ioCallback=()=>{if(firstRun){firstRun=!1;return}cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>sortItems(state.renderedItems))},root=getCommonParent(state.renderedItems),observer=new IntersectionObserver(ioCallback,{root});for(let item of state.renderedItems)item.element&&observer.observe(item.element);return()=>{cancelAnimationFrame(raf),observer.disconnect()}}));let mergeItem=(item,setItems,canDeleteFromMap=!1)=>{let prevItem;return setItems(items2=>{let index=items2.findIndex(({id})=>id===item.id),nextItems=items2.slice();if(index!==-1){prevItem=items2[index];let nextItem={...prevItem,...item};nextItems[index]=nextItem,itemsMap.set(item.id,nextItem)}else nextItems.push(item),itemsMap.set(item.id,item);return nextItems}),()=>{setItems(items2=>{if(!prevItem)return canDeleteFromMap&&itemsMap.delete(item.id),items2.filter(({id})=>id!==item.id);let index=items2.findIndex(({id})=>id===item.id);if(index===-1)return items2;let nextItems=items2.slice();return nextItems[index]=prevItem,itemsMap.set(item.id,prevItem),nextItems})}},registerItem=item=>mergeItem(item,getItems=>privateStore.setState(`items`,getItems),!0);return{...collection,registerItem,renderItem:item=>chain(registerItem(item),mergeItem(item,getItems=>privateStore.setState(`renderedItems`,getItems))),item:id=>{if(!id)return null;let item=itemsMap.get(id);if(!item){let{items:items2}=privateStore.getState();item=items2.find(item2=>item2.id===id),item&&itemsMap.set(id,item)}return item||null},__unstablePrivateStore:privateStore}}function useCollectionStoreProps(store,update,props){return useUpdateEffect(update,[props.store]),useStoreProps(store,props,`items`,`setItems`),store}var NULL_ITEM={id:null};function findFirstEnabledItem(items,excludeId){return items.find(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getEnabledItems(items,excludeId){return items.filter(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getItemsInRow(items,rowId){return items.filter(item=>item.rowId===rowId)}function flipItems(items,activeId,shouldInsertNullItem=!1){let index=items.findIndex(item=>item.id===activeId);return[...items.slice(index+1),...shouldInsertNullItem?[NULL_ITEM]:[],...items.slice(0,index)]}function groupItemsByRows(items){let rows=[];for(let item of items){let row=rows.find(currentRow=>currentRow[0]?.rowId===item.rowId);row?row.push(item):rows.push([item])}return rows}function getMaxRowLength(array){let maxLength=0;for(let{length}of array)length>maxLength&&(maxLength=length);return maxLength}function createEmptyItem(rowId){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId}}function normalizeRows(rows,activeId,focusShift){let maxLength=getMaxRowLength(rows);for(let row of rows)for(let i=0;i<maxLength;i+=1){let item=row[i];if(!item||focusShift&&item.disabled){let previousItem=i===0&&focusShift?findFirstEnabledItem(row):row[i-1];row[i]=previousItem&&activeId!==previousItem.id&&focusShift?previousItem:createEmptyItem(previousItem?.rowId)}}return rows}function verticalizeItems(items){let rows=groupItemsByRows(items),maxLength=getMaxRowLength(rows),verticalized=[];for(let i=0;i<maxLength;i+=1)for(let row of rows){let item=row[i];item&&verticalized.push({...item,rowId:item.rowId?`${i}`:void 0})}return verticalized}function createCompositeStore(props={}){let syncState=props.store?.getState(),collection=createCollectionStore(props),activeId=defaultValue(props.activeId,syncState?.activeId,props.defaultActiveId),composite=createStore({...collection.getState(),id:defaultValue(props.id,syncState?.id,`id-${Math.random().toString(36).slice(2,8)}`),activeId,baseElement:defaultValue(syncState?.baseElement,null),includesBaseElement:defaultValue(props.includesBaseElement,syncState?.includesBaseElement,activeId===null),moves:defaultValue(syncState?.moves,0),orientation:defaultValue(props.orientation,syncState?.orientation,`both`),rtl:defaultValue(props.rtl,syncState?.rtl,!1),virtualFocus:defaultValue(props.virtualFocus,syncState?.virtualFocus,!1),focusLoop:defaultValue(props.focusLoop,syncState?.focusLoop,!1),focusWrap:defaultValue(props.focusWrap,syncState?.focusWrap,!1),focusShift:defaultValue(props.focusShift,syncState?.focusShift,!1)},collection,props.store);setup(composite,()=>sync(composite,[`renderedItems`,`activeId`],state=>{composite.setState(`activeId`,activeId2=>activeId2===void 0?findFirstEnabledItem(state.renderedItems)?.id:activeId2)}));let getNextId=(direction=`next`,options={})=>{let defaultState=composite.getState(),{skip=0,activeId:activeId2=defaultState.activeId,focusShift=defaultState.focusShift,focusLoop=defaultState.focusLoop,focusWrap=defaultState.focusWrap,includesBaseElement=defaultState.includesBaseElement,renderedItems=defaultState.renderedItems,rtl=defaultState.rtl}=options,isVerticalDirection=direction===`up`||direction===`down`,isNextDirection=direction===`next`||direction===`down`,canReverse=isNextDirection?rtl&&!isVerticalDirection:!rtl||isVerticalDirection,canShift=focusShift&&!skip,items=isVerticalDirection?flatten2DArray(normalizeRows(groupItemsByRows(renderedItems),activeId2,canShift)):renderedItems;if(items=canReverse?reverseArray(items):items,items=isVerticalDirection?verticalizeItems(items):items,activeId2==null)return findFirstEnabledItem(items)?.id;let activeItem=items.find(item=>item.id===activeId2);if(!activeItem)return findFirstEnabledItem(items)?.id;let isGrid=items.some(item=>item.rowId),activeIndex=items.indexOf(activeItem),nextItems=items.slice(activeIndex+1),nextItemsInRow=getItemsInRow(nextItems,activeItem.rowId);if(skip){let nextEnabledItemsInRow=getEnabledItems(nextItemsInRow,activeId2);return(nextEnabledItemsInRow.slice(skip)[0]||nextEnabledItemsInRow[nextEnabledItemsInRow.length-1])?.id}let canLoop=focusLoop&&(isVerticalDirection?focusLoop!==`horizontal`:focusLoop!==`vertical`),canWrap=isGrid&&focusWrap&&(isVerticalDirection?focusWrap!==`horizontal`:focusWrap!==`vertical`),hasNullItem=isNextDirection?(!isGrid||isVerticalDirection)&&canLoop&&includesBaseElement:isVerticalDirection?includesBaseElement:!1;if(canLoop)return findFirstEnabledItem(flipItems(canWrap&&!hasNullItem?items:getItemsInRow(items,activeItem.rowId),activeId2,hasNullItem),activeId2)?.id;if(canWrap){let nextItem2=findFirstEnabledItem(hasNullItem?nextItemsInRow:nextItems,activeId2);return hasNullItem?nextItem2?.id||null:nextItem2?.id}let nextItem=findFirstEnabledItem(nextItemsInRow,activeId2);return!nextItem&&hasNullItem?null:nextItem?.id};return{...collection,...composite,setBaseElement:element=>composite.setState(`baseElement`,element),setActiveId:id=>composite.setState(`activeId`,id),move:id=>{id!==void 0&&(composite.setState(`activeId`,id),composite.setState(`moves`,moves=>moves+1))},first:()=>findFirstEnabledItem(composite.getState().renderedItems)?.id,last:()=>findFirstEnabledItem(reverseArray(composite.getState().renderedItems))?.id,next:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`next`,options)),previous:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`previous`,options)),down:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`down`,options)),up:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`up`,options))}}function useCompositeStoreOptions(props){return{id:useId(props.id),...props}}function useCompositeStoreProps(store,update,props){return store=useCollectionStoreProps(store,update,props),useStoreProps(store,props,`activeId`,`setActiveId`),useStoreProps(store,props,`includesBaseElement`),useStoreProps(store,props,`virtualFocus`),useStoreProps(store,props,`orientation`),useStoreProps(store,props,`rtl`),useStoreProps(store,props,`focusLoop`),useStoreProps(store,props,`focusWrap`),useStoreProps(store,props,`focusShift`),store}createContext(void 0);var ctx=createStoreContext([PopoverContextProvider,CompositeContextProvider],[PopoverScopedContextProvider,CompositeScopedContextProvider]);ctx.useContext,ctx.useScopedContext;var useComboboxProviderContext=ctx.useProviderContext;ctx.ContextProvider,ctx.ScopedContextProvider,createContext(void 0),createContext(!1);function createSelectStore({combobox,...props}={}){let store=mergeStore(props.store,omit2(combobox,[`value`,`items`,`renderedItems`,`baseElement`,`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store.getState(),composite=createCompositeStore({...props,store,virtualFocus:defaultValue(props.virtualFocus,syncState.virtualFocus,!0),includesBaseElement:defaultValue(props.includesBaseElement,syncState.includesBaseElement,!1),activeId:defaultValue(props.activeId,syncState.activeId,props.defaultActiveId,null),orientation:defaultValue(props.orientation,syncState.orientation,`vertical`)}),popover=createPopoverStore({...props,store,placement:defaultValue(props.placement,syncState.placement,`bottom-start`)}),initialValue=new String(``),initialState={...composite.getState(),...popover.getState(),value:defaultValue(props.value,syncState.value,props.defaultValue,initialValue),setValueOnMove:defaultValue(props.setValueOnMove,syncState.setValueOnMove,!1),labelElement:defaultValue(syncState.labelElement,null),selectElement:defaultValue(syncState.selectElement,null),listElement:defaultValue(syncState.listElement,null)},select=createStore(initialState,composite,popover,store);return setup(select,()=>sync(select,[`value`,`items`],state=>{if(state.value!==initialValue||!state.items.length)return;let item=state.items.find(item2=>!item2.disabled&&item2.value!=null);item?.value!=null&&select.setState(`value`,item.value)})),setup(select,()=>sync(select,[`mounted`],state=>{state.mounted||select.setState(`activeId`,initialState.activeId)})),setup(select,()=>sync(select,[`mounted`,`items`,`value`],state=>{if(combobox||state.mounted)return;let values=toArray(state.value),lastValue=values[values.length-1];if(lastValue==null)return;let item=state.items.find(item2=>!item2.disabled&&item2.value===lastValue);item&&select.setState(`activeId`,item.id)})),setup(select,()=>batch(select,[`setValueOnMove`,`moves`],state=>{let{mounted,value,activeId}=select.getState();if(!state.setValueOnMove&&mounted||Array.isArray(value)||!state.moves||!activeId)return;let item=composite.item(activeId);!item||item.disabled||item.value==null||select.setState(`value`,item.value)})),{...composite,...popover,...select,combobox,setValue:value=>select.setState(`value`,value),setLabelElement:element=>select.setState(`labelElement`,element),setSelectElement:element=>select.setState(`selectElement`,element),setListElement:element=>select.setState(`listElement`,element)}}function useSelectStoreOptions(props){let combobox=useComboboxProviderContext();return props={...props,combobox:props.combobox===void 0?combobox:props.combobox},useCompositeStoreOptions(props)}function useSelectStoreProps(store,update,props){return useUpdateEffect(update,[props.combobox]),useStoreProps(store,props,`value`,`setValue`),useStoreProps(store,props,`setValueOnMove`),Object.assign(usePopoverStoreProps(useCompositeStoreProps(store,update,props),update,props),{combobox:props.combobox})}function useSelectStore(props={}){props=useSelectStoreOptions(props);let[store,update]=useStore(createSelectStore,props);return useSelectStoreProps(store,update,props)}function SelectProvider(props={}){return jsx(SelectContextProvider,{value:useSelectStore(props),children:props.children})}var box_ai_agent_selector_module_default={agentSelector:`_agentSelector_5voph_1`,agentAlignmentLeft:`_agentAlignmentLeft_5voph_1`,agentAlignmentOffsetFromLeft:`_agentAlignmentOffsetFromLeft_5voph_4`,agentSelectorButton:`_agentSelectorButton_5voph_7`,agentStatus:`_agentStatus_5voph_11`,agentLoader:`_agentLoader_5voph_23`,agentError:`_agentError_5voph_26`,triggerChip:`_triggerChip_5voph_29`,agentLabel:`_agentLabel_5voph_35`,dropdownIndicator:`_dropdownIndicator_5voph_41`,sidebar:`_sidebar_5voph_56`,agentListRetryButton:`_agentListRetryButton_5voph_69`,agentList:`_agentList_5voph_69`,agentListContainer:`_agentListContainer_5voph_101`};function BoxAiAgentSelector({agents,contentClassName,onErrorAction,recordAction,requestState,disabled,onAgentsListOpen,selectedAgent,selectorAlignment=SELECTOR_ALIGNMENT.OFFSET_FROM_LEFT,triggerChipClassName,useAgentLocalStorage=!1,variant=`modal`}){let{formatMessage}=useIntl(),[isPopoverOpen,setIsPopoverOpen]=useState(!1),isError=requestState===REQUEST_STATE.ERROR,[isTooltipOpen,setIsTooltipOpen]=useState(isError),[storedAgent,setStoredAgent]=useLocalStorageAIAgents(AI_AGENTS_LOCAL_STORAGE_KEY),dispatch=useAgentsDispatch(),isLoaded=requestState===REQUEST_STATE.SUCCESS,isLoading=requestState===REQUEST_STATE.IN_PROGRESS,selectAgentLabel=formatMessage(messages.selectAgent),defaultAgentLabel=formatMessage(messages.defaultAgent),selectorLabel=``;isLoaded?selectorLabel=selectedAgent?.name??selectAgentLabel:isError&&(selectorLabel=defaultAgentLabel);let pillRef=useRef(null),{Wrapper,wrapperProps}=useFullTextTooltip({ref:pillRef,textValue:selectorLabel});useEffect(()=>{isPopoverOpen&&recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.OPEN_SELECTOR})},[isPopoverOpen,recordAction]),useEffect(()=>{if(useAgentLocalStorage&&storedAgent){let activeAgent=agents.find(agent=>agent.id===storedAgent);activeAgent?dispatch({type:ACTIONS.SET_SELECTED_AGENT,id:activeAgent.id}):setStoredAgent(null)}},[agents]);let handleAgentSelect=useCallback(agent=>{setIsPopoverOpen(!1),dispatch({type:ACTIONS.SET_SELECTED_AGENT,id:agent.id}),useAgentLocalStorage&&setStoredAgent(agent.id),recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.SELECT_AGENT})},[dispatch,recordAction,setStoredAgent,useAgentLocalStorage]),handleRetryAction=useCallback(()=>{setIsPopoverOpen(!1),onErrorAction(),recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.RETRY_LOADING_AGENTS})},[onErrorAction,recordAction]),handleTooltipOpenChange=useCallback(shouldOpenTooltip=>setIsTooltipOpen(isError&&isError&&!isPopoverOpen&&shouldOpenTooltip?shouldOpenTooltip:!1),[isError,isPopoverOpen]),handlePopoverChange=open=>{open&&onAgentsListOpen&&onAgentsListOpen(),setIsPopoverOpen(open)},sidebarClassName=variant===`sidebar`&&box_ai_agent_selector_module_default.sidebar,stopAgentSelectorKeyDownPropagation=event=>{(event.key===`ArrowUp`||event.key===`ArrowDown`||event.key===`ArrowLeft`||event.key===`ArrowRight`)&&event.stopPropagation()},alignmentStyle=box_ai_agent_selector_module_default.agentAlignmentOffsetFromLeft;return selectorAlignment===SELECTOR_ALIGNMENT.LEFT&&(alignmentStyle=box_ai_agent_selector_module_default.agentAlignmentLeft),jsx(FilterChip.Group,{className:clsx(box_ai_agent_selector_module_default.agentSelector,alignmentStyle,triggerChipClassName,sidebarClassName),name:selectAgentLabel,onKeyDown:stopAgentSelectorKeyDownPropagation,type:`multiple`,children:jsxs(SelectProvider,{defaultValue:agents[0]?.id,open:isPopoverOpen,setOpen:handlePopoverChange,children:[jsx(TooltipProvider,{children:jsx(Tooltip,{content:formatMessage(messages.errorTooltip),onOpenChange:handleTooltipOpenChange,open:isTooltipOpen,side:`bottom`,variant:`error`,children:jsx(Select,{className:box_ai_agent_selector_module_default.selectAgentButton,disabled:disabled||isLoading,render:jsxs(FilterChip.TriggerChip,{"aria-label":selectorLabel,className:box_ai_agent_selector_module_default.triggerChip,"data-target-id":`FilterChip.TriggerChip-agentSelectorTrigger`,value:`trigger-chip`,children:[jsx(Status,{className:box_ai_agent_selector_module_default.agentStatus,colorIndex:0,text:formatMessage(messages.agent)}),isLoading&&jsx(LoadingIndicator,{"aria-label":formatMessage(messages.loadingMessage),className:box_ai_agent_selector_module_default.agentLoader,variant:`default`}),isError&&jsx(AlertBadge,{className:box_ai_agent_selector_module_default.agentError,height:`1rem`,role:`presentation`,width:`1rem`}),jsx(Wrapper,{...wrapperProps,children:jsx(FilterChip.Label,{ref:pillRef,className:box_ai_agent_selector_module_default.agentLabel,children:selectorLabel})}),!isLoading&&jsx(`div`,{className:box_ai_agent_selector_module_default.dropdownIndicator,children:jsx(FilterChip.DropdownIndicator,{})})]})})})}),jsxs(SelectPopover,{"aria-label":formatMessage(messages.agentList),className:clsx(box_ai_agent_selector_module_default.agentListContainer,sidebarClassName),unmountOnHide:!0,children:[isLoaded&&jsx(SelectList,{className:clsx(box_ai_agent_selector_module_default.agentList,contentClassName),children:agents.map((agent,index)=>jsx(SelectItem,{clickOnEnter:!0,clickOnSpace:!0,focusable:!0,focusOnHover:!0,hideOnClick:!0,onClick:()=>{handleAgentSelect(agent)},setValueOnClick:!0,value:agent.id,children:jsx(BoxAiAgent,{agent})},agent.id))}),isError&&jsx(Button,{className:clsx(box_ai_agent_selector_module_default.agentListRetryButton,sidebarClassName),onClick:handleRetryAction,variant:`tertiary`,"data-target-id":`Button-errorMessage`,children:formatMessage(messages.errorMessage)})]})]})})}export{BoxAiAgentSelector as t};
|
|
15
|
+
`)}var require_use_sync_external_store_shim_production=__commonJSMin((exports=>{var React=__require(`react`);function is(x,y){return x===y&&(x!==0||1/x==1/y)||x!==x&&y!==y}var objectIs=typeof Object.is==`function`?Object.is:is,useState=React.useState,useEffect=React.useEffect,useLayoutEffect=React.useLayoutEffect,useDebugValue=React.useDebugValue;function useSyncExternalStore$2(subscribe,getSnapshot){var value=getSnapshot(),_useState=useState({inst:{value,getSnapshot}}),inst=_useState[0].inst,forceUpdate=_useState[1];return useLayoutEffect(function(){inst.value=value,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceUpdate({inst})},[subscribe,value,getSnapshot]),useEffect(function(){return checkIfSnapshotChanged(inst)&&forceUpdate({inst}),subscribe(function(){checkIfSnapshotChanged(inst)&&forceUpdate({inst})})},[subscribe]),useDebugValue(value),value}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch{return!0}}function useSyncExternalStore$1(subscribe,getSnapshot){return getSnapshot()}var shim=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?useSyncExternalStore$1:useSyncExternalStore$2;exports.useSyncExternalStore=React.useSyncExternalStore===void 0?shim:React.useSyncExternalStore})),require_use_sync_external_store_shim_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(function(){function is(x,y){return x===y&&(x!==0||1/x==1/y)||x!==x&&y!==y}function useSyncExternalStore$2(subscribe,getSnapshot){didWarnOld18Alpha||React.startTransition===void 0||(didWarnOld18Alpha=!0,console.error(`You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.`));var value=getSnapshot();if(!didWarnUncachedGetSnapshot){var cachedValue=getSnapshot();objectIs(value,cachedValue)||(console.error(`The result of getSnapshot should be cached to avoid an infinite loop`),didWarnUncachedGetSnapshot=!0)}cachedValue=useState({inst:{value,getSnapshot}});var inst=cachedValue[0].inst,forceUpdate=cachedValue[1];return useLayoutEffect(function(){inst.value=value,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceUpdate({inst})},[subscribe,value,getSnapshot]),useEffect(function(){return checkIfSnapshotChanged(inst)&&forceUpdate({inst}),subscribe(function(){checkIfSnapshotChanged(inst)&&forceUpdate({inst})})},[subscribe]),useDebugValue(value),value}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch{return!0}}function useSyncExternalStore$1(subscribe,getSnapshot){return getSnapshot()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var React=__require(`react`),objectIs=typeof Object.is==`function`?Object.is:is,useState=React.useState,useEffect=React.useEffect,useLayoutEffect=React.useLayoutEffect,useDebugValue=React.useDebugValue,didWarnOld18Alpha=!1,didWarnUncachedGetSnapshot=!1,shim=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?useSyncExternalStore$1:useSyncExternalStore$2;exports.useSyncExternalStore=React.useSyncExternalStore===void 0?shim:React.useSyncExternalStore,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),import_shim=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_use_sync_external_store_shim_production():module.exports=require_use_sync_external_store_shim_development()}))(),noopSubscribe=()=>()=>{};function useStoreState(store,keyOrSelector=identity){let storeSubscribe=React$1.useCallback(callback=>store?subscribe(store,null,callback):noopSubscribe(),[store]),getSnapshot=()=>{let key=typeof keyOrSelector==`string`?keyOrSelector:null,selector=typeof keyOrSelector==`function`?keyOrSelector:null,state=store?.getState();if(selector)return selector(state);if(state&&key&&hasOwnProperty(state,key))return state[key]};return(0,import_shim.useSyncExternalStore)(storeSubscribe,getSnapshot,getSnapshot)}function useStoreStateObject(store,object){let objRef=React$1.useRef({}),storeSubscribe=React$1.useCallback(callback=>store?subscribe(store,null,callback):noopSubscribe(),[store]),getSnapshot=()=>{let state=store?.getState(),updated=!1,obj=objRef.current;for(let prop in object){let keyOrSelector=object[prop];if(typeof keyOrSelector==`function`){let value=keyOrSelector(state);value!==obj[prop]&&(obj[prop]=value,updated=!0)}if(typeof keyOrSelector==`string`){if(!state||!hasOwnProperty(state,keyOrSelector))continue;let value=state[keyOrSelector];value!==obj[prop]&&(obj[prop]=value,updated=!0)}}return updated&&(objRef.current={...obj}),objRef.current};return(0,import_shim.useSyncExternalStore)(storeSubscribe,getSnapshot,getSnapshot)}function useStoreProps(store,props,key,setKey){let value=hasOwnProperty(props,key)?props[key]:void 0,propsRef=useLiveRef({value,setValue:setKey?props[setKey]:void 0});useSafeLayoutEffect(()=>sync(store,[key],(state,prev)=>{let{value:value2,setValue:setValue2}=propsRef.current;setValue2&&state[key]!==prev[key]&&state[key]!==value2&&setValue2(state[key])}),[store,key]),useSafeLayoutEffect(()=>{if(value!==void 0)return store.setState(key,value),batch(store,[key],()=>{value!==void 0&&store.setState(key,value)})})}function useStore(createStore,props){let[store,setStore]=React$1.useState(()=>createStore(props));useSafeLayoutEffect(()=>init(store),[store]);let useState2=React$1.useCallback(keyOrSelector=>useStoreState(store,keyOrSelector),[store]);return[React$1.useMemo(()=>({...store,useState:useState2}),[store,useState2]),useEvent(()=>{setStore(store2=>createStore({...props,...store2.getState()}))})]}var TagName$25=`span`,pointsMap={top:`4,10 8,6 12,10`,right:`6,4 10,8 6,12`,bottom:`4,6 8,10 12,6`,left:`10,4 6,8 10,12`},usePopoverDisclosureArrow=createHook(function({store,placement,...props}){let context=usePopoverContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`PopoverDisclosureArrow must be wrapped in a PopoverDisclosure component.`);let points=pointsMap[useStoreState(store,state=>placement||state.placement).split(`-`)[0]];return props={children:useMemo(()=>jsx(`svg`,{display:`block`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,children:jsx(`polyline`,{points})}),[points]),"aria-hidden":!0,...props,style:{width:`1em`,height:`1em`,pointerEvents:`none`,...props.style}},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$25,usePopoverDisclosureArrow(props))});var TagName$24=`span`,useSelectArrow=createHook(function({store,...props}){let context=useSelectContext();return store||=context,props=usePopoverDisclosureArrow({store,...props}),props}),SelectArrow=forwardRef2(function(props){return createElement(TagName$24,useSelectArrow(props))}),NULL_ITEM$1={id:null};function flipItems$1(items,activeId,shouldInsertNullItem=!1){let index=items.findIndex(item=>item.id===activeId);return[...items.slice(index+1),...shouldInsertNullItem?[NULL_ITEM$1]:[],...items.slice(0,index)]}function findFirstEnabledItem$1(items,excludeId){return items.find(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getEnabledItem(store,id){return id&&store.item(id)||null}function groupItemsByRows$1(items){let rows=[];for(let item of items){let row=rows.find(currentRow=>currentRow[0]?.rowId===item.rowId);row?row.push(item):rows.push([item])}return rows}function selectTextField(element,collapseToEnd=!1){if(isTextField(element))element.setSelectionRange(collapseToEnd?element.value.length:0,element.value.length);else if(element.isContentEditable){let selection=getDocument(element).getSelection();selection?.selectAllChildren(element),collapseToEnd&&selection?.collapseToEnd()}}var FOCUS_SILENTLY=Symbol(`FOCUS_SILENTLY`);function focusSilently(element){element[FOCUS_SILENTLY]=!0,element.focus({preventScroll:!0})}function silentlyFocused(element){let isSilentlyFocused=element[FOCUS_SILENTLY];return delete element[FOCUS_SILENTLY],isSilentlyFocused}function isItem(store,element,exclude){if(!element||element===exclude)return!1;let item=store.item(element.id);return!(!item||exclude&&item.element===exclude)}var TagName$23=`div`,chars=``;function clearChars(){chars=``}function isValidTypeaheadEvent(event){let target=event.target;return target&&isTextField(target)?!1:event.key===` `&&chars.length?!0:event.key.length===1&&!event.ctrlKey&&!event.altKey&&!event.metaKey&&/^[\p{Letter}\p{Number}]$/u.test(event.key)}function isSelfTargetOrItem(event,items){if(isSelfTarget(event))return!0;let target=event.target;return target?items.some(item=>item.element===target):!1}function getEnabledItems$1(items){return items.filter(item=>!item.disabled)}function itemTextStartsWith(item,text){let itemText=item.element?.textContent||item.children||`value`in item&&item.value;return itemText?normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase()):!1}function getSameInitialItems(items,char,activeId){if(!activeId)return items;let activeItem=items.find(item=>item.id===activeId);return!activeItem||!itemTextStartsWith(activeItem,char)||chars!==char&&itemTextStartsWith(activeItem,chars)?items:(chars=char,flipItems$1(items.filter(item=>itemTextStartsWith(item,chars)),activeId).filter(item=>item.id!==activeId))}var useCompositeTypeahead=createHook(function({store,typeahead=!0,...props}){let context=useCompositeContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`CompositeTypeahead must be a Composite component`);let onKeyDownCaptureProp=props.onKeyDownCapture,cleanupTimeoutRef=useRef(0),onKeyDownCapture=useEvent(event=>{if(onKeyDownCaptureProp?.(event),event.defaultPrevented||!typeahead||!store)return;if(!isValidTypeaheadEvent(event))return clearChars();let{renderedItems,items,activeId,id}=store.getState(),enabledItems=getEnabledItems$1(items.length>renderedItems.length?items:renderedItems),document=getDocument(event.currentTarget),selector=`[data-offscreen-id="${id}"]`,offscreenItems=document.querySelectorAll(selector);for(let element of offscreenItems){let disabled=element.ariaDisabled===`true`||`disabled`in element&&!!element.disabled;enabledItems.push({id:element.id,element,disabled})}if(offscreenItems.length&&(enabledItems=sortBasedOnDOMPosition(enabledItems,i=>i.element)),!isSelfTargetOrItem(event,enabledItems))return clearChars();event.preventDefault(),window.clearTimeout(cleanupTimeoutRef.current),cleanupTimeoutRef.current=window.setTimeout(()=>{chars=``},500);let char=event.key.toLowerCase();chars+=char,enabledItems=getSameInitialItems(enabledItems,char,activeId);let item=enabledItems.find(item2=>itemTextStartsWith(item2,chars));item?store.move(item.id):clearChars()});return props={...props,onKeyDownCapture},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$23,useCompositeTypeahead(props))});var TagName$22=`div`,usePopoverAnchor=createHook(function({store,...props}){let context=usePopoverProviderContext();return store||=context,props={...props,ref:useMergeRefs(store?.setAnchorElement,props.ref)},props});forwardRef2(function(props){return createElement(TagName$22,usePopoverAnchor(props))});var FocusableContext=createContext(!0),selector=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function hasNegativeTabIndex(element){return Number.parseInt(element.getAttribute(`tabindex`)||`0`,10)<0}function isFocusable(element){return!(!element.matches(selector)||!isVisible(element)||element.closest(`[inert]`))}function isTabbable(element){if(!isFocusable(element)||hasNegativeTabIndex(element))return!1;if(!(`form`in element)||!element.form||element.checked||element.type!==`radio`)return!0;let radioGroup=element.form.elements.namedItem(element.name);if(!radioGroup||!(`length`in radioGroup))return!0;let activeElement=getActiveElement(element);return!activeElement||activeElement===element||!(`form`in activeElement)||activeElement.form!==element.form||activeElement.name!==element.name}function getAllFocusableIn(container,includeContainer){let elements=Array.from(container.querySelectorAll(selector));includeContainer&&elements.unshift(container);let focusableElements=elements.filter(isFocusable);return focusableElements.forEach((element,i)=>{if(!isFrame(element))return;let frameBody=element.contentDocument?.body;frameBody&&focusableElements.splice(i,1,...getAllFocusableIn(frameBody))}),focusableElements}function getAllTabbableIn(container,includeContainer,fallbackToFocusable){let elements=Array.from(container.querySelectorAll(selector)),tabbableElements=elements.filter(isTabbable);return includeContainer&&isTabbable(container)&&tabbableElements.unshift(container),tabbableElements.forEach((element,i)=>{if(!isFrame(element))return;let frameBody=element.contentDocument?.body;if(!frameBody)return;let allFrameTabbable=getAllTabbableIn(frameBody,!1,fallbackToFocusable);tabbableElements.splice(i,1,...allFrameTabbable)}),!tabbableElements.length&&fallbackToFocusable?elements:tabbableElements}function getFirstTabbableIn(container,includeContainer,fallbackToFocusable){let[first]=getAllTabbableIn(container,includeContainer,fallbackToFocusable);return first||null}function getNextTabbableIn(container,includeContainer,fallbackToFirst,fallbackToFocusable){let activeElement=getActiveElement(container),allFocusable=getAllFocusableIn(container,includeContainer),activeIndex=allFocusable.indexOf(activeElement),nextFocusableElements=allFocusable.slice(activeIndex+1);return nextFocusableElements.find(isTabbable)||(fallbackToFirst?allFocusable.find(isTabbable):null)||(fallbackToFocusable?nextFocusableElements[0]:null)||null}function getNextTabbable(fallbackToFirst,fallbackToFocusable){return getNextTabbableIn(document.body,!1,fallbackToFirst,fallbackToFocusable)}function getPreviousTabbableIn(container,includeContainer,fallbackToLast,fallbackToFocusable){let activeElement=getActiveElement(container),allFocusable=getAllFocusableIn(container,includeContainer).reverse(),activeIndex=allFocusable.indexOf(activeElement),previousFocusableElements=allFocusable.slice(activeIndex+1);return previousFocusableElements.find(isTabbable)||(fallbackToLast?allFocusable.find(isTabbable):null)||(fallbackToFocusable?previousFocusableElements[0]:null)||null}function getPreviousTabbable(fallbackToFirst,fallbackToFocusable){return getPreviousTabbableIn(document.body,!1,fallbackToFirst,fallbackToFocusable)}function hasFocus(element){let activeElement=getActiveElement(element);if(!activeElement)return!1;if(activeElement===element)return!0;let activeDescendant=activeElement.getAttribute(`aria-activedescendant`);return activeDescendant?activeDescendant===element.id:!1}function hasFocusWithin(element){let activeElement=getActiveElement(element);if(!activeElement)return!1;if(contains(element,activeElement))return!0;let activeDescendant=activeElement.getAttribute(`aria-activedescendant`);return!activeDescendant||!(`id`in element)?!1:activeDescendant===element.id?!0:!!element.querySelector(`#${CSS.escape(activeDescendant)}`)}function disableFocus(element){let currentTabindex=element.getAttribute(`tabindex`)??``;element.setAttribute(`data-tabindex`,currentTabindex),element.setAttribute(`tabindex`,`-1`)}function disableFocusIn(container,includeContainer){let tabbableElements=getAllTabbableIn(container,includeContainer);for(let element of tabbableElements)disableFocus(element)}function restoreFocusIn(container){let elements=container.querySelectorAll(`[data-tabindex]`),restoreTabIndex=element=>{let tabindex=element.getAttribute(`data-tabindex`);element.removeAttribute(`data-tabindex`),tabindex?element.setAttribute(`tabindex`,tabindex):element.removeAttribute(`tabindex`)};container.hasAttribute(`data-tabindex`)&&restoreTabIndex(container);for(let element of elements)restoreTabIndex(element)}function focusIntoView(element,options){`scrollIntoView`in element?(element.focus({preventScroll:!0}),element.scrollIntoView({block:`nearest`,inline:`nearest`,...options})):element.focus()}var TagName$21=`div`,accessibleWhenDisabledSymbol=Symbol(`accessibleWhenDisabled`),isSafariBrowser$1=isSafari(),alwaysFocusVisibleInputTypes=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`];function isAlwaysFocusVisible(element){let{tagName,readOnly,type}=element;return tagName===`TEXTAREA`&&!readOnly||tagName===`SELECT`&&!readOnly?!0:tagName===`INPUT`&&!readOnly?alwaysFocusVisibleInputTypes.includes(type):!!(element.isContentEditable||element.getAttribute(`role`)===`combobox`&&element.dataset.name)}function isNativeTabbable(tagName){return tagName?tagName===`button`||tagName===`summary`||tagName===`input`||tagName===`select`||tagName===`textarea`||tagName===`a`:!0}function supportsDisabledAttribute(tagName){return tagName?tagName===`button`||tagName===`input`||tagName===`select`||tagName===`textarea`:!0}var buttonInputTypes=[`button`,`color`,`file`,`image`,`reset`,`submit`];function needsSafariTabIndex(tagName,inputType){return tagName===`button`?!0:tagName===`input`&&inputType?inputType===`checkbox`||inputType===`radio`?!0:buttonInputTypes.includes(inputType):!1}function getTabIndex({focusable,trulyDisabled,nativeTabbable,supportsDisabled,safariTabIndex,tabIndexProp}){return focusable?trulyDisabled?nativeTabbable&&!supportsDisabled?-1:void 0:nativeTabbable?safariTabIndex&&tabIndexProp==null?0:tabIndexProp:tabIndexProp??0:tabIndexProp}function useDisableEvent(onEvent,disabled){return useEvent(event=>{onEvent?.(event),!event.defaultPrevented&&disabled&&(event.stopPropagation(),event.preventDefault())})}var hasInstalledGlobalEventListeners=!1,isKeyboardModality=!0;function onGlobalMouseDown(event){let target=event.target;target&&`hasAttribute`in target&&(target.hasAttribute(`data-focus-visible`)||(isKeyboardModality=!1))}function onGlobalKeyDown(event){event.metaKey||event.ctrlKey||event.altKey||(isKeyboardModality=!0)}var useFocusable=createHook(function({focusable=!0,accessibleWhenDisabled,autoFocus,onFocusVisible,...props}){let ref=useRef(null),[parentAccessibleWhenDisabled,metadataProps]=useMetadataProps(props,accessibleWhenDisabledSymbol,accessibleWhenDisabled);accessibleWhenDisabled??=parentAccessibleWhenDisabled,useEffect(()=>{focusable&&(hasInstalledGlobalEventListeners||=(addGlobalEventListener(`mousedown`,onGlobalMouseDown,!0),addGlobalEventListener(`keydown`,onGlobalKeyDown,!0),!0))},[focusable]);let disabled=focusable&&disabledFromProps(props),trulyDisabled=!!disabled&&!accessibleWhenDisabled,[focusVisible,setFocusVisible]=useState(!1);useEffect(()=>{focusable&&trulyDisabled&&focusVisible&&setFocusVisible(!1)},[focusable,trulyDisabled,focusVisible]),useEffect(()=>{if(!focusable||!focusVisible)return;let element=ref.current;if(!element||typeof IntersectionObserver>`u`)return;let observer=new IntersectionObserver(()=>{isFocusable(element)||setFocusVisible(!1)});return observer.observe(element),()=>observer.disconnect()},[focusable,focusVisible]);let onKeyPressCapture=useDisableEvent(props.onKeyPressCapture,disabled),onMouseDownCapture=useDisableEvent(props.onMouseDownCapture,disabled),onClickCapture=useDisableEvent(props.onClickCapture,disabled),handleFocusVisible=(event,currentTarget)=>{if(currentTarget&&(event.currentTarget=currentTarget),!focusable)return;let element=event.currentTarget;element&&hasFocus(element)&&(onFocusVisible?.(event),!event.defaultPrevented&&(element.dataset.focusVisible=`true`,setFocusVisible(!0)))},onKeyDownCaptureProp=props.onKeyDownCapture,onKeyDownCapture=useEvent(event=>{if(onKeyDownCaptureProp?.(event),event.defaultPrevented||!focusable||focusVisible||event.metaKey||event.altKey||event.ctrlKey||!isSelfTarget(event))return;let element=event.currentTarget;queueBeforeEvent(element,`focusout`,()=>handleFocusVisible(event,element))}),onFocusCaptureProp=props.onFocusCapture,onFocusCapture=useEvent(event=>{if(onFocusCaptureProp?.(event),event.defaultPrevented||!focusable)return;if(!isSelfTarget(event)){setFocusVisible(!1);return}let element=event.currentTarget;isKeyboardModality||isAlwaysFocusVisible(event.target)?queueBeforeEvent(event.target,`focusout`,()=>handleFocusVisible(event,element)):setFocusVisible(!1)}),onBlurProp=props.onBlur,onBlur=useEvent(event=>{onBlurProp?.(event),focusable&&isFocusEventOutside(event)&&(event.currentTarget.removeAttribute(`data-focus-visible`),setFocusVisible(!1))}),autoFocusOnShow=useContext(FocusableContext),autoFocusRef=useEvent(element=>{focusable&&autoFocus&&element&&autoFocusOnShow&&queueMicrotask(()=>{hasFocus(element)||isFocusable(element)&&element.focus()})}),tagName=useTagName(ref),nativeTabbable=focusable&&isNativeTabbable(tagName),supportsDisabled=focusable&&supportsDisabledAttribute(tagName),[safariTabIndex,setSafariTabIndex]=useState(!1);isSafariBrowser$1&&useEffect(()=>{if(!focusable)return;let element=ref.current;if(!element)return;let tag=element.tagName.toLowerCase(),type=element.type;setSafariTabIndex(needsSafariTabIndex(tag,type))},[focusable]);let styleProp=props.style,style=useMemo(()=>trulyDisabled?{pointerEvents:`none`,...styleProp}:styleProp,[trulyDisabled,styleProp]);return props={"data-focus-visible":focusable&&focusVisible||void 0,"data-autofocus":autoFocus||void 0,"aria-disabled":disabled||void 0,...props,...metadataProps,ref:useMergeRefs(ref,autoFocusRef,props.ref),style,tabIndex:getTabIndex({focusable,trulyDisabled,nativeTabbable,supportsDisabled,safariTabIndex,tabIndexProp:props.tabIndex}),disabled:supportsDisabled&&trulyDisabled?!0:void 0,contentEditable:disabled?void 0:props.contentEditable,onKeyPressCapture,onClickCapture,onMouseDownCapture,onKeyDownCapture,onFocusCapture,onBlur},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$21,useFocusable(props))});var TagName$20=`button`;function isNativeClick(event){if(!event.isTrusted)return!1;let element=event.currentTarget;return event.key===`Enter`?isButton(element)||element.tagName===`SUMMARY`||element.tagName===`A`:event.key===` `?isButton(element)||element.tagName===`SUMMARY`||element.tagName===`INPUT`||element.tagName===`SELECT`:!1}var symbol$2=Symbol(`command`),useCommand=createHook(function({clickOnEnter=!0,clickOnSpace=!0,...props}){let ref=useRef(null),[isNativeButton,setIsNativeButton]=useState(!1);useEffect(()=>{ref.current&&setIsNativeButton(isButton(ref.current))},[]);let[active,setActive]=useState(!1),activeRef=useRef(!1),disabled=disabledFromProps(props),[isDuplicate,metadataProps]=useMetadataProps(props,symbol$2,!0),onKeyDownProp=props.onKeyDown,onKeyDown=useEvent(event=>{onKeyDownProp?.(event);let element=event.currentTarget;if(event.defaultPrevented||isDuplicate||disabled||!isSelfTarget(event)||isTextField(element)||element.isContentEditable)return;let isEnter=clickOnEnter&&event.key===`Enter`,isSpace=clickOnSpace&&event.key===` `,shouldPreventEnter=event.key===`Enter`&&!clickOnEnter,shouldPreventSpace=event.key===` `&&!clickOnSpace;if(shouldPreventEnter||shouldPreventSpace){event.preventDefault();return}if(isEnter||isSpace){let nativeClick=isNativeClick(event);if(isEnter){if(!nativeClick){event.preventDefault();let{view,...eventInit}=event,click=()=>fireClickEvent(element,eventInit);isFirefox()?queueBeforeEvent(element,`keyup`,click):queueMicrotask(click)}}else isSpace&&(activeRef.current=!0,nativeClick||(event.preventDefault(),setActive(!0)))}}),onKeyUpProp=props.onKeyUp,onKeyUp=useEvent(event=>{if(onKeyUpProp?.(event),event.defaultPrevented||isDuplicate||disabled||event.metaKey)return;let isSpace=clickOnSpace&&event.key===` `;if(activeRef.current&&isSpace&&(activeRef.current=!1,!isNativeClick(event))){event.preventDefault(),setActive(!1);let element=event.currentTarget,{view,...eventInit}=event;queueMicrotask(()=>fireClickEvent(element,eventInit))}});return props={"data-active":active||void 0,type:isNativeButton?`button`:void 0,...metadataProps,...props,ref:useMergeRefs(ref,props.ref),onKeyDown,onKeyUp},props=useFocusable(props),props});forwardRef2(function(props){return createElement(TagName$20,useCommand(props))});var TagName$19=`button`,useButton=createHook(function(props){let ref=useRef(null),tagName=useTagName(ref,TagName$19),[isNativeButton,setIsNativeButton]=useState(()=>!!tagName&&isButton({tagName,type:props.type}));return useEffect(()=>{ref.current&&setIsNativeButton(isButton(ref.current))},[]),props={role:!isNativeButton&&tagName!==`a`?`button`:void 0,...props,ref:useMergeRefs(ref,props.ref)},props=useCommand(props),props});forwardRef2(function(props){return createElement(TagName$19,useButton(props))});var TagName$18=`button`,symbol$1=Symbol(`disclosure`),useDisclosure=createHook(function({store,toggleOnClick=!0,...props}){let context=useDisclosureProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Disclosure must receive a `store` prop or be wrapped in a DisclosureProvider component.");let ref=useRef(null),[expanded,setExpanded]=useState(!1),disclosureElement=useStoreState(store,`disclosureElement`),open=useStoreState(store,`open`);useEffect(()=>{let isCurrentDisclosure=disclosureElement===ref.current;disclosureElement?.isConnected||(store?.setDisclosureElement(ref.current),isCurrentDisclosure=!0),setExpanded(open&&isCurrentDisclosure)},[disclosureElement,store,open]);let onClickProp=props.onClick,toggleOnClickProp=useBooleanEvent(toggleOnClick),[isDuplicate,metadataProps]=useMetadataProps(props,symbol$1,!0),onClick=useEvent(event=>{onClickProp?.(event),!event.defaultPrevented&&(isDuplicate||toggleOnClickProp(event)&&(store?.setDisclosureElement(event.currentTarget),store?.toggle()))});return props={"aria-expanded":expanded,"aria-controls":useStoreState(store,`contentElement`)?.id,...metadataProps,...props,ref:useMergeRefs(ref,props.ref),onClick},props=useButton(props),props});forwardRef2(function(props){return createElement(TagName$18,useDisclosure(props))});var TagName$17=`button`,useDialogDisclosure=createHook(function({store,...props}){let context=useDialogProviderContext();return store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"DialogDisclosure must receive a `store` prop or be wrapped in a DialogProvider component."),props={"aria-haspopup":getPopupRole(useStoreState(store,`contentElement`),`dialog`),...props},props=useDisclosure({store,...props}),props});forwardRef2(function(props){return createElement(TagName$17,useDialogDisclosure(props))});var TagName$16=`button`,usePopoverDisclosure=createHook(function({store,...props}){let context=usePopoverProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"PopoverDisclosure must receive a `store` prop or be wrapped in a PopoverProvider component.");let onClickProp=props.onClick,onClick=useEvent(event=>{store?.setAnchorElement(event.currentTarget),onClickProp?.(event)});return props=useWrapElement(props,element=>jsx(PopoverScopedContextProvider,{value:store,children:element}),[store]),props={...props,onClick},props=usePopoverAnchor({store,...props}),props=useDialogDisclosure({store,...props}),props});forwardRef2(function(props){return createElement(TagName$16,usePopoverDisclosure(props))});function toArray(arg){return Array.isArray(arg)?arg:arg===void 0?[]:[arg]}function flatten2DArray(array){let flattened=[];for(let row of array)flattened.push(...row);return flattened}function reverseArray(array){return array.slice().reverse()}var TagName$15=`button`;function getSelectedValues(select){return Array.from(select.selectedOptions).map(option=>option.value)}function nextWithValue(store,next){return()=>{let nextId=next();if(!nextId)return;let i=0,nextItem=store.item(nextId),firstItem=nextItem;for(;nextItem&&nextItem.value==null;){let nextId2=next(++i);if(!nextId2)return;if(nextItem=store.item(nextId2),nextItem===firstItem)break}return nextItem?.id}}var useSelect=createHook(function({store,name,form,required,showOnKeyDown=!0,moveOnKeyDown=!0,toggleOnPress=!0,toggleOnClick=toggleOnPress,...props}){let context=useSelectProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Select must receive a `store` prop or be wrapped in a SelectProvider component.");let onKeyDownProp=props.onKeyDown,showOnKeyDownProp=useBooleanEvent(showOnKeyDown),moveOnKeyDownProp=useBooleanEvent(moveOnKeyDown),dir=useStoreState(store,`placement`).split(`-`)[0],value=useStoreState(store,`value`),multiSelectable=Array.isArray(value),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.defaultPrevented||!store)return;let{orientation,items:items2,activeId}=store.getState(),isVertical=orientation!==`horizontal`,isHorizontal=orientation!==`vertical`,isGrid=!!items2.find(item=>!item.disabled&&item.value!=null)?.rowId,getId={ArrowUp:(isGrid||isVertical)&&nextWithValue(store,store.up),ArrowRight:(isGrid||isHorizontal)&&nextWithValue(store,store.next),ArrowDown:(isGrid||isVertical)&&nextWithValue(store,store.down),ArrowLeft:(isGrid||isHorizontal)&&nextWithValue(store,store.previous)}[event.key];getId&&moveOnKeyDownProp(event)&&(event.preventDefault(),store.move(getId()));let isTopOrBottom=dir===`top`||dir===`bottom`;({ArrowDown:isTopOrBottom,ArrowUp:isTopOrBottom,ArrowLeft:dir===`left`,ArrowRight:dir===`right`})[event.key]&&showOnKeyDownProp(event)&&(event.preventDefault(),store.move(activeId),queueBeforeEvent(event.currentTarget,`keyup`,store.show))});props=useWrapElement(props,element=>jsx(SelectScopedContextProvider,{value:store,children:element}),[store]);let[autofill,setAutofill]=useState(!1),nativeSelectChangedRef=useRef(!1);useEffect(()=>{let nativeSelectChanged=nativeSelectChangedRef.current;nativeSelectChangedRef.current=!1,!nativeSelectChanged&&setAutofill(!1)},[value]);let labelId=useStoreState(store,state=>state.labelElement?.id),label=props[`aria-label`],labelledBy=props[`aria-labelledby`]||labelId,items=useStoreState(store,state=>{if(name)return state.items}),values=useMemo(()=>[...new Set(items?.map(i=>i.value).filter(v=>v!=null))],[items]);props=useWrapElement(props,element=>name?jsxs(Fragment,{children:[jsxs(`select`,{style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`},tabIndex:-1,"aria-hidden":!0,"aria-label":label,"aria-labelledby":label==null?labelledBy:void 0,name,form,required,disabled:props.disabled,value,multiple:multiSelectable,onFocus:()=>(store?.getState().selectElement)?.focus(),onChange:event=>{nativeSelectChangedRef.current=!0,setAutofill(!0),store?.setValue(multiSelectable?getSelectedValues(event.target):event.target.value)},children:[toArray(value).map(value2=>value2==null||values.includes(value2)?null:jsx(`option`,{value:value2,children:value2},value2)),values.map(value2=>jsx(`option`,{value:value2,children:value2},value2))]}),element]}):element,[store,label,labelledBy,name,form,required,value,multiSelectable,values,props.disabled]);let children=jsxs(Fragment,{children:[value,jsx(SelectArrow,{})]}),contentElement=useStoreState(store,`contentElement`);return props={role:`combobox`,"aria-autocomplete":`none`,"aria-labelledby":props[`aria-label`]==null?labelId:void 0,"aria-haspopup":getPopupRole(contentElement,`listbox`),"data-autofill":autofill||void 0,"data-name":name,children,...props,ref:useMergeRefs(store.setSelectElement,props.ref),onKeyDown},props=usePopoverDisclosure({store,toggleOnClick,...props}),props=useCompositeTypeahead({store,...props}),props}),Select=forwardRef2(function(props){return createElement(TagName$15,useSelect(props))}),HeadingContext=createContext(0),TagName$14=`div`;function getMouseDestination(event){let relatedTarget=event.relatedTarget;return relatedTarget?.nodeType===Node.ELEMENT_NODE?relatedTarget:null}function hoveringInside(event){let nextElement=getMouseDestination(event);return nextElement?contains(event.currentTarget,nextElement):!1}var symbol=Symbol(`composite-hover`);function movingToAnotherItem(event){let dest=getMouseDestination(event);if(!dest)return!1;do{if(hasOwnProperty(dest,symbol)&&dest[symbol])return!0;dest=dest.parentElement}while(dest);return!1}var useCompositeHover=createHook(function({store,focusOnHover=!0,blurOnHoverEnd=!!focusOnHover,...props}){let context=useCompositeContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`CompositeHover must be wrapped in a Composite component.`);let isMouseMoving=useIsMouseMoving(),onMouseMoveProp=props.onMouseMove,focusOnHoverProp=useBooleanEvent(focusOnHover),onMouseMove=useEvent(event=>{if(onMouseMoveProp?.(event),!event.defaultPrevented&&isMouseMoving()&&focusOnHoverProp(event)){if(!hasFocusWithin(event.currentTarget)){let baseElement=store?.getState().baseElement;baseElement&&!hasFocus(baseElement)&&baseElement.focus()}store?.setActiveId(event.currentTarget.id)}}),onMouseLeaveProp=props.onMouseLeave,blurOnHoverEndProp=useBooleanEvent(blurOnHoverEnd),onMouseLeave=useEvent(event=>{var _a;onMouseLeaveProp?.(event),!event.defaultPrevented&&isMouseMoving()&&(hoveringInside(event)||movingToAnotherItem(event)||focusOnHoverProp(event)&&blurOnHoverEndProp(event)&&(store?.setActiveId(null),(_a=store?.getState().baseElement)==null||_a.focus()))}),ref=useCallback(element=>{element&&(element[symbol]=!0)},[]);return props={...props,ref:useMergeRefs(ref,props.ref),onMouseMove,onMouseLeave},removeUndefinedValues(props)});memo2(forwardRef2(function(props){return createElement(TagName$14,useCompositeHover(props))}));var TagName$13=`div`,useCollectionItem=createHook(function({store,shouldRegisterItem=!0,getItem=identity,element,...props}){let context=useCollectionContext();store||=context;let id=useId(props.id),ref=useRef(element);return useEffect(()=>{let element2=ref.current;if(!id||!element2||!shouldRegisterItem)return;let item=getItem({id,element:element2});return store?.renderItem(item)},[id,shouldRegisterItem,getItem,store]),props={...props,ref:useMergeRefs(ref,props.ref)},removeUndefinedValues(props)});forwardRef2(function(props){return createElement(TagName$13,useCollectionItem(props))});var TagName$12=`button`;function isEditableElement(element){return isTextbox(element)?!0:element.tagName===`INPUT`&&!isButton(element)}function getNextPageOffset(scrollingElement,pageUp=!1){let height=scrollingElement.clientHeight,{top}=scrollingElement.getBoundingClientRect(),pageSize=Math.max(height*.875,height-40)*1.5,pageOffset=pageUp?height-pageSize+top:pageSize+top;return scrollingElement.tagName===`HTML`?pageOffset+scrollingElement.scrollTop:pageOffset}function getItemOffset(itemElement,pageUp=!1){let{top}=itemElement.getBoundingClientRect();return pageUp?top+itemElement.clientHeight:top}function findNextPageItemId(element,store,next,pageUp=!1){if(!store||!next)return;let{renderedItems}=store.getState(),scrollingElement=getScrollingElement(element);if(!scrollingElement)return;let nextPageOffset=getNextPageOffset(scrollingElement,pageUp),id,prevDifference;for(let i=0;i<renderedItems.length;i+=1){let previousId=id;if(id=next(i),!id)break;if(id===previousId)continue;let itemElement=getEnabledItem(store,id)?.element;if(!itemElement)continue;let difference=getItemOffset(itemElement,pageUp)-nextPageOffset,absDifference=Math.abs(difference);if(pageUp&&difference<=0||!pageUp&&difference>=0){prevDifference!==void 0&&prevDifference<absDifference&&(id=previousId);break}prevDifference=absDifference}return id}function targetIsAnotherItem(event,store){return isSelfTarget(event)?!1:isItem(store,event.target)}var useCompositeItem=createHook(function({store,rowId:rowIdProp,preventScrollOnKeyDown=!1,moveOnKeyPress=!0,tabbable=!1,getItem:getItemProp,"aria-setsize":ariaSetSizeProp,"aria-posinset":ariaPosInSetProp,...props}){let context=useCompositeContext();store||=context;let id=useId(props.id),ref=useRef(null),row=useContext(CompositeRowContext),trulyDisabled=disabledFromProps(props)&&!props.accessibleWhenDisabled,{rowId,baseElement,isActiveItem,ariaSetSize,ariaPosInSet,isTabbable}=useStoreStateObject(store,{rowId(state){if(rowIdProp)return rowIdProp;if(state&&row?.baseElement&&row.baseElement===state.baseElement)return row.id},baseElement(state){return state?.baseElement||void 0},isActiveItem(state){return!!state&&state.activeId===id},ariaSetSize(state){if(ariaSetSizeProp!=null)return ariaSetSizeProp;if(state&&row?.ariaSetSize&&row.baseElement===state.baseElement)return row.ariaSetSize},ariaPosInSet(state){if(ariaPosInSetProp!=null)return ariaPosInSetProp;if(!state||!row?.ariaPosInSet||row.baseElement!==state.baseElement)return;let itemsInRow=state.renderedItems.filter(item=>item.rowId===rowId);return row.ariaPosInSet+itemsInRow.findIndex(item=>item.id===id)},isTabbable(state){if(!state?.renderedItems.length)return!0;if(state.virtualFocus)return!1;if(tabbable)return!0;if(state.activeId===null)return!1;let item=store?.item(state.activeId);return item?.disabled||!item?.element?!0:state.activeId===id}}),getItem=useCallback(item=>{let nextItem={...item,id:id||item.id,rowId,disabled:!!trulyDisabled,children:item.element?.textContent};return getItemProp?getItemProp(nextItem):nextItem},[id,rowId,trulyDisabled,getItemProp]),onFocusProp=props.onFocus,hasFocusedComposite=useRef(!1),onFocus=useEvent(event=>{if(onFocusProp?.(event),event.defaultPrevented||isPortalEvent(event)||!id||!store||targetIsAnotherItem(event,store))return;let{virtualFocus,baseElement:baseElement2}=store.getState();store.setActiveId(id),isTextbox(event.currentTarget)&&selectTextField(event.currentTarget),virtualFocus&&isSelfTarget(event)&&(isEditableElement(event.currentTarget)||baseElement2?.isConnected&&(isSafari()&&event.currentTarget.hasAttribute(`data-autofocus`)&&event.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),hasFocusedComposite.current=!0,event.relatedTarget===baseElement2||isItem(store,event.relatedTarget)?focusSilently(baseElement2):baseElement2.focus()))}),onBlurCaptureProp=props.onBlurCapture,onBlurCapture=useEvent(event=>{onBlurCaptureProp?.(event),!event.defaultPrevented&&store?.getState()?.virtualFocus&&hasFocusedComposite.current&&(hasFocusedComposite.current=!1,event.preventDefault(),event.stopPropagation())}),onKeyDownProp=props.onKeyDown,preventScrollOnKeyDownProp=useBooleanEvent(preventScrollOnKeyDown),moveOnKeyPressProp=useBooleanEvent(moveOnKeyPress),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.defaultPrevented||!isSelfTarget(event)||!store)return;let{currentTarget}=event,state=store.getState(),isGrid=!!store.item(id)?.rowId,isVertical=state.orientation!==`horizontal`,isHorizontal=state.orientation!==`vertical`,canHomeEnd=()=>!!(isGrid||isHorizontal||!state.baseElement||!isTextField(state.baseElement)),action={ArrowUp:(isGrid||isVertical)&&store.up,ArrowRight:(isGrid||isHorizontal)&&store.next,ArrowDown:(isGrid||isVertical)&&store.down,ArrowLeft:(isGrid||isHorizontal)&&store.previous,Home:()=>{if(canHomeEnd())return!isGrid||event.ctrlKey?store?.first():store?.previous(-1)},End:()=>{if(canHomeEnd())return!isGrid||event.ctrlKey?store?.last():store?.next(-1)},PageUp:()=>findNextPageItemId(currentTarget,store,store?.up,!0),PageDown:()=>findNextPageItemId(currentTarget,store,store?.down)}[event.key];if(action){if(isTextbox(currentTarget)){let selection=getTextboxSelection(currentTarget),isLeft=isHorizontal&&event.key===`ArrowLeft`,isRight=isHorizontal&&event.key===`ArrowRight`,isUp=isVertical&&event.key===`ArrowUp`,isDown=isVertical&&event.key===`ArrowDown`;if(isRight||isDown){let{length:valueLength}=getTextboxValue(currentTarget);if(selection.end!==valueLength)return}else if((isLeft||isUp)&&selection.start!==0)return}let nextId=action();if(preventScrollOnKeyDownProp(event)||nextId!==void 0){if(!moveOnKeyPressProp(event))return;event.preventDefault(),store.move(nextId)}}}),providerValue=useMemo(()=>({id,baseElement}),[id,baseElement]);return props=useWrapElement(props,element=>jsx(CompositeItemContext.Provider,{value:providerValue,children:element}),[providerValue]),props={"data-active-item":isActiveItem||void 0,...props,id,ref:useMergeRefs(ref,props.ref),tabIndex:isTabbable?props.tabIndex:-1,onFocus,onBlurCapture,onKeyDown},props=useCommand(props),props=useCollectionItem({store,...props,getItem,shouldRegisterItem:id?props.shouldRegisterItem:!1}),removeUndefinedValues({...props,"aria-setsize":ariaSetSize,"aria-posinset":ariaPosInSet})});memo2(forwardRef2(function(props){return createElement(TagName$12,useCompositeItem(props))}));var TagName$11=`div`;function isSelected(storeValue,itemValue){if(itemValue!=null)return storeValue==null?!1:Array.isArray(storeValue)?storeValue.includes(itemValue):storeValue===itemValue}var useSelectItem=createHook(function({store,value,getItem:getItemProp,hideOnClick,setValueOnClick=value!=null,preventScrollOnKeyDown=!0,focusOnHover=!0,...props}){let context=useSelectScopedContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&`SelectItem must be wrapped in a SelectList or SelectPopover component.`);let id=useId(props.id),disabled=disabledFromProps(props),{listElement,multiSelectable,selected,autoFocus}=useStoreStateObject(store,{listElement:`listElement`,multiSelectable(state){return Array.isArray(state.value)},selected(state){return isSelected(state.value,value)},autoFocus(state){return value==null||state.value==null||state.activeId!==id&&store?.item(state.activeId)?!1:Array.isArray(state.value)?state.value[state.value.length-1]===value:state.value===value}}),virtualFocus=useStoreState(store?.combobox,`virtualFocus`),getItem=useCallback(item=>{let nextItem={...item,value:disabled?void 0:value};return getItemProp?getItemProp(nextItem):nextItem},[disabled,value,getItemProp]);hideOnClick??=value!=null&&!multiSelectable;let onClickProp=props.onClick,setValueOnClickProp=useBooleanEvent(setValueOnClick),hideOnClickProp=useBooleanEvent(hideOnClick),onClick=useEvent(event=>{onClickProp?.(event),!event.defaultPrevented&&(isDownloading(event)||isOpeningInNewTab(event)||(setValueOnClickProp(event)&&value!=null&&store?.setValue(prevValue=>Array.isArray(prevValue)?prevValue.includes(value)?prevValue.filter(v=>v!==value):[...prevValue,value]:value),hideOnClickProp(event)&&store?.hide()))});props=useWrapElement(props,element=>jsx(SelectItemCheckedContext.Provider,{value:selected??!1,children:element}),[selected]);let shouldAutoFocus=props.autoFocus??autoFocus;props={role:getPopupItemRole(listElement),"aria-selected":selected,children:value,...props,id,autoFocus:virtualFocus===!1?!1:shouldAutoFocus,"data-autofocus":shouldAutoFocus||void 0,onClick},props=useCompositeItem({store,getItem,preventScrollOnKeyDown,...props});let focusOnHoverProp=useBooleanEvent(focusOnHover);return props=useCompositeHover({store,...props,focusOnHover(event){return focusOnHoverProp(event)?!!store?.getState()?.open:!1}}),props}),SelectItem=memo2(forwardRef2(function(props){return createElement(TagName$11,useSelectItem(props))})),TagName$10=`div`;function afterTimeout(timeoutMs,cb){let timeoutId=setTimeout(cb,timeoutMs);return()=>clearTimeout(timeoutId)}function afterPaint(cb){let raf=requestAnimationFrame(()=>{raf=requestAnimationFrame(cb)});return()=>cancelAnimationFrame(raf)}function parseCSSTime(...times){return times.join(`, `).split(`, `).reduce((longestTime,currentTimeString)=>{let multiplier=currentTimeString.endsWith(`ms`)?1:1e3,currentTime=Number.parseFloat(currentTimeString||`0s`)*multiplier;return currentTime>longestTime?currentTime:longestTime},0)}function isHidden(mounted,hidden,alwaysVisible){return!alwaysVisible&&hidden!==!1&&(!mounted||!!hidden)}var useDisclosureContent=createHook(function({store,alwaysVisible,...props}){let context=useDisclosureProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.");let ref=useRef(null),id=useId(props.id),[transition,setTransition]=useState(null),open=useStoreState(store,`open`),mounted=useStoreState(store,`mounted`),animated=useStoreState(store,`animated`),contentElement=useStoreState(store,`contentElement`),otherElement=useStoreState(store.disclosure,`contentElement`);useSafeLayoutEffect(()=>{ref.current&&store?.setContentElement(ref.current)},[store]),useSafeLayoutEffect(()=>{let previousAnimated;return store?.setState(`animated`,animated2=>(previousAnimated=animated2,!0)),()=>{previousAnimated!==void 0&&store?.setState(`animated`,previousAnimated)}},[store]),useSafeLayoutEffect(()=>{if(animated){if(!contentElement?.isConnected){setTransition(null);return}return afterPaint(()=>{setTransition(open?`enter`:mounted?`leave`:null)})}},[animated,contentElement,open,mounted]),useSafeLayoutEffect(()=>{if(!store||!animated||!transition||!contentElement)return;let stopAnimation=()=>store?.setState(`animating`,!1),stopAnimationSync=()=>flushSync(stopAnimation);if(transition===`leave`&&open||transition===`enter`&&!open)return;if(typeof animated==`number`)return afterTimeout(animated,stopAnimationSync);let{transitionDuration,animationDuration,transitionDelay,animationDelay}=getComputedStyle(contentElement),{transitionDuration:transitionDuration2=`0`,animationDuration:animationDuration2=`0`,transitionDelay:transitionDelay2=`0`,animationDelay:animationDelay2=`0`}=otherElement?getComputedStyle(otherElement):{},timeout=parseCSSTime(transitionDelay,animationDelay,transitionDelay2,animationDelay2)+parseCSSTime(transitionDuration,animationDuration,transitionDuration2,animationDuration2);if(!timeout){transition===`enter`&&store.setState(`animated`,!1),stopAnimation();return}return afterTimeout(Math.max(timeout-1e3/60,0),stopAnimationSync)},[store,animated,contentElement,otherElement,open,transition]),props=useWrapElement(props,element=>jsx(DialogScopedContextProvider,{value:store,children:element}),[store]);let hidden=isHidden(mounted,props.hidden,alwaysVisible),styleProp=props.style,style=useMemo(()=>hidden?{...styleProp,display:`none`}:styleProp,[hidden,styleProp]);return props={"data-open":open||void 0,"data-enter":transition===`enter`||void 0,"data-leave":transition===`leave`||void 0,hidden,...props,id,ref:useMergeRefs(id?store.setContentElement:null,ref,props.ref),style},removeUndefinedValues(props)}),DisclosureContentImpl=forwardRef2(function(props){return createElement(TagName$10,useDisclosureContent(props))});forwardRef2(function({unmountOnHide,...props}){let context=useDisclosureProviderContext();return useStoreState(props.store||context,state=>!unmountOnHide||state?.mounted)===!1?null:jsx(DisclosureContentImpl,{...props})});var TagName$9=`div`;function isGrid(items){return items.some(item=>!!item.rowId)}function isPrintableKey(event){let target=event.target;return target&&!isTextField(target)?!1:event.key.length===1&&!event.ctrlKey&&!event.metaKey}function isModifierKey(event){return event.key===`Shift`||event.key===`Control`||event.key===`Alt`||event.key===`Meta`}function useKeyboardEventProxy(store,onKeyboardEvent,previousElementRef){return useEvent(event=>{if(onKeyboardEvent?.(event),event.defaultPrevented||event.isPropagationStopped()||!isSelfTarget(event)||isModifierKey(event)||isPrintableKey(event))return;let activeElement=getEnabledItem(store,store.getState().activeId)?.element;if(!activeElement)return;let{view,...eventInit}=event;activeElement!==previousElementRef?.current&&activeElement.focus(),fireKeyboardEvent(activeElement,event.type,eventInit)||event.preventDefault(),event.currentTarget.contains(activeElement)&&event.stopPropagation()})}function findFirstEnabledItemInTheLastRow(items){return findFirstEnabledItem$1(flatten2DArray(reverseArray(groupItemsByRows$1(items))))}function withBaseScrollPreserved(store,callback){let{virtualFocus,baseElement}=store.getState();if(!virtualFocus||!baseElement||!isTextField(baseElement)){callback();return}let savedScrollLeft=baseElement.scrollLeft,savedScrollTop=baseElement.scrollTop;callback(),baseElement.scrollLeft=savedScrollLeft,baseElement.scrollTop=savedScrollTop}function useScheduleFocus(store){let[scheduled,setScheduled]=useState(!1),schedule=useCallback(()=>setScheduled(!0),[]),activeItem=useStoreState(store,state=>getEnabledItem(store,state.activeId));return useEffect(()=>{let activeElement=activeItem?.element;scheduled&&activeElement&&(setScheduled(!1),withBaseScrollPreserved(store,()=>{activeElement.focus({preventScroll:!0})}))},[store,activeItem,scheduled]),schedule}var useComposite=createHook(function({store,composite=!0,focusOnMove=composite,moveOnKeyPress=!0,...props}){let context=useCompositeProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.");let ref=useRef(null),previousElementRef=useRef(null),scheduleFocus=useScheduleFocus(store),moves=useStoreState(store,`moves`),[,setBaseElement]=useTransactionState(composite?store.setBaseElement:null);useEffect(()=>{if(!store||!moves||!composite||!focusOnMove)return;let{activeId:activeId2}=store.getState(),itemElement=getEnabledItem(store,activeId2)?.element;itemElement&&withBaseScrollPreserved(store,()=>focusIntoView(itemElement))},[store,moves,composite,focusOnMove]),useSafeLayoutEffect(()=>{if(!store||!moves||!composite)return;let{baseElement,activeId:activeId2}=store.getState();if(activeId2!==null||!baseElement)return;let previousElement=previousElementRef.current;previousElementRef.current=null,previousElement&&fireBlurEvent(previousElement,{relatedTarget:baseElement}),hasFocus(baseElement)||baseElement.focus()},[store,moves,composite]);let activeId=useStoreState(store,`activeId`),virtualFocus=useStoreState(store,`virtualFocus`);useSafeLayoutEffect(()=>{if(!store||!composite||!virtualFocus)return;let previousElement=previousElementRef.current;if(previousElementRef.current=null,!previousElement)return;let relatedTarget=getEnabledItem(store,activeId)?.element||getActiveElement(previousElement);relatedTarget!==previousElement&&fireBlurEvent(previousElement,{relatedTarget})},[store,activeId,virtualFocus,composite]);let onKeyDownCapture=useKeyboardEventProxy(store,props.onKeyDownCapture,previousElementRef),onKeyUpCapture=useKeyboardEventProxy(store,props.onKeyUpCapture,previousElementRef),onFocusCaptureProp=props.onFocusCapture,onFocusCapture=useEvent(event=>{if(onFocusCaptureProp?.(event),event.defaultPrevented||!store)return;let{virtualFocus:virtualFocus2}=store.getState();if(!virtualFocus2)return;let previousActiveElement=event.relatedTarget,isSilentlyFocused=silentlyFocused(event.currentTarget);isSelfTarget(event)&&isSilentlyFocused&&(event.stopPropagation(),previousElementRef.current=previousActiveElement)}),onFocusProp=props.onFocus,onFocus=useEvent(event=>{if(onFocusProp?.(event),event.defaultPrevented||!composite||!store)return;let{relatedTarget}=event,{virtualFocus:virtualFocus2}=store.getState();virtualFocus2?isSelfTarget(event)&&!isItem(store,relatedTarget)&&queueMicrotask(scheduleFocus):isSelfTarget(event)&&store.setActiveId(null)}),onBlurCaptureProp=props.onBlurCapture,onBlurCapture=useEvent(event=>{if(onBlurCaptureProp?.(event),event.defaultPrevented||!store)return;let{virtualFocus:virtualFocus2,activeId:activeId2}=store.getState();if(!virtualFocus2)return;let activeElement=getEnabledItem(store,activeId2)?.element,nextActiveElement=event.relatedTarget,nextActiveElementIsItem=isItem(store,nextActiveElement),previousElement=previousElementRef.current;previousElementRef.current=null,isSelfTarget(event)&&nextActiveElementIsItem?(nextActiveElement===activeElement?previousElement&&previousElement!==nextActiveElement&&fireBlurEvent(previousElement,event):activeElement?fireBlurEvent(activeElement,event):previousElement&&fireBlurEvent(previousElement,event),event.stopPropagation()):!isItem(store,event.target)&&activeElement&&fireBlurEvent(activeElement,event)}),onKeyDownProp=props.onKeyDown,moveOnKeyPressProp=useBooleanEvent(moveOnKeyPress),onKeyDown=useEvent(event=>{if(onKeyDownProp?.(event),event.nativeEvent.isComposing||event.defaultPrevented||!store||!isSelfTarget(event))return;let{orientation,renderedItems,activeId:activeId2}=store.getState();if(getEnabledItem(store,activeId2)?.element?.isConnected)return;let isVertical=orientation!==`horizontal`,isHorizontal=orientation!==`vertical`,grid=isGrid(renderedItems);if((event.key===`ArrowLeft`||event.key===`ArrowRight`||event.key===`Home`||event.key===`End`)&&isTextField(event.currentTarget))return;let action={ArrowUp:(grid||isVertical)&&(()=>grid?findFirstEnabledItemInTheLastRow(renderedItems)?.id:store?.last()),ArrowRight:(grid||isHorizontal)&&store.first,ArrowDown:(grid||isVertical)&&store.first,ArrowLeft:(grid||isHorizontal)&&store.last,Home:store.first,End:store.last,PageUp:store.first,PageDown:store.last}[event.key];if(action){let id=action();if(id!==void 0){if(!moveOnKeyPressProp(event))return;event.preventDefault(),store.move(id)}}});return props=useWrapElement(props,element=>jsx(CompositeContextProvider,{value:store,children:element}),[store]),props={"aria-activedescendant":useStoreState(store,state=>{if(store&&composite&&state.virtualFocus)return getEnabledItem(store,state.activeId)?.id}),...props,ref:useMergeRefs(ref,setBaseElement,props.ref),onKeyDownCapture,onKeyUpCapture,onFocusCapture,onFocus,onBlurCapture,onKeyDown},props=useFocusable({focusable:useStoreState(store,state=>composite&&(state.virtualFocus||state.activeId===null)),...props}),props});forwardRef2(function(props){return createElement(TagName$9,useComposite(props))});var TagName$8=`div`,SelectListContext=createContext(null),useSelectList=createHook(function({store,resetOnEscape=!0,hideOnEnter=!0,focusOnMove=!0,composite,alwaysVisible,...props}){let context=useSelectContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"SelectList must receive a `store` prop or be wrapped in a SelectProvider component.");let id=useId(props.id),value=useStoreState(store,`value`),multiSelectable=Array.isArray(value),[defaultValue,setDefaultValue]=useState(value),mounted=useStoreState(store,`mounted`);useEffect(()=>{mounted||setDefaultValue(value)},[mounted,value]),resetOnEscape&&=!multiSelectable;let onKeyDownProp=props.onKeyDown,resetOnEscapeProp=useBooleanEvent(resetOnEscape),hideOnEnterProp=useBooleanEvent(hideOnEnter),onKeyDown=useEvent(event=>{onKeyDownProp?.(event),!event.defaultPrevented&&(event.key===`Escape`&&resetOnEscapeProp(event)&&store?.setValue(defaultValue),(event.key===` `||event.key===`Enter`)&&isSelfTarget(event)&&hideOnEnterProp(event)&&(event.preventDefault(),store?.hide()))}),headingContext=useContext(SelectHeadingContext),headingState=useState(),[headingId,setHeadingId]=headingContext||headingState,headingContextValue=useMemo(()=>[headingId,setHeadingId],[headingId,setHeadingId]),[childStore,setChildStore]=useState(null),setStore=useContext(SelectListContext);useEffect(()=>{if(setStore)return setStore(store),()=>setStore(null)},[setStore,store]),props=useWrapElement(props,element2=>jsx(SelectScopedContextProvider,{value:store,children:jsx(SelectListContext.Provider,{value:setChildStore,children:jsx(SelectHeadingContext.Provider,{value:headingContextValue,children:element2})})}),[store,headingContextValue]);let hasCombobox=!!store.combobox;composite??=!hasCombobox&&childStore!==store;let[element,setElement]=useTransactionState(composite?store.setListElement:null),role=useAttribute(element,`role`,props.role),ariaMultiSelectable=(composite||role===`listbox`||role===`menu`||role===`tree`||role===`grid`)&&multiSelectable||void 0,hidden=isHidden(mounted,props.hidden,alwaysVisible),style=hidden?{...props.style,display:`none`}:props.style;composite&&(props={role:`listbox`,"aria-multiselectable":ariaMultiSelectable,...props});let labelId=useStoreState(store,state=>headingId||state.labelElement?.id);return props={"aria-labelledby":props[`aria-label`]==null?labelId:void 0,hidden,...props,id,ref:useMergeRefs(setElement,props.ref),style,onKeyDown},props=useComposite({store,...props,composite}),props=useCompositeTypeahead({store,typeahead:!hasCombobox,...props}),props}),SelectList=forwardRef2(function(props){return createElement(TagName$8,useSelectList(props))}),PortalContext=createContext(null),TagName$7=`span`,useVisuallyHidden=createHook(function(props){return props={...props,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...props.style}},props});forwardRef2(function(props){return createElement(TagName$7,useVisuallyHidden(props))});var TagName$6=`span`,useFocusTrap=createHook(function(props){return props={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...props,style:{position:`fixed`,top:0,left:0,...props.style}},props=useVisuallyHidden(props),props}),FocusTrap=forwardRef2(function(props){return createElement(TagName$6,useFocusTrap(props))}),TagName$5=`div`;function getRootElement(element){return getDocument(element).body}function getPortalElement(element,portalElement){return portalElement?typeof portalElement==`function`?portalElement(element):portalElement:getDocument(element).createElement(`div`)}function getRandomId(prefix=`id`){return`${prefix?`${prefix}-`:``}${Math.random().toString(36).slice(2,8)}`}function queueFocus(element){queueMicrotask(()=>{element?.focus()})}var usePortal=createHook(function({preserveTabOrder,preserveTabOrderAnchor,portalElement,portalRef,portal=!0,...props}){let ref=useRef(null),refProp=useMergeRefs(ref,props.ref),context=useContext(PortalContext),[portalNode,setPortalNode]=useState(null),[anchorPortalNode,setAnchorPortalNode]=useState(null),outerBeforeRef=useRef(null),innerBeforeRef=useRef(null),innerAfterRef=useRef(null),outerAfterRef=useRef(null);return useSafeLayoutEffect(()=>{let element=ref.current;if(!element||!portal){setPortalNode(null);return}let portalEl=getPortalElement(element,portalElement);if(!portalEl){setPortalNode(null);return}let isPortalInDocument=portalEl.isConnected;if(isPortalInDocument||(context||getRootElement(element)).appendChild(portalEl),portalEl.id||=element.id?`portal/${element.id}`:getRandomId(),setPortalNode(portalEl),setRef(portalRef,portalEl),!isPortalInDocument)return()=>{portalEl.remove(),setRef(portalRef,null)}},[portal,portalElement,context,portalRef]),useSafeLayoutEffect(()=>{if(!portal||!preserveTabOrder||!preserveTabOrderAnchor)return;let element=getDocument(preserveTabOrderAnchor).createElement(`span`);return element.style.position=`fixed`,preserveTabOrderAnchor.insertAdjacentElement(`afterend`,element),setAnchorPortalNode(element),()=>{element.remove(),setAnchorPortalNode(null)}},[portal,preserveTabOrder,preserveTabOrderAnchor]),useEffect(()=>{if(!portalNode||!preserveTabOrder)return;let raf=0,onFocus=event=>{if(!isFocusEventOutside(event))return;let focusing=event.type===`focusin`;if(cancelAnimationFrame(raf),focusing)return restoreFocusIn(portalNode);raf=requestAnimationFrame(()=>{disableFocusIn(portalNode,!0)})};return portalNode.addEventListener(`focusin`,onFocus,!0),portalNode.addEventListener(`focusout`,onFocus,!0),()=>{cancelAnimationFrame(raf),portalNode.removeEventListener(`focusin`,onFocus,!0),portalNode.removeEventListener(`focusout`,onFocus,!0)}},[portalNode,preserveTabOrder]),props=useWrapElement(props,element=>{if(element=jsx(PortalContext.Provider,{value:portalNode||context,children:element}),!portal)return element;if(!portalNode)return jsx(`span`,{ref:refProp,id:props.id,style:{position:`fixed`},hidden:!0});element=jsxs(Fragment,{children:[preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:innerBeforeRef,"data-focus-trap":props.id,className:`__focus-trap-inner-before`,onFocus:event=>{isFocusEventOutside(event,portalNode)?queueFocus(getNextTabbable()):queueFocus(outerBeforeRef.current)}}),element,preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:innerAfterRef,"data-focus-trap":props.id,className:`__focus-trap-inner-after`,onFocus:event=>{isFocusEventOutside(event,portalNode)?queueFocus(getPreviousTabbable()):queueFocus(outerAfterRef.current)}})]}),portalNode&&(element=createPortal(element,portalNode));let preserveTabOrderElement=jsxs(Fragment,{children:[preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:outerBeforeRef,"data-focus-trap":props.id,className:`__focus-trap-outer-before`,onFocus:event=>{event.relatedTarget!==outerAfterRef.current&&isFocusEventOutside(event,portalNode)?queueFocus(innerBeforeRef.current):queueFocus(getPreviousTabbable())}}),preserveTabOrder&&jsx(`span`,{"aria-owns":portalNode?.id,style:{position:`fixed`}}),preserveTabOrder&&portalNode&&jsx(FocusTrap,{ref:outerAfterRef,"data-focus-trap":props.id,className:`__focus-trap-outer-after`,onFocus:event=>{if(isFocusEventOutside(event,portalNode))queueFocus(innerAfterRef.current);else{let nextTabbable=getNextTabbable();if(nextTabbable===innerBeforeRef.current){requestAnimationFrame(()=>getNextTabbable()?.focus());return}queueFocus(nextTabbable)}}})]});return anchorPortalNode&&preserveTabOrder&&(preserveTabOrderElement=createPortal(preserveTabOrderElement,anchorPortalNode)),jsxs(Fragment,{children:[preserveTabOrderElement,element]})},[portalNode,context,portal,props.id,preserveTabOrder,anchorPortalNode]),props={...props,ref:refProp},props});forwardRef2(function(props){return createElement(TagName$5,usePortal(props))});function HeadingLevel({level,children}){let contextLevel=useContext(HeadingContext),nextLevel=Math.max(Math.min(level||contextLevel+1,6),1);return jsx(HeadingContext.Provider,{value:nextLevel,children})}var TagName$4=`div`,useFocusableContainer=createHook(function({autoFocusOnShow=!0,...props}){return props=useWrapElement(props,element=>jsx(FocusableContext.Provider,{value:autoFocusOnShow,children:element}),[autoFocusOnShow]),props});forwardRef2(function(props){return createElement(TagName$4,useFocusableContainer(props))});function prependHiddenDismiss(container,onClick){let button=getDocument(container).createElement(`button`);return button.type=`button`,button.tabIndex=-1,button.textContent=`Dismiss popup`,Object.assign(button.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),button.addEventListener(`click`,onClick),container.prepend(button),()=>{button.removeEventListener(`click`,onClick),button.remove()}}function usePreviousMouseDownRef(enabled){let previousMouseDownRef=useRef(null);return useEffect(()=>{if(!enabled){previousMouseDownRef.current=null;return}return addGlobalEventListener(`mousedown`,event=>{previousMouseDownRef.current=event.target},!0)},[enabled]),previousMouseDownRef}var cleanups=new WeakMap;function orchestrate(element,key,setup){cleanups.has(element)||cleanups.set(element,new Map);let elementCleanups=cleanups.get(element),prevCleanup=elementCleanups.get(key);if(!prevCleanup)return elementCleanups.set(key,setup()),()=>{var _a;(_a=elementCleanups.get(key))==null||_a(),elementCleanups.delete(key)};let cleanup=setup(),nextCleanup=()=>{cleanup(),prevCleanup(),elementCleanups.delete(key)};return elementCleanups.set(key,nextCleanup),()=>{elementCleanups.get(key)===nextCleanup&&(cleanup(),elementCleanups.set(key,prevCleanup))}}function setAttribute(element,attr,value){return orchestrate(element,attr,()=>{let previousValue=element.getAttribute(attr);return element.setAttribute(attr,value),()=>{previousValue==null?element.removeAttribute(attr):element.setAttribute(attr,previousValue)}})}function setProperty(element,property,value){return orchestrate(element,property,()=>{let exists=property in element,previousValue=element[property];return element[property]=value,()=>{exists?element[property]=previousValue:delete element[property]}})}function assignStyle(element,style){return element?orchestrate(element,`style`,()=>{let prevStyle=element.style.cssText;return Object.assign(element.style,style),()=>{element.style.cssText=prevStyle}}):()=>{}}function setCSSProperty(element,property,value){return element?orchestrate(element,property,()=>{let previousValue=element.style.getPropertyValue(property);return element.style.setProperty(property,value),()=>{previousValue?element.style.setProperty(property,previousValue):element.style.removeProperty(property)}}):()=>{}}var ignoreTags=[`SCRIPT`,`STYLE`];function getSnapshotPropertyName(id){return`__ariakit-dialog-snapshot-${id}`}function inSnapshot(id,element){let doc=getDocument(element),propertyName=getSnapshotPropertyName(id);if(!doc.body[propertyName])return!0;do{if(element===doc.body)return!1;if(element[propertyName])return!0;if(!element.parentElement)return!1;element=element.parentElement}while(!0)}function isValidElement$1(id,element,ignoredElements){return ignoreTags.includes(element.tagName)||!inSnapshot(id,element)?!1:!ignoredElements.some(enabledElement=>enabledElement&&contains(element,enabledElement))}function walkTreeOutside(id,elements,callback,ancestorCallback){for(let element of elements){if(!element?.isConnected)continue;let hasAncestorAlready=elements.some(maybeAncestor=>!maybeAncestor||maybeAncestor===element?!1:maybeAncestor.contains(element)),doc=getDocument(element),originalElement=element;for(;element.parentElement&&element!==doc.body;){if(ancestorCallback?.(element.parentElement,originalElement),!hasAncestorAlready)for(let child of element.parentElement.children)isValidElement$1(id,child,elements)&&callback(child,originalElement);element=element.parentElement}}}function createWalkTreeSnapshot(id,elements){let{body}=getDocument(elements[0]),cleanups=[];return walkTreeOutside(id,elements,element=>{cleanups.push(setProperty(element,getSnapshotPropertyName(id),!0))}),chain(setProperty(body,getSnapshotPropertyName(id),!0),()=>{for(let cleanup of cleanups)cleanup()})}function isBackdrop(element,...ids){if(!element)return!1;let backdrop=element.getAttribute(`data-backdrop`);return backdrop==null?!1:backdrop===``||backdrop===`true`||!ids.length?!0:ids.some(id=>backdrop===id)}function getPropertyName(id=``,ancestor=!1){return`__ariakit-dialog-${ancestor?`ancestor`:`outside`}${id?`-${id}`:``}`}function markElement(element,id=``){return chain(setProperty(element,getPropertyName(),!0),setProperty(element,getPropertyName(id),!0))}function markAncestor(element,id=``){return chain(setProperty(element,getPropertyName(``,!0),!0),setProperty(element,getPropertyName(id,!0),!0))}function isElementMarked(element,id){let ancestorProperty=getPropertyName(id,!0);if(element[ancestorProperty])return!0;let elementProperty=getPropertyName(id);do{if(element[elementProperty])return!0;if(!element.parentElement)return!1;element=element.parentElement}while(!0)}function markTreeOutside(id,elements){let cleanups=[],ids=elements.map(el=>el?.id);return walkTreeOutside(id,elements,element=>{isBackdrop(element,...ids)||cleanups.unshift(markElement(element,id))},(ancestor,element)=>{element.hasAttribute(`data-dialog`)&&element.id!==id||cleanups.unshift(markAncestor(ancestor,id))}),()=>{for(let cleanup of cleanups)cleanup()}}function isInDocument(target){return target.tagName===`HTML`?!0:contains(getDocument(target).body,target)}function isDisclosure(disclosure,target){if(!disclosure)return!1;if(contains(disclosure,target))return!0;let activeId=target.getAttribute(`aria-activedescendant`);if(activeId){let activeElement=getDocument(disclosure).getElementById(activeId);if(activeElement)return contains(disclosure,activeElement)}return!1}function isMouseEventOnDialog(event,dialog){if(!(`clientY`in event))return!1;let rect=dialog.getBoundingClientRect();return rect.width===0||rect.height===0?!1:rect.top<=event.clientY&&event.clientY<=rect.top+rect.height&&rect.left<=event.clientX&&event.clientX<=rect.left+rect.width}function useEventOutside({store,type,listener,capture,domReady}){let callListener=useEvent(listener),open=useStoreState(store,`open`),focusedRef=useRef(!1);useSafeLayoutEffect(()=>{if(!open||!domReady)return;let{contentElement}=store.getState();if(!contentElement)return;let onFocus=()=>{focusedRef.current=!0};return contentElement.addEventListener(`focusin`,onFocus,!0),()=>contentElement.removeEventListener(`focusin`,onFocus,!0)},[store,open,domReady]),useEffect(()=>open?addGlobalEventListener(type,event=>{let{contentElement,disclosureElement}=store.getState(),target=event.target;contentElement&&target&&isInDocument(target)&&(contains(contentElement,target)||isDisclosure(disclosureElement,target)||target.hasAttribute(`data-focus-trap`)||isMouseEventOnDialog(event,contentElement)||focusedRef.current&&!isElementMarked(target,contentElement.id)||callListener(event))},capture):void 0,[open,capture,store,type,callListener])}function shouldHideOnInteractOutside(hideOnInteractOutside,event){return typeof hideOnInteractOutside==`function`?hideOnInteractOutside(event):!!hideOnInteractOutside}function useHideOnInteractOutside(store,hideOnInteractOutside,domReady,interactedOutsideRef){let previousMouseDownRef=usePreviousMouseDownRef(useStoreState(store,`open`)),props={store,domReady,capture:!0};useEventOutside({...props,type:`click`,listener:event=>{let{contentElement}=store.getState(),previousMouseDown=previousMouseDownRef.current;previousMouseDown&&isElementMarked(previousMouseDown,contentElement?.id)&&shouldHideOnInteractOutside(hideOnInteractOutside,event)&&(interactedOutsideRef&&(interactedOutsideRef.current=!0),store.hide())}}),useEventOutside({...props,type:`focusin`,listener:event=>{let{contentElement}=store.getState();contentElement&&event.target!==getDocument(contentElement)&&shouldHideOnInteractOutside(hideOnInteractOutside,event)&&store.hide()}}),useEventOutside({...props,type:`contextmenu`,listener:event=>{shouldHideOnInteractOutside(hideOnInteractOutside,event)&&(interactedOutsideRef&&(interactedOutsideRef.current=!0),store.hide())}})}var NestedDialogsContext=createContext({});function useNestedDialogs(store){let context=useContext(NestedDialogsContext),[dialogs,setDialogs]=useState([]),add=useCallback(dialog=>(setDialogs(dialogs2=>[...dialogs2,dialog]),chain(context.add?.call(context,dialog),()=>{setDialogs(dialogs2=>dialogs2.filter(d=>d!==dialog))})),[context]);useSafeLayoutEffect(()=>sync(store,[`open`,`contentElement`],state=>{if(state.open&&state.contentElement)return context.add?.call(context,store)}),[store,context]);let providerValue=useMemo(()=>({store,add}),[store,add]);return{wrapElement:useCallback(element=>jsx(NestedDialogsContext.Provider,{value:providerValue,children:element}),[providerValue]),nestedDialogs:dialogs}}function useRootDialog({attribute,contentId,contentElement,enabled}){let[updated,retry]=useForceUpdate(),isRootDialog=useCallback(()=>{if(!enabled||!contentElement)return!1;let{body}=getDocument(contentElement),id=body.getAttribute(attribute);return!id||id===contentId},[updated,enabled,contentElement,attribute,contentId]);return useEffect(()=>{if(!enabled||!contentId||!contentElement)return;let{body}=getDocument(contentElement);if(isRootDialog())return body.setAttribute(attribute,contentId),()=>body.removeAttribute(attribute);let observer=new MutationObserver(()=>flushSync(retry));return observer.observe(body,{attributeFilter:[attribute]}),()=>observer.disconnect()},[updated,enabled,contentId,contentElement,isRootDialog,attribute]),isRootDialog}function getPaddingProperty(documentElement){let documentLeft=documentElement.getBoundingClientRect().left;return Math.round(documentLeft)+documentElement.scrollLeft?`paddingLeft`:`paddingRight`}function usePreventBodyScroll(contentElement,contentId,enabled){let isRootDialog=useRootDialog({attribute:`data-dialog-prevent-body-scroll`,contentElement,contentId,enabled});useEffect(()=>{if(!isRootDialog()||!contentElement)return;let doc=getDocument(contentElement),win=getWindow$1(contentElement),{documentElement,body}=doc,cssScrollbarWidth=documentElement.style.getPropertyValue(`--scrollbar-width`),scrollbarWidth=cssScrollbarWidth?Number.parseInt(cssScrollbarWidth,10):win.innerWidth-documentElement.clientWidth,setScrollbarWidthProperty=()=>setCSSProperty(documentElement,`--scrollbar-width`,`${scrollbarWidth}px`),paddingProperty=getPaddingProperty(documentElement),setStyle=()=>assignStyle(body,{overflow:`hidden`,[paddingProperty]:`${scrollbarWidth}px`}),setIOSStyle=()=>{let{scrollX,scrollY,visualViewport}=win,offsetLeft=visualViewport?.offsetLeft??0,offsetTop=visualViewport?.offsetTop??0,restoreStyle=assignStyle(body,{position:`fixed`,overflow:`hidden`,top:`${-(scrollY-Math.floor(offsetTop))}px`,left:`${-(scrollX-Math.floor(offsetLeft))}px`,right:`0`,[paddingProperty]:`${scrollbarWidth}px`});return()=>{restoreStyle(),process.env.NODE_ENV!==`test`&&win.scrollTo({left:scrollX,top:scrollY,behavior:`instant`})}},isIOS=isApple()&&!isMac();return chain(setScrollbarWidthProperty(),isIOS?setIOSStyle():setStyle())},[isRootDialog,contentElement])}function isFocusTrap(element,...ids){if(!element)return!1;let attr=element.getAttribute(`data-focus-trap`);return attr==null?!1:ids.length?attr===``?!1:ids.some(id=>attr===id):!0}function supportsInert(){return`inert`in HTMLElement.prototype}function hideElementFromAccessibilityTree(element){return setAttribute(element,`aria-hidden`,`true`)}function disableTree(element,ignoredElements){return`style`in element?supportsInert()?setProperty(element,`inert`,!0):chain(...getAllTabbableIn(element,!0).map(element2=>{if(ignoredElements?.some(el=>el&&contains(el,element2)))return noop;let restoreFocusMethod=orchestrate(element2,`focus`,()=>(element2.focus=noop,()=>{delete element2.focus}));return chain(setAttribute(element2,`tabindex`,`-1`),restoreFocusMethod)}),hideElementFromAccessibilityTree(element),assignStyle(element,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):noop}function disableTreeOutside(id,elements){let cleanups=[],ids=elements.map(el=>el?.id);return walkTreeOutside(id,elements,element=>{isBackdrop(element,...ids)||isFocusTrap(element,...ids)||cleanups.unshift(disableTree(element,elements))},element=>{element.hasAttribute(`role`)&&(elements.some(el=>el&&contains(el,element))||cleanups.unshift(setAttribute(element,`role`,`none`)))}),()=>{for(let cleanup of cleanups)cleanup()}}function createDisclosureStore(props={}){let store=mergeStore(props.store,omit2(props.disclosure,[`contentElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store?.getState(),open=defaultValue(props.open,syncState?.open,props.defaultOpen,!1),animated=defaultValue(props.animated,syncState?.animated,!1),disclosure=createStore({open,animated,animating:!!animated&&open,mounted:open,contentElement:defaultValue(syncState?.contentElement,null),disclosureElement:defaultValue(syncState?.disclosureElement,null)},store);return setup(disclosure,()=>sync(disclosure,[`animated`,`animating`],state=>{state.animated||disclosure.setState(`animating`,!1)})),setup(disclosure,()=>subscribe(disclosure,[`open`],()=>{disclosure.getState().animated&&disclosure.setState(`animating`,!0)})),setup(disclosure,()=>sync(disclosure,[`open`,`animating`],state=>{disclosure.setState(`mounted`,state.open||state.animating)})),{...disclosure,disclosure:props.disclosure,setOpen:value=>disclosure.setState(`open`,value),show:()=>disclosure.setState(`open`,!0),hide:()=>disclosure.setState(`open`,!1),toggle:()=>disclosure.setState(`open`,open2=>!open2),stopAnimation:()=>disclosure.setState(`animating`,!1),setContentElement:value=>disclosure.setState(`contentElement`,value),setDisclosureElement:value=>disclosure.setState(`disclosureElement`,value)}}function useDisclosureStoreProps(store,update,props){return useUpdateEffect(update,[props.store,props.disclosure]),useStoreProps(store,props,`open`,`setOpen`),useStoreProps(store,props,`mounted`,`setMounted`),useStoreProps(store,props,`animated`),Object.assign(store,{disclosure:props.disclosure})}function useDisclosureStore(props={}){let[store,update]=useStore(createDisclosureStore,props);return useDisclosureStoreProps(store,update,props)}var TagName$3=`div`,elements=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);createHook(function(props){return props});var Role=forwardRef2(function(props){return createElement(TagName$3,props)});Object.assign(Role,elements.reduce((acc,element)=>(acc[element]=forwardRef2(function(props){return createElement(element,props)}),acc),{}));function DialogBackdrop({store,backdrop,alwaysVisible,hidden}){let ref=useRef(null),disclosure=useDisclosureStore({disclosure:store}),contentElement=useStoreState(store,`contentElement`);useEffect(()=>{let backdrop2=ref.current,dialog=contentElement;backdrop2&&dialog&&(backdrop2.style.zIndex=getComputedStyle(dialog).zIndex)},[contentElement]),useSafeLayoutEffect(()=>{let id=contentElement?.id;if(!id)return;let backdrop2=ref.current;if(backdrop2)return markAncestor(backdrop2,id)},[contentElement]);let props=useDisclosureContent({ref,store:disclosure,role:`presentation`,"data-backdrop":contentElement?.id||``,alwaysVisible,hidden:hidden??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!backdrop)return null;if(isValidElement(backdrop))return jsx(Role,{...props,render:backdrop});let Component=typeof backdrop==`boolean`?`div`:backdrop;return jsx(Role,{...props,render:jsx(Component,{})})}function createDialogStore(props={}){return createDisclosureStore(props)}function useDialogStoreProps(store,update,props){return useDisclosureStoreProps(store,update,props)}function useDialogStore(props={}){let[store,update]=useStore(createDialogStore,props);return useDialogStoreProps(store,update,props)}var TagName$2=`div`,isSafariBrowser=isSafari();function isAlreadyFocusingAnotherElement(dialog){let activeElement=getActiveElement();return!activeElement||dialog&&contains(dialog,activeElement)?!1:!!isFocusable(activeElement)}function getElementFromProp(prop,focusable=!1){if(!prop)return null;let element=`current`in prop?prop.current:prop;return element?focusable?isFocusable(element)?element:null:element:null}var useDialog=createHook(function({store:storeProp,open:openProp,onClose,focusable=!0,modal=!0,portal=!!modal,backdrop=!!modal,hideOnEscape=!0,hideOnInteractOutside=!0,getPersistentElements,preventBodyScroll=!!modal,autoFocusOnShow=!0,autoFocusOnHide=!0,initialFocus,finalFocus,unmountOnHide,unstable_treeSnapshotKey,...props}){let context=useDialogProviderContext(),ref=useRef(null),store=useDialogStore({store:storeProp||context,open:openProp,setOpen(open2){if(open2)return;let dialog=ref.current;if(!dialog)return;let event=new Event(`close`,{bubbles:!1,cancelable:!0});onClose&&dialog.addEventListener(`close`,onClose,{once:!0}),dialog.dispatchEvent(event),event.defaultPrevented&&store.setOpen(!0)}}),{portalRef,domReady}=usePortalRef(portal,props.portalRef),preserveTabOrderProp=props.preserveTabOrder,preserveTabOrder=useStoreState(store,state=>preserveTabOrderProp&&!modal&&state.mounted),id=useId(props.id),open=useStoreState(store,`open`),mounted=useStoreState(store,`mounted`),contentElement=useStoreState(store,`contentElement`),hidden=isHidden(mounted,props.hidden,props.alwaysVisible);usePreventBodyScroll(contentElement,id,preventBodyScroll&&!hidden);let interactedOutsideRef=useRef(!1);useSafeLayoutEffect(()=>sync(store,[`open`],state=>{state.open&&(interactedOutsideRef.current=!1)}),[store]),useHideOnInteractOutside(store,hideOnInteractOutside,domReady,interactedOutsideRef);let{wrapElement,nestedDialogs}=useNestedDialogs(store);props=useWrapElement(props,wrapElement,[wrapElement]);let lastMousedownRef=useRef(null);isSafariBrowser&&useEffect(()=>{if(!domReady)return;let dialog=ref.current;if(!dialog)return;let doc=getDocument(dialog),onMousedown=event=>{lastMousedownRef.current=event.target};return doc.addEventListener(`mousedown`,onMousedown,!0),()=>{doc.removeEventListener(`mousedown`,onMousedown,!0)}},[domReady]),useSafeLayoutEffect(()=>{if(!open)return;let dialog=ref.current,activeElement=getActiveElement(dialog,!0);if(activeElement){if(activeElement.tagName===`BODY`){let fallback=lastMousedownRef.current;if(lastMousedownRef.current=null,!fallback?.isConnected||!isFocusable(fallback)||dialog&&contains(dialog,fallback))return;store.setDisclosureElement(fallback);return}dialog&&contains(dialog,activeElement)||store.setDisclosureElement(activeElement)}},[store,open]),useEffect(()=>{if(!mounted||!domReady)return;let dialog=ref.current;if(!dialog)return;let win=getWindow$1(dialog),viewport=win.visualViewport||win,setViewportHeight=()=>{let height=win.visualViewport?.height??win.innerHeight;dialog.style.setProperty(`--dialog-viewport-height`,`${height}px`)};return setViewportHeight(),viewport.addEventListener(`resize`,setViewportHeight),()=>{viewport.removeEventListener(`resize`,setViewportHeight)}},[mounted,domReady]),useEffect(()=>{if(!modal||!mounted||!domReady)return;let dialog=ref.current;if(dialog&&!dialog.querySelector(`[data-dialog-dismiss]`))return prependHiddenDismiss(dialog,store.hide)},[store,modal,mounted,domReady]),useSafeLayoutEffect(()=>{if(!supportsInert()||open||!mounted||!domReady)return;let dialog=ref.current;if(dialog)return disableTree(dialog)},[open,mounted,domReady]);let canTakeTreeSnapshot=open&&domReady;useSafeLayoutEffect(()=>{if(!id||!canTakeTreeSnapshot)return;let dialog=ref.current;return createWalkTreeSnapshot(id,[dialog])},[id,canTakeTreeSnapshot,unstable_treeSnapshotKey]);let getPersistentElementsProp=useEvent(getPersistentElements);useSafeLayoutEffect(()=>{if(!id||!canTakeTreeSnapshot)return;let{disclosureElement}=store.getState(),allElements=[ref.current,...getPersistentElementsProp()||[],...nestedDialogs.map(dialog2=>dialog2.getState().contentElement)];return modal?chain(markTreeOutside(id,allElements),disableTreeOutside(id,allElements)):markTreeOutside(id,[disclosureElement,...allElements])},[id,store,canTakeTreeSnapshot,getPersistentElementsProp,nestedDialogs,modal,unstable_treeSnapshotKey]);let mayAutoFocusOnShow=!!autoFocusOnShow,autoFocusOnShowProp=useBooleanEvent(autoFocusOnShow),[autoFocusEnabled,setAutoFocusEnabled]=useState(!1);useEffect(()=>{if(!open||!mayAutoFocusOnShow||!domReady||!contentElement?.isConnected)return;let element=getElementFromProp(initialFocus,!0)||contentElement.querySelector(`[data-autofocus=true],[autofocus]`)||getFirstTabbableIn(contentElement,!0,portal&&preserveTabOrder)||contentElement,isElementFocusable=isFocusable(element);autoFocusOnShowProp(isElementFocusable?element:null)&&(setAutoFocusEnabled(!0),queueMicrotask(()=>{store.getState().open&&(element.focus(),isSafariBrowser&&isElementFocusable&&element.scrollIntoView({block:`nearest`,inline:`nearest`}))}))},[open,mayAutoFocusOnShow,domReady,contentElement,initialFocus,portal,preserveTabOrder,store,autoFocusOnShowProp]);let mayAutoFocusOnHide=!!autoFocusOnHide,autoFocusOnHideProp=useBooleanEvent(autoFocusOnHide),[hasOpened,setHasOpened]=useState(!1);useEffect(()=>{if(open)return setHasOpened(!0),()=>setHasOpened(!1)},[open]);let focusOnHide=useCallback((dialog,retry=!0)=>{if(interactedOutsideRef.current)return;let{disclosureElement}=store.getState();if(isAlreadyFocusingAnotherElement(dialog))return;let element=getElementFromProp(finalFocus)||disclosureElement;if(element?.id){let doc=getDocument(element),selector=`[aria-activedescendant="${element.id}"]`,composite=doc.querySelector(selector);composite&&(element=composite)}if(element&&!isFocusable(element)){let maybeParentDialog=element.closest(`[data-dialog]`);if(maybeParentDialog?.id){let doc=getDocument(maybeParentDialog),selector=`[aria-controls~="${maybeParentDialog.id}"]`,control=doc.querySelector(selector);control&&(element=control)}}let isElementFocusable=element&&isFocusable(element);if(!isElementFocusable&&retry){requestAnimationFrame(()=>focusOnHide(dialog,!1));return}autoFocusOnHideProp(isElementFocusable?element:null)&&isElementFocusable&&element?.focus()},[store,finalFocus,autoFocusOnHideProp]),focusedOnHideRef=useRef(!1);useSafeLayoutEffect(()=>{if(open||!hasOpened||!mayAutoFocusOnHide)return;let dialog=ref.current;focusedOnHideRef.current=!0,focusOnHide(dialog)},[open,hasOpened,domReady,mayAutoFocusOnHide,focusOnHide]),useEffect(()=>{if(!hasOpened||!mayAutoFocusOnHide)return;let dialog=ref.current;return()=>{if(focusedOnHideRef.current){focusedOnHideRef.current=!1;return}focusOnHide(dialog)}},[hasOpened,mayAutoFocusOnHide,focusOnHide]);let hideOnEscapeProp=useBooleanEvent(hideOnEscape);useEffect(()=>!domReady||!mounted?void 0:addGlobalEventListener(`keydown`,event=>{if(event.key!==`Escape`||event.defaultPrevented)return;let dialog=ref.current;if(!dialog||isElementMarked(dialog))return;let target=event.target;if(!target)return;let{disclosureElement}=store.getState();(target.tagName===`BODY`||contains(dialog,target)||!disclosureElement||contains(disclosureElement,target))&&hideOnEscapeProp(event)&&store.hide()},!0),[store,domReady,mounted,hideOnEscapeProp]),props=useWrapElement(props,element=>jsx(HeadingLevel,{level:modal?1:void 0,children:element}),[modal]);let hiddenProp=props.hidden,alwaysVisible=props.alwaysVisible;props=useWrapElement(props,element=>backdrop?jsxs(Fragment,{children:[jsx(DialogBackdrop,{store,backdrop,hidden:hiddenProp,alwaysVisible}),element]}):element,[store,backdrop,hiddenProp,alwaysVisible]);let[headingId,setHeadingId]=useState(),[descriptionId,setDescriptionId]=useState();return props=useWrapElement(props,element=>jsx(DialogScopedContextProvider,{value:store,children:jsx(DialogHeadingContext.Provider,{value:setHeadingId,children:jsx(DialogDescriptionContext.Provider,{value:setDescriptionId,children:element})})}),[store]),props={"data-dialog":``,role:`dialog`,tabIndex:focusable?-1:void 0,"aria-labelledby":props[`aria-label`]==null?headingId:void 0,"aria-describedby":descriptionId,...props,id,ref:useMergeRefs(ref,props.ref)},props=useFocusableContainer({...props,autoFocusOnShow:autoFocusEnabled}),props=useDisclosureContent({store,...props}),props=useFocusable({...props,focusable}),props=usePortal({portal,...props,portalRef,preserveTabOrder}),props});function createDialogComponent(Component,useProviderContext=useDialogProviderContext){return forwardRef2(function(props){let context=useProviderContext();return useStoreState(props.store||context,state=>!props.unmountOnHide||state?.mounted||!!props.open)?jsx(Component,{...props}):null})}createDialogComponent(forwardRef2(function(props){return createElement(TagName$2,useDialog(props))}),useDialogProviderContext);var min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function clamp(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}function getSideAxis(placement){let firstChar=placement[0];return firstChar===`t`||firstChar===`b`?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.includes(`start`)?placement.replace(`start`,`end`):placement.replace(`end`,`start`)}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){let side=getSide(placement);return oppositeSideMap[side]+placement.slice(side.length)}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width,height}=rect;return{width,height,top:y,left:x,right:x+width,bottom:y+height,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}async function detectOverflow(state,options){options===void 0&&(options={});let{x,y,platform,rects,elements,strategy}=state,{boundary=`clippingAncestors`,rootBoundary=`viewport`,elementContext=`floating`,altBoundary=!1,padding=0}=evaluate(options,state),paddingObject=getPaddingObject(padding),element=elements[altBoundary?elementContext===`floating`?`reference`:`floating`:elementContext],clippingClientRect=rectToClientRect(await platform.getClippingRect({element:await(platform.isElement==null?void 0:platform.isElement(element))??!0?element:element.contextElement||await(platform.getDocumentElement==null?void 0:platform.getDocumentElement(elements.floating)),boundary,rootBoundary,strategy})),rect=elementContext===`floating`?{x,y,width:rects.floating.width,height:rects.floating.height}:rects.reference,offsetParent=await(platform.getOffsetParent==null?void 0:platform.getOffsetParent(elements.floating)),offsetScale=await(platform.isElement==null?void 0:platform.isElement(offsetParent))&&await(platform.getScale==null?void 0:platform.getScale(offsetParent))||{x:1,y:1},elementClientRect=rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect?await platform.convertOffsetParentRelativeRectToViewportRelativeRect({elements,rect,offsetParent,strategy}):rect);return{top:(clippingClientRect.top-elementClientRect.top+paddingObject.top)/offsetScale.y,bottom:(elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom)/offsetScale.y,left:(clippingClientRect.left-elementClientRect.left+paddingObject.left)/offsetScale.x,right:(elementClientRect.right-clippingClientRect.right+paddingObject.right)/offsetScale.x}}var MAX_RESET_COUNT=50,computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform}=config,platformWithDetectOverflow=platform.detectOverflow?platform:{...platform,detectOverflow},rtl=await(platform.isRTL==null?void 0:platform.isRTL(floating)),rects=await platform.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,resetCount=0,middlewareData={};for(let i=0;i<middleware.length;i++){let currentMiddleware=middleware[i];if(!currentMiddleware)continue;let{name,fn}=currentMiddleware,{x:nextX,y:nextY,data,reset}=await fn({x,y,initialPlacement:placement,placement:statefulPlacement,strategy,middlewareData,rects,platform:platformWithDetectOverflow,elements:{reference,floating}});x=nextX??x,y=nextY??y,middlewareData[name]={...middlewareData[name],...data},reset&&resetCount<MAX_RESET_COUNT&&(resetCount++,typeof reset==`object`&&(reset.placement&&(statefulPlacement=reset.placement),reset.rects&&(rects=reset.rects===!0?await platform.getElementRects({reference,floating,strategy}):reset.rects),{x,y}=computeCoordsFromPlacement(rects,statefulPlacement,rtl)),i=-1)}return{x,y,placement:statefulPlacement,strategy,middlewareData}},arrow$1=options=>({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform.getOffsetParent==null?void 0:platform.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform.isElement==null?void 0:platform.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset=clamp(min$1,center,max),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset&&rects.reference[length]/2-(center<min$1?minPadding:maxPadding)-arrowDimensions[length]/2<0,alignmentOffset=shouldAddOffset?center<min$1?center-min$1:center-max:0;return{[axis]:coords[axis]+alignmentOffset,data:{[axis]:offset,centerOffset:center-offset-alignmentOffset,...shouldAddOffset&&{alignmentOffset}},reset:shouldAddOffset}}}),flip$1=function(options){return options===void 0&&(options={}),{name:`flip`,options,async fn(state){var _middlewareData$arrow;let{placement,middlewareData,rects,initialPlacement,platform,elements}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!0,fallbackPlacements:specifiedFallbackPlacements,fallbackStrategy=`bestFit`,fallbackAxisSideDirection=`none`,flipAlignment=!0,...detectOverflowOptions}=evaluate(options,state);if((_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset)return{};let side=getSide(placement),initialSideAxis=getSideAxis(initialPlacement),isBasePlacement=getSide(initialPlacement)===initialPlacement,rtl=await(platform.isRTL==null?void 0:platform.isRTL(elements.floating)),fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipAlignment?[getOppositePlacement(initialPlacement)]:getExpandedPlacements(initialPlacement)),hasFallbackAxisSideDirection=fallbackAxisSideDirection!==`none`;!specifiedFallbackPlacements&&hasFallbackAxisSideDirection&&fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement,flipAlignment,fallbackAxisSideDirection,rtl));let placements=[initialPlacement,...fallbackPlacements],overflow=await platform.detectOverflow(state,detectOverflowOptions),overflows=[],overflowsData=middlewareData.flip?.overflows||[];if(checkMainAxis&&overflows.push(overflow[side]),checkCrossAxis){let sides=getAlignmentSides(placement,rects,rtl);overflows.push(overflow[sides[0]],overflow[sides[1]])}if(overflowsData=[...overflowsData,{placement,overflows}],!overflows.every(side=>side<=0)){let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{let placement=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow=>overflow>0).reduce((acc,overflow)=>acc+overflow,0)]).sort((a,b)=>a[1]-b[1])[0]?.[0];placement&&(resetPlacement=placement);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform,elements}=state,rtl=await(platform.isRTL==null?void 0:platform.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement,platform}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x,y}=_ref;return{x,y}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await platform.detectOverflow(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min=mainAxisCoord+overflow[minSide],max=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp(min,mainAxisCoord,max)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min=crossAxisCoord+overflow[minSide],max=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp(min,crossAxisCoord,max)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}},limitShift$1=function(options){return options===void 0&&(options={}),{options,fn(state){let{x,y,placement,rects,middlewareData}=state,{offset=0,mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!0}=evaluate(options,state),coords={x,y},crossAxis=getSideAxis(placement),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis],rawOffset=evaluate(offset,state),computedOffset=typeof rawOffset==`number`?{mainAxis:rawOffset,crossAxis:0}:{mainAxis:0,crossAxis:0,...rawOffset};if(checkMainAxis){let len=mainAxis===`y`?`height`:`width`,limitMin=rects.reference[mainAxis]-rects.floating[len]+computedOffset.mainAxis,limitMax=rects.reference[mainAxis]+rects.reference[len]-computedOffset.mainAxis;mainAxisCoord<limitMin?mainAxisCoord=limitMin:mainAxisCoord>limitMax&&(mainAxisCoord=limitMax)}if(checkCrossAxis){let len=mainAxis===`y`?`width`:`height`,isOriginSide=originSides.has(getSide(placement)),limitMin=rects.reference[crossAxis]-rects.floating[len]+(isOriginSide&&middlewareData.offset?.[crossAxis]||0)+(isOriginSide?0:computedOffset.crossAxis),limitMax=rects.reference[crossAxis]+rects.reference[len]+(isOriginSide?0:middlewareData.offset?.[crossAxis]||0)-(isOriginSide?computedOffset.crossAxis:0);crossAxisCoord<limitMin?crossAxisCoord=limitMin:crossAxisCoord>limitMax&&(crossAxisCoord=limitMax)}return{[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord}}}},size$1=function(options){return options===void 0&&(options={}),{name:`size`,options,async fn(state){var _state$middlewareData,_state$middlewareData2;let{placement,rects,platform,elements}=state,{apply=()=>{},...detectOverflowOptions}=evaluate(options,state),overflow=await platform.detectOverflow(state,detectOverflowOptions),side=getSide(placement),alignment=getAlignment(placement),isYAxis=getSideAxis(placement)===`y`,{width,height}=rects.floating,heightSide,widthSide;side===`top`||side===`bottom`?(heightSide=side,widthSide=alignment===(await(platform.isRTL==null?void 0:platform.isRTL(elements.floating))?`start`:`end`)?`left`:`right`):(widthSide=side,heightSide=alignment===`end`?`top`:`bottom`);let maximumClippingHeight=height-overflow.top-overflow.bottom,maximumClippingWidth=width-overflow.left-overflow.right,overflowAvailableHeight=min(height-overflow[heightSide],maximumClippingHeight),overflowAvailableWidth=min(width-overflow[widthSide],maximumClippingWidth),noShift=!state.middlewareData.shift,availableHeight=overflowAvailableHeight,availableWidth=overflowAvailableWidth;if((_state$middlewareData=state.middlewareData.shift)!=null&&_state$middlewareData.enabled.x&&(availableWidth=maximumClippingWidth),(_state$middlewareData2=state.middlewareData.shift)!=null&&_state$middlewareData2.enabled.y&&(availableHeight=maximumClippingHeight),noShift&&!alignment){let xMin=max(overflow.left,0),xMax=max(overflow.right,0),yMin=max(overflow.top,0),yMax=max(overflow.bottom,0);isYAxis?availableWidth=width-2*(xMin!==0||xMax!==0?xMin+xMax:max(overflow.left,overflow.right)):availableHeight=height-2*(yMin!==0||yMax!==0?yMin+yMax:max(overflow.top,overflow.bottom))}await apply({...state,availableWidth,availableHeight});let nextDimensions=await platform.getDimensions(elements.floating);return width!==nextDimensions.width||height!==nextDimensions.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&display!==`inline`&&display!==`contents`}function isTableElement(element){return/^(table|td|th)$/.test(getNodeName(element))}function isTopLayer(element){try{if(element.matches(`:popover-open`))return!0}catch{}try{return element.matches(`:modal`)}catch{return!1}}var willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=value=>!!value&&value!==`none`,isWebKitValue;function isContainingBlock(elementOrCss){let css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return isNotNone(css.transform)||isNotNone(css.translate)||isNotNone(css.scale)||isNotNone(css.rotate)||isNotNone(css.perspective)||!isWebKit()&&(isNotNone(css.backdropFilter)||isNotNone(css.filter))||willChangeRe.test(css.willChange||``)||containRe.test(css.contain||``)}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return isWebKitValue??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),isWebKitValue}function isLastTraversableNode(node){return/^(html|body|#document)$/.test(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}else return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width=parseFloat(css.width)||0,height=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width,offsetHeight=hasOffset?element.offsetHeight:height,shouldFallback=round(width)!==offsetWidth||round(height)!==offsetHeight;return shouldFallback&&(width=offsetWidth,height=offsetHeight),{width,height,$:shouldFallback}}function unwrapElement(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width,height,$}=getCssDimensions(domElement),x=($?round(rect.width):rect.width)/width,y=($?round(rect.height):rect.height)/height;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width=clientRect.width/scale.x,height=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width*=iframeScale.x,height*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width,height,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll=getNodeScroll(offsetParent)),isOffsetParentAnElement)){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll=getNodeScroll(element),body=element.ownerDocument.body,width=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll.scrollLeft+getWindowScrollBarX(element),y=-scroll.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width),{width,height,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;if(visualViewport){width=visualViewport.width,height=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc=html.ownerDocument,body=doc.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width+=windowScrollbarX);return{width,height,x,y}}function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache){let cachedResult=cache.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&(currentContainingBlockComputedStyle.position===`absolute`||currentContainingBlockComputedStyle.position===`fixed`)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstRect=getClientRectFromClippingAncestor(element,clippingAncestors[0],strategy),top=firstRect.top,right=firstRect.right,bottom=firstRect.bottom,left=firstRect.left;for(let i=1;i<clippingAncestors.length;i++){let rect=getClientRectFromClippingAncestor(element,clippingAncestors[i],strategy);top=max(rect.top,top),right=min(rect.right,right),bottom=min(rect.bottom,bottom),left=max(rect.left,left)}return{width:right-left,height:bottom-top,x:left,y:top}}function getDimensions(element){let{width,height}=getCssDimensions(element);return{width,height}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);return{x:rect.left+scroll.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width,height}=elementRectForRootMargin;if(skip||onMove(),!width||!height)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width)),insetBottom=floor(root.clientHeight-(top+height)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh();ratio?refresh(!1,ratio):timeoutId=setTimeout(()=>{refresh(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh(!0),cleanup}function autoUpdate(reference,floating,update,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...floating?getOverflowAncestors(floating):[]]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&floating&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),floating&&resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update),ancestorResize&&ancestor.removeEventListener(`resize`,update)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,size=size$1,arrow=arrow$1,limitShift=limitShift$1,computePosition=(reference,floating,options)=>{let cache=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})},TagName$1=`div`;function createDOMRect(x=0,y=0,width=0,height=0){if(typeof DOMRect==`function`)return new DOMRect(x,y,width,height);let rect={x,y,width,height,top:y,right:x+width,bottom:y+height,left:x};return{...rect,toJSON:()=>rect}}function getDOMRect(anchorRect){if(!anchorRect)return createDOMRect();let{x,y,width,height}=anchorRect;return createDOMRect(x,y,width,height)}function getAnchorElement(anchorElement,getAnchorRect){return{contextElement:anchorElement||void 0,getBoundingClientRect:()=>{let anchor=anchorElement,anchorRect=getAnchorRect?.(anchor);return anchorRect||!anchor?getDOMRect(anchorRect):anchor.getBoundingClientRect()}}}function isValidPlacement(flip2){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(flip2)}function roundByDPR(value){let dpr=window.devicePixelRatio||1;return Math.round(value*dpr)/dpr}function getOffsetMiddleware(arrowElement,props){return offset(({placement})=>{let arrowOffset=(arrowElement?.clientHeight||0)/2,finalGutter=typeof props.gutter==`number`?props.gutter+arrowOffset:props.gutter??arrowOffset;return{crossAxis:placement.split(`-`)[1]?void 0:props.shift,mainAxis:finalGutter,alignmentAxis:props.shift}})}function getFlipMiddleware(props){if(props.flip===!1)return;let fallbackPlacements=typeof props.flip==`string`?props.flip.split(` `):void 0;return invariant(!fallbackPlacements||fallbackPlacements.every(isValidPlacement),process.env.NODE_ENV!==`production`&&"`flip` expects a spaced-delimited list of placements"),flip({padding:props.overflowPadding,fallbackPlacements})}function getShiftMiddleware(props){if(!(!props.slide&&!props.overlap))return shift({mainAxis:props.slide,crossAxis:props.overlap,padding:props.overflowPadding,limiter:limitShift()})}function getSizeMiddleware(props){return size({padding:props.overflowPadding,apply({elements,availableWidth,availableHeight,rects}){let wrapper=elements.floating,referenceWidth=Math.round(rects.reference.width);availableWidth=Math.floor(availableWidth),availableHeight=Math.floor(availableHeight),wrapper.style.setProperty(`--popover-anchor-width`,`${referenceWidth}px`),wrapper.style.setProperty(`--popover-available-width`,`${availableWidth}px`),wrapper.style.setProperty(`--popover-available-height`,`${availableHeight}px`),props.sameWidth&&(wrapper.style.width=`${referenceWidth}px`),props.fitViewport&&(wrapper.style.maxWidth=`${availableWidth}px`,wrapper.style.maxHeight=`${availableHeight}px`)}})}function getArrowMiddleware(arrowElement,props){if(arrowElement)return arrow({element:arrowElement,padding:props.arrowPadding})}var usePopover=createHook(function({store,modal=!1,portal=!!modal,preserveTabOrder=!0,autoFocusOnShow=!0,wrapperProps,fixed=!1,flip:flip2=!0,shift:shift2=0,slide=!0,overlap=!1,sameWidth=!1,fitViewport=!1,gutter,arrowPadding=4,overflowPadding=8,getAnchorRect,updatePosition,...props}){let context=usePopoverProviderContext();store||=context,invariant(store,process.env.NODE_ENV!==`production`&&"Popover must receive a `store` prop or be wrapped in a PopoverProvider component.");let arrowElement=useStoreState(store,`arrowElement`),anchorElement=useStoreState(store,`anchorElement`),disclosureElement=useStoreState(store,`disclosureElement`),popoverElement=useStoreState(store,`popoverElement`),contentElement=useStoreState(store,`contentElement`),placement=useStoreState(store,`placement`),mounted=useStoreState(store,`mounted`),rendered=useStoreState(store,`rendered`),defaultArrowElementRef=useRef(null),[positioned,setPositioned]=useState(!1),{portalRef,domReady}=usePortalRef(portal,props.portalRef),getAnchorRectProp=useEvent(getAnchorRect),updatePositionProp=useEvent(updatePosition),hasCustomUpdatePosition=!!updatePosition;useSafeLayoutEffect(()=>{if(!popoverElement?.isConnected)return;popoverElement.style.setProperty(`--popover-overflow-padding`,`${overflowPadding}px`);let anchor=getAnchorElement(anchorElement,getAnchorRectProp),updatePosition2=async()=>{if(!mounted)return;arrowElement||(defaultArrowElementRef.current=defaultArrowElementRef.current||document.createElement(`div`));let arrow2=arrowElement||defaultArrowElementRef.current,middleware=[getOffsetMiddleware(arrow2,{gutter,shift:shift2}),getFlipMiddleware({flip:flip2,overflowPadding}),getShiftMiddleware({slide,shift:shift2,overlap,overflowPadding}),getArrowMiddleware(arrow2,{arrowPadding}),getSizeMiddleware({sameWidth,fitViewport,overflowPadding})],pos=await computePosition(anchor,popoverElement,{placement,strategy:fixed?`fixed`:`absolute`,middleware});store?.setState(`currentPlacement`,pos.placement),setPositioned(!0);let x=roundByDPR(pos.x),y=roundByDPR(pos.y);if(Object.assign(popoverElement.style,{top:`0`,left:`0`,transform:`translate3d(${x}px,${y}px,0)`}),arrow2&&pos.middlewareData.arrow){let{x:arrowX,y:arrowY}=pos.middlewareData.arrow,side=pos.placement.split(`-`)[0],centerX=arrow2.clientWidth/2,centerY=arrow2.clientHeight/2,originX=arrowX==null?-centerX:arrowX+centerX,originY=arrowY==null?-centerY:arrowY+centerY;popoverElement.style.setProperty(`--popover-transform-origin`,{top:`${originX}px calc(100% + ${centerY}px)`,bottom:`${originX}px ${-centerY}px`,left:`calc(100% + ${centerX}px) ${originY}px`,right:`${-centerX}px ${originY}px`}[side]),Object.assign(arrow2.style,{left:arrowX==null?``:`${arrowX}px`,top:arrowY==null?``:`${arrowY}px`,[side]:`100%`})}},cancelAutoUpdate=autoUpdate(anchor,popoverElement,async()=>{hasCustomUpdatePosition?(await updatePositionProp({updatePosition:updatePosition2}),setPositioned(!0)):await updatePosition2()},{elementResize:typeof ResizeObserver==`function`});return()=>{setPositioned(!1),cancelAutoUpdate()}},[store,rendered,popoverElement,arrowElement,anchorElement,popoverElement,placement,mounted,domReady,fixed,flip2,shift2,slide,overlap,sameWidth,fitViewport,gutter,arrowPadding,overflowPadding,getAnchorRectProp,hasCustomUpdatePosition,updatePositionProp]),useSafeLayoutEffect(()=>{if(!mounted||!domReady||!popoverElement?.isConnected||!contentElement?.isConnected)return;let applyZIndex=()=>{popoverElement.style.zIndex=getComputedStyle(contentElement).zIndex};applyZIndex();let raf=requestAnimationFrame(()=>{raf=requestAnimationFrame(applyZIndex)});return()=>cancelAnimationFrame(raf)},[mounted,domReady,popoverElement,contentElement]);let position=fixed?`fixed`:`absolute`;return props=useWrapElement(props,element=>jsx(`div`,{...wrapperProps,style:{position,top:0,left:0,width:`max-content`,...wrapperProps?.style},ref:store?.setPopoverElement,children:element}),[store,position,wrapperProps]),props=useWrapElement(props,element=>jsx(PopoverScopedContextProvider,{value:store,children:element}),[store]),props={"data-placing":!positioned||void 0,...props,style:{position:`relative`,...props.style}},props=useDialog({store,modal,portal,preserveTabOrder,preserveTabOrderAnchor:disclosureElement||anchorElement,autoFocusOnShow:positioned&&autoFocusOnShow,...props,portalRef}),props});createDialogComponent(forwardRef2(function(props){return createElement(TagName$1,usePopover(props))}),usePopoverProviderContext);var TagName=`div`,useSelectPopover=createHook(function({store,alwaysVisible,...props}){let context=useSelectProviderContext();return store||=context,props=useSelectList({store,alwaysVisible,...props}),props=usePopover({store,alwaysVisible,...props}),props}),SelectPopover=createDialogComponent(forwardRef2(function(props){return createElement(TagName,useSelectPopover(props))}),useSelectProviderContext);function createPopoverStore({popover:otherPopover,...props}={}){let store=mergeStore(props.store,omit2(otherPopover,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store?.getState(),dialog=createDialogStore({...props,store}),placement=defaultValue(props.placement,syncState?.placement,`bottom`),popover=createStore({...dialog.getState(),placement,currentPlacement:placement,anchorElement:defaultValue(syncState?.anchorElement,null),popoverElement:defaultValue(syncState?.popoverElement,null),arrowElement:defaultValue(syncState?.arrowElement,null),rendered:Symbol(`rendered`)},dialog,store);return{...dialog,...popover,setAnchorElement:element=>popover.setState(`anchorElement`,element),setPopoverElement:element=>popover.setState(`popoverElement`,element),setArrowElement:element=>popover.setState(`arrowElement`,element),render:()=>popover.setState(`rendered`,Symbol(`rendered`))}}function usePopoverStoreProps(store,update,props){return useUpdateEffect(update,[props.popover]),useStoreProps(store,props,`placement`),useDialogStoreProps(store,update,props)}function getCommonParent(items){let firstItem=items.find(item=>!!item.element),lastElement=[...items].reverse().find(item=>!!item.element)?.element,parentElement=firstItem?.element?.parentElement;if(!lastElement)return getDocument(parentElement).body;for(;parentElement;){if(parentElement.contains(lastElement))return parentElement;parentElement=parentElement.parentElement}return getDocument(parentElement).body}function getPrivateStore(store){return store?.__unstablePrivateStore}function createCollectionStore(props={}){throwOnConflictingProps(props,props.store);let syncState=props.store?.getState(),items=defaultValue(props.items,syncState?.items,props.defaultItems,[]),itemsMap=new Map(items.map(item=>[item.id,item])),initialState={items,renderedItems:defaultValue(syncState?.renderedItems,[])},syncPrivateStore=getPrivateStore(props.store),privateStore=createStore({items,renderedItems:initialState.renderedItems},syncPrivateStore),collection=createStore(initialState,props.store),sortItems=renderedItems=>{let sortedItems=sortBasedOnDOMPosition(renderedItems,i=>i.element);privateStore.setState(`renderedItems`,sortedItems),collection.setState(`renderedItems`,sortedItems)};setup(collection,()=>init(privateStore)),setup(privateStore,()=>batch(privateStore,[`items`],state=>{collection.setState(`items`,state.items)})),setup(privateStore,()=>batch(privateStore,[`renderedItems`],state=>{let firstRun=!0,raf=requestAnimationFrame(()=>{let{renderedItems}=collection.getState();state.renderedItems!==renderedItems&&sortItems(state.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(raf);let ioCallback=()=>{if(firstRun){firstRun=!1;return}cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>sortItems(state.renderedItems))},root=getCommonParent(state.renderedItems),observer=new IntersectionObserver(ioCallback,{root});for(let item of state.renderedItems)item.element&&observer.observe(item.element);return()=>{cancelAnimationFrame(raf),observer.disconnect()}}));let mergeItem=(item,setItems,canDeleteFromMap=!1)=>{let prevItem;return setItems(items2=>{let index=items2.findIndex(({id})=>id===item.id),nextItems=items2.slice();if(index!==-1){prevItem=items2[index];let nextItem={...prevItem,...item};nextItems[index]=nextItem,itemsMap.set(item.id,nextItem)}else nextItems.push(item),itemsMap.set(item.id,item);return nextItems}),()=>{setItems(items2=>{if(!prevItem)return canDeleteFromMap&&itemsMap.delete(item.id),items2.filter(({id})=>id!==item.id);let index=items2.findIndex(({id})=>id===item.id);if(index===-1)return items2;let nextItems=items2.slice();return nextItems[index]=prevItem,itemsMap.set(item.id,prevItem),nextItems})}},registerItem=item=>mergeItem(item,getItems=>privateStore.setState(`items`,getItems),!0);return{...collection,registerItem,renderItem:item=>chain(registerItem(item),mergeItem(item,getItems=>privateStore.setState(`renderedItems`,getItems))),item:id=>{if(!id)return null;let item=itemsMap.get(id);if(!item){let{items:items2}=privateStore.getState();item=items2.find(item2=>item2.id===id),item&&itemsMap.set(id,item)}return item||null},__unstablePrivateStore:privateStore}}function useCollectionStoreProps(store,update,props){return useUpdateEffect(update,[props.store]),useStoreProps(store,props,`items`,`setItems`),store}var NULL_ITEM={id:null};function findFirstEnabledItem(items,excludeId){return items.find(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getEnabledItems(items,excludeId){return items.filter(item=>excludeId?!item.disabled&&item.id!==excludeId:!item.disabled)}function getItemsInRow(items,rowId){return items.filter(item=>item.rowId===rowId)}function flipItems(items,activeId,shouldInsertNullItem=!1){let index=items.findIndex(item=>item.id===activeId);return[...items.slice(index+1),...shouldInsertNullItem?[NULL_ITEM]:[],...items.slice(0,index)]}function groupItemsByRows(items){let rows=[];for(let item of items){let row=rows.find(currentRow=>currentRow[0]?.rowId===item.rowId);row?row.push(item):rows.push([item])}return rows}function getMaxRowLength(array){let maxLength=0;for(let{length}of array)length>maxLength&&(maxLength=length);return maxLength}function createEmptyItem(rowId){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId}}function normalizeRows(rows,activeId,focusShift){let maxLength=getMaxRowLength(rows);for(let row of rows)for(let i=0;i<maxLength;i+=1){let item=row[i];if(!item||focusShift&&item.disabled){let previousItem=i===0&&focusShift?findFirstEnabledItem(row):row[i-1];row[i]=previousItem&&activeId!==previousItem.id&&focusShift?previousItem:createEmptyItem(previousItem?.rowId)}}return rows}function verticalizeItems(items){let rows=groupItemsByRows(items),maxLength=getMaxRowLength(rows),verticalized=[];for(let i=0;i<maxLength;i+=1)for(let row of rows){let item=row[i];item&&verticalized.push({...item,rowId:item.rowId?`${i}`:void 0})}return verticalized}function createCompositeStore(props={}){let syncState=props.store?.getState(),collection=createCollectionStore(props),activeId=defaultValue(props.activeId,syncState?.activeId,props.defaultActiveId),composite=createStore({...collection.getState(),id:defaultValue(props.id,syncState?.id,`id-${Math.random().toString(36).slice(2,8)}`),activeId,baseElement:defaultValue(syncState?.baseElement,null),includesBaseElement:defaultValue(props.includesBaseElement,syncState?.includesBaseElement,activeId===null),moves:defaultValue(syncState?.moves,0),orientation:defaultValue(props.orientation,syncState?.orientation,`both`),rtl:defaultValue(props.rtl,syncState?.rtl,!1),virtualFocus:defaultValue(props.virtualFocus,syncState?.virtualFocus,!1),focusLoop:defaultValue(props.focusLoop,syncState?.focusLoop,!1),focusWrap:defaultValue(props.focusWrap,syncState?.focusWrap,!1),focusShift:defaultValue(props.focusShift,syncState?.focusShift,!1)},collection,props.store);setup(composite,()=>sync(composite,[`renderedItems`,`activeId`],state=>{composite.setState(`activeId`,activeId2=>activeId2===void 0?findFirstEnabledItem(state.renderedItems)?.id:activeId2)}));let getNextId=(direction=`next`,options={})=>{let defaultState=composite.getState(),{skip=0,activeId:activeId2=defaultState.activeId,focusShift=defaultState.focusShift,focusLoop=defaultState.focusLoop,focusWrap=defaultState.focusWrap,includesBaseElement=defaultState.includesBaseElement,renderedItems=defaultState.renderedItems,rtl=defaultState.rtl}=options,isVerticalDirection=direction===`up`||direction===`down`,isNextDirection=direction===`next`||direction===`down`,canReverse=isNextDirection?rtl&&!isVerticalDirection:!rtl||isVerticalDirection,canShift=focusShift&&!skip,items=isVerticalDirection?flatten2DArray(normalizeRows(groupItemsByRows(renderedItems),activeId2,canShift)):renderedItems;if(items=canReverse?reverseArray(items):items,items=isVerticalDirection?verticalizeItems(items):items,activeId2==null)return findFirstEnabledItem(items)?.id;let activeItem=items.find(item=>item.id===activeId2);if(!activeItem)return findFirstEnabledItem(items)?.id;let isGrid=items.some(item=>item.rowId),activeIndex=items.indexOf(activeItem),nextItems=items.slice(activeIndex+1),nextItemsInRow=getItemsInRow(nextItems,activeItem.rowId);if(skip){let nextEnabledItemsInRow=getEnabledItems(nextItemsInRow,activeId2);return(nextEnabledItemsInRow.slice(skip)[0]||nextEnabledItemsInRow[nextEnabledItemsInRow.length-1])?.id}let canLoop=focusLoop&&(isVerticalDirection?focusLoop!==`horizontal`:focusLoop!==`vertical`),canWrap=isGrid&&focusWrap&&(isVerticalDirection?focusWrap!==`horizontal`:focusWrap!==`vertical`),hasNullItem=isNextDirection?(!isGrid||isVerticalDirection)&&canLoop&&includesBaseElement:isVerticalDirection?includesBaseElement:!1;if(canLoop)return findFirstEnabledItem(flipItems(canWrap&&!hasNullItem?items:getItemsInRow(items,activeItem.rowId),activeId2,hasNullItem),activeId2)?.id;if(canWrap){let nextItem2=findFirstEnabledItem(hasNullItem?nextItemsInRow:nextItems,activeId2);return hasNullItem?nextItem2?.id||null:nextItem2?.id}let nextItem=findFirstEnabledItem(nextItemsInRow,activeId2);return!nextItem&&hasNullItem?null:nextItem?.id};return{...collection,...composite,setBaseElement:element=>composite.setState(`baseElement`,element),setActiveId:id=>composite.setState(`activeId`,id),move:id=>{id!==void 0&&(composite.setState(`activeId`,id),composite.setState(`moves`,moves=>moves+1))},first:()=>findFirstEnabledItem(composite.getState().renderedItems)?.id,last:()=>findFirstEnabledItem(reverseArray(composite.getState().renderedItems))?.id,next:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`next`,options)),previous:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`previous`,options)),down:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`down`,options)),up:options=>(options!==void 0&&typeof options==`number`&&(options={skip:options}),getNextId(`up`,options))}}function useCompositeStoreOptions(props){return{id:useId(props.id),...props}}function useCompositeStoreProps(store,update,props){return store=useCollectionStoreProps(store,update,props),useStoreProps(store,props,`activeId`,`setActiveId`),useStoreProps(store,props,`includesBaseElement`),useStoreProps(store,props,`virtualFocus`),useStoreProps(store,props,`orientation`),useStoreProps(store,props,`rtl`),useStoreProps(store,props,`focusLoop`),useStoreProps(store,props,`focusWrap`),useStoreProps(store,props,`focusShift`),store}createContext(void 0);var ctx=createStoreContext([PopoverContextProvider,CompositeContextProvider],[PopoverScopedContextProvider,CompositeScopedContextProvider]);ctx.useContext,ctx.useScopedContext;var useComboboxProviderContext=ctx.useProviderContext;ctx.ContextProvider,ctx.ScopedContextProvider,createContext(void 0),createContext(!1);function createSelectStore({combobox,...props}={}){let store=mergeStore(props.store,omit2(combobox,[`value`,`items`,`renderedItems`,`baseElement`,`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`]));throwOnConflictingProps(props,store);let syncState=store.getState(),composite=createCompositeStore({...props,store,virtualFocus:defaultValue(props.virtualFocus,syncState.virtualFocus,!0),includesBaseElement:defaultValue(props.includesBaseElement,syncState.includesBaseElement,!1),activeId:defaultValue(props.activeId,syncState.activeId,props.defaultActiveId,null),orientation:defaultValue(props.orientation,syncState.orientation,`vertical`)}),popover=createPopoverStore({...props,store,placement:defaultValue(props.placement,syncState.placement,`bottom-start`)}),initialValue=new String(``),initialState={...composite.getState(),...popover.getState(),value:defaultValue(props.value,syncState.value,props.defaultValue,initialValue),setValueOnMove:defaultValue(props.setValueOnMove,syncState.setValueOnMove,!1),labelElement:defaultValue(syncState.labelElement,null),selectElement:defaultValue(syncState.selectElement,null),listElement:defaultValue(syncState.listElement,null)},select=createStore(initialState,composite,popover,store);return setup(select,()=>sync(select,[`value`,`items`],state=>{if(state.value!==initialValue||!state.items.length)return;let item=state.items.find(item2=>!item2.disabled&&item2.value!=null);item?.value!=null&&select.setState(`value`,item.value)})),setup(select,()=>sync(select,[`mounted`],state=>{state.mounted||select.setState(`activeId`,initialState.activeId)})),setup(select,()=>sync(select,[`mounted`,`items`,`value`],state=>{if(combobox||state.mounted)return;let values=toArray(state.value),lastValue=values[values.length-1];if(lastValue==null)return;let item=state.items.find(item2=>!item2.disabled&&item2.value===lastValue);item&&select.setState(`activeId`,item.id)})),setup(select,()=>batch(select,[`setValueOnMove`,`moves`],state=>{let{mounted,value,activeId}=select.getState();if(!state.setValueOnMove&&mounted||Array.isArray(value)||!state.moves||!activeId)return;let item=composite.item(activeId);!item||item.disabled||item.value==null||select.setState(`value`,item.value)})),{...composite,...popover,...select,combobox,setValue:value=>select.setState(`value`,value),setLabelElement:element=>select.setState(`labelElement`,element),setSelectElement:element=>select.setState(`selectElement`,element),setListElement:element=>select.setState(`listElement`,element)}}function useSelectStoreOptions(props){let combobox=useComboboxProviderContext();return props={...props,combobox:props.combobox===void 0?combobox:props.combobox},useCompositeStoreOptions(props)}function useSelectStoreProps(store,update,props){return useUpdateEffect(update,[props.combobox]),useStoreProps(store,props,`value`,`setValue`),useStoreProps(store,props,`setValueOnMove`),Object.assign(usePopoverStoreProps(useCompositeStoreProps(store,update,props),update,props),{combobox:props.combobox})}function useSelectStore(props={}){props=useSelectStoreOptions(props);let[store,update]=useStore(createSelectStore,props);return useSelectStoreProps(store,update,props)}function SelectProvider(props={}){return jsx(SelectContextProvider,{value:useSelectStore(props),children:props.children})}var box_ai_agent_selector_module_default={agentSelector:`_agentSelector_5voph_1`,agentAlignmentLeft:`_agentAlignmentLeft_5voph_1`,agentAlignmentOffsetFromLeft:`_agentAlignmentOffsetFromLeft_5voph_4`,agentSelectorButton:`_agentSelectorButton_5voph_7`,agentStatus:`_agentStatus_5voph_11`,agentLoader:`_agentLoader_5voph_23`,agentError:`_agentError_5voph_26`,triggerChip:`_triggerChip_5voph_29`,agentLabel:`_agentLabel_5voph_35`,dropdownIndicator:`_dropdownIndicator_5voph_41`,sidebar:`_sidebar_5voph_56`,agentListRetryButton:`_agentListRetryButton_5voph_69`,agentList:`_agentList_5voph_69`,agentListContainer:`_agentListContainer_5voph_101`};function BoxAiAgentSelector({agents,contentClassName,onErrorAction,recordAction,requestState,disabled,onAgentsListOpen,selectedAgent,selectorAlignment=SELECTOR_ALIGNMENT.OFFSET_FROM_LEFT,triggerChipClassName,useAgentLocalStorage=!1,variant=`modal`}){let{formatMessage}=useIntl(),[isPopoverOpen,setIsPopoverOpen]=useState(!1),isError=requestState===REQUEST_STATE.ERROR,[isTooltipOpen,setIsTooltipOpen]=useState(isError),[storedAgent,setStoredAgent]=useLocalStorageAIAgents(AI_AGENTS_LOCAL_STORAGE_KEY),dispatch=useAgentsDispatch(),isLoaded=requestState===REQUEST_STATE.SUCCESS,isLoading=requestState===REQUEST_STATE.IN_PROGRESS,selectAgentLabel=formatMessage(messages.selectAgent),defaultAgentLabel=formatMessage(messages.defaultAgent),selectorLabel=``;isLoaded?selectorLabel=selectedAgent?.name??selectAgentLabel:isError&&(selectorLabel=defaultAgentLabel);let pillRef=useRef(null),{Wrapper,wrapperProps}=useFullTextTooltip({ref:pillRef,textValue:selectorLabel});useEffect(()=>{isPopoverOpen&&recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.OPEN_SELECTOR})},[isPopoverOpen,recordAction]),useEffect(()=>{if(useAgentLocalStorage&&storedAgent){let activeAgent=agents.find(agent=>agent.id===storedAgent);activeAgent?dispatch({type:ACTIONS.SET_SELECTED_AGENT,id:activeAgent.id}):setStoredAgent(null)}},[agents]);let handleAgentSelect=useCallback(agent=>{setIsPopoverOpen(!1),dispatch({type:ACTIONS.SET_SELECTED_AGENT,id:agent.id}),useAgentLocalStorage&&setStoredAgent(agent.id),recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.SELECT_AGENT})},[dispatch,recordAction,setStoredAgent,useAgentLocalStorage]),handleRetryAction=useCallback(()=>{setIsPopoverOpen(!1),onErrorAction(),recordAction&&recordAction({...LOGGER_BASE_CONFIG,action:LOGGER_ACTION_CLICK,target:LOGGER_TARGET.RETRY_LOADING_AGENTS})},[onErrorAction,recordAction]),handleTooltipOpenChange=useCallback(shouldOpenTooltip=>setIsTooltipOpen(isError&&isError&&!isPopoverOpen&&shouldOpenTooltip?shouldOpenTooltip:!1),[isError,isPopoverOpen]),handlePopoverChange=open=>{open&&onAgentsListOpen&&onAgentsListOpen(),setIsPopoverOpen(open)},sidebarClassName=variant===`sidebar`&&box_ai_agent_selector_module_default.sidebar,stopAgentSelectorKeyDownPropagation=event=>{(event.key===`ArrowUp`||event.key===`ArrowDown`||event.key===`ArrowLeft`||event.key===`ArrowRight`)&&event.stopPropagation()},alignmentStyle=box_ai_agent_selector_module_default.agentAlignmentOffsetFromLeft;return selectorAlignment===SELECTOR_ALIGNMENT.LEFT&&(alignmentStyle=box_ai_agent_selector_module_default.agentAlignmentLeft),jsx(FilterChip.Group,{className:clsx(box_ai_agent_selector_module_default.agentSelector,alignmentStyle,triggerChipClassName,sidebarClassName),name:selectAgentLabel,onKeyDown:stopAgentSelectorKeyDownPropagation,type:`multiple`,children:jsxs(SelectProvider,{defaultValue:agents[0]?.id,open:isPopoverOpen,setOpen:handlePopoverChange,children:[jsx(TooltipProvider,{children:jsx(Tooltip,{content:formatMessage(messages.errorTooltip),onOpenChange:handleTooltipOpenChange,open:isTooltipOpen,side:`bottom`,variant:`error`,children:jsx(Select,{disabled:disabled||isLoading,render:jsxs(FilterChip.TriggerChip,{"aria-label":selectorLabel,className:box_ai_agent_selector_module_default.triggerChip,"data-target-id":`FilterChip.TriggerChip-agentSelectorTrigger`,value:`trigger-chip`,children:[jsx(Status,{className:box_ai_agent_selector_module_default.agentStatus,colorIndex:0,text:formatMessage(messages.agent)}),isLoading&&jsx(LoadingIndicator,{"aria-label":formatMessage(messages.loadingMessage),className:box_ai_agent_selector_module_default.agentLoader,variant:`default`}),isError&&jsx(AlertBadge,{className:box_ai_agent_selector_module_default.agentError,height:`1rem`,role:`presentation`,width:`1rem`}),jsx(Wrapper,{...wrapperProps,children:jsx(FilterChip.Label,{ref:pillRef,className:box_ai_agent_selector_module_default.agentLabel,children:selectorLabel})}),!isLoading&&jsx(`div`,{className:box_ai_agent_selector_module_default.dropdownIndicator,children:jsx(FilterChip.DropdownIndicator,{})})]})})})}),jsxs(SelectPopover,{"aria-label":formatMessage(messages.agentList),className:clsx(box_ai_agent_selector_module_default.agentListContainer,sidebarClassName),unmountOnHide:!0,children:[isLoaded&&jsx(SelectList,{className:clsx(box_ai_agent_selector_module_default.agentList,contentClassName),children:agents.map((agent,index)=>jsx(SelectItem,{clickOnEnter:!0,clickOnSpace:!0,focusable:!0,focusOnHover:!0,hideOnClick:!0,onClick:()=>{handleAgentSelect(agent)},setValueOnClick:!0,value:agent.id,children:jsx(BoxAiAgent,{agent})},agent.id))}),isError&&jsx(Button,{className:clsx(box_ai_agent_selector_module_default.agentListRetryButton,sidebarClassName),onClick:handleRetryAction,variant:`tertiary`,"data-target-id":`Button-errorMessage`,children:formatMessage(messages.errorMessage)})]})]})})}export{BoxAiAgentSelector as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import messages from"../esm/lib/messages.js";import{forwardRef,useMemo}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{Status,Text,Tooltip,TooltipProvider}from"@box/blueprint-web";import{useIntl}from"react-intl";import{BoxAiLogo24}from"@box/blueprint-web-assets/icons/Logo";import{SurfaceStatusSurfaceGray}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/box-ai-agent.css';var box_ai_agent_module_default={agentListItem:`_agentListItem_xtqqd_1`,agentInfo:`_agentInfo_xtqqd_11`,thumbnailWrapper:`_thumbnailWrapper_xtqqd_20`,agentListItemIcon:`_agentListItemIcon_xtqqd_23`,defaultAgentHeader:`_defaultAgentHeader_xtqqd_33`,agentHeader:`_agentHeader_xtqqd_44`,defaultAgentName:`_defaultAgentName_xtqqd_51`,agentDescription:`_agentDescription_xtqqd_59`,defaultAgentStatusWrapper:`_defaultAgentStatusWrapper_xtqqd_69`},BoxAiAgent=forwardRef(({agent},mainRef)=>{let{formatMessage}=useIntl(),isDefault=agent.isEnterpriseDefault,iconToRender=useMemo(()=>{if(agent.customIcon)return jsx(agent.customIcon,{});if(agent.imageURL)try{let validUrl=new URL(agent.imageURL);return jsx(`img`,{"aria-label":agent.name,src:validUrl.toString()})}catch{return jsx(BoxAiLogo24,{"aria-label":agent.name})}else return jsx(BoxAiLogo24,{"aria-label":agent.name})},[agent]);return jsx(`div`,{ref:mainRef,className:box_ai_agent_module_default.agentListItem,"data-target-id":`SmallList.Item-boxAIAgent`,id:agent.id,children:jsxs(TooltipProvider,{children:[jsx(`div`,{className:box_ai_agent_module_default.thumbnailWrapper,children:jsx(`div`,{className:box_ai_agent_module_default.agentListItemIcon,children:iconToRender})}),jsxs(`div`,{className:box_ai_agent_module_default.agentInfo,children:[jsx(Text,{as:`span`,className:isDefault?box_ai_agent_module_default.defaultAgentHeader:box_ai_agent_module_default.agentHeader,children:isDefault?jsx(Tooltip,{content:agent.name,children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.defaultAgentName,variant:`subtitle`,children:agent.name})}):jsx(Text,{as:`span`,variant:`subtitle`,children:agent.name})}),agent.description&&jsx(Tooltip,{content:agent.description,children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.agentDescription,variant:`caption`,children:agent.description})})]}),jsx(`div`,{children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.defaultAgentStatusWrapper,children:isDefault&&jsx(Status,{
|
|
1
|
+
import messages from"../esm/lib/messages.js";import{forwardRef,useMemo}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{Status,Text,Tooltip,TooltipProvider}from"@box/blueprint-web";import{useIntl}from"react-intl";import{BoxAiLogo24}from"@box/blueprint-web-assets/icons/Logo";import{SurfaceStatusSurfaceGray}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/box-ai-agent.css';var box_ai_agent_module_default={agentListItem:`_agentListItem_xtqqd_1`,agentInfo:`_agentInfo_xtqqd_11`,thumbnailWrapper:`_thumbnailWrapper_xtqqd_20`,agentListItemIcon:`_agentListItemIcon_xtqqd_23`,defaultAgentHeader:`_defaultAgentHeader_xtqqd_33`,agentHeader:`_agentHeader_xtqqd_44`,defaultAgentName:`_defaultAgentName_xtqqd_51`,agentDescription:`_agentDescription_xtqqd_59`,defaultAgentStatusWrapper:`_defaultAgentStatusWrapper_xtqqd_69`},BoxAiAgent=forwardRef(({agent},mainRef)=>{let{formatMessage}=useIntl(),isDefault=agent.isEnterpriseDefault,iconToRender=useMemo(()=>{if(agent.customIcon)return jsx(agent.customIcon,{});if(agent.imageURL)try{let validUrl=new URL(agent.imageURL);return jsx(`img`,{"aria-label":agent.name,src:validUrl.toString()})}catch{return jsx(BoxAiLogo24,{"aria-label":agent.name})}else return jsx(BoxAiLogo24,{"aria-label":agent.name})},[agent]);return jsx(`div`,{ref:mainRef,className:box_ai_agent_module_default.agentListItem,"data-target-id":`SmallList.Item-boxAIAgent`,id:agent.id,children:jsxs(TooltipProvider,{children:[jsx(`div`,{className:box_ai_agent_module_default.thumbnailWrapper,children:jsx(`div`,{className:box_ai_agent_module_default.agentListItemIcon,children:iconToRender})}),jsxs(`div`,{className:box_ai_agent_module_default.agentInfo,children:[jsx(Text,{as:`span`,className:isDefault?box_ai_agent_module_default.defaultAgentHeader:box_ai_agent_module_default.agentHeader,children:isDefault?jsx(Tooltip,{content:agent.name,children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.defaultAgentName,variant:`subtitle`,children:agent.name})}):jsx(Text,{as:`span`,variant:`subtitle`,children:agent.name})}),agent.description&&jsx(Tooltip,{content:agent.description,children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.agentDescription,variant:`caption`,children:agent.description})})]}),jsx(`div`,{children:jsx(Text,{as:`span`,className:box_ai_agent_module_default.defaultAgentStatusWrapper,children:isDefault&&jsx(Status,{color:SurfaceStatusSurfaceGray,text:formatMessage(messages.defaultStatus)})})})]})})});export{BoxAiAgent as t};
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/box-ai-agent-selector",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.3",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@ariakit/react": "^0.4.21",
|
|
7
|
-
"@box/blueprint-web": "^16.
|
|
8
|
-
"@box/blueprint-web-assets": "^5.6.
|
|
7
|
+
"@box/blueprint-web": "^16.15.0",
|
|
8
|
+
"@box/blueprint-web-assets": "^5.6.3",
|
|
9
9
|
"react": "^17.0.0 || ^18.0.0",
|
|
10
10
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
11
11
|
"react-intl": "^6.4.2"
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@ariakit/react": "^0.4.21",
|
|
15
15
|
"@box/babel-plugin-target-attributes": "2.2.0",
|
|
16
|
-
"@box/blueprint-web": "^16.
|
|
17
|
-
"@box/blueprint-web-assets": "^5.6.
|
|
16
|
+
"@box/blueprint-web": "^16.15.0",
|
|
17
|
+
"@box/blueprint-web-assets": "^5.6.3",
|
|
18
18
|
"@box/eslint-plugin-blueprint": "^2.2.0",
|
|
19
|
-
"@box/storybook-utils": "^1.2.
|
|
19
|
+
"@box/storybook-utils": "^1.2.3",
|
|
20
20
|
"@testing-library/react": "^15.0.6",
|
|
21
21
|
"react-intl": "^6.4.2"
|
|
22
22
|
},
|