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
package/dist/all.esm.js CHANGED
@@ -81,7 +81,7 @@ function checkDynamic() {
81
81
  }
82
82
 
83
83
  const { log } = VxeUI;
84
- const uiVersion = `ui v${"4.16.6"}`;
84
+ const uiVersion = `ui v${"4.16.8"}`;
85
85
  function createComponentLog(name) {
86
86
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
87
87
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -95,7 +95,7 @@ function createComponentLog(name) {
95
95
  const warnLog$h = log.create('warn', uiVersion);
96
96
  log.create('error', uiVersion);
97
97
 
98
- const version = "4.16.6";
98
+ const version = "4.16.8";
99
99
  VxeUI.uiVersion = version;
100
100
  VxeUI.dynamicApp = dynamicApp;
101
101
  function config(options) {
@@ -591,8 +591,8 @@ setIcon({
591
591
  BUTTON_LOADING: iconPrefix + 'spinner roll',
592
592
  BUTTON_TOOLTIP_ICON: iconPrefix + 'question-circle-fill',
593
593
  // menu
594
- MENU_ITEM_EXPAND_OPEN: iconPrefix + 'arrow-down rotate180',
595
- MENU_ITEM_EXPAND_CLOSE: iconPrefix + 'arrow-down',
594
+ MENU_ITEM_EXPAND_OPEN: iconPrefix + 'arrow-right rotate90',
595
+ MENU_ITEM_EXPAND_CLOSE: iconPrefix + 'arrow-right',
596
596
  // select
597
597
  SELECT_LOADED: iconPrefix + 'spinner roll',
598
598
  SELECT_OPEN: iconPrefix + 'caret-down rotate180',
@@ -2548,7 +2548,7 @@ function deModelValue(nodeid) {
2548
2548
  return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
2549
2549
  }
2550
2550
 
2551
- function createReactData$l() {
2551
+ function createReactData$m() {
2552
2552
  return {
2553
2553
  target: null,
2554
2554
  isUpdate: false,
@@ -2565,7 +2565,7 @@ function createReactData$l() {
2565
2565
  }
2566
2566
  };
2567
2567
  }
2568
- function createInternalData$k() {
2568
+ function createInternalData$l() {
2569
2569
  return {
2570
2570
  // showDelayTip: undefined
2571
2571
  };
@@ -2658,8 +2658,8 @@ var VxeTooltipComponent = defineVxeComponent({
2658
2658
  const { slots, emit } = context;
2659
2659
  const xID = XEUtils.uniqueId();
2660
2660
  const { computeSize } = useSize(props);
2661
- const reactData = reactive(createReactData$l());
2662
- const internalData = createInternalData$k();
2661
+ const reactData = reactive(createReactData$m());
2662
+ const internalData = createInternalData$l();
2663
2663
  const refElem = ref();
2664
2664
  const contentWrapperfElem = ref();
2665
2665
  const computeWrapperStyle = computed(() => {
@@ -3103,8 +3103,8 @@ var VxeTooltipComponent = defineVxeComponent({
3103
3103
  }
3104
3104
  });
3105
3105
  onUnmounted(() => {
3106
- XEUtils.assign(reactData, createReactData$l());
3107
- XEUtils.assign(internalData, createInternalData$k());
3106
+ XEUtils.assign(reactData, createReactData$m());
3107
+ XEUtils.assign(internalData, createInternalData$l());
3108
3108
  });
3109
3109
  $xeTooltip.renderVN = renderVN;
3110
3110
  return $xeTooltip;
@@ -3870,12 +3870,12 @@ VxeUI.component(VxeButtonComponent);
3870
3870
  const Button = VxeButton;
3871
3871
 
3872
3872
  const { errLog: errLog$i } = createComponentLog('backtop');
3873
- function createInternalData$j() {
3873
+ function createInternalData$k() {
3874
3874
  return {
3875
3875
  targetEl: null
3876
3876
  };
3877
3877
  }
3878
- function createReactData$k() {
3878
+ function createReactData$l() {
3879
3879
  return {
3880
3880
  showBtn: false,
3881
3881
  backtopZindex: 0
@@ -3954,8 +3954,8 @@ var VxeBacktopComponent = defineVxeComponent({
3954
3954
  const xID = XEUtils.uniqueId();
3955
3955
  const refElem = ref();
3956
3956
  const { computeSize } = useSize(props);
3957
- const internalData = createInternalData$j();
3958
- const reactData = reactive(createReactData$k());
3957
+ const internalData = createInternalData$k();
3958
+ const reactData = reactive(createReactData$l());
3959
3959
  const refMaps = {
3960
3960
  refElem
3961
3961
  };
@@ -4132,8 +4132,8 @@ var VxeBacktopComponent = defineVxeComponent({
4132
4132
  });
4133
4133
  onBeforeUnmount(() => {
4134
4134
  removeScrollEvent();
4135
- XEUtils.assign(reactData, createReactData$k());
4136
- XEUtils.assign(internalData, createInternalData$j());
4135
+ XEUtils.assign(reactData, createReactData$l());
4136
+ XEUtils.assign(internalData, createInternalData$k());
4137
4137
  });
4138
4138
  $xeBacktop.renderVN = renderVN;
4139
4139
  return $xeBacktop;
@@ -6892,7 +6892,7 @@ function getRowIdByField(row, keyField) {
6892
6892
  const rowKey = getRowKeyByField(row, keyField);
6893
6893
  return enModelValue(rowKey);
6894
6894
  }
6895
- function createReactData$j() {
6895
+ function createReactData$k() {
6896
6896
  return {
6897
6897
  scrollYLoad: false,
6898
6898
  bodyHeight: 0,
@@ -6915,7 +6915,7 @@ function createReactData$j() {
6915
6915
  isCrossDragRow: false
6916
6916
  };
6917
6917
  }
6918
- function createInternalData$i() {
6918
+ function createInternalData$j() {
6919
6919
  return {
6920
6920
  resizeObserver: undefined,
6921
6921
  fullData: [],
@@ -7002,8 +7002,8 @@ var VxeListComponent = defineVxeComponent({
7002
7002
  const xID = XEUtils.uniqueId();
7003
7003
  const browseObj = XEUtils.browse();
7004
7004
  const { computeSize } = useSize(props);
7005
- const reactData = reactive(createReactData$j());
7006
- const internalData = createInternalData$i();
7005
+ const reactData = reactive(createReactData$k());
7006
+ const internalData = createInternalData$j();
7007
7007
  const crossListDragRowInfo = getCrossListDragRowInfo();
7008
7008
  const refElem = ref();
7009
7009
  const refHeaderElem = ref();
@@ -8960,8 +8960,8 @@ var VxeListComponent = defineVxeComponent({
8960
8960
  resizeObserver.disconnect();
8961
8961
  }
8962
8962
  globalEvents.off($xeList, 'resize');
8963
- XEUtils.assign(reactData, createReactData$j());
8964
- XEUtils.assign(internalData, createInternalData$i());
8963
+ XEUtils.assign(reactData, createReactData$k());
8964
+ XEUtils.assign(internalData, createInternalData$j());
8965
8965
  });
8966
8966
  $xeList.renderVN = renderVN;
8967
8967
  return $xeList;
@@ -11692,7 +11692,7 @@ const Input = VxeInput;
11692
11692
  function getNodeUniqueId$1() {
11693
11693
  return XEUtils.uniqueId('node_');
11694
11694
  }
11695
- function createReactData$i() {
11695
+ function createReactData$j() {
11696
11696
  return {
11697
11697
  initialized: false,
11698
11698
  searchValue: '',
@@ -11715,7 +11715,7 @@ function createReactData$i() {
11715
11715
  lazyOptFlag: 1
11716
11716
  };
11717
11717
  }
11718
- function createInternalData$h() {
11718
+ function createInternalData$i() {
11719
11719
  return {
11720
11720
  // hpTimeout: undefined,
11721
11721
  listVirtualYOpts: {
@@ -11732,6 +11732,7 @@ function createInternalData$h() {
11732
11732
  selectCheckboxMaps: {},
11733
11733
  treeExpandedMaps: {},
11734
11734
  treeExpandLazyLoadedMaps: {}
11735
+ // isUpdateMode: false
11735
11736
  };
11736
11737
  }
11737
11738
  var VxeCascaderComponent = defineVxeComponent({
@@ -11842,8 +11843,8 @@ var VxeCascaderComponent = defineVxeComponent({
11842
11843
  const refInpSearch = ref();
11843
11844
  const refChunkWrapper = ref();
11844
11845
  const refOptionPanel = ref();
11845
- const reactData = reactive(createReactData$i());
11846
- const internalData = createInternalData$h();
11846
+ const reactData = reactive(createReactData$j());
11847
+ const internalData = createInternalData$i();
11847
11848
  const refMaps = {
11848
11849
  refElem
11849
11850
  };
@@ -11994,6 +11995,20 @@ var VxeCascaderComponent = defineVxeComponent({
11994
11995
  const nodeKey = node[valueField];
11995
11996
  return enNodeValue(nodeKey);
11996
11997
  };
11998
+ const isPathInTree = (treeData, pathIds) => {
11999
+ if (!pathIds || !pathIds.length) {
12000
+ return false;
12001
+ }
12002
+ let currentNodes = treeData;
12003
+ for (const nodeid of pathIds) {
12004
+ const found = currentNodes.find(node => getNodeId(node) === nodeid);
12005
+ if (!found) {
12006
+ return false;
12007
+ }
12008
+ currentNodes = found.children || [];
12009
+ }
12010
+ return true;
12011
+ };
11997
12012
  const isCheckedByCheckboxNodeId = (nodeid) => {
11998
12013
  const { updateCheckboxFlag } = reactData;
11999
12014
  const { selectCheckboxMaps } = internalData;
@@ -12187,7 +12202,7 @@ var VxeCascaderComponent = defineVxeComponent({
12187
12202
  if (transform) {
12188
12203
  treeList = XEUtils.searchTree(treeFullData, handleSearch, {
12189
12204
  original: true,
12190
- isEvery: true,
12205
+ isEvery: false,
12191
12206
  children: childrenField,
12192
12207
  mapChildren: mapChildrenField
12193
12208
  });
@@ -12207,7 +12222,7 @@ var VxeCascaderComponent = defineVxeComponent({
12207
12222
  if (transform) {
12208
12223
  treeList = XEUtils.searchTree(treeFullData, () => true, {
12209
12224
  original: true,
12210
- isEvery: true,
12225
+ isEvery: false,
12211
12226
  children: childrenField,
12212
12227
  mapChildren: mapChildrenField
12213
12228
  });
@@ -12300,17 +12315,26 @@ var VxeCascaderComponent = defineVxeComponent({
12300
12315
  }
12301
12316
  const triggerSearchEvent = XEUtils.debounce(() => {
12302
12317
  handleData(true);
12303
- updateModelChecked();
12318
+ updateCheckboxStatus();
12319
+ const { currentItems } = reactData;
12320
+ const { afterTreeList } = internalData;
12304
12321
  const filterOpts = computeFilterOpts.value;
12305
12322
  const { autoExpandMode } = filterOpts;
12306
- const { afterTreeList } = internalData;
12307
- // 默认展开第
12308
- if (autoExpandMode === 'first' || autoExpandMode === 'last') {
12309
- const stItems = handleHasChildNodeIds(afterTreeList, autoExpandMode);
12310
- reactData.currentItems = stItems;
12311
- }
12312
- else {
12313
- handleCurrentItems();
12323
+ // 如果当前不在列表情况下,触发默认行为
12324
+ if (!isPathInTree(afterTreeList, currentItems)) {
12325
+ // 默认展开
12326
+ if (autoExpandMode === 'first' || autoExpandMode === 'last') {
12327
+ const stItems = handleHasChildNodeIds(afterTreeList, autoExpandMode);
12328
+ const expandedMaps = {};
12329
+ stItems.forEach(nodeid => {
12330
+ expandedMaps[nodeid] = true;
12331
+ });
12332
+ internalData.treeExpandedMaps = expandedMaps;
12333
+ reactData.currentItems = stItems;
12334
+ }
12335
+ else {
12336
+ handleCurrentItems();
12337
+ }
12314
12338
  }
12315
12339
  updateCurrentChunk();
12316
12340
  }, 350, { trailing: true });
@@ -12454,6 +12478,7 @@ var VxeCascaderComponent = defineVxeComponent({
12454
12478
  };
12455
12479
  const setCurrentNode = (node) => {
12456
12480
  reactData.currentNode = node;
12481
+ updateCurrentChunk();
12457
12482
  return nextTick();
12458
12483
  };
12459
12484
  const setAllCheckboxNode = (checked) => {
@@ -12492,6 +12517,7 @@ var VxeCascaderComponent = defineVxeComponent({
12492
12517
  };
12493
12518
  const changeEvent = (evnt, selectValue, node) => {
12494
12519
  const value = XEUtils.isArray(selectValue) ? selectValue.map(deNodeValue) : deNodeValue(selectValue);
12520
+ internalData.isUpdateMode = true;
12495
12521
  emitModel(value);
12496
12522
  if (value !== props.modelValue) {
12497
12523
  dispatchEvent('change', { value, node, option: node }, evnt);
@@ -12602,9 +12628,10 @@ var VxeCascaderComponent = defineVxeComponent({
12602
12628
  reactData.currentNode = node;
12603
12629
  dispatchEvent('current-change', { node, checked: isChecked }, evnt);
12604
12630
  };
12605
- const changeRadioEvent = (evnt, node) => {
12631
+ const changeRadioEvent = (evnt, node, chunks, chunkIndex) => {
12606
12632
  evnt.preventDefault();
12607
12633
  evnt.stopPropagation();
12634
+ const { currentItems } = reactData;
12608
12635
  const { nodeMaps } = internalData;
12609
12636
  const radioOpts = computeRadioOpts.value;
12610
12637
  const childrenField = computeChildrenField.value;
@@ -12624,6 +12651,10 @@ var VxeCascaderComponent = defineVxeComponent({
12624
12651
  const value = nodeid;
12625
12652
  reactData.selectRadioKey = value;
12626
12653
  changeEvent(evnt, value, node);
12654
+ if (!currentItems.includes(nodeid)) {
12655
+ changeCurrentEvent(evnt, node);
12656
+ toggleExpandEvent(evnt, node, chunks, chunkIndex);
12657
+ }
12627
12658
  hideOptionPanel(evnt);
12628
12659
  };
12629
12660
  const handleAsyncTreeExpandChilds = (node) => {
@@ -12746,7 +12777,6 @@ var VxeCascaderComponent = defineVxeComponent({
12746
12777
  handleBaseTreeExpand([node], expanded);
12747
12778
  }
12748
12779
  setCurrentNode(node);
12749
- updateCurrentChunk();
12750
12780
  dispatchEvent('node-expand', { node, expanded }, evnt);
12751
12781
  };
12752
12782
  const updateCheckboxStatus = () => {
@@ -12855,9 +12885,11 @@ var VxeCascaderComponent = defineVxeComponent({
12855
12885
  reactData.updateCheckboxFlag++;
12856
12886
  }
12857
12887
  };
12858
- const changeCheckboxEvent = (evnt, node) => {
12888
+ const changeCheckboxEvent = (evnt, node, chunks, chunkIndex) => {
12859
12889
  evnt.preventDefault();
12860
12890
  evnt.stopPropagation();
12891
+ // const { filterable } = props
12892
+ const { currentItems } = reactData;
12861
12893
  const { selectCheckboxMaps, nodeMaps } = internalData;
12862
12894
  const childrenField = computeChildrenField.value;
12863
12895
  const mapChildrenField = computeMapChildrenField.value;
@@ -12883,11 +12915,11 @@ var VxeCascaderComponent = defineVxeComponent({
12883
12915
  selectCheckboxMaps[nodeid] = node;
12884
12916
  }
12885
12917
  if (!checkStrictly) {
12886
- XEUtils.eachTree(XEUtils.get(node, transform ? mapChildrenField : childrenField), (childNode) => {
12918
+ XEUtils.eachTree(childList, (childNode) => {
12887
12919
  const childNodeid = getNodeId(childNode);
12888
12920
  if (isChecked) {
12889
12921
  if (!selectCheckboxMaps[childNodeid]) {
12890
- selectCheckboxMaps[childNodeid] = true;
12922
+ selectCheckboxMaps[childNodeid] = childNode;
12891
12923
  }
12892
12924
  }
12893
12925
  else {
@@ -12897,11 +12929,16 @@ var VxeCascaderComponent = defineVxeComponent({
12897
12929
  }
12898
12930
  }, { children: transform ? mapChildrenField : childrenField });
12899
12931
  }
12932
+ selectCheckboxMaps[nodeid] = node;
12900
12933
  reactData.updateCheckboxFlag++;
12901
12934
  updateCheckboxStatus();
12902
12935
  const nodeids = XEUtils.keys(selectCheckboxMaps);
12903
12936
  const value = nodeids;
12904
12937
  changeEvent(evnt, value, node);
12938
+ if (!currentItems.includes(nodeid)) {
12939
+ changeCurrentEvent(evnt, node);
12940
+ toggleExpandEvent(evnt, node, chunks, chunkIndex);
12941
+ }
12905
12942
  };
12906
12943
  const handleNodeClickEvent = (evnt, node, chunks, chunkIndex) => {
12907
12944
  const { multiple, showCheckbox, showRadio } = props;
@@ -12925,13 +12962,13 @@ var VxeCascaderComponent = defineVxeComponent({
12925
12962
  if (multiple) {
12926
12963
  if (checkboxOpts.trigger === 'node' || (!showCheckbox && (!childList || !childList.length))) {
12927
12964
  triggerCheckbox = true;
12928
- changeCheckboxEvent(evnt, node);
12965
+ changeCheckboxEvent(evnt, node, chunks, chunkIndex);
12929
12966
  }
12930
12967
  }
12931
12968
  else {
12932
12969
  if (radioOpts.trigger === 'node' || (!showRadio && (!childList || !childList.length))) {
12933
12970
  triggerRadio = true;
12934
- changeRadioEvent(evnt, node);
12971
+ changeRadioEvent(evnt, node, chunks, chunkIndex);
12935
12972
  }
12936
12973
  }
12937
12974
  dispatchEvent('node-click', { node, triggerCurrent, triggerRadio, triggerCheckbox, triggerExpand }, evnt);
@@ -13056,7 +13093,7 @@ var VxeCascaderComponent = defineVxeComponent({
13056
13093
  }
13057
13094
  return true;
13058
13095
  };
13059
- const renderRadio = (node, isExistChild, nLevel, isChecked) => {
13096
+ const renderRadio = (node, isExistChild, nLevel, isChecked, chunks, chunkIndex) => {
13060
13097
  const { showRadio } = props;
13061
13098
  const radioOpts = computeRadioOpts.value;
13062
13099
  const { checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
@@ -13070,7 +13107,7 @@ var VxeCascaderComponent = defineVxeComponent({
13070
13107
  }],
13071
13108
  onClick: (evnt) => {
13072
13109
  if (!isDisabled) {
13073
- changeRadioEvent(evnt, node);
13110
+ changeRadioEvent(evnt, node, chunks, chunkIndex);
13074
13111
  }
13075
13112
  }
13076
13113
  }, [
@@ -13081,7 +13118,7 @@ var VxeCascaderComponent = defineVxeComponent({
13081
13118
  }
13082
13119
  return renderEmptyElement($xeCascader);
13083
13120
  };
13084
- const renderCheckbox = (node, isExistChild, nLevel, isChecked, isIndeterminate) => {
13121
+ const renderCheckbox = (node, isExistChild, nLevel, isChecked, isIndeterminate, chunks, chunkIndex) => {
13085
13122
  const { showCheckbox } = props;
13086
13123
  const checkboxOpts = computeCheckboxOpts.value;
13087
13124
  const { checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
@@ -13096,7 +13133,7 @@ var VxeCascaderComponent = defineVxeComponent({
13096
13133
  }],
13097
13134
  onClick: (evnt) => {
13098
13135
  if (!isDisabled) {
13099
- changeCheckboxEvent(evnt, node);
13136
+ changeCheckboxEvent(evnt, node, chunks, chunkIndex);
13100
13137
  }
13101
13138
  }
13102
13139
  }, [
@@ -13164,7 +13201,7 @@ var VxeCascaderComponent = defineVxeComponent({
13164
13201
  handleNodeClickEvent(evnt, node, chunks, chunkIndex);
13165
13202
  }
13166
13203
  }, [
13167
- multiple ? renderCheckbox(node, isExistChild, nLevel, isCheckboxChecked, isIndeterminate) : renderRadio(node, isExistChild, nLevel, isRadioChecked),
13204
+ multiple ? renderCheckbox(node, isExistChild, nLevel, isCheckboxChecked, isIndeterminate, chunks, chunkIndex) : renderRadio(node, isExistChild, nLevel, isRadioChecked, chunks, chunkIndex),
13168
13205
  h('div', {
13169
13206
  class: 'vxe-cascader-chunk--node-item-inner'
13170
13207
  }, [
@@ -13385,9 +13422,12 @@ var VxeCascaderComponent = defineVxeComponent({
13385
13422
  ]);
13386
13423
  };
13387
13424
  watch(() => props.modelValue, () => {
13388
- updateModelChecked();
13389
- handleCurrentItems();
13390
- updateCurrentChunk();
13425
+ if (!internalData.isUpdateMode) {
13426
+ updateModelChecked();
13427
+ handleCurrentItems();
13428
+ updateCurrentChunk();
13429
+ }
13430
+ internalData.isUpdateMode = false;
13391
13431
  });
13392
13432
  watch(() => props.options, () => {
13393
13433
  cacheNodeMap();
@@ -13414,8 +13454,8 @@ var VxeCascaderComponent = defineVxeComponent({
13414
13454
  globalEvents.off($xeCascader, 'mousedown');
13415
13455
  globalEvents.off($xeCascader, 'blur');
13416
13456
  globalEvents.off($xeCascader, 'resize');
13417
- XEUtils.assign(reactData, createReactData$i());
13418
- XEUtils.assign(internalData, createInternalData$h());
13457
+ XEUtils.assign(reactData, createReactData$j());
13458
+ XEUtils.assign(internalData, createInternalData$i());
13419
13459
  });
13420
13460
  provide('$xeCascader', $xeCascader);
13421
13461
  $xeCascader.renderVN = renderVN;
@@ -13819,10 +13859,10 @@ dynamicApp.use(VxeCheckboxButton);
13819
13859
  VxeUI.component(VxeCheckboxButtonComponent);
13820
13860
  const CheckboxButton = VxeCheckboxButton;
13821
13861
 
13822
- function createReactData$h() {
13862
+ function createReactData$i() {
13823
13863
  return {};
13824
13864
  }
13825
- function createInternalData$g() {
13865
+ function createInternalData$h() {
13826
13866
  return {
13827
13867
  // isLoaded: false
13828
13868
  };
@@ -13865,8 +13905,8 @@ var VxeCheckboxGroupComponent = defineVxeComponent({
13865
13905
  const $xeForm = inject('$xeForm', null);
13866
13906
  const formItemInfo = inject('xeFormItemInfo', null);
13867
13907
  const xID = XEUtils.uniqueId();
13868
- const reactData = reactive(createReactData$h());
13869
- const internalData = createInternalData$g();
13908
+ const reactData = reactive(createReactData$i());
13909
+ const internalData = createInternalData$h();
13870
13910
  const computeIsReadonly = computed(() => {
13871
13911
  const { readonly } = props;
13872
13912
  if (readonly === null) {
@@ -14038,8 +14078,8 @@ var VxeCheckboxGroupComponent = defineVxeComponent({
14038
14078
  });
14039
14079
  });
14040
14080
  onUnmounted(() => {
14041
- XEUtils.assign(reactData, createReactData$h());
14042
- XEUtils.assign(internalData, createInternalData$g());
14081
+ XEUtils.assign(reactData, createReactData$i());
14082
+ XEUtils.assign(internalData, createInternalData$h());
14043
14083
  });
14044
14084
  provide('$xeCheckboxGroup', $xeCheckboxGroup);
14045
14085
  $xeCheckboxGroup.renderVN = renderVN;
@@ -14172,7 +14212,7 @@ dynamicApp.use(VxeCol);
14172
14212
  VxeUI.component(VxeColComponent);
14173
14213
  const Col = VxeCol;
14174
14214
 
14175
- function createReactData$g() {
14215
+ function createReactData$h() {
14176
14216
  return {
14177
14217
  staticPanes: [],
14178
14218
  cachePaneMaps: {},
@@ -14180,7 +14220,7 @@ function createReactData$g() {
14180
14220
  openKeyFlag: 0
14181
14221
  };
14182
14222
  }
14183
- function createInternalData$f() {
14223
+ function createInternalData$g() {
14184
14224
  return {
14185
14225
  // esTime: null,
14186
14226
  activeKeyMaps: {},
@@ -14217,8 +14257,8 @@ var VxeCollapseComponent = defineVxeComponent({
14217
14257
  const xID = XEUtils.uniqueId();
14218
14258
  const { computeSize } = useSize(props);
14219
14259
  const refElem = ref();
14220
- const reactData = reactive(createReactData$g());
14221
- const internalData = createInternalData$f();
14260
+ const reactData = reactive(createReactData$h());
14261
+ const internalData = createInternalData$g();
14222
14262
  const refMaps = {
14223
14263
  refElem
14224
14264
  };
@@ -14497,8 +14537,8 @@ var VxeCollapseComponent = defineVxeComponent({
14497
14537
  if (esTime) {
14498
14538
  clearTimeout(esTime);
14499
14539
  }
14500
- XEUtils.assign(reactData, createReactData$g());
14501
- XEUtils.assign(internalData, createInternalData$f());
14540
+ XEUtils.assign(reactData, createReactData$h());
14541
+ XEUtils.assign(internalData, createInternalData$g());
14502
14542
  });
14503
14543
  provide('$xeCollapse', $xeCollapse);
14504
14544
  $xeCollapse.renderVN = renderVN;
@@ -16884,12 +16924,12 @@ dynamicApp.use(VxeColorPicker);
16884
16924
  VxeUI.component(VxeColorPickerComponent);
16885
16925
  const ColorPicker = VxeColorPicker;
16886
16926
 
16887
- function createInternalData$e() {
16927
+ function createInternalData$f() {
16888
16928
  return {
16889
16929
  // leaveTime: null
16890
16930
  };
16891
16931
  }
16892
- function createReactData$f() {
16932
+ function createReactData$g() {
16893
16933
  return {
16894
16934
  visible: false,
16895
16935
  activeOption: null,
@@ -16944,8 +16984,8 @@ var VxeContextMenuComponent = defineVxeComponent({
16944
16984
  const xID = XEUtils.uniqueId();
16945
16985
  const refElem = ref();
16946
16986
  const { computeSize } = useSize(props);
16947
- const internalData = createInternalData$e();
16948
- const reactData = reactive(createReactData$f());
16987
+ const internalData = createInternalData$f();
16988
+ const reactData = reactive(createReactData$g());
16949
16989
  const refMaps = {
16950
16990
  refElem
16951
16991
  };
@@ -17500,8 +17540,8 @@ var VxeContextMenuComponent = defineVxeComponent({
17500
17540
  globalEvents.off($xeContextMenu, 'keydown');
17501
17541
  globalEvents.off($xeContextMenu, 'mousedown');
17502
17542
  globalEvents.off($xeContextMenu, 'blur');
17503
- XEUtils.assign(reactData, createReactData$f());
17504
- XEUtils.assign(internalData, createInternalData$e());
17543
+ XEUtils.assign(reactData, createReactData$g());
17544
+ XEUtils.assign(internalData, createInternalData$f());
17505
17545
  });
17506
17546
  $xeContextMenu.renderVN = renderVN;
17507
17547
  return $xeContextMenu;
@@ -19819,7 +19859,7 @@ const parseInputKayMaps = {};
19819
19859
  inputMaskedKeys.forEach(key => {
19820
19860
  parseInputKayMaps[key] = true;
19821
19861
  });
19822
- function createReactData$e() {
19862
+ function createReactData$f() {
19823
19863
  return {
19824
19864
  initialized: false,
19825
19865
  panelIndex: 0,
@@ -19832,7 +19872,7 @@ function createReactData$e() {
19832
19872
  labelFlag: 0
19833
19873
  };
19834
19874
  }
19835
- function createInternalData$d() {
19875
+ function createInternalData$e() {
19836
19876
  return {
19837
19877
  // hpTimeout: undefined,
19838
19878
  // fsTimeout: undefined,
@@ -19972,8 +20012,8 @@ var VxeDatePickerComponent = defineVxeComponent({
19972
20012
  const formItemInfo = inject('xeFormItemInfo', null);
19973
20013
  const xID = XEUtils.uniqueId();
19974
20014
  const { computeSize } = useSize(props);
19975
- const reactData = reactive(createReactData$e());
19976
- const internalData = createInternalData$d();
20015
+ const reactData = reactive(createReactData$f());
20016
+ const internalData = createInternalData$e();
19977
20017
  const refElem = ref();
19978
20018
  const refInputTarget = ref();
19979
20019
  const refInputPanel = ref();
@@ -21408,8 +21448,8 @@ var VxeDatePickerComponent = defineVxeComponent({
21408
21448
  globalEvents.off($xeDatePicker, 'keydown');
21409
21449
  globalEvents.off($xeDatePicker, 'blur');
21410
21450
  globalEvents.off($xeDatePicker, 'resize');
21411
- XEUtils.assign(reactData, createReactData$e());
21412
- XEUtils.assign(internalData, createInternalData$d());
21451
+ XEUtils.assign(reactData, createReactData$f());
21452
+ XEUtils.assign(internalData, createInternalData$e());
21413
21453
  });
21414
21454
  provide('$xeDatePicker', $xeDatePicker);
21415
21455
  $xeDatePicker.renderVN = renderVN;
@@ -21430,7 +21470,7 @@ VxeUI.component(VxeDatePickerComponent);
21430
21470
  const DatePicker = VxeDatePicker;
21431
21471
 
21432
21472
  const { errLog: errLog$d } = createComponentLog('date-range-picker');
21433
- function createReactData$d() {
21473
+ function createReactData$e() {
21434
21474
  return {
21435
21475
  initialized: false,
21436
21476
  panelIndex: 0,
@@ -21445,7 +21485,7 @@ function createReactData$d() {
21445
21485
  paneEndVal: []
21446
21486
  };
21447
21487
  }
21448
- function createInternalData$c() {
21488
+ function createInternalData$d() {
21449
21489
  return {
21450
21490
  // selectStatus: false
21451
21491
  // hpTimeout: undefined
@@ -21587,8 +21627,8 @@ var VxeDateRangePickerComponent = defineVxeComponent({
21587
21627
  const formItemInfo = inject('xeFormItemInfo', null);
21588
21628
  const xID = XEUtils.uniqueId();
21589
21629
  const { computeSize } = useSize(props);
21590
- const reactData = reactive(createReactData$d());
21591
- const internalData = createInternalData$c();
21630
+ const reactData = reactive(createReactData$e());
21631
+ const internalData = createInternalData$d();
21592
21632
  const refElem = ref();
21593
21633
  const refInputTarget = ref();
21594
21634
  const refInputPanel = ref();
@@ -22055,18 +22095,26 @@ var VxeDateRangePickerComponent = defineVxeComponent({
22055
22095
  hidePanel();
22056
22096
  };
22057
22097
  const startPanelChangeEvent = (params) => {
22098
+ const { paneStartVal } = reactData;
22058
22099
  const { selectStatus } = internalData;
22059
22100
  const { value, currValue, $event } = params;
22060
22101
  const paneVals = value ? (XEUtils.isString(value) ? value.split(',') : [value]) : [];
22061
22102
  let startValue = '';
22062
22103
  let endValue = '';
22063
22104
  if (selectStatus) {
22064
- startValue = paneVals[0];
22065
- if (paneVals[1]) {
22066
- endValue = paneVals[1];
22105
+ // 如果选择同一天
22106
+ if (!value && currValue === paneStartVal[0]) {
22107
+ startValue = currValue;
22108
+ endValue = currValue;
22067
22109
  }
22068
22110
  else {
22069
- endValue = reactData.selectEdValue;
22111
+ startValue = paneVals[0];
22112
+ if (paneVals[1]) {
22113
+ endValue = paneVals[1];
22114
+ }
22115
+ else {
22116
+ endValue = reactData.selectEdValue;
22117
+ }
22070
22118
  }
22071
22119
  }
22072
22120
  else {
@@ -22089,19 +22137,27 @@ var VxeDateRangePickerComponent = defineVxeComponent({
22089
22137
  });
22090
22138
  };
22091
22139
  const endPanelChangeEvent = (params) => {
22140
+ const { paneEndVal } = reactData;
22092
22141
  const { selectStatus } = internalData;
22093
22142
  const { value, currValue, $event } = params;
22094
22143
  const paneVals = value ? (XEUtils.isString(value) ? value.split(',') : [value]) : [];
22095
22144
  let startValue = '';
22096
22145
  let endValue = '';
22097
22146
  if (selectStatus) {
22098
- endValue = paneVals[0];
22099
- if (paneVals[1]) {
22100
- startValue = paneVals[0];
22101
- endValue = paneVals[1];
22147
+ // 如果选择同一天
22148
+ if (!value && currValue === paneEndVal[1]) {
22149
+ startValue = currValue;
22150
+ endValue = currValue;
22102
22151
  }
22103
22152
  else {
22104
- startValue = reactData.selectStValue;
22153
+ endValue = paneVals[0];
22154
+ if (paneVals[1]) {
22155
+ startValue = paneVals[0];
22156
+ endValue = paneVals[1];
22157
+ }
22158
+ else {
22159
+ startValue = reactData.selectStValue;
22160
+ }
22105
22161
  }
22106
22162
  }
22107
22163
  else {
@@ -22897,8 +22953,8 @@ var VxeDateRangePickerComponent = defineVxeComponent({
22897
22953
  globalEvents.off($xeDateRangePicker, 'mousedown');
22898
22954
  globalEvents.off($xeDateRangePicker, 'blur');
22899
22955
  globalEvents.off($xeDateRangePicker, 'resize');
22900
- XEUtils.assign(reactData, createReactData$d());
22901
- XEUtils.assign(internalData, createInternalData$c());
22956
+ XEUtils.assign(reactData, createReactData$e());
22957
+ XEUtils.assign(internalData, createInternalData$d());
22902
22958
  });
22903
22959
  provide('$xeDateRangePicker', $xeDateRangePicker);
22904
22960
  $xeDateRangePicker.renderVN = renderVN;
@@ -25092,7 +25148,7 @@ function checkRuleStatus(rule, data, val) {
25092
25148
  }
25093
25149
  return true;
25094
25150
  }
25095
- function createReactData$c() {
25151
+ function createReactData$d() {
25096
25152
  return {
25097
25153
  collapseAll: false,
25098
25154
  staticItems: [],
@@ -25100,7 +25156,7 @@ function createReactData$c() {
25100
25156
  itemWidth: 0
25101
25157
  };
25102
25158
  }
25103
- function createInternalData$b() {
25159
+ function createInternalData$c() {
25104
25160
  return {
25105
25161
  meTimeout: undefined,
25106
25162
  stTimeout: undefined,
@@ -25209,8 +25265,8 @@ var VxeFormComponent = defineVxeComponent({
25209
25265
  const $xeGrid = inject('$xeGrid', null);
25210
25266
  const xID = XEUtils.uniqueId();
25211
25267
  const { computeSize } = useSize(props);
25212
- const reactData = reactive(createReactData$c());
25213
- const internalData = createInternalData$b();
25268
+ const reactData = reactive(createReactData$d());
25269
+ const internalData = createInternalData$c();
25214
25270
  const refElem = ref();
25215
25271
  const refTooltip = ref();
25216
25272
  let formMethods = {};
@@ -25904,8 +25960,8 @@ var VxeFormComponent = defineVxeComponent({
25904
25960
  });
25905
25961
  onUnmounted(() => {
25906
25962
  globalEvents.off($xeForm, 'resize');
25907
- XEUtils.assign(reactData, createReactData$c());
25908
- XEUtils.assign(internalData, createInternalData$b());
25963
+ XEUtils.assign(reactData, createReactData$d());
25964
+ XEUtils.assign(internalData, createInternalData$c());
25909
25965
  });
25910
25966
  reactData.collapseAll = !!props.collapseStatus;
25911
25967
  if (props.items) {
@@ -26032,7 +26088,7 @@ dynamicApp.use(VxeFormItem);
26032
26088
  VxeUI.component(VxeFormItemComponent);
26033
26089
  const FormItem = VxeFormItem;
26034
26090
 
26035
- function createReactData$b() {
26091
+ function createReactData$c() {
26036
26092
  return {
26037
26093
  initialized: false,
26038
26094
  selectIcon: '',
@@ -26046,7 +26102,7 @@ function createReactData$b() {
26046
26102
  iconList: []
26047
26103
  };
26048
26104
  }
26049
- function createInternalData$a() {
26105
+ function createInternalData$b() {
26050
26106
  return {
26051
26107
  fullList: []
26052
26108
  // hpTimeout: undefined
@@ -26108,8 +26164,8 @@ var VxeIconPickerComponent = defineVxeComponent({
26108
26164
  const formItemInfo = inject('xeFormItemInfo', null);
26109
26165
  const xID = XEUtils.uniqueId();
26110
26166
  const { computeSize } = useSize(props);
26111
- const reactData = reactive(createReactData$b());
26112
- const internalData = createInternalData$a();
26167
+ const reactData = reactive(createReactData$c());
26168
+ const internalData = createInternalData$b();
26113
26169
  const refElem = ref();
26114
26170
  const refInput = ref();
26115
26171
  const refOptionPanel = ref();
@@ -26708,8 +26764,8 @@ var VxeIconPickerComponent = defineVxeComponent({
26708
26764
  globalEvents.off($xeIconPicker, 'mousedown');
26709
26765
  globalEvents.off($xeIconPicker, 'keydown');
26710
26766
  globalEvents.off($xeIconPicker, 'blur');
26711
- XEUtils.assign(reactData, createReactData$b());
26712
- XEUtils.assign(internalData, createInternalData$a());
26767
+ XEUtils.assign(reactData, createReactData$c());
26768
+ XEUtils.assign(internalData, createInternalData$b());
26713
26769
  });
26714
26770
  provide('$xeIconPicker', $xeIconPicker);
26715
26771
  $xeIconPicker.renderVN = renderVN;
@@ -27412,13 +27468,13 @@ const openPreviewImage = (options) => {
27412
27468
  return Promise.resolve();
27413
27469
  };
27414
27470
 
27415
- function createInternalData$9() {
27471
+ function createInternalData$a() {
27416
27472
  return {
27417
27473
  // dgTime: 0,
27418
27474
  // mdTime: 0
27419
27475
  };
27420
27476
  }
27421
- function createReactData$a() {
27477
+ function createReactData$b() {
27422
27478
  return {};
27423
27479
  }
27424
27480
  var VxeImageComponent = defineVxeComponent({
@@ -27477,8 +27533,8 @@ var VxeImageComponent = defineVxeComponent({
27477
27533
  const $xeImageGroup = inject('$xeImageGroup', null);
27478
27534
  const refElem = ref();
27479
27535
  const { computeSize } = useSize(props);
27480
- const internalData = createInternalData$9();
27481
- const reactData = reactive(createReactData$a());
27536
+ const internalData = createInternalData$a();
27537
+ const reactData = reactive(createReactData$b());
27482
27538
  const refMaps = {
27483
27539
  refElem
27484
27540
  };
@@ -27664,8 +27720,8 @@ var VxeImageComponent = defineVxeComponent({
27664
27720
  ]);
27665
27721
  };
27666
27722
  onBeforeUnmount(() => {
27667
- XEUtils.assign(reactData, createReactData$a());
27668
- XEUtils.assign(internalData, createInternalData$9());
27723
+ XEUtils.assign(reactData, createReactData$b());
27724
+ XEUtils.assign(internalData, createInternalData$a());
27669
27725
  });
27670
27726
  $xeImage.renderVN = renderVN;
27671
27727
  return $xeImage;
@@ -27945,10 +28001,10 @@ dynamicApp.use(VxeLayoutAside);
27945
28001
  VxeUI.component(VxeLayoutAsideComponent);
27946
28002
  const LayoutAside = VxeLayoutAside;
27947
28003
 
27948
- function createInternalData$8() {
28004
+ function createInternalData$9() {
27949
28005
  return {};
27950
28006
  }
27951
- function createReactData$9() {
28007
+ function createReactData$a() {
27952
28008
  return {};
27953
28009
  }
27954
28010
  var VxeLayoutBodyComponent = defineVxeComponent({
@@ -27973,8 +28029,8 @@ var VxeLayoutBodyComponent = defineVxeComponent({
27973
28029
  const backtopId = `vxe_layout_body_backtop_${xID}`;
27974
28030
  const refElem = ref();
27975
28031
  const { computeSize } = useSize(props);
27976
- const internalData = createInternalData$8();
27977
- const reactData = reactive(createReactData$9());
28032
+ const internalData = createInternalData$9();
28033
+ const reactData = reactive(createReactData$a());
27978
28034
  const refMaps = {
27979
28035
  refElem
27980
28036
  };
@@ -28391,6 +28447,23 @@ const Link = VxeLink;
28391
28447
 
28392
28448
  const { errLog: errLog$9 } = createComponentLog('menu');
28393
28449
  const { menus: menus$1, getConfig: getConfig$1, getIcon: getIcon$1 } = VxeUI;
28450
+ function createInternalData$8() {
28451
+ return {
28452
+ menuEffectMaps: {}
28453
+ };
28454
+ }
28455
+ function createReactData$9() {
28456
+ return {
28457
+ initialized: false,
28458
+ isEnterCollapse: false,
28459
+ collapseStyle: {},
28460
+ collapseZindex: 0,
28461
+ activeName: '',
28462
+ menuList: [],
28463
+ itemHeight: 1
28464
+ };
28465
+ }
28466
+ let nemuUniqueKey = 100000000;
28394
28467
  var VxeMenuComponent = defineVxeComponent({
28395
28468
  name: 'VxeMenu',
28396
28469
  props: {
@@ -28429,15 +28502,8 @@ var VxeMenuComponent = defineVxeComponent({
28429
28502
  const refElem = ref();
28430
28503
  const refCollapseElem = ref();
28431
28504
  const { computeSize } = useSize(props);
28432
- const reactData = reactive({
28433
- initialized: !!props.collapsed,
28434
- isEnterCollapse: false,
28435
- collapseStyle: {},
28436
- collapseZindex: 0,
28437
- activeName: props.modelValue,
28438
- menuList: [],
28439
- itemHeight: 1
28440
- });
28505
+ const reactData = reactive(createReactData$9());
28506
+ const internalData = createInternalData$8();
28441
28507
  const refMaps = {
28442
28508
  refElem
28443
28509
  };
@@ -28508,7 +28574,7 @@ var VxeMenuComponent = defineVxeComponent({
28508
28574
  const updateMenuConfig = () => {
28509
28575
  const { options, expandAll } = props;
28510
28576
  reactData.menuList = XEUtils.mapTree(options, (item, index, items, path, parent) => {
28511
- 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 });
28577
+ 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 });
28512
28578
  return objItem;
28513
28579
  }, { children: 'children', mapChildren: 'childList' });
28514
28580
  };
@@ -28560,10 +28626,16 @@ var VxeMenuComponent = defineVxeComponent({
28560
28626
  };
28561
28627
  const handleClickIconCollapse = (evnt, item, itemList) => {
28562
28628
  const { accordion } = props;
28563
- const { hasChild, isExpand } = item;
28629
+ const { menuEffectMaps } = internalData;
28630
+ const { itemId, hasChild, isExpand } = item;
28631
+ const isCollapsed = computeIsCollapsed.value;
28632
+ const expanded = !isExpand;
28564
28633
  if (hasChild) {
28565
28634
  evnt.stopPropagation();
28566
28635
  evnt.preventDefault();
28636
+ if (menuEffectMaps[itemId]) {
28637
+ clearTimeout(menuEffectMaps[itemId]);
28638
+ }
28567
28639
  if (accordion) {
28568
28640
  itemList.forEach(obj => {
28569
28641
  if (obj !== item) {
@@ -28571,7 +28643,33 @@ var VxeMenuComponent = defineVxeComponent({
28571
28643
  }
28572
28644
  });
28573
28645
  }
28574
- item.isExpand = !isExpand;
28646
+ item.isExpand = expanded;
28647
+ const wrapperEl = isCollapsed ? refCollapseElem.value : refElem.value;
28648
+ if (wrapperEl) {
28649
+ const nemuEl = wrapperEl.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${itemId}"]`);
28650
+ const groupEl = nemuEl ? nemuEl.querySelector('.vxe-menu--item-group') : null;
28651
+ if (groupEl) {
28652
+ if (expanded) {
28653
+ groupEl.style.height = '0';
28654
+ groupEl.setAttribute('data-effect', 'y');
28655
+ requestAnimationFrame(() => {
28656
+ groupEl.style.height = `${groupEl.scrollHeight}px`;
28657
+ });
28658
+ }
28659
+ else {
28660
+ groupEl.style.height = `${groupEl.scrollHeight}px`;
28661
+ groupEl.setAttribute('data-effect', 'y');
28662
+ requestAnimationFrame(() => {
28663
+ groupEl.style.height = '0';
28664
+ });
28665
+ }
28666
+ menuEffectMaps[itemId] = setTimeout(() => {
28667
+ delete menuEffectMaps[itemId];
28668
+ groupEl.removeAttribute('data-effect');
28669
+ groupEl.style.height = '';
28670
+ }, 350);
28671
+ }
28672
+ }
28575
28673
  }
28576
28674
  };
28577
28675
  const emitModel = (value) => {
@@ -28717,7 +28815,7 @@ var VxeMenuComponent = defineVxeComponent({
28717
28815
  ];
28718
28816
  };
28719
28817
  const renderDefaultChildren = (item, itemList) => {
28720
- const { itemKey, level, hasChild, isActive, isExactActive, isExpand, routerLink, childList } = item;
28818
+ const { itemId, itemKey, level, hasChild, isActive, isExactActive, isExpand, routerLink, childList } = item;
28721
28819
  const { isEnterCollapse } = reactData;
28722
28820
  const isCollapsed = computeIsCollapsed.value;
28723
28821
  if (item.permissionCode) {
@@ -28731,7 +28829,8 @@ var VxeMenuComponent = defineVxeComponent({
28731
28829
  'is--exact-active': isExactActive,
28732
28830
  'is--active': isActive,
28733
28831
  'is--expand': (!isCollapsed || isEnterCollapse) && isExpand
28734
- }]
28832
+ }],
28833
+ 'data-menu-id': itemId
28735
28834
  }, [
28736
28835
  routerLink
28737
28836
  ? h(resolveComponent('router-link'), {
@@ -28763,7 +28862,7 @@ var VxeMenuComponent = defineVxeComponent({
28763
28862
  ]);
28764
28863
  };
28765
28864
  const renderCollapseChildren = (item, itemList) => {
28766
- const { itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item;
28865
+ const { itemId, itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item;
28767
28866
  if (item.permissionCode) {
28768
28867
  if (!permission.checkVisible(item.permissionCode)) {
28769
28868
  return renderEmptyElement($xeMenu);
@@ -28774,7 +28873,8 @@ var VxeMenuComponent = defineVxeComponent({
28774
28873
  class: ['vxe-menu--item-wrapper', `vxe-menu--item-level${level}`, {
28775
28874
  'is--exact-active': isExactActive,
28776
28875
  'is--active': isActive
28777
- }]
28876
+ }],
28877
+ 'data-menu-id': itemId
28778
28878
  }, [
28779
28879
  routerLink
28780
28880
  ? h(resolveComponent('router-link'), {
@@ -28882,7 +28982,6 @@ var VxeMenuComponent = defineVxeComponent({
28882
28982
  updateCollapseStyle();
28883
28983
  });
28884
28984
  onBeforeUnmount(() => {
28885
- globalEvents.off($xeMenu, 'resize');
28886
28985
  const collapseEl = refCollapseElem.value;
28887
28986
  if (collapseEl) {
28888
28987
  const parentNode = collapseEl.parentNode;
@@ -28890,7 +28989,12 @@ var VxeMenuComponent = defineVxeComponent({
28890
28989
  parentNode.removeChild(collapseEl);
28891
28990
  }
28892
28991
  }
28992
+ globalEvents.off($xeMenu, 'resize');
28993
+ XEUtils.assign(reactData, createReactData$9());
28994
+ XEUtils.assign(internalData, createInternalData$8());
28893
28995
  });
28996
+ reactData.initialized = !!props.collapsed;
28997
+ reactData.activeName = props.modelValue;
28894
28998
  updateMenuConfig();
28895
28999
  updateActiveMenu();
28896
29000
  $xeMenu.renderVN = renderVN;