vxe-pc-ui 4.16.6 → 4.16.8

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 (64) hide show
  1. package/dist/all.esm.js +236 -132
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/cascader/src/cascader.js +66 -26
  5. package/es/cascader/style.css +9 -9
  6. package/es/cascader/style.min.css +1 -1
  7. package/es/date-range-picker/src/date-range-picker.js +25 -9
  8. package/es/icon/style.css +1 -1
  9. package/es/menu/src/menu.js +65 -17
  10. package/es/menu/style.css +15 -8
  11. package/es/menu/style.min.css +1 -1
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/ui/index.js +3 -3
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-cascader/style.css +9 -9
  17. package/es/vxe-cascader/style.min.css +1 -1
  18. package/es/vxe-menu/style.css +15 -8
  19. package/es/vxe-menu/style.min.css +1 -1
  20. package/lib/cascader/src/cascader.js +73 -27
  21. package/lib/cascader/src/cascader.min.js +1 -1
  22. package/lib/cascader/style/style.css +9 -9
  23. package/lib/cascader/style/style.min.css +1 -1
  24. package/lib/date-range-picker/src/date-range-picker.js +27 -9
  25. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  26. package/lib/icon/style/style.css +1 -1
  27. package/lib/icon/style/style.min.css +1 -1
  28. package/lib/index.umd.js +171 -53
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/menu/src/menu.js +66 -13
  31. package/lib/menu/src/menu.min.js +1 -1
  32. package/lib/menu/style/style.css +15 -8
  33. package/lib/menu/style/style.min.css +1 -1
  34. package/lib/style.css +1 -1
  35. package/lib/style.min.css +1 -1
  36. package/lib/ui/index.js +3 -3
  37. package/lib/ui/index.min.js +1 -1
  38. package/lib/ui/src/log.js +1 -1
  39. package/lib/ui/src/log.min.js +1 -1
  40. package/lib/vxe-cascader/style/style.css +9 -9
  41. package/lib/vxe-cascader/style/style.min.css +1 -1
  42. package/lib/vxe-menu/style/style.css +15 -8
  43. package/lib/vxe-menu/style/style.min.css +1 -1
  44. package/package.json +1 -1
  45. package/packages/cascader/src/cascader.ts +66 -25
  46. package/packages/date-range-picker/src/date-range-picker.ts +23 -9
  47. package/packages/menu/src/menu.ts +71 -17
  48. package/packages/ui/index.ts +2 -2
  49. package/styles/components/cascader.scss +9 -9
  50. package/styles/components/menu.scss +9 -5
  51. package/types/components/cascader.d.ts +1 -0
  52. package/types/components/menu.d.ts +6 -0
  53. /package/es/icon/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
  54. /package/es/icon/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
  55. /package/es/icon/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
  56. /package/es/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
  57. /package/es/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
  58. /package/es/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
  59. /package/lib/icon/style/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
  60. /package/lib/icon/style/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
  61. /package/lib/icon/style/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
  62. /package/lib/{iconfont.1783838735018.ttf → iconfont.1783923662673.ttf} +0 -0
  63. /package/lib/{iconfont.1783838735018.woff → iconfont.1783923662673.woff} +0 -0
  64. /package/lib/{iconfont.1783838735018.woff2 → iconfont.1783923662673.woff2} +0 -0
@@ -9,6 +9,23 @@ import { createComponentLog } from '../../ui/src/log';
9
9
  import VxeLoadingComponent from '../../loading';
10
10
  const { errLog } = createComponentLog('menu');
11
11
  const { menus, getConfig, getIcon } = VxeUI;
