1 line
21 KiB
JavaScript
1 line
21 KiB
JavaScript
|
|
import{Ct as e,E as t,Et as n,H as r,I as i,L as a,N as o,P as s,Q as c,S as l,bt as u,c as d,g as f,j as p,l as m,lt as h,mt as g,nt as _,v,w as y,z as b}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{t as x}from"./utils-BB02OBq2.js";import{S,l as C,m as w,y as T}from"./dist-t_U6YImb.js";import{t as E}from"./createContext-BefgL9WT.js";import{n as D,r as O,t as k}from"./useForwardPropsEmits-ixfQllIc.js";import{_ as ee,a as A,c as te,f as j,g as M,h as ne,i as re,m as ie,n as ae,p as oe,r as N,t as P,u as se}from"./Teleport-CLYBkdRb.js";import{t as F}from"./Presence-C1RtYpyR.js";import{t as I}from"./Primitive-jhoGcsVx.js";import{t as L}from"./useArrowNavigation-Cq05LxDE.js";import{t as R}from"./useForwardProps-B-1JXcFn.js";import{n as z}from"./usePrimitiveElement-BKQPgqfD.js";import{a as B,i as V,n as ce,o as le,s as ue,t as H}from"./PopperContent-BHqsUegM.js";import{t as U}from"./useForwardExpose-OKJAPp5E.js";import{t as W}from"./useId-C1k6kJxi.js";import{t as de}from"./Collection-CEQN_ElG.js";import{t as fe}from"./RovingFocusGroup-BI5E2MOD.js";var G=y({__name:`MenuAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){let a=i;return(i,o)=>(b(),v(e(V),n(t(a)),{default:_(()=>[r(i.$slots,`default`)]),_:3},16))}});function pe(){let e=g(!1);return i(()=>{C(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),C([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var me=T(pe),[K,q]=E([`MenuRoot`,`MenuSub`],`MenuContext`),[J,he]=E(`MenuRoot`),ge=y({__name:`MenuRoot`,props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(t,{emit:n}){let i=t,a=n,{modal:o,dir:s}=u(i),c=z(s),l=w(i,`open`,a),d=g(),f=me();return q({open:l,onOpenChange:e=>{l.value=e},content:d,onContentChange:e=>{d.value=e}}),he({onClose:()=>{l.value=!1},isUsingKeyboardRef:f,dir:c,modal:o}),(t,n)=>(b(),v(e(B),null,{default:_(()=>[r(t.$slots,`default`)]),_:3}))}}),[Y,_e]=E(`MenuContent`),X=y({__name:`MenuContentImpl`,props:p({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...H}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(t,{emit:n}){let i=t,o=n,s=K(),d=J(),{trapFocus:f,disableOutsidePointerEvents:p,loop:m}=u(i);ue(),ee(p.value);let h=g(``),y=g(0),x=g(0),S=g(null),C=g(`right`),w=g(0),T=g(null),E=g(),{forwardRef:D,currentElement:k}=U(),{handleTypeaheadSearch:A}=le(),M=g();function N(e){let t=L(e,M.value||O(),k.value,{loop:m.value,arrowKeyOptions:`vertical`,dir:d?.dir.value,focus:!1,attributeName:`[data-reka-collection-item]:not([data-disabled])`});t&&(M.value=t,t.scrollIntoView({block:`nearest`}))}function P(){M.value&&M.value.click()}let F=g(),I=g();c(M,e=>{I.value&&(e===void 0||e!==I.value.trigger.value)&&(I.value.onOpenChange(!1),I.value=void 0)}),c(k,e=>{s.onContentChange(e)}),a(()=>{window.clearTimeout(y.value)});function R(e){return C.value===S.value?.side&&oe(e,S.value?.area)}async function z(e){o(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),k.value?.focus({prevent
|