UNPKG

ll-package

Version:

2 lines (1 loc) 5.49 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("../../../../@babel/runtime/helpers/esm/objectSpread2.js"),D=require("../../../../@babel/runtime/helpers/esm/extends.js"),e=require("vue"),z=require("../../_util/vue-types/index.js"),_=require("./hooks/useKeyPath.js"),v=require("./hooks/useMenuContext.js"),B=require("../../_util/props-util/index.js"),L=require("../../_util/classNames.js"),he=require("./hooks/useDirectionStyle.js"),U=require("./PopupTrigger.js"),Me=require("./SubMenuList.js"),Ce=require("./InlineSubMenuList.js"),$e=require("../../_util/vnode.js"),Ie=require("../../vc-overflow/Overflow.js"),Ne=require("../../vc-util/devWarning.js"),G=require("../../_util/isValid.js"),Ve=require("../../_util/type.js");let W=0;const H=()=>({icon:z.default.any,title:z.default.any,disabled:Boolean,level:Number,popupClassName:String,popupOffset:Array,internalPopupClose:Boolean,eventKey:String,expandIcon:Function,theme:String,onMouseenter:Function,onMouseleave:Function,onTitleClick:Function,originItemValue:Ve.objectType()}),xe=e.defineComponent({compatConfig:{MODE:3},name:"ASubMenu",inheritAttrs:!1,props:H(),slots:Object,setup(l,J){let{slots:a,attrs:K,emit:h}=J;var M,C;v.useProvideFirstLevel(!1);const m=_.useMeasure(),y=e.getCurrentInstance(),r=typeof y.vnode.key=="symbol"?String(y.vnode.key):y.vnode.key;Ne.default(typeof y.vnode.key!="symbol","SubMenu",`SubMenu \`:key="${String(r)}"\` not support Symbol type`);const u=G.default(r)?r:`sub_menu_${++W}_$$_not_set_key`,s=(M=l.eventKey)!==null&&M!==void 0?M:G.default(r)?`sub_menu_${++W}_$$_${r}`:u,{parentEventKeys:Q,parentInfo:b,parentKeys:$}=_.useInjectKeyPath(),f=e.computed(()=>[...$.value,u]),X=e.shallowRef([]),q={eventKey:s,key:u,parentEventKeys:Q,childrenEventKeys:X,parentKeys:$};(C=b.childrenEventKeys)===null||C===void 0||C.value.push(s),e.onBeforeUnmount(()=>{var n;b.childrenEventKeys&&(b.childrenEventKeys.value=(n=b.childrenEventKeys)===null||n===void 0?void 0:n.value.filter(t=>t!=s))}),_.default(s,u,q);const{prefixCls:c,activeKeys:k,disabled:Y,changeActiveKeys:I,mode:o,inlineCollapsed:Z,openKeys:ee,overflowDisabled:N,onOpenChange:R,registerMenuInfo:ne,unRegisterMenuInfo:te,selectedSubMenuKeys:le,expandIcon:ue,theme:oe}=v.useInjectMenu(),g=r!=null,E=!m&&(v.useInjectForceRender()||!g);v.useProvideForceRender(E),(m&&g||!m&&!g||E)&&(ne(s,q),e.onBeforeUnmount(()=>{te(s)}));const F=e.computed(()=>`${c.value}-submenu`),d=e.computed(()=>Y.value||l.disabled),ae=e.shallowRef(),se=e.shallowRef(),O=e.computed(()=>ee.value.includes(u)),p=e.computed(()=>!N.value&&O.value),ie=e.computed(()=>le.value.includes(u)),w=e.shallowRef(!1);e.watch(k,()=>{w.value=!!k.value.find(n=>n===u)},{immediate:!0});const re=n=>{d.value||(h("titleClick",n,u),o.value==="inline"&&R(u,!O.value))},ce=n=>{d.value||(I(f.value),h("mouseenter",n))},de=n=>{d.value||(I([]),h("mouseleave",n))},ve=he.default(e.computed(()=>f.value.length)),fe=n=>{o.value!=="inline"&&R(u,n)},pe=()=>{I(f.value)},V=s&&`${s}-popup`,me=e.computed(()=>L.default(c.value,`${c.value}-${l.theme||oe.value}`,l.popupClassName)),ye=(n,t)=>{if(!t)return Z.value&&!$.value.length&&n&&typeof n=="string"?e.createVNode("div",{class:`${c.value}-inline-collapsed-noicon`},[n.charAt(0)]):e.createVNode("span",{class:`${c.value}-title-content`},[n]);const i=B.isValidElement(n)&&n.type==="span";return e.createVNode(e.Fragment,null,[$e.cloneElement(typeof t=="function"?t(l.originItemValue):t,{class:`${c.value}-item-icon`},!1),i?n:e.createVNode("span",{class:`${c.value}-title-content`},[n])])},x=e.computed(()=>o.value!=="inline"&&f.value.length>1?"vertical":o.value),be=e.computed(()=>o.value==="horizontal"?"vertical":o.value),ge=e.computed(()=>x.value==="horizontal"?"vertical":x.value),T=()=>{var n,t;const i=F.value,S=(n=l.icon)!==null&&n!==void 0?n:(t=a.icon)===null||t===void 0?void 0:t.call(a,l),j=l.expandIcon||a.expandIcon||ue.value,P=ye(B.getPropsSlot(a,l,"title"),S);return e.createVNode("div",{style:ve.value,class:`${i}-title`,tabindex:d.value?null:-1,ref:ae,title:typeof P=="string"?P:null,"data-menu-id":u,"aria-expanded":p.value,"aria-haspopup":!0,"aria-controls":V,"aria-disabled":d.value,onClick:re,onFocus:pe},[P,o.value!=="horizontal"&&j?j(D.default(D.default({},l),{isOpen:p.value})):e.createVNode("i",{class:`${i}-arrow`},null)])};return()=>{var n;if(m)return g?(n=a.default)===null||n===void 0?void 0:n.call(a):null;const t=F.value;let i=()=>null;if(!N.value&&o.value!=="inline"){const S=o.value==="horizontal"?[0,8]:[10,0];i=()=>e.createVNode(U.default,{mode:x.value,prefixCls:t,visible:!l.internalPopupClose&&p.value,popupClassName:me.value,popupOffset:l.popupOffset||S,disabled:d.value,onVisibleChange:fe},{default:()=>[T()],popup:()=>e.createVNode(v.MenuContextProvider,{mode:ge.value},{default:()=>[e.createVNode(Me.default,{id:V,ref:se},{default:a.default})]})})}else i=()=>e.createVNode(U.default,null,{default:T});return e.createVNode(v.MenuContextProvider,{mode:be.value},{default:()=>[e.createVNode(Ie.default.Item,A.default(A.default({component:"li"},K),{},{role:"none",class:L.default(t,`${t}-${o.value}`,K.class,{[`${t}-open`]:p.value,[`${t}-active`]:w.value,[`${t}-selected`]:ie.value,[`${t}-disabled`]:d.value}),onMouseenter:ce,onMouseleave:de,"data-submenu-id":u}),{default:()=>e.createVNode(e.Fragment,null,[i(),!N.value&&e.createVNode(Ce.default,{id:V,open:p.value,keyPath:f.value},{default:a.default})])})]})}}});exports.default=xe;exports.subMenuProps=H;