UNPKG

ll-package

Version:

2 lines (1 loc) 1.85 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../@babel/runtime/helpers/esm/objectSpread2.js"),u=require("vue"),w=require("../SubMenu.js"),K=require("../ItemGroup.js"),O=require("../Divider.js"),N=require("../MenuItem.js");var j=function(t,n){var r={};for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&n.indexOf(e)<0&&(r[e]=t[e]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,e=Object.getOwnPropertySymbols(t);l<e.length;l++)n.indexOf(e[l])<0&&Object.prototype.propertyIsEnumerable.call(t,e[l])&&(r[e[l]]=t[e[l]]);return r};function v(t,n,r){return(t||[]).map((e,l)=>{if(e&&typeof e=="object"){const h=e,{label:s,children:d,key:c,type:f}=h,o=j(h,["label","children","key","type"]),a=c??`tmp-${l}`,y=r?r.parentKeys.slice():[],p=[],m={eventKey:a,key:a,parentEventKeys:u.ref(y),parentKeys:u.ref(y),childrenEventKeys:u.ref(p),isLeaf:!1};if(d||f==="group"){if(f==="group"){const g=v(d,n,r);return u.createVNode(K.default,i.default(i.default({key:a},o),{},{title:s,originItemValue:e}),{default:()=>[g]})}n.set(a,m),r&&r.childrenEventKeys.push(a);const b=v(d,n,{childrenEventKeys:p,parentKeys:[].concat(y,a)});return u.createVNode(w.default,i.default(i.default({key:a},o),{},{title:s,originItemValue:e}),{default:()=>[b]})}return f==="divider"?u.createVNode(O.default,i.default({key:a},o),null):(m.isLeaf=!0,n.set(a,m),u.createVNode(N.default,i.default(i.default({key:a},o),{},{originItemValue:e}),{default:()=>[s]}))}return null}).filter(e=>e)}function k(t){const n=u.shallowRef([]),r=u.shallowRef(!1),e=u.shallowRef(new Map);return u.watch(()=>t.items,()=>{const l=new Map;r.value=!1,t.items?(r.value=!0,n.value=v(t.items,l)):n.value=void 0,e.value=l},{immediate:!0,deep:!0}),{itemsNodes:n,store:e,hasItmes:r}}exports.default=k;