vxe-pc-ui 4.7.12 → 4.7.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/list/src/list.js +8 -2
  3. package/es/menu/src/menu.js +49 -29
  4. package/es/menu/style.css +1 -0
  5. package/es/menu/style.min.css +1 -1
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/tabs/src/tabs.js +1 -1
  9. package/es/ui/index.js +2 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/es/vxe-menu/style.css +1 -0
  12. package/es/vxe-menu/style.min.css +1 -1
  13. package/lib/icon/style/style.css +1 -1
  14. package/lib/icon/style/style.min.css +1 -1
  15. package/lib/index.umd.js +57 -26
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/menu/src/menu.js +54 -25
  18. package/lib/menu/src/menu.min.js +1 -1
  19. package/lib/menu/style/style.css +1 -0
  20. package/lib/menu/style/style.min.css +1 -1
  21. package/lib/style.css +1 -1
  22. package/lib/style.min.css +1 -1
  23. package/lib/tabs/src/tabs.js +1 -1
  24. package/lib/tabs/src/tabs.min.js +1 -1
  25. package/lib/ui/index.js +2 -1
  26. package/lib/ui/index.min.js +1 -1
  27. package/lib/ui/src/log.js +1 -1
  28. package/lib/ui/src/log.min.js +1 -1
  29. package/lib/vxe-menu/style/style.css +1 -0
  30. package/lib/vxe-menu/style/style.min.css +1 -1
  31. package/package.json +1 -1
  32. package/packages/list/src/list.ts +8 -2
  33. package/packages/menu/src/menu.ts +49 -23
  34. package/packages/tabs/src/tabs.ts +1 -1
  35. package/packages/ui/index.ts +1 -0
  36. package/styles/components/menu.scss +1 -0
  37. package/types/components/menu.d.ts +2 -0
  38. package/types/components/table-plugins/extend-cell-area.d.ts +7 -5
  39. package/types/components/table.d.ts +13 -1
  40. /package/es/icon/{iconfont.1752630914422.ttf → iconfont.1752730649790.ttf} +0 -0
  41. /package/es/icon/{iconfont.1752630914422.woff → iconfont.1752730649790.woff} +0 -0
  42. /package/es/icon/{iconfont.1752630914422.woff2 → iconfont.1752730649790.woff2} +0 -0
  43. /package/es/{iconfont.1752630914422.ttf → iconfont.1752730649790.ttf} +0 -0
  44. /package/es/{iconfont.1752630914422.woff → iconfont.1752730649790.woff} +0 -0
  45. /package/es/{iconfont.1752630914422.woff2 → iconfont.1752730649790.woff2} +0 -0
  46. /package/lib/icon/style/{iconfont.1752630914422.ttf → iconfont.1752730649790.ttf} +0 -0
  47. /package/lib/icon/style/{iconfont.1752630914422.woff → iconfont.1752730649790.woff} +0 -0
  48. /package/lib/icon/style/{iconfont.1752630914422.woff2 → iconfont.1752730649790.woff2} +0 -0
  49. /package/lib/{iconfont.1752630914422.ttf → iconfont.1752730649790.ttf} +0 -0
  50. /package/lib/{iconfont.1752630914422.woff → iconfont.1752730649790.woff} +0 -0
  51. /package/lib/{iconfont.1752630914422.woff2 → iconfont.1752730649790.woff2} +0 -0
@@ -18,6 +18,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
18
18
  props: {
19
19
  modelValue: [String, Number],
20
20
  expandAll: Boolean,
21
+ accordion: {
22
+ type: Boolean,
23
+ default: () => (0, _ui.getConfig)().menu.accordion
24
+ },
21
25
  collapsed: {
22
26
  type: Boolean,
23
27
  default: null
@@ -30,7 +34,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
30
34
  },
31
35
  size: {
32
36
  type: String,
33
- default: () => (0, _ui.getConfig)().image.size || (0, _ui.getConfig)().size
37
+ default: () => (0, _ui.getConfig)().menu.size || (0, _ui.getConfig)().size
34
38
  }
35
39
  },
36
40
  emits: ['update:modelValue', 'click'],
@@ -197,7 +201,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
197
201
  updateCollapseStyle();
198
202
  }
199
203
  };
