1import{F as e,K as t,M as n,N as r,T as i,V as a,Z as o,_ as s,et as c,gt as l,mt as u,ot as d,vt as f,z as p}from"./runtime-dom.esm-bundler-CQ0Zn2r4.js";import{L as m,R as h,V as g,f as _,i as v,s as y,tt as b,u as x,y as S}from"./locale-BI5oJrMT.js";import{g as C}from"./ripple-Mql1eKel.js";import{n as w,s as T,t as E}from"./VOverlay-D5swMv27.js";import{t as D}from"./scopeId-7l3fFPua.js";import{t as O}from"./forwardRefs-RiU8Uqxp.js";import{t as k}from"./dialog-transition-DTUqWurH.js";n(),d();var A=S({id:String,submenu:Boolean,...b(w({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:`connected`,location:void 0,openDelay:300,scrim:!1,scrollStrategy:`reposition`,transition:{component:k}}),[`absolute`])},`VMenu`),j=_()({name:`VMenu`,props:A(),emits:{"update:modelValue":e=>!0},setup(n,{slots:d}){let _=y(n,`modelValue`),{scopeId:b}=D(),{isRtl:S}=v(),w=o(),k=f(()=>n.id||`v-menu-${w}`),A=u(),j=r(T,null),M=l(new Set);t(T,{register(){M.value.add(w)},unregister(){M.value.delete(w)},closeParents(e){let t=!e||A.value?.contentEl?._clickOutside?.lastMousedownWasOutside;setTimeout(()=>{!M.value.size&&!n.persistent&&t&&(_.value=!1,j?.closeParents(e))},40)}}),p(()=>j?.unregister()),a(()=>_.value=!1),c(_,e=>{e?j?.register():j?.unregister()},{immediate:!0});function N(e){j?.closeParents(e)}function P(e){n.disabled||(e.key===`Tab`?!g(h(A.value?.contentEl,!1),e.shiftKey?`prev`:`next`,e=>e.tabIndex>=0)&&!n.retainFocus&&(_.value=!1):n.submenu&&e.key===(S.value?`ArrowRight`:`ArrowLeft`)&&(_.value=!1))}function F(e){if(n.disabled||e.isComposing)return;let t=A.value?.contentEl;t&&_.value?e.key===`ArrowDown`?(e.preventDefault(),e.stopImmediatePropagation(),m(t,`next`)):e.key===`ArrowUp`?(e.preventDefault(),e.stopImmediatePropagation(),m(t,`prev`)):n.submenu&&(e.key===(S.value?`ArrowRight`:`ArrowLeft`)?_.value=!1:e.key===(S.value?`ArrowLeft`:`ArrowRight`)&&(e.preventDefault(),m(t,`first`))):(n.submenu?e.key===(S.value?`ArrowLeft`:`ArrowRight`):[`ArrowDown`,`ArrowUp`].includes(e.key))&&(_.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>F(e))))}let I=s(()=>e({"aria-haspopup":`menu`,"aria-expanded":String(_.value),"aria-controls":k.value,"aria-owns":k.value,onKeydown:F},n.activatorProps));return x(()=>{let t=E.filterProps(n);return i(E,e({ref:A,id:k.value,class:[`v-menu`,n.class],style:n.style},t,{modelValue:_.value,"onUpdate:modelValue":e=>_.value=e,absolute:!0,activatorProps:I.value,location:n.location??(n.submenu?`end`:`bottom`),"onClick:outside":N,onKeydown:P},b),{activator:d.activator,default:(...e)=>i(C,{root:`VMenu`},{default:()=>[d.default?.(...e)]})})}),O({id:k,ΨopenChildren:M},A)}});export{j as t};
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.