You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
3.1 KiB
2 lines
3.1 KiB
var w=Object.defineProperty;var I=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var _=(e,s,n)=>s in e?w(e,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[s]=n,S=(e,s)=>{for(var n in s||(s={}))N.call(s,n)&&_(e,n,s[n]);if(I)for(var n of I(s))F.call(s,n)&&_(e,n,s[n]);return e};var h=(e,s,n)=>new Promise((c,l)=>{var r=o=>{try{u(n.next(o))}catch(f){l(f)}},d=o=>{try{u(n.throw(o))}catch(f){l(f)}},u=o=>o.done?c(o.value):Promise.resolve(o.value).then(r,d);u((n=n.apply(e,s)).next())});import{d as D,bH as L,r as b,q as j,m as G,aN as k,aC as U,cb as q,f as C,cp as Z,aE as v,u as a,eG as J,eH as Q,O as V,cf as W,co as X,aj as Y,aT as x,aU as H,o as y,a as P,w as ee,g as ne,F as te,bt as se,aP as ae}from"./index-f4658ae7.js";import oe from"./BasicSubMenuItem-c36b7cc8.js";import{useOpenKeys as ie}from"./useOpenKeys-4fc3b1b0.js";import{basicProps as le}from"./props-423fa451.js";import"./BasicMenuItem-49d391a1.js";import"./MenuItemContent-d6146a35.js";const ce=D({name:"BasicMenu",components:{Menu:L,BasicSubMenuItem:oe},props:le,emits:["menuClick"],setup(e,{emit:s}){const n=b(!1),c=b(""),l=j({defaultSelectedKeys:[],openKeys:[],selectedKeys:[],collapsedOpenKeys:[]}),{prefixCls:r}=G("basic-menu"),{items:d,mode:u,accordion:o}=k(e),{getCollapsed:f,getTopMenuAlign:B,getSplit:p}=U(),{currentRoute:M}=q(),{handleOpenChange:E,setOpenKeys:K,getOpenKeys:z}=ie(l,d,u,o),A=C(()=>{const{type:t,mode:i}=e;return t===Z.TOP_MENU&&i===v.HORIZONTAL||e.isHorizontal&&a(p)}),R=C(()=>{const t=e.isHorizontal&&a(p)?"start":a(B);return[r,`justify-${t}`,{[`${r}__second`]:!e.isHorizontal&&a(p),[`${r}__sidebar-hor`]:a(A)}]}),T=C(()=>{const t=e.mode===v.INLINE,i={};return t&&(i.inlineCollapsed=e.mixSider?!1:a(f)),i});J(t=>{var i;t.name!==Q&&(O(t),c.value=(i=t.meta)==null?void 0:i.currentActiveMenu,a(c)&&(l.selectedKeys=[a(c)],K(a(c))))}),!e.mixSider&&V(()=>e.items,()=>{O()});function $(i){return h(this,arguments,function*({key:t}){const{beforeClickFn:m}=e;m&&Y(m)&&!(yield m(t))||(s("menuClick",t),n.value=!0,l.selectedKeys=[t])})}function O(t){return h(this,null,function*(){var m;if(a(n)){n.value=!1;return}const i=((m=(t||a(M)).meta)==null?void 0:m.currentActiveMenu)||(t||a(M)).path;if(K(i),!a(c))if(e.isHorizontal&&a(p)){const g=yield W(i);l.selectedKeys=[g]}else{const g=yield X(e.items,i);l.selectedKeys=g}})}return S({handleMenuClick:$,getInlineCollapseOptions:T,getMenuClass:R,handleOpenChange:E,getOpenKeys:z},k(l))}});function ue(e,s,n,c,l,r){const d=H("BasicSubMenuItem"),u=H("Menu");return y(),P(u,ae({selectedKeys:e.selectedKeys,defaultSelectedKeys:e.defaultSelectedKeys,mode:e.mode,openKeys:e.getOpenKeys,inlineIndent:e.inlineIndent,theme:e.theme,onOpenChange:e.handleOpenChange,class:e.getMenuClass,onClick:e.handleMenuClick,subMenuOpenDelay:.2},e.getInlineCollapseOptions),{default:ee(()=>[(y(!0),ne(te,null,se(e.items,o=>(y(),P(d,{key:o.path,item:o,theme:e.theme,isHorizontal:e.isHorizontal},null,8,["item","theme","isHorizontal"]))),128))]),_:1},16,["selectedKeys","defaultSelectedKeys","mode","openKeys","inlineIndent","theme","onOpenChange","class","onClick"])}const Ce=x(ce,[["render",ue]]);export{Ce as default};
|