200
- const handleClickIconCollapse = (evnt, item) => {
204
+ const handleClickIconCollapse = (evnt, item, itemList) => {
205
+ const {
206
+ accordion
207
+ } = props;
201
208
  const {
202
209
  hasChild,
203
210
  isExpand
@@ -205,6 +212,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
205
212
  if (hasChild) {
206
213
  evnt.stopPropagation();
207
214
  evnt.preventDefault();
215
+ if (accordion) {
216
+ itemList.forEach(obj => {
217
+ if (obj !== item) {
218
+ obj.isExpand = false;
219
+ }
220
+ });
221
+ }
208
222
  item.isExpand = !isExpand;
209
223
  }
210
224
  };
@@ -212,7 +226,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
212
226
  reactData.activeName = value;
213
227
  emit('update:modelValue', value);
214
228
  };
215
- const handleClickMenu = (evnt, item) => {
229
+ const handleClickMenu = (evnt, item, itemList) => {
216
230
  const {
217
231
  itemKey,
218
232
  routerLink,
@@ -223,7 +237,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
223
237
  handleMenuMouseleave();
224
238
  } else {
225
239
  if (hasChild) {
226
- handleClickIconCollapse(evnt, item);
240
+ handleClickIconCollapse(evnt, item, itemList);
227
241
  } else {
228
242
  emitModel(itemKey);
229
243
  handleMenuMouseleave();
@@ -243,6 +257,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
243
257
  });
244
258
  reactData.isEnterCollapse = true;
245
259
  };
260
+ const handleMenuMouseover = () => {
261
+ const {
262
+ isEnterCollapse
263
+ } = reactData;
264
+ if (!isEnterCollapse) {
265
+ handleMenuMouseenter();
266
+ }
267
+ };
246
268
  const handleMenuMouseleave = () => {
247
269
  const {
248
270
  collapseStyle
@@ -274,7 +296,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
274
296
  };
275
297
  const menuPrivateMethods = {};
276
298
  Object.assign($xeMenu, menuMethods, menuPrivateMethods);
277
- const renderMenuTitle = item => {
299
+ const renderMenuTitle = (item, itemList) => {
278
300
  const {
279
301
  icon,
280
302
  isExpand,
@@ -299,13 +321,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
299
321
  }, title), hasChild ? (0, _vue.h)('div', {
300
322
  class: 'vxe-menu--item-link-collapse',
301
323
  onClick(evnt) {
302
- handleClickIconCollapse(evnt, item);
324
+ handleClickIconCollapse(evnt, item, itemList);
303
325
  }
304
326
  }, [(0, _vue.h)('i', {
305
327
  class: isExpand ? (0, _ui.getIcon)().MENU_ITEM_EXPAND_OPEN : (0, _ui.getIcon)().MENU_ITEM_EXPAND_CLOSE
306
328
  })]) : (0, _ui.renderEmptyElement)($xeMenu)];
307
329
  };
308
- const renderDefaultChildren = item => {
330
+ const renderDefaultChildren = (item, itemList) => {
309
331
  const {
310
332
  itemKey,
311
333
  level,
@@ -336,20 +358,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
336
358
  class: 'vxe-menu--item-link',
337
359
  to: routerLink,
338
360
  onClick(evnt) {
339
- handleClickMenu(evnt, item);
361
+ handleClickMenu(evnt, item, itemList);
340
362
  }
341
363
  }, {
342
- default: () => renderMenuTitle(item)
364
+ default: () => renderMenuTitle(item, itemList)
343
365
  }) : (0, _vue.h)('div', {
344
366
  class: 'vxe-menu--item-link',
345
367
  onClick(evnt) {
346
- handleClickMenu(evnt, item);
368
+ handleClickMenu(evnt, item, itemList);
347
369
  }
348
- }, renderMenuTitle(item)), hasChild ? (0, _vue.h)('div', {
370
+ }, renderMenuTitle(item, itemList)), hasChild ? (0, _vue.h)('div', {
349
371
  class: 'vxe-menu--item-group'
350
- }, childList.map(child => renderDefaultChildren(child))) : (0, _ui.renderEmptyElement)($xeMenu)]);
372
+ }, childList.map(child => renderDefaultChildren(child, childList))) : (0, _ui.renderEmptyElement)($xeMenu)]);
351
373
  };