12
+ function createInternalData() {
13
+ return {
14
+ menuEffectMaps: {}
15
+ };
16
+ }
17
+ function createReactData() {
18
+ return {
19
+ initialized: false,
20
+ isEnterCollapse: false,
21
+ collapseStyle: {},
22
+ collapseZindex: 0,
23
+ activeName: '',
24
+ menuList: [],
25
+ itemHeight: 1
26
+ };
27
+ }
28
+ let nemuUniqueKey = 100000000;
12
29
  export default defineVxeComponent({
13
30
  name: 'VxeMenu',
14
31
  props: {
@@ -47,15 +64,8 @@ export default defineVxeComponent({
47
64
  const refElem = ref();
48
65
  const refCollapseElem = ref();
49
66
  const { computeSize } = useSize(props);
50
- const reactData = reactive({
51
- initialized: !!props.collapsed,
52
- isEnterCollapse: false,
53
- collapseStyle: {},
54
- collapseZindex: 0,
55
- activeName: props.modelValue,
56
- menuList: [],
57
- itemHeight: 1
58
- });
67
+ const reactData = reactive(createReactData());
68
+ const internalData = createInternalData();
59
69
  const refMaps = {
60
70
  refElem
61
71
  };
@@ -126,7 +136,7 @@ export default defineVxeComponent({
126
136
  const updateMenuConfig = () => {
127
137
  const { options, expandAll } = props;
128
138
  reactData.menuList = XEUtils.mapTree(options, (item, index, items, path, parent) => {
129
- const objItem = Object.assign(Object.assign({}, item), { parentKey: parent ? (parent.name || path.slice(0, path.length - 1).join(',')) : '', level: path.length, itemKey: item.name || path.join(','), isExactActive: false, isActive: false, isExpand: XEUtils.isBoolean(item.expanded) ? item.expanded : !!expandAll, hasChild: item.children && item.children.length > 0 });
139
+ const objItem = Object.assign(Object.assign({}, item), { parentKey: parent ? (parent.name || path.slice(0, path.length - 1).join(',')) : '', level: path.length, itemId: ++nemuUniqueKey, itemKey: item.name || path.join(','), isExactActive: false, isActive: false, isExpand: XEUtils.isBoolean(item.expanded) ? item.expanded : !!expandAll, hasChild: item.children && item.children.length > 0 });
130
140
  return objItem;
131
141
  }, { children: 'children', mapChildren: 'childList' });
132
142
  };
@@ -178,10 +188,16 @@ export default defineVxeComponent({
178
188
  };
179
189
  const handleClickIconCollapse = (evnt, item, itemList) => {
180
190
  const { accordion } = props;
181
- const { hasChild, isExpand } = item;
191
+ const { menuEffectMaps } = internalData;
192
+ const { itemId, hasChild, isExpand } = item;
193
+ const isCollapsed = computeIsCollapsed.value;
194
+ const expanded = !isExpand;
182
195
  if (hasChild) {
183
196
  evnt.stopPropagation();
184
197
  evnt.preventDefault();
198
+ if (menuEffectMaps[itemId]) {
199
+ clearTimeout(menuEffectMaps[itemId]);
200
+ }
185
201
  if (accordion) {
186
202
  itemList.forEach(obj => {
187
203
  if (obj !== item) {
@@ -189,7 +205,33 @@ export default defineVxeComponent({
189
205
  }
190
206
  });
191
207
  }
192
- item.isExpand = !isExpand;
208
+ item.isExpand = expanded;
209
+ const wrapperEl = isCollapsed ? refCollapseElem.value : refElem.value;
210
+ if (wrapperEl) {
211
+ const nemuEl = wrapperEl.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${itemId}"]`);
212
+ const groupEl = nemuEl ? nemuEl.querySelector('.vxe-menu--item-group') : null;
213
+ if (groupEl) {
214
+ if (expanded) {
215
+ groupEl.style.height = '0';
216
+ groupEl.setAttribute('data-effect', 'y');
217
+ requestAnimationFrame(() => {
218
+ groupEl.style.height = `${groupEl.scrollHeight}px`;
219
+ });
220
+ }
221
+ else {
222
+ groupEl.style.height = `${groupEl.scrollHeight}px`;
223
+ groupEl.setAttribute('data-effect', 'y');
224
+ requestAnimationFrame(() => {
225
+ groupEl.style.height = '0';
226
+ });
227
+ }
228
+ menuEffectMaps[itemId] = setTimeout(() => {
229
+ delete menuEffectMaps[itemId];
230
+ groupEl.removeAttribute('data-effect');
231
+ groupEl.style.height = '';
232
+ }, 350);
233
+ }
234
+ }
193
235
  }
194
236
  };
195
237
  const emitModel = (value) => {
@@ -335,7 +377,7 @@ export default defineVxeComponent({
335
377
  ];
336
378
  };
337
379
  const renderDefaultChildren = (item, itemList) => {
338
- const { itemKey, level, hasChild, isActive, isExactActive, isExpand, routerLink, childList } = item;
380
+ const { itemId, itemKey, level, hasChild, isActive, isExactActive, isExpand, routerLink, childList } = item;
339
381
  const { isEnterCollapse } = reactData;
340
382
  const isCollapsed = computeIsCollapsed.value;
341
383
  if (item.permissionCode) {
@@ -349,7 +391,8 @@ export default defineVxeComponent({
349
391
  'is--exact-active': isExactActive,
350
392
  'is--active': isActive,
351
393
  'is--expand': (!isCollapsed || isEnterCollapse) && isExpand
352
- }]
394
+ }],
395
+ 'data-menu-id': itemId
353
396
  }, [
354
397
  routerLink
355
398
  ? h(resolveComponent('router-link'), {
@@ -381,7 +424,7 @@ export default defineVxeComponent({
381
424
  ]);
382
425
  };
383
426
  const renderCollapseChildren = (item, itemList) => {
384
- const { itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item;
427
+ const { itemId, itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item;
385
428
  if (item.permissionCode) {
386
429
  if (!permission.checkVisible(item.permissionCode)) {
387
430
  return renderEmptyElement($xeMenu);
@@ -392,7 +435,8 @@ export default defineVxeComponent({
392
435
  class: ['vxe-menu--item-wrapper', `vxe-menu--item-level${level}`, {
393
436
  'is--exact-active': isExactActive,
394
437
  'is--active': isActive
395
- }]
438
+ }],
439
+ 'data-menu-id': itemId
396
440
  }, [
397
441
  routerLink
398
442
  ? h(resolveComponent('router-link'), {
@@ -500,7 +544,6 @@ export default defineVxeComponent({
500
544
  updateCollapseStyle();
501
545
  });
502
546
  onBeforeUnmount(() => {
503
- globalEvents.off($xeMenu, 'resize');
504
547
  const collapseEl = refCollapseElem.value;
505
548
  if (collapseEl) {
506
549
  const parentNode = collapseEl.parentNode;
@@ -508,7 +551,12 @@ export default defineVxeComponent({
508
551
  parentNode.removeChild(collapseEl);
509
552
  }
510
553
  }
554
+ globalEvents.off($xeMenu, 'resize');
555
+ XEUtils.assign(reactData, createReactData());
556
+ XEUtils.assign(internalData, createInternalData());
511
557
  });
558
+ reactData.initialized = !!props.collapsed;
559
+ reactData.activeName = props.modelValue;
512
560
  updateMenuConfig();
513
561
  updateActiveMenu(true);
514
562
  $xeMenu.renderVN = renderVN;
package/es/menu/style.css CHANGED
@@ -1,16 +1,20 @@
1
- .vxe-menu {
1
+ .vxe-menu,
2
+ .vxe-menu--collapse-wrapper {
2
3
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-default);
3
4
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-default);
4
5
  }
5
- .vxe-menu.size--medium {
6
+ .vxe-menu.size--medium,
7
+ .vxe-menu--collapse-wrapper.size--medium {
6
8
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-medium);
7
9
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-medium);
8
10
  }
9
- .vxe-menu.size--small {
11
+ .vxe-menu.size--small,
12
+ .vxe-menu--collapse-wrapper.size--small {
10
13
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-small);
11
14
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-small);
12
15
  }
13
- .vxe-menu.size--mini {
16
+ .vxe-menu.size--mini,
17
+ .vxe-menu--collapse-wrapper.size--mini {
14
18
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-mini);
15
19
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-mini);
16
20
  }
@@ -27,7 +31,8 @@
27
31
  min-height: 4em;
28
32
  }
29
33
 
30
- .vxe-menu {
34
+ .vxe-menu,
35
+ .vxe-menu--collapse-wrapper {
31
36
  font-size: var(--vxe-ui-menu-current-font-size);
32
37
  color: var(--vxe-ui-font-color);
33
38
  font-family: var(--vxe-ui-font-family);
@@ -124,9 +129,11 @@
124
129
  }
125
130
 
126
131
  .vxe-menu--item-group {
127
- max-height: 0;
132
+ height: 0;
128
133
  overflow: hidden;
129
- transition: max-height 0.3s ease-in-out;
134
+ }
135
+ .vxe-menu--item-group[data-effect] {
136
+ transition: height 0.3s ease-in-out;
130
137
  }
131
138
 
132
139
  .vxe-menu--item-wrapper.is--active > .vxe-menu--item-link {
@@ -137,5 +144,5 @@
137
144
  background-color: var(--vxe-ui-base-active-background-color);
138
145
  }
139
146
  .vxe-menu--item-wrapper.is--expand > .vxe-menu--item-group {
140
- max-height: 1000px;
147
+ height: auto;
141
148
  }
@@ -1 +1 @@
1
- .vxe-menu{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-default)}.vxe-menu.size--medium{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu.size--small{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-small)}.vxe-menu.size--mini{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-mini)}.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{font-size:var(--vxe-ui-menu-current-font-size);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;background-color:var(--vxe-ui-layout-background-color)}.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-current-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{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-group{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.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{max-height:1000px}
1
+ .vxe-menu,.vxe-menu--collapse-wrapper{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-default)}.vxe-menu--collapse-wrapper.size--medium,.vxe-menu.size--medium{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-medium)}.vxe-menu--collapse-wrapper.size--small,.vxe-menu.size--small{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-small)}.vxe-menu--collapse-wrapper.size--mini,.vxe-menu.size--mini{--vxe-ui-menu-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-menu-current-item-height:var(--vxe-ui-menu-item-height-mini)}.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-menu-current-font-size);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;background-color:var(--vxe-ui-layout-background-color)}.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-current-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{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-group{height:0;overflow:hidden}.vxe-menu--item-group[data-effect]{transition:height .3s ease-in-out}.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{height:auto}