1import{o as c,t as N,u as L,A as T,i as D,s as B,a as v,l as $,b as x,N as O}from"./keyboard-C910qfwt.js";import{w as K,a as j,h as U,f as _,c as b,v as V,N as A,_ as E,u as q,O as J}from"./calculate-active-index-Bo9BYas1.js";import{p as Q}from"./use-text-value-Cv76m52G.js";import{i as H}from"./use-tree-walker-DlTPShXD.js";import{d as k,r as R,c as h,E as y,i as W,I as Z,J as z,L as G,M as X}from"./index-DbpIxVVg.js";var Y=(a=>(a[a.Open=0]="Open",a[a.Closed=1]="Closed",a))(Y||{}),ee=(a=>(a[a.Pointer=0]="Pointer",a[a.Other=1]="Other",a))(ee||{});function te(a){requestAnimationFrame(()=>requestAnimationFrame(a))}let C=Symbol("MenuContext");function w(a){let I=G(C,null);if(I===null){let g=new Error(`<${a} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(g,w),g}return I}let oe=k({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(a,{slots:I,attrs:g}){let f=R(1),m=R(null),d=R(null),e=R([]),s=R(""),u=R(null),S=R(1);function M(t=l=>l){let l=u.value!==null?e.value[u.value]:null,n=J(t(e.value.slice()),p=>c(p.dataRef.domRef)),o=l?n.indexOf(l):null;return o===-1&&(o=null),{items:n,activeItemIndex:o}}let r={menuState:f,buttonRef:m,itemsRef:d,items:e,searchQuery:s,activeItemIndex:u,activationTrigger:S,closeMenu:()=>{f.value=1,u.value=null},openMenu:()=>f.value=0,goToItem(t,l,n){let o=M(),p=_(t===b.Specific?{focus:b.Specific,id:l}:{focus:t},{resolveItems:()=>o.items,resolveActiveIndex:()=>o.activeItemIndex,resolveId:i=>i.id,resolveDisabled:i=>i.dataRef.disabled});s.value="",u.value=p,S.value=n??1,e.value=o.items},search(t){let l=s.value!==""?0:1;s.value+=t.toLowerCase();let n=(u.value!==null?e.value.slice(u.value+l).concat(e.value.slice(0,u.value+l)):e.value).find(p=>p.dataRef.textValue.startsWith(s.value)&&!p.dataRef.disabled),o=n?e.value.indexOf(n):-1;o===-1||o===u.value||(u.value=o,S.value=1)},clearSearch(){s.value=""},registerItem(t,l){let n=M(o=>[...o,{id:t,dataRef:l}]);e.value=n.items,u.value=n.activeItemIndex,S.value=1},unregisterItem(t){let l=M(n=>{let o=n.findIndex(p=>p.id===t);return o!==-1&&n.splice(o,1),n});e.value=l.items,u.value=l.activeItemIndex,S.value=1}};return K([m,d],(t,l)=>{var n;r.closeMenu(),j(l,U.Loose)||(t.preventDefault(),(n=c(m))==null||n.focus())},h(()=>f.value===0)),X(C,r),N(h(()=>L(f.value,{0:x.Open,1:x.Closed}))),()=>{let t={open:f.value===0,close:r.closeMenu};return T({ourProps:{},theirProps:a,slot:t,slots:I,attrs:g,name:"Menu"})}}}),se=k({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(a,{attrs:I,slots:g,expose:f}){var m;let d=(m=a.id)!=null?m:`headlessui-menu-button-${D()}`,e=w("MenuButton");f({el:e.buttonRef,$el:e.buttonRef});function s(r){switch(r.key){case v.Space:case v.Enter:case v.ArrowDown:r.preventDefault(),r.stopPropagation(),e.openMenu(),y(()=>{var t;(t=c(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(b.First)});break;case v.ArrowUp:r.preventDefault(),r.stopPropagation(),e.openMenu(),y(()=>{var t;(t=c(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(b.Last)});break}}function u(r){switch(r.key){case v.Space:r.preventDefault();break}}function S(r){a.disabled||(e.menuState.value===0?(e.closeMenu(),y(()=>{var t;return(t=c(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})}
1)):(r.preventDefault(),e.openMenu(),te(()=>{var t;return(t=c(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let M=B(h(()=>({as:a.as,type:I.type})),e.buttonRef);return()=>{var r;let t={open:e.menuState.value===0},{...l}=a,n={ref:e.buttonRef,id:d,type:M.value,"aria-haspopup":"menu","aria-controls":(r=c(e.itemsRef))==null?void 0:r.id,"aria-expanded":e.menuState.value===0,onKeydown:s,onKeyup:u,onClick:S};return T({ourProps:n,theirProps:l,slot:t,attrs:I,slots:g,name:"MenuButton"})}}}),ie=k({name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(a,{attrs:I,slots:g,expose:f}){var m;let d=(m=a.id)!=null?m:`headlessui-menu-items-${D()}`,e=w("MenuItems"),s=R(null);f({el:e.itemsRef,$el:e.itemsRef}),H({container:h(()=>c(e.itemsRef)),enabled:h(()=>e.menuState.value===0),accept(t){return t.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:t.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute("role","none")}});function u(t){var l;switch(s.value&&clearTimeout(s.value),t.key){case v.Space:if(e.searchQuery.value!=="")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case v.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let n=e.items.value[e.activeItemIndex.value];(l=c(n.dataRef.domRef))==null||l.click()}e.closeMenu(),E(c(e.buttonRef));break;case v.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(b.Next);case v.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(b.Previous);case v.Home:case v.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(b.First);case v.End:case v.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(b.Last);case v.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),y(()=>{var n;return(n=c(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case v.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),y(()=>V(c(e.buttonRef),t.shiftKey?A.Previous:A.Next));break;default:t.key.length===1&&(e.search(t.key),s.value=setTimeout(()=>e.clearSearch(),350));break}}function S(t){switch(t.key){case v.Space:t.preventDefault();break}}let M=$(),r=h(()=>M!==null?(M.value&x.Open)===x.Open:e.menuState.value===0);return()=>{var t,l;let n={open:e.menuState.value===0},{...o}=a,p={"aria-activedescendant":e.activeItemIndex.value===null||(t=e.items.value[e.activeItemIndex.value])==null?void 0:t.id,"aria-labelledby":(l=c(e.buttonRef))==null?void 0:l.id,id:d,onKeydown:u,onKeyup:S,role:"menu",tabIndex:0,ref:e.itemsRef};return T({ourProps:p,theirProps:o,slot:n,attrs:I,slots:g,features:O.RenderStrategy|O.Static,visible:r.value,name:"MenuItems"})}}}),ve=k({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(a,{slots:I,attrs:g,expose:f}){var m;let d=(m=a.id)!=null?m:`headlessui-menu-item-${D()}`,e=w("MenuItem"),s=R(null);f({el:s,$el:s});let u=h(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===d:!1),S=Q(s),M=h(()=>({disabled:a.disabled,get textValue(){return S()},domRef:s}));W(()=>e.registerItem(d,M)),Z(()=>e.unregisterItem(d)),z(()=>{e.menuState.value===0&&u.value&&e.activationTrigger.value!==0&&y(()=>{var i,P;return(P=(i=c(s))==null?void 0:i.scrollIntoView)==null?void 0:P.call(i,{block:"nearest"})})});function r(i){if(a.disabled)return i.preventDefault();e.closeMenu(),E(c(e.buttonRef))}function t(){if(a.disabled)return e.goToItem(b.Nothing);e.goToItem(b.Specific,d)}let l=q();function n(i){l.update(i)}function o(i){l.wasMoved(i)&&(a.disabled||u.value||e.goToItem(b.Specific,d,0))}function p(i){l.wasMoved(i)&&(a.disabled||u.value&&e.goToItem(b.Nothing))}return()=>{let{disabled:i,...P}=a,F={active:u.value,disabled:i,close:e.closeMenu};return T({ourProps:{id:d,ref:s,role:"menuitem",tabIndex:i===!0?void 0:-1,"aria-disabled":i===!0?!0:void 0,onClick:r,onFocus:t,onPointerenter:n,onMouseenter:n,onPointermove:o,onMousemove:o,onPointerleave:p,onMouseleave:p},theirProps:{...g,...P},slot:F,attrs:g,slots:I,name:"MenuItem"})}}});
1export{ie as M,se as S,ve as b,oe as g};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.