1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-08-12 09:20:31 +00:00
Classworks/assets/VMenu-CEn1TBeC.js

2 lines
3.0 KiB
JavaScript

import{L as C,ab as g,D as A,ac as x,I as R,U as I,ad as M}from"./index-BvGH7GyK.js";import{j as T,q as L,A as S,u as K,aw as O,$ as U,p as j,a5 as F,ak as m,ax as B}from"./vendor-vuetify-KiFW-YAv.js";import{E as H,d as N,A as $,G as q,o as z,j as b,m as k,e as G,t as J,b as Q,s as W,p as X}from"./vendor-vue-Hxtt57UU.js";const Y=j({id:String,submenu:Boolean,...F(I({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:M}}),["absolute"])},"VMenu"),ae=T()({name:"VMenu",props:Y(),emits:{"update:modelValue":t=>!0},setup(t,E){let{slots:i}=E;const n=L(t,"modelValue"),{scopeId:V}=C(),{isRtl:c}=S(),v=H(),f=J(()=>t.id||`v-menu-${v}`),s=Q(),a=N(g,null),d=W(new Set);X(g,{register(){d.value.add(v)},unregister(){d.value.delete(v)},closeParents(e){setTimeout(()=>{var o;!d.value.size&&!t.persistent&&(e==null||(o=s.value)!=null&&o.contentEl&&!B(e,s.value.contentEl))&&(n.value=!1,a==null||a.closeParents(e))},40)}}),$(()=>a==null?void 0:a.unregister()),q(()=>n.value=!1),z(n,e=>{e?a==null||a.register():a==null||a.unregister()},{immediate:!0});function P(e){a==null||a.closeParents(e)}function h(e){var o,l,r,u,w;if(!t.disabled)if(e.key==="Tab"||e.key==="Enter"&&!t.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),!O(U((o=s.value)==null?void 0:o.contentEl,!1),e.shiftKey?"prev":"next",p=>p.tabIndex>=0)&&!t.retainFocus&&(n.value=!1,(r=(l=s.value)==null?void 0:l.activatorEl)==null||r.focus())}else t.submenu&&e.key===(c.value?"ArrowRight":"ArrowLeft")&&(n.value=!1,(w=(u=s.value)==null?void 0:u.activatorEl)==null||w.focus())}function y(e){var l;if(t.disabled)return;const o=(l=s.value)==null?void 0:l.contentEl;o&&n.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"prev")):t.submenu&&(e.key===(c.value?"ArrowRight":"ArrowLeft")?n.value=!1:e.key===(c.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),m(o,"first"))):(t.submenu?e.key===(c.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(n.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>y(e))))}const D=G(()=>k({"aria-haspopup":"menu","aria-expanded":String(n.value),"aria-controls":f.value,"aria-owns":f.value,onKeydown:y},t.activatorProps));return K(()=>{const e=A.filterProps(t);return b(A,k({ref:s,id:f.value,class:["v-menu",t.class],style:t.style},e,{modelValue:n.value,"onUpdate:modelValue":o=>n.value=o,absolute:!0,activatorProps:D.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":P,onKeydown:h},V),{activator:i.activator,default:function(){for(var o=arguments.length,l=new Array(o),r=0;r<o;r++)l[r]=arguments[r];return b(x,{root:"VMenu"},{default:()=>{var u;return[(u=i.default)==null?void 0:u.call(i,...l)]}})}})}),R({id:f,ΨopenChildren:d},s)}});export{ae as V};