352
- const renderCollapseChildren = item => {
374
+ const renderCollapseChildren = (item, itemList) => {
353
375
  const {
354
376
  itemKey,
355
377
  level,
@@ -374,22 +396,23 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
374
396
  class: 'vxe-menu--item-link',
375
397
  to: routerLink,
376
398
  onClick(evnt) {
377
- handleClickMenu(evnt, item);
399
+ handleClickMenu(evnt, item, itemList);
378
400
  }
379
401
  }, {
380
- default: () => renderMenuTitle(item)
402
+ default: () => renderMenuTitle(item, itemList)
381
403
  }) : (0, _vue.h)('div', {
382
404
  class: 'vxe-menu--item-link',
383
405
  onClick(evnt) {
384
- handleClickMenu(evnt, item);
406
+ handleClickMenu(evnt, item, itemList);
385
407
  }
386
- }, renderMenuTitle(item)), hasChild ? (0, _vue.h)('div', {
408
+ }, renderMenuTitle(item, itemList)), hasChild ? (0, _vue.h)('div', {
387
409
  class: 'vxe-menu--item-group'
388
- }, childList.map(child => renderDefaultChildren(child))) : (0, _ui.renderEmptyElement)($xeMenu)]);
410
+ }, childList.map(child => renderDefaultChildren(child, childList))) : (0, _ui.renderEmptyElement)($xeMenu)]);
389
411
  };
390
412
  const renderVN = () => {
391
413
  const {
392
- loading
414
+ loading,
415
+ collapseFixed
393
416
  } = props;
394
417
  const {
395
418
  initialized,
@@ -399,6 +422,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
399
422
  } = reactData;
400
423
  const vSize = computeSize.value;
401
424
  const isCollapsed = computeIsCollapsed.value;
425
+ let ons = {};
426
+ if (collapseFixed) {
427
+ ons = {
428
+ onMouseenter: handleMenuMouseenter,
429
+ onMouseover: handleMenuMouseover,
430
+ onMouseleave: handleMenuMouseleave
431
+ };
432
+ }
402
433
  return (0, _vue.h)('div', {
403
434
  ref: refElem,
404
435
  class: ['vxe-menu', {
@@ -408,7 +439,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
408
439
  }]
409
440
  }, [(0, _vue.h)('div', {
410
441
  class: 'vxe-menu--item-list'
411
- }, menuList.map(child => isCollapsed ? renderCollapseChildren(child) : renderDefaultChildren(child))), initialized ? (0, _vue.h)('div', {
442
+ }, menuList.map(child => isCollapsed ? renderCollapseChildren(child, menuList) : renderDefaultChildren(child, menuList))), initialized ? (0, _vue.h)('div', Object.assign({
412
443
  ref: refCollapseElem,
413
444
  class: ['vxe-menu--collapse-wrapper', {
414
445
  [`size--${vSize}`]: vSize,
@@ -416,12 +447,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
416
447
  'is--enter': isEnterCollapse,
417
448
  'is--loading': loading
418
449
  }],
419
- style: collapseStyle,
420
- onMouseenter: handleMenuMouseenter,
421
- onMouseleave: handleMenuMouseleave
422
- }, [isCollapsed ? (0, _vue.h)('div', {
450
+ style: collapseStyle
451
+ }, ons), [isCollapsed ? (0, _vue.h)('div', {
423
452
  class: 'vxe-menu--item-list'
424
- }, menuList.map(child => renderDefaultChildren(child))) : (0, _ui.renderEmptyElement)($xeMenu)]) : (0, _ui.renderEmptyElement)($xeMenu),
453
+ }, menuList.map(child => renderDefaultChildren(child, menuList))) : (0, _ui.renderEmptyElement)($xeMenu)]) : (0, _ui.renderEmptyElement)($xeMenu),
425
454
  /**
426
455
  * 加载中
427
456
  */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>(0,_ui.getConfig)().image.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","click"],setup(u,e){const{emit:l,slots:o}=e;var i=_xeUtils.default.uniqueId();const t=(0,_vue.inject)("$xeLayoutAside",null),r=(0,_vue.ref)(),d=(0,_vue.ref)(),v=(0,_ui.useSize)(u)["computeSize"],c=(0,_vue.reactive)({initialized:!!u.collapsed,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:u.modelValue,menuList:[],itemHeight:1}),s={refElem:r},p=(0,_vue.computed)(()=>{var e=u["collapsed"];return _xeUtils.default.isBoolean(e)?e:!!t&&!!t.props.collapsed}),a=(0,_vue.computed)(()=>{let e="";return e=t?t.props.collapseWidth||"":e}),m=(0,_vue.computed)(()=>{let e="";return e=t?t.props.width||"":e}),n={computeSize:v},_={xID:i,props:u,context:e,reactData:c,getRefMaps:()=>s,getComputeMaps:()=>n},h=a=>{const u=c["activeName"];_xeUtils.default.eachTree(c.menuList,(e,i,t,l,s,n)=>{e.itemKey===u?(n.forEach(e=>{e.isActive=!0,a&&(e.isExpand=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},x=()=>{const{options:e,expandAll:n}=u;c.menuList=_xeUtils.default.mapTree(e,(e,i,t,l,s)=>{return Object.assign(Object.assign({},e),{parentKey:s?s.name||l.slice(0,l.length-1).join(","):"",level:l.length,itemKey:e.name||l.join(","),isExactActive:!1,isActive:!1,isExpand:_xeUtils.default.isBoolean(e.expanded)?e.expanded:!!n,hasChild:e.children&&0<e.children.length})},{children:"children",mapChildren:"childList"})},E=()=>{var e=u["collapseFixed"];e&&(0,_vue.nextTick)(()=>{var e,i=c["isEnterCollapse"],t=p.value,l=m.value,s=a.value,n=r.value;n&&(e=n.getBoundingClientRect(),n=n.parentNode,c.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(n.clientHeight),width:i?l?(0,_dom.toCssUnit)(l):"":s?(0,_dom.toCssUnit)(s):"",zIndex:c.collapseZindex}:{})})},f=()=>{var e=u["collapseFixed"];e&&(e=c["initialized"],p.value&&!e&&(c.initialized=!0,(0,_vue.nextTick)(()=>{var e=d.value;e&&document.body.appendChild(e)})),c.isEnterCollapse=!1,c.collapseZindex<(0,_utils.getLastZIndex)()&&(c.collapseZindex=(0,_utils.nextZIndex)()),E())},g=(e,i)=>{var{hasChild:t,isExpand:l}=i;t&&(e.stopPropagation(),e.preventDefault(),i.isExpand=!l)},C=e=>{c.activeName=e,l("update:modelValue",e)},y=(e,i)=>{var{itemKey:t,routerLink:l,hasChild:s}=i;!l&&s?g(e,i):(C(t),U()),A("click",{menu:i},e)},k=()=>{var e=c["collapseStyle"],i=m.value;c.collapseStyle=Object.assign({},e,{width:i?(0,_dom.toCssUnit)(i):""}),c.isEnterCollapse=!0},U=()=>{var e=c["collapseStyle"],i=r.value;c.collapseStyle=Object.assign({},e,{width:i?(0,_dom.toCssUnit)(i.offsetWidth):""}),c.isEnterCollapse=!1},A=(e,i,t)=>{l(e,(0,_ui.createEvent)(t,{$menu:_},i))};i={dispatchEvent:A};Object.assign(_,i,{});const N=i=>{var{icon:e,isExpand:t,hasChild:l,slots:s}=i,s=s?s.default:o.option,n=""+((n=i).title||n.name),a=p.value;return[(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},e?[(0,_vue.h)("i",{class:e})]:[]),s?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},(e={option:i,collapsed:a},(a=s)&&(_xeUtils.default.isString(a)&&(a=o[a]||null),_xeUtils.default.isFunction(a))?(0,_vn.getSlotVNs)(a(e)):[])):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:n},n),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){g(e,i)}},[(0,_vue.h)("i",{class:t?(0,_ui.getIcon)().MENU_ITEM_EXPAND_OPEN:(0,_ui.getIcon)().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(_)]},z=i=>{var{itemKey:e,level:t,hasChild:l,isActive:s,isExactActive:n,isExpand:a,routerLink:u,childList:o}=i,r=c["isEnterCollapse"],d=p.value;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+t,{"is--exact-active":n,"is--active":s,"is--expand":(!d||r)&&a}]},[u?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:u,onClick(e){y(e,i)}},{default:()=>N(i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){y(e,i)}},N(i)),l?(0,_vue.h)("div",{class:"vxe-menu--item-group"},o.map(e=>z(e))):(0,_ui.renderEmptyElement)(_)])};const S=(0,_vue.ref)(0);return(0,_vue.watch)(()=>u.options?u.options.length:-1,()=>{S.value++}),(0,_vue.watch)(()=>u.options,()=>{S.value++}),(0,_vue.watch)(S,()=>{x(),h(!0)}),(0,_vue.watch)(()=>u.modelValue,e=>{c.activeName=e}),(0,_vue.watch)(()=>c.activeName,()=>{h(!0)}),(0,_vue.watch)(p,()=>{f()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(_,"resize",E),E()}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(_,"resize");var e,i=d.value;i&&(e=i.parentNode)&&e.removeChild(i)}),x(),h(!0),_.renderVN=()=>{var e=u["loading"],{initialized:i,menuList:t,collapseStyle:l,isEnterCollapse:s}=c,n=v.value;const a=p.value;return(0,_vue.h)("div",{ref:r,class:["vxe-menu",{["size--"+n]:n,"is--collapsed":a,"is--loading":e}]},[(0,_vue.h)("div",{class:"vxe-menu--item-list"},t.map(e=>(a?i=>{var{itemKey:e,level:t,hasChild:l,isActive:s,isExactActive:n,routerLink:a,childList:u}=i;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+t,{"is--exact-active":n,"is--active":s}]},[a?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:a,onClick(e){y(e,i)}},{default:()=>N(i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){y(e,i)}},N(i)),l?(0,_vue.h)("div",{class:"vxe-menu--item-group"},u.map(e=>z(e))):(0,_ui.renderEmptyElement)(_)])}:z)(e))),i?(0,_vue.h)("div",{ref:d,class:["vxe-menu--collapse-wrapper",{["size--"+n]:n,"is--collapsed":a,"is--enter":s,"is--loading":e}],style:l,onMouseenter:k,onMouseleave:U},[a?(0,_vue.h)("div",{class:"vxe-menu--item-list"},t.map(e=>z(e))):(0,_ui.renderEmptyElement)(_)]):(0,_ui.renderEmptyElement)(_),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},_},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,accordion:{type:Boolean,default:()=>(0,_ui.getConfig)().menu.accordion},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>(0,_ui.getConfig)().menu.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","click"],setup(r,e){const{emit:l,slots:u}=e;var i=_xeUtils.default.uniqueId();const t=(0,_vue.inject)("$xeLayoutAside",null),c=(0,_vue.ref)(),d=(0,_vue.ref)(),v=(0,_ui.useSize)(r)["computeSize"],p=(0,_vue.reactive)({initialized:!!r.collapsed,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:r.modelValue,menuList:[],itemHeight:1}),s={refElem:c},m=(0,_vue.computed)(()=>{var e=r["collapsed"];return _xeUtils.default.isBoolean(e)?e:!!t&&!!t.props.collapsed}),a=(0,_vue.computed)(()=>{let e="";return e=t?t.props.collapseWidth||"":e}),o=(0,_vue.computed)(()=>{let e="";return e=t?t.props.width||"":e}),n={computeSize:v},_={xID:i,props:r,context:e,reactData:p,getRefMaps:()=>s,getComputeMaps:()=>n},h=a=>{const o=p["activeName"];_xeUtils.default.eachTree(p.menuList,(e,i,t,l,s,n)=>{e.itemKey===o?(n.forEach(e=>{e.isActive=!0,a&&(e.isExpand=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},x=()=>{const{options:e,expandAll:n}=r;p.menuList=_xeUtils.default.mapTree(e,(e,i,t,l,s)=>{return Object.assign(Object.assign({},e),{parentKey:s?s.name||l.slice(0,l.length-1).join(","):"",level:l.length,itemKey:e.name||l.join(","),isExactActive:!1,isActive:!1,isExpand:_xeUtils.default.isBoolean(e.expanded)?e.expanded:!!n,hasChild:e.children&&0<e.children.length})},{children:"children",mapChildren:"childList"})},E=()=>{var e=r["collapseFixed"];e&&(0,_vue.nextTick)(()=>{var e,i=p["isEnterCollapse"],t=m.value,l=o.value,s=a.value,n=c.value;n&&(e=n.getBoundingClientRect(),n=n.parentNode,p.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(n.clientHeight),width:i?l?(0,_dom.toCssUnit)(l):"":s?(0,_dom.toCssUnit)(s):"",zIndex:p.collapseZindex}:{})})},f=()=>{var e=r["collapseFixed"];e&&(e=p["initialized"],m.value&&!e&&(p.initialized=!0,(0,_vue.nextTick)(()=>{var e=d.value;e&&document.body.appendChild(e)})),p.isEnterCollapse=!1,p.collapseZindex<(0,_utils.getLastZIndex)()&&(p.collapseZindex=(0,_utils.nextZIndex)()),E())},g=(e,i,t)=>{var l=r["accordion"],{hasChild:s,isExpand:n}=i;s&&(e.stopPropagation(),e.preventDefault(),l&&t.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=!n)},C=e=>{p.activeName=e,l("update:modelValue",e)},y=(e,i,t)=>{var{itemKey:l,routerLink:s,hasChild:n}=i;!s&&n?g(e,i,t):(C(l),A()),N("click",{menu:i},e)},k=()=>{var e=p["collapseStyle"],i=o.value;p.collapseStyle=Object.assign({},e,{width:i?(0,_dom.toCssUnit)(i):""}),p.isEnterCollapse=!0},U=()=>{var e=p["isEnterCollapse"];e||k()},A=()=>{var e=p["collapseStyle"],i=c.value;p.collapseStyle=Object.assign({},e,{width:i?(0,_dom.toCssUnit)(i.offsetWidth):""}),p.isEnterCollapse=!1},N=(e,i,t)=>{l(e,(0,_ui.createEvent)(t,{$menu:_},i))};i={dispatchEvent:N};Object.assign(_,i,{});const z=(i,t)=>{var{icon:e,isExpand:l,hasChild:s,slots:n}=i,n=n?n.default:u.option,a=""+((a=i).title||a.name),o=m.value;return[(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},e?[(0,_vue.h)("i",{class:e})]:[]),n?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},(e={option:i,collapsed:o},(o=n)&&(_xeUtils.default.isString(o)&&(o=u[o]||null),_xeUtils.default.isFunction(o))?(0,_vn.getSlotVNs)(o(e)):[])):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:a},a),s?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){g(e,i,t)}},[(0,_vue.h)("i",{class:l?(0,_ui.getIcon)().MENU_ITEM_EXPAND_OPEN:(0,_ui.getIcon)().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(_)]},S=(i,t)=>{const{itemKey:e,level:l,hasChild:s,isActive:n,isExactActive:a,isExpand:o,routerLink:u,childList:r}=i;var c=p["isEnterCollapse"],d=m.value;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"is--exact-active":a,"is--active":n,"is--expand":(!d||c)&&o}]},[u?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:u,onClick(e){y(e,i,t)}},{default:()=>z(i,t)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){y(e,i,t)}},z(i,t)),s?(0,_vue.h)("div",{class:"vxe-menu--item-group"},r.map(e=>S(e,r))):(0,_ui.renderEmptyElement)(_)])};const w=(0,_vue.ref)(0);return(0,_vue.watch)(()=>r.options?r.options.length:-1,()=>{w.value++}),(0,_vue.watch)(()=>r.options,()=>{w.value++}),(0,_vue.watch)(w,()=>{x(),h(!0)}),(0,_vue.watch)(()=>r.modelValue,e=>{p.activeName=e}),(0,_vue.watch)(()=>p.activeName,()=>{h(!0)}),(0,_vue.watch)(m,()=>{f()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(_,"resize",E),E()}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(_,"resize");var e,i=d.value;i&&(e=i.parentNode)&&e.removeChild(i)}),x(),h(!0),_.renderVN=()=>{var{loading:e,collapseFixed:i}=r;const{initialized:t,menuList:l,collapseStyle:s,isEnterCollapse:n}=p;var a=v.value;const o=m.value;let u={};return i&&(u={onMouseenter:k,onMouseover:U,onMouseleave:A}),(0,_vue.h)("div",{ref:c,class:["vxe-menu",{["size--"+a]:a,"is--collapsed":o,"is--loading":e}]},[(0,_vue.h)("div",{class:"vxe-menu--item-list"},l.map(e=>(o?(i,t)=>{const{itemKey:e,level:l,hasChild:s,isActive:n,isExactActive:a,routerLink:o,childList:u}=i;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"is--exact-active":a,"is--active":n}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:o,onClick(e){y(e,i,t)}},{default:()=>z(i,t)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){y(e,i,t)}},z(i,t)),s?(0,_vue.h)("div",{class:"vxe-menu--item-group"},u.map(e=>S(e,u))):(0,_ui.renderEmptyElement)(_)])}:S)(e,l))),t?(0,_vue.h)("div",Object.assign({ref:d,class:["vxe-menu--collapse-wrapper",{["size--"+a]:a,"is--collapsed":o,"is--enter":n,"is--loading":e}],style:s},u),[o?(0,_vue.h)("div",{class:"vxe-menu--item-list"},l.map(e=>S(e,l))):(0,_ui.renderEmptyElement)(_)]):(0,_ui.renderEmptyElement)(_),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},_},render(){return this.renderVN()}});
@@ -78,6 +78,7 @@
78
78
  }
79
79
  .vxe-menu--item-link-collapse i {
80
80
  display: inline-block;
81
+ font-size: 0.8em;
81
82
  transition: transform 0.25s ease-in-out;
82
83
  }
83
84
 
@@ -1 +1 @@
1
- .vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu,.vxe-menu--collapse-wrapper{font-size:var(--vxe-ui-font-size-default);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;height:var(--vxe-ui-menu-item-height);color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{color:var(--vxe-ui-menu-item-hover-color);background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-level3{font-size:13px}.vxe-menu--item-group{display:none}.vxe-menu--item-wrapper.is--active>.vxe-menu--item-link{font-weight:700}.vxe-menu--item-wrapper.is--exact-active>.vxe-menu--item-link{color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-menu--item-wrapper.is--expand>.vxe-menu--item-group{display:block}
1
+ .vxe-menu{position:relative}.vxe-menu.is--collapsed .vxe-menu--item-custom-title,.vxe-menu.is--collapsed .vxe-menu--item-link-collapse,.vxe-menu.is--collapsed .vxe-menu--item-link-title{display:none}.vxe-menu.is--loading{min-height:4em}.vxe-menu,.vxe-menu--collapse-wrapper{font-size:var(--vxe-ui-font-size-default);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color)}.vxe-menu--collapse-wrapper{display:none;position:absolute;overflow:auto}.vxe-menu--collapse-wrapper.is--collapsed{display:block;transition:all .25s ease-in-out}.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-custom-title,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-collapse,.vxe-menu--collapse-wrapper:not(.is--enter) .vxe-menu--item-link-title{display:none}.vxe-menu--collapse-wrapper.is--enter{box-shadow:var(--vxe-ui-menu-collapse-wrapper-box-shadow)}.vxe-menu--item-link{display:flex;flex-direction:row;align-items:center;height:var(--vxe-ui-menu-item-height);color:var(--vxe-ui-font-color);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-menu--item-link:hover{color:var(--vxe-ui-menu-item-hover-color);background-color:var(--vxe-ui-base-hover-background-color)}.vxe-menu--item-custom-title,.vxe-menu--item-link,.vxe-menu--item-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-menu--item-link-icon{flex-shrink:0;width:var(--vxe-ui-menu-icon-width);text-align:center}.vxe-menu--item-custom-title,.vxe-menu--item-link-title{flex-grow:1;padding-left:.2em}.vxe-menu--item-link-collapse{flex-shrink:0;padding:.5em}.vxe-menu--item-link-collapse i{display:inline-block;font-size:.8em;transition:transform .25s ease-in-out}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double)}.vxe-menu--item-wrapper.vxe-menu--item-level1>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 1)}.vxe-menu--item-wrapper.vxe-menu--item-level2>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 2)}.vxe-menu--item-wrapper.vxe-menu--item-level3>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 3)}.vxe-menu--item-wrapper.vxe-menu--item-level4>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 4)}.vxe-menu--item-wrapper.vxe-menu--item-level5>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 5)}.vxe-menu--item-wrapper.vxe-menu--item-level6>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 6)}.vxe-menu--item-wrapper.vxe-menu--item-level7>.vxe-menu--item-link{padding:0 var(--vxe-ui-layout-padding-double) 0 calc(var(--vxe-ui-layout-padding-double) * 7)}.vxe-menu--item-level3{font-size:13px}.vxe-menu--item-group{display:none}.vxe-menu--item-wrapper.is--active>.vxe-menu--item-link{font-weight:700}.vxe-menu--item-wrapper.is--exact-active>.vxe-menu--item-link{color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-menu--item-wrapper.is--expand>.vxe-menu--item-group{display:block}