import{$ as he}from"./useFocusRing-U2jzqEtI.js";import{$ as Se}from"./useHover-BCCTPIrE.js";import{r as p,W as C}from"./chunk-LFPYN7LY-BBzdRvLF.js";import{r as z}from"./index-DkQvyDfJ.js";import{w as ye,e as $e}from"./use-resolve-button-type-BIWionEg.js";import{u as oe,Y as D,y as j,b as P,f as Me,a as q,V as le,K as O,p as Pe,n as K,o as xe,A as ee}from"./use-sync-refs-BVOyhIhP.js";import{b as Ee,F as Te,y as ke,R as we,T as Ce,w as De,A as Oe}from"./floating-oOHHAvD-.js";import{p as Re,c as Q,a as v,f as H,b as Fe,L as _e,S as U,s as Ae,F as Ne,d as Ge,u as Le}from"./use-text-value-Cqq4GeCH.js";import{y as Be}from"./use-inert-others-Bj2I0D1Z.js";import{T as He,k as te,x as ie,a as Ue,c as Ke,S as k,u as ne,b as Qe,N as Ve,p as We,f as je,d as qe,t as ze,e as Ye,g as Ze,i as V}from"./portal-uZHCK1-a.js";import{G as Je,K as ue,R as Xe,T as se,H as et,I as tt}from"./focus-management-jyWB_kd_.js";import{d as nt,o as h}from"./keyboard-YMzSIKlt.js";import{H as st}from"./description-L7M3MMUj.js";import{V as de,C as rt}from"./label-Bl9lipeB.js";var at=Object.defineProperty,ot=(e,s,t)=>s in e?at(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,re=(e,s,t)=>(ot(e,typeof s!="symbol"?s+"":s,t),t),S=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(S||{}),W=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(W||{}),u=(e=>(e[e.OpenMenu=0]="OpenMenu",e[e.CloseMenu=1]="CloseMenu",e[e.GoToItem=2]="GoToItem",e[e.Search=3]="Search",e[e.ClearSearch=4]="ClearSearch",e[e.RegisterItems=5]="RegisterItems",e[e.UnregisterItems=6]="UnregisterItems",e[e.SetButtonElement=7]="SetButtonElement",e[e.SetItemsElement=8]="SetItemsElement",e[e.SortItems=9]="SortItems",e[e.MarkButtonAsMoved=10]="MarkButtonAsMoved",e))(u||{});function ae(e,s=t=>t){let t=e.activeItemIndex!==null?e.items[e.activeItemIndex]:null,n=Je(s(e.items.slice()),o=>o.dataRef.current.domRef.current),r=t?n.indexOf(t):null;return r===-1&&(r=null),{items:n,activeItemIndex:r}}let lt={1(e){if(e.menuState===1)return e;let s=e.buttonElement?Q.Tracked(Fe(e.buttonElement)):e.buttonPositionState;return{...e,activeItemIndex:null,pendingFocus:{focus:v.Nothing},menuState:1,buttonPositionState:s}},0(e,s){return e.menuState===0?e:{...e,__demoMode:!1,pendingFocus:s.focus,menuState:0,buttonPositionState:Q.Idle}},2:(e,s)=>{var t,n,r,o,i;if(e.menuState===1)return e;let f={...e,searchQuery:"",activationTrigger:(t=s.trigger)!=null?t:1,__demoMode:!1};if(s.focus===v.Nothing)return{...f,activeItemIndex:null};if(s.focus===v.Specific)return{...f,activeItemIndex:e.items.findIndex(a=>a.id===s.id)};if(s.focus===v.Previous){let a=e.activeItemIndex;if(a!==null){let E=e.items[a].dataRef.current.domRef,b=H(s,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:c=>c.id,resolveDisabled:c=>c.dataRef.current.disabled});if(b!==null){let c=e.items[b].dataRef.current.domRef;if(((n=E.current)==null?void 0:n.previousElementSibling)===c.current||((r=c.current)==null?void 0:r.previousElementSibling)===null)return{...f,activeItemIndex:b}}}}else if(s.focus===v.Next){let a=e.activeItemIndex;if(a!==null){let E=e.items[a].dataRef.current.domRef,b=H(s,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:c=>c.id,resolveDisabled:c=>c.dataRef.current.disabled});if(b!==null){let c=e.items[b].dataRef.current.domRef;if(((o=E.current)==null?void 0:o.nextElementSibling)===c.current||((i=c.current)==null?void 0:i.nextElementSibling)===null)return{...f,activeItemIndex:b}}}}let I=ae(e),x=H(s,{resolveItems:()=>I.items,resolveActiveIndex:()=>I.activeItemIndex,resolveId:a=>a.id,resolveDisabled:a=>a.dataRef.current.disabled});return{...f,...I,activeItemIndex:x}},3:(e,s)=>{let t=e.searchQuery!==""?0:1,n=e.searchQuery+s.value.toLowerCase(),r=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+t).concat(e.items.slice(0,e.activeItemIndex+t)):e.items).find(i=>{var f;return((f=i.dataRef.current.textValue)==null?void 0:f.startsWith(n))&&!i.dataRef.current.disabled}),o=r?e.items.indexOf(r):-1;return o===-1||o===e.activeItemIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeItemIndex:o,activationTrigger:1}},4(e){return e.searchQuery===""?e:{...e,searchQuery:"",searchActiveItemIndex:null}},5:(e,s)=>{let t=e.items.concat(s.items.map(r=>r)),n=e.activeItemIndex;return e.pendingFocus.focus!==v.Nothing&&(n=H(e.pendingFocus,{resolveItems:()=>t,resolveActiveIndex:()=>e.activeItemIndex,resolveId:r=>r.id,resolveDisabled:r=>r.dataRef.current.disabled})),{...e,items:t,activeItemIndex:n,pendingFocus:{focus:v.Nothing},pendingShouldSort:!0}},6:(e,s)=>{let t=e.items,n=[],r=new Set(s.items);for(let[o,i]of t.entries())if(r.has(i.id)&&(n.push(o),r.delete(i.id),r.size===0))break;if(n.length>0){t=t.slice();for(let o of n.reverse())t.splice(o,1)}return{...e,items:t,activationTrigger:1}},7:(e,s)=>e.buttonElement===s.element?e:{...e,buttonElement:s.element},8:(e,s)=>e.itemsElement===s.element?e:{...e,itemsElement:s.element},9:e=>e.pendingShouldSort?{...e,...ae(e),pendingShouldSort:!1}:e,10(e){return e.buttonPositionState.kind!=="Tracked"?e:{...e,buttonPositionState:Q.Moved}}};class Y extends He{constructor(s){super(s),re(this,"actions",{registerItem:te(()=>{let t=[],n=new Set;return[(r,o)=>{n.has(o)||(n.add(o),t.push({id:r,dataRef:o}))},()=>(n.clear(),this.send({type:5,items:t.splice(0)}))]}),unregisterItem:te(()=>{let t=[];return[n=>t.push(n),()=>this.send({type:6,items:t.splice(0)})]})}),re(this,"selectors",{activeDescendantId(t){var n;let r=t.activeItemIndex,o=t.items;return r===null||(n=o[r])==null?void 0:n.id},isActive(t,n){var r;let o=t.activeItemIndex,i=t.items;return o!==null?((r=i[o])==null?void 0:r.id)===n:!1},shouldScrollIntoView(t,n){return t.__demoMode||t.menuState!==0||t.activationTrigger===0?!1:this.isActive(t,n)},didButtonMove(t){return t.buttonPositionState.kind==="Moved"}}),this.on(5,()=>{this.disposables.requestAnimationFrame(()=>{this.send({type:9})})});{let t=this.state.id,n=ie.get(null);this.disposables.add(n.on(Ue.Push,r=>{!n.selectors.isTop(r,t)&&this.state.menuState===0&&this.send({type:1})})),this.on(0,()=>n.actions.push(t)),this.on(1,()=>n.actions.pop(t))}this.disposables.group(t=>{this.on(1,n=>{n.buttonElement&&(t.dispose(),t.add(Re(n.buttonElement,n.buttonPositionState,()=>{this.send({type:10})})))})})}static new({id:s,__demoMode:t=!1}){return new Y({id:s,__demoMode:t,menuState:t?0:1,buttonElement:null,itemsElement:null,items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1,pendingShouldSort:!1,pendingFocus:{focus:v.Nothing},buttonPositionState:Q.Idle})}reduce(s,t){return oe(t.type,lt,s,t)}}const ce=p.createContext(null);function Z(e){let s=p.useContext(ce);if(s===null){let t=new Error(`<${e} /> is missing a parent
component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,me),t}return s}function me({id:e,__demoMode:s=!1}){let t=p.useMemo(()=>Y.new({id:e,__demoMode:s}),[]);return Ke(()=>t.dispose()),t}let it=p.Fragment;function ut(e,s){let t=p.useId(),{__demoMode:n=!1,...r}=e,o=me({id:t,__demoMode:n}),[i,f,I]=k(o,y=>[y.menuState,y.itemsElement,y.buttonElement]),x=j(s),a=ie.get(null),E=k(a,p.useCallback(y=>a.selectors.isTop(y,t),[a,t]));Ye(E,[I,f],(y,$)=>{var M;o.send({type:u.CloseMenu}),et($,tt.Loose)||(y.preventDefault(),(M=o.state.buttonElement)==null||M.focus())});let b=P(()=>{o.send({type:u.CloseMenu})}),c=q({open:i===S.Open,close:b}),g={ref:x},T=O();return C.createElement(Oe,null,C.createElement(ce.Provider,{value:o},C.createElement(Ze,{value:oe(i,{[S.Open]:V.Open,[S.Closed]:V.Closed})},T({ourProps:g,theirProps:r,slot:c,defaultTag:it,name:"Menu"}))))}let dt="button";function ct(e,s){let t=Z("Menu.Button"),n=p.useId(),{id:r=`headlessui-menu-button-${n}`,disabled:o=!1,autoFocus:i=!1,...f}=e,I=p.useRef(null),x=Ee(),a=j(s,I,Te(),P(d=>t.send({type:u.SetButtonElement,element:d}))),E=P(d=>{switch(d.key){case h.Space:case h.Enter:case h.ArrowDown:d.preventDefault(),d.stopPropagation(),t.send({type:u.OpenMenu,focus:{focus:v.First}});break;case h.ArrowUp:d.preventDefault(),d.stopPropagation(),t.send({type:u.OpenMenu,focus:{focus:v.Last}});break}}),b=P(d=>{switch(d.key){case h.Space:d.preventDefault();break}}),[c,g,T]=k(t,d=>[d.menuState,d.buttonElement,d.itemsElement]),y=c===S.Open;_e(y,{trigger:g,action:p.useCallback(d=>{if(g!=null&&g.contains(d.target))return U.Ignore;let m=d.target.closest('[role="menuitem"]:not([data-disabled])');return Me(m)?U.Select(m):T!=null&&T.contains(d.target)?U.Ignore:U.Close},[g,T]),close:p.useCallback(()=>t.send({type:u.CloseMenu}),[]),select:p.useCallback(d=>d.click(),[])});let $=Ae(d=>{var m;o||(c===S.Open?(z.flushSync(()=>t.send({type:u.CloseMenu})),(m=I.current)==null||m.focus({preventScroll:!0})):(d.preventDefault(),t.send({type:u.OpenMenu,focus:{focus:v.Nothing},trigger:W.Pointer})))}),{isFocusVisible:M,focusProps:R}=he({autoFocus:i}),{isHovered:A,hoverProps:F}=Se({isDisabled:o}),{pressed:w,pressProps:N}=ye({disabled:o}),_=q({open:c===S.Open,active:w||c===S.Open,disabled:o,hover:A,focus:M,autofocus:i}),G=le(x(),{ref:a,id:r,type:$e(e,I.current),"aria-haspopup":"menu","aria-controls":T==null?void 0:T.id,"aria-expanded":c===S.Open,disabled:o||void 0,autoFocus:i,onKeyDown:E,onKeyUp:b},$,R,F,N);return O()({ourProps:G,theirProps:f,slot:_,defaultTag:dt,name:"Menu.Button"})}let mt="div",pt=ee.RenderStrategy|ee.Static;function ft(e,s){let t=p.useId(),{id:n=`headlessui-menu-items-${t}`,anchor:r,portal:o=!1,modal:i=!0,transition:f=!1,...I}=e,x=ke(r),a=Z("Menu.Items"),[E,b]=we(x),c=Ce(),[g,T]=p.useState(null),y=j(s,x?E:null,P(l=>a.send({type:u.SetItemsElement,element:l})),T),[$,M]=k(a,l=>[l.menuState,l.buttonElement]),R=ne(M),A=ne(g);x&&(o=!0);let F=Qe(),[w,N]=Ve(f,g,F!==null?(F&V.Open)===V.Open:$===S.Open);We(w,M,()=>{a.send({type:u.CloseMenu})});let _=k(a,l=>l.__demoMode),G=_?!1:i&&$===S.Open;je(G,A);let d=_?!1:i&&$===S.Open;Be(d,{allowed:p.useCallback(()=>[M,g],[M,g])});let m=k(a,a.selectors.didButtonMove)?!1:w;p.useEffect(()=>{let l=g;l&&$===S.Open&&(nt(l)||l.focus({preventScroll:!0}))},[$,g]),Ne($===S.Open,{container:g,accept(l){return l.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:l.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(l){l.setAttribute("role","none")}});let L=Pe(),pe=P(l=>{var B,J,X;switch(L.dispose(),l.key){case h.Space:if(a.state.searchQuery!=="")return l.preventDefault(),l.stopPropagation(),a.send({type:u.Search,value:l.key});case h.Enter:if(l.preventDefault(),l.stopPropagation(),a.state.activeItemIndex!==null){let{dataRef:ge}=a.state.items[a.state.activeItemIndex];(J=(B=ge.current)==null?void 0:B.domRef.current)==null||J.click()}a.send({type:u.CloseMenu}),ue(a.state.buttonElement);break;case h.ArrowDown:return l.preventDefault(),l.stopPropagation(),a.send({type:u.GoToItem,focus:v.Next});case h.ArrowUp:return l.preventDefault(),l.stopPropagation(),a.send({type:u.GoToItem,focus:v.Previous});case h.Home:case h.PageUp:return l.preventDefault(),l.stopPropagation(),a.send({type:u.GoToItem,focus:v.First});case h.End:case h.PageDown:return l.preventDefault(),l.stopPropagation(),a.send({type:u.GoToItem,focus:v.Last});case h.Escape:l.preventDefault(),l.stopPropagation(),z.flushSync(()=>a.send({type:u.CloseMenu})),(X=a.state.buttonElement)==null||X.focus({preventScroll:!0});break;case h.Tab:l.preventDefault(),l.stopPropagation(),z.flushSync(()=>a.send({type:u.CloseMenu})),Xe(a.state.buttonElement,l.shiftKey?se.Previous:se.Next);break;default:l.key.length===1&&(a.send({type:u.Search,value:l.key}),L.setTimeout(()=>a.send({type:u.ClearSearch}),350));break}}),fe=P(l=>{switch(l.key){case h.Space:l.preventDefault();break}}),ve=q({open:$===S.Open}),Ie=le(x?c():{},{"aria-activedescendant":k(a,a.selectors.activeDescendantId),"aria-labelledby":k(a,l=>{var B;return(B=l.buttonElement)==null?void 0:B.id}),id:n,onKeyDown:pe,onKeyUp:fe,role:"menu",tabIndex:$===S.Open?0:void 0,ref:y,style:{...I.style,...b,"--button-width":De(w,M,!0).width},...qe(N)}),be=O();return C.createElement(ze,{enabled:o?e.static||w:!1,ownerDocument:R},be({ourProps:Ie,theirProps:I,slot:ve,defaultTag:mt,features:pt,visible:m,name:"Menu.Items"}))}let vt=p.Fragment;function It(e,s){let t=p.useId(),{id:n=`headlessui-menu-item-${t}`,disabled:r=!1,...o}=e,i=Z("Menu.Item"),f=k(i,m=>i.selectors.isActive(m,n)),I=p.useRef(null),x=j(s,I),a=k(i,m=>i.selectors.shouldScrollIntoView(m,n));K(()=>{if(a)return xe().requestAnimationFrame(()=>{var m,L;(L=(m=I.current)==null?void 0:m.scrollIntoView)==null||L.call(m,{block:"nearest"})})},[a,I]);let E=Ge(I),b=p.useRef({disabled:r,domRef:I,get textValue(){return E()}});K(()=>{b.current.disabled=r},[b,r]),K(()=>(i.actions.registerItem(n,b),()=>i.actions.unregisterItem(n)),[b,n]);let c=P(()=>{i.send({type:u.CloseMenu})}),g=P(m=>{if(r)return m.preventDefault();i.send({type:u.CloseMenu}),ue(i.state.buttonElement)}),T=P(()=>{if(r)return i.send({type:u.GoToItem,focus:v.Nothing});i.send({type:u.GoToItem,focus:v.Specific,id:n})}),y=Le(),$=P(m=>y.update(m)),M=P(m=>{y.wasMoved(m)&&(r||f||i.send({type:u.GoToItem,focus:v.Specific,id:n,trigger:W.Pointer}))}),R=P(m=>{y.wasMoved(m)&&(r||f&&i.state.activationTrigger===W.Pointer&&i.send({type:u.GoToItem,focus:v.Nothing}))}),[A,F]=de(),[w,N]=st(),_=q({active:f,focus:f,disabled:r,close:c}),G={id:n,ref:x,role:"menuitem",tabIndex:r===!0?void 0:-1,"aria-disabled":r===!0?!0:void 0,"aria-labelledby":A,"aria-describedby":w,disabled:void 0,onClick:g,onFocus:T,onPointerEnter:$,onMouseEnter:$,onPointerMove:M,onMouseMove:M,onPointerLeave:R,onMouseLeave:R},d=O();return C.createElement(F,null,C.createElement(N,null,d({ourProps:G,theirProps:o,slot:_,defaultTag:vt,name:"Menu.Item"})))}let bt="div";function gt(e,s){let[t,n]=de(),r=e,o={ref:s,"aria-labelledby":t,role:"group"},i=O();return C.createElement(n,null,i({ourProps:o,theirProps:r,slot:{},defaultTag:bt,name:"Menu.Section"}))}let ht="header";function St(e,s){let t=p.useId(),{id:n=`headlessui-menu-heading-${t}`,...r}=e,o=rt();K(()=>o.register(n),[n,o.register]);let i={id:n,ref:s,role:"presentation",...o.props};return O()({ourProps:i,theirProps:r,slot:{},defaultTag:ht,name:"Menu.Heading"})}let yt="div";function $t(e,s){let t=e,n={ref:s,role:"separator"};return O()({ourProps:n,theirProps:t,slot:{},defaultTag:yt,name:"Menu.Separator"})}let Mt=D(ut),Pt=D(ct),xt=D(ft),Et=D(It),Tt=D(gt),kt=D(St),wt=D($t),Qt=Object.assign(Mt,{Button:Pt,Items:xt,Item:Et,Section:Tt,Heading:kt,Separator:wt});export{Tt as P,Pt as f,Et as g,Qt as l,xt as y};