vxe-pc-ui 4.20.8 → 4.20.9

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 (92) hide show
  1. package/dist/all.esm.js +909 -818
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +8 -6
  5. package/es/drawer/src/drawer.js +7 -5
  6. package/es/icon/style.css +1 -1
  7. package/es/layout-aside/src/layout-aside.js +6 -4
  8. package/es/layout-body/src/layout-body.js +6 -4
  9. package/es/layout-container/src/layout-container.js +11 -3
  10. package/es/list/src/list.js +79 -50
  11. package/es/menu/src/menu.js +7 -5
  12. package/es/modal/src/modal.js +7 -5
  13. package/es/scrollbar/src/scrollbar.js +8 -0
  14. package/es/style.css +1 -1
  15. package/es/style.min.css +1 -1
  16. package/es/tabs/src/tabs.js +5 -4
  17. package/es/tooltip/src/tooltip.js +9 -5
  18. package/es/tree/src/tree.js +74 -45
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/lib/card/src/card.js +9 -6
  22. package/lib/card/src/card.min.js +1 -1
  23. package/lib/drawer/src/drawer.js +7 -4
  24. package/lib/drawer/src/drawer.min.js +1 -1
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1 -1
  27. package/lib/index.umd.js +267 -134
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/layout-aside/src/layout-aside.js +7 -4
  30. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  31. package/lib/layout-body/src/layout-body.js +7 -4
  32. package/lib/layout-body/src/layout-body.min.js +1 -1
  33. package/lib/layout-container/src/layout-container.js +20 -4
  34. package/lib/layout-container/src/layout-container.min.js +1 -1
  35. package/lib/list/src/list.js +79 -47
  36. package/lib/list/src/list.min.js +1 -1
  37. package/lib/menu/src/menu.js +8 -4
  38. package/lib/menu/src/menu.min.js +1 -1
  39. package/lib/modal/src/modal.js +7 -4
  40. package/lib/modal/src/modal.min.js +1 -1
  41. package/lib/scrollbar/src/scrollbar.js +8 -0
  42. package/lib/style.css +1 -1
  43. package/lib/style.min.css +1 -1
  44. package/lib/tabs/src/tabs.js +6 -5
  45. package/lib/tabs/src/tabs.min.js +1 -1
  46. package/lib/tooltip/src/tooltip.js +9 -4
  47. package/lib/tooltip/src/tooltip.min.js +1 -1
  48. package/lib/tree/src/tree.js +74 -43
  49. package/lib/tree/src/tree.min.js +1 -1
  50. package/lib/ui/index.js +1 -1
  51. package/lib/ui/index.min.js +1 -1
  52. package/lib/ui/src/log.js +1 -1
  53. package/lib/ui/src/log.min.js +1 -1
  54. package/package.json +2 -2
  55. package/packages/card/src/card.ts +8 -6
  56. package/packages/drawer/src/drawer.ts +7 -5
  57. package/packages/layout-aside/src/layout-aside.ts +6 -4
  58. package/packages/layout-body/src/layout-body.ts +6 -4
  59. package/packages/layout-container/src/layout-container.ts +13 -3
  60. package/packages/list/src/list.ts +81 -50
  61. package/packages/menu/src/menu.ts +7 -5
  62. package/packages/modal/src/modal.ts +7 -5
  63. package/packages/scrollbar/src/scrollbar.ts +8 -1
  64. package/packages/tabs/src/tabs.ts +5 -4
  65. package/packages/tooltip/src/tooltip.ts +9 -5
  66. package/packages/tree/src/tree.ts +76 -45
  67. package/types/components/card.d.ts +2 -2
  68. package/types/components/drawer.d.ts +2 -2
  69. package/types/components/grid.d.ts +3 -1
  70. package/types/components/layout-aside.d.ts +2 -2
  71. package/types/components/layout-body.d.ts +2 -2
  72. package/types/components/layout-container.d.ts +3 -1
  73. package/types/components/list.d.ts +2 -2
  74. package/types/components/menu.d.ts +2 -2
  75. package/types/components/modal.d.ts +2 -2
  76. package/types/components/scrollbar.d.ts +10 -0
  77. package/types/components/table.d.ts +9 -5
  78. package/types/components/tabs.d.ts +2 -2
  79. package/types/components/tooltip.d.ts +2 -2
  80. package/types/components/tree.d.ts +2 -2
  81. /package/es/icon/{iconfont.1792115566662.ttf → iconfont.1792139440389.ttf} +0 -0
  82. /package/es/icon/{iconfont.1792115566662.woff → iconfont.1792139440389.woff} +0 -0
  83. /package/es/icon/{iconfont.1792115566662.woff2 → iconfont.1792139440389.woff2} +0 -0
  84. /package/es/{iconfont.1792115566662.ttf → iconfont.1792139440389.ttf} +0 -0
  85. /package/es/{iconfont.1792115566662.woff → iconfont.1792139440389.woff} +0 -0
  86. /package/es/{iconfont.1792115566662.woff2 → iconfont.1792139440389.woff2} +0 -0
  87. /package/lib/icon/style/{iconfont.1792115566662.ttf → iconfont.1792139440389.ttf} +0 -0
  88. /package/lib/icon/style/{iconfont.1792115566662.woff → iconfont.1792139440389.woff} +0 -0
  89. /package/lib/icon/style/{iconfont.1792115566662.woff2 → iconfont.1792139440389.woff2} +0 -0
  90. /package/lib/{iconfont.1792115566662.ttf → iconfont.1792139440389.ttf} +0 -0
  91. /package/lib/{iconfont.1792115566662.woff → iconfont.1792139440389.woff} +0 -0
  92. /package/lib/{iconfont.1792115566662.woff2 → iconfont.1792139440389.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3084,6 +3084,7 @@ __webpack_require__.d(__webpack_exports__, {
3084
3084
  useFns: function() { return /* reexport */ useFns; },
3085
3085
  usePermission: function() { return /* reexport */ usePermission; },
3086
3086
  useSize: function() { return /* reexport */ useSize; },
3087
+ useVScrollbar: function() { return /* reexport */ useVScrollbar; },
3087
3088
  validators: function() { return /* reexport */ validators; },
3088
3089
  version: function() { return /* reexport */ ui_version; },
3089
3090
  watermark: function() { return /* reexport */ components_watermark; }
@@ -3342,6 +3343,7 @@ __webpack_require__.d(components_namespaceObject, {
3342
3343
  useFns: function() { return useFns; },
3343
3344
  usePermission: function() { return usePermission; },
3344
3345
  useSize: function() { return useSize; },
3346
+ useVScrollbar: function() { return useVScrollbar; },
3345
3347
  validators: function() { return validators; },
3346
3348
  version: function() { return ui_version; },
3347
3349
  watermark: function() { return components_watermark; }
@@ -3368,7 +3370,7 @@ if (typeof window !== 'undefined') {
3368
3370
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
3369
3371
  var es_array_push = __webpack_require__(4114);
3370
3372
  ;// ./node_modules/@vxe-ui/core/es/src/core.js
3371
- const coreVersion = "4.4.33";
3373
+ const coreVersion = "4.4.35";
3372
3374
  const VxeCore = {
3373
3375
  coreVersion,
3374
3376
  uiVersion: '',
@@ -3996,7 +3998,7 @@ function createLog(type, name) {
3996
3998
  return msg;
3997
3999
  };
3998
4000
  }
3999
- const version = "4.4.33";
4001
+ const version = "4.4.35";
4000
4002
  const log = {
4001
4003
  create: createLog,
4002
4004
  warn: createLog('warn', `v${version}`),
@@ -4815,17 +4817,35 @@ const hooks = new store();
4815
4817
  ;// ./node_modules/@vxe-ui/core/es/src/useFns.js
4816
4818
 
4817
4819
 
4820
+
4818
4821
  function useSize(props) {
4819
4822
  // 组件尺寸上下文
4820
4823
  const xeSizeInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('xeSizeInfo', null);
4821
4824
  const computeSize = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4822
- return props.size || (xeSizeInfo ? xeSizeInfo.value : null);
4825
+ const {
4826
+ size
4827
+ } = props;
4828
+ return size || (xeSizeInfo ? xeSizeInfo.value : null);
4823
4829
  });
4824
4830
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('xeSizeInfo', computeSize);
4825
4831
  return {
4826
4832
  computeSize
4827
4833
  };
4828
4834
  }
4835
+ function useVScrollbar(props) {
4836
+ // 组件虚拟滚动条
4837
+ const xeScrollbarInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('xeScrollbarInfo', null);
4838
+ const computeIsVScrollbar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4839
+ const {
4840
+ useScrollbar
4841
+ } = props;
4842
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(useScrollbar) ? useScrollbar : xeScrollbarInfo ? xeScrollbarInfo.value : null;
4843
+ });
4844
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('xeScrollbarInfo', computeIsVScrollbar);
4845
+ return {
4846
+ computeIsVScrollbar
4847
+ };
4848
+ }
4829
4849
  function usePermission(props) {
4830
4850
  const computePermissionInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
4831
4851
  return handleCheckInfo(props.permissionCode, props.permissionMethod);
@@ -4836,6 +4856,7 @@ function usePermission(props) {
4836
4856
  }
4837
4857
  const useFns = {
4838
4858
  useSize,
4859
+ useVScrollbar,
4839
4860
  usePermission
4840
4861
  };
4841
4862
  ;// ./node_modules/@vxe-ui/core/es/index.esm.js
@@ -5081,7 +5102,7 @@ function checkDynamic() {
5081
5102
  const {
5082
5103
  log: log_log
5083
5104
  } = VxeUI;
5084
- const uiVersion = `ui v${"4.20.8"}`;
5105
+ const uiVersion = `ui v${"4.20.9"}`;
5085
5106
  function createComponentLog(name) {
5086
5107
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
5087
5108
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -5099,7 +5120,7 @@ const errLog = log_log.create('error', uiVersion);
5099
5120
 
5100
5121
 
5101
5122
 
5102
- const ui_version = "4.20.8";
5123
+ const ui_version = "4.20.9";
5103
5124
  VxeUI.uiVersion = ui_version;
5104
5125
  VxeUI.dynamicApp = dynamicApp;
5105
5126
  function config(options) {
@@ -8065,10 +8086,18 @@ function createInternalData() {
8065
8086
  type: String,
8066
8087
  default: () => scrollbar_getConfig().scrollbar.viewInnerClassName
8067
8088
  },
8089
+ /**
8090
+ * 已废弃
8091
+ * @deprecated
8092
+ */
8068
8093
  autoResize: {
8069
8094
  type: Boolean,
8070
8095
  default: () => scrollbar_getConfig().scrollbar.autoResize
8071
8096
  },
8097
+ /**
8098
+ * 已废弃
8099
+ * @deprecated
8100
+ */
8072
8101
  syncResize: [Boolean, String, Number]
8073
8102
  },
8074
8103
  emits: ['scroll', 'scroll-boundary'],
@@ -8859,7 +8888,10 @@ function tooltip_createInternalData() {
8859
8888
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
8860
8889
  const {
8861
8890
  computeSize
8862
- } = useSize(props);
8891
+ } = useFns.useSize(props);
8892
+ const {
8893
+ computeIsVScrollbar
8894
+ } = useFns.useVScrollbar(props);
8863
8895
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(tooltip_createReactData());
8864
8896
  const internalData = tooltip_createInternalData();
8865
8897
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -9150,7 +9182,9 @@ function tooltip_createInternalData() {
9150
9182
  return updateTipStyle().then(() => {
9151
9183
  return updateTipStyle();
9152
9184
  }).then(() => {
9153
- return updateTipStyle();
9185
+ setTimeout(() => {
9186
+ updateTipStyle();
9187
+ }, 15);
9154
9188
  });
9155
9189
  },
9156
9190
  isActived() {
@@ -9177,7 +9211,6 @@ function tooltip_createInternalData() {
9177
9211
  Object.assign($xeTooltip, tooltipMethods, tooltipPrivateMethods);
9178
9212
  const renderContent = () => {
9179
9213
  const {
9180
- useScrollbar,
9181
9214
  theme,
9182
9215
  useHtml,
9183
9216
  useHTML
@@ -9185,6 +9218,7 @@ function tooltip_createInternalData() {
9185
9218
  const {
9186
9219
  tipContent
9187
9220
  } = reactData;
9221
+ const isVScrollbar = computeIsVScrollbar.value;
9188
9222
  const wrapperStyle = computeWrapperStyle.value;
9189
9223
  const contentSlot = slots.content;
9190
9224
  const contVNs = [];
@@ -9202,7 +9236,7 @@ function tooltip_createInternalData() {
9202
9236
  key: 'cd'
9203
9237
  }, `${tipContent}`));
9204
9238
  }
9205
- if (useScrollbar) {
9239
+ if (isVScrollbar) {
9206
9240
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
9207
9241
  key: 5,
9208
9242
  ref: contentScrollbar,
@@ -12832,7 +12866,10 @@ const Calendar = VxeCalendar;
12832
12866
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12833
12867
  const {
12834
12868
  computeSize
12835
- } = useSize(props);
12869
+ } = useFns.useSize(props);
12870
+ const {
12871
+ computeIsVScrollbar
12872
+ } = useFns.useVScrollbar(props);
12836
12873
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
12837
12874
  const refMaps = {
12838
12875
  refElem
@@ -12895,8 +12932,7 @@ const Calendar = VxeCalendar;
12895
12932
  shadow,
12896
12933
  padding,
12897
12934
  loading,
12898
- showTitleOverflow,
12899
- useScrollbar
12935
+ showTitleOverflow
12900
12936
  } = props;
12901
12937
  const defaultSlot = slots.default;
12902
12938
  const headerSlot = slots.header;
@@ -12906,6 +12942,7 @@ const Calendar = VxeCalendar;
12906
12942
  const leftSlot = slots.left;
12907
12943
  const rightSlot = slots.right;
12908
12944
  const vSize = computeSize.value;
12945
+ const isVScrollbar = computeIsVScrollbar.value;
12909
12946
  const cardStyle = computeCardStyle.value;
12910
12947
  const scrollbarOpts = computeScrollbarOpts.value;
12911
12948
  const scrollbarProps = computeScrollbarProps.value;
@@ -12932,7 +12969,7 @@ const Calendar = VxeCalendar;
12932
12969
  class: 'vxe-card--header-extra'
12933
12970
  }, vn_getSlotVNs(extraSlot({}))) : renderEmptyElement($xeCard)]) : renderEmptyElement($xeCard), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12934
12971
  class: 'vxe-card--body'
12935
- }, [leftSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12972
+ }, [leftSlot ? isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12936
12973
  class: 'vxe-card--body-scrollbar-left',
12937
12974
  ...scrollbarProps,
12938
12975
  viewClassName: 'vxe-card--body-scrollbar-left-view',
@@ -12941,7 +12978,7 @@ const Calendar = VxeCalendar;
12941
12978
  default: () => vn_getSlotVNs(leftSlot({}))
12942
12979
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12943
12980
  class: 'vxe-card--body-left'
12944
- }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12981
+ }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12945
12982
  class: 'vxe-card--body-scrollbar-content',
12946
12983
  ...scrollbarProps,
12947
12984
  viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
@@ -12950,7 +12987,7 @@ const Calendar = VxeCalendar;
12950
12987
  default: () => defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []
12951
12988
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12952
12989
  class: 'vxe-card--body-content'
12953
- }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12990
+ }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12954
12991
  class: 'vxe-card--body-scrollbar-right',
12955
12992
  ...scrollbarProps,
12956
12993
  viewClassName: 'vxe-card--body-scrollbar-right-view',
@@ -13617,6 +13654,7 @@ const {
13617
13654
  getI18n: list_getI18n,
13618
13655
  domUtils: list_domUtils,
13619
13656
  scrollbarUtils: list_scrollbarUtils,
13657
+ useFns: list_useFns,
13620
13658
  menus: list_menus,
13621
13659
  globalEvents: list_globalEvents,
13622
13660
  globalResize: list_globalResize
@@ -13752,7 +13790,10 @@ let crossListDragRowObj = null;
13752
13790
  const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
13753
13791
  const {
13754
13792
  computeSize
13755
- } = useSize(props);
13793
+ } = list_useFns.useSize(props);
13794
+ const {
13795
+ computeIsVScrollbar
13796
+ } = list_useFns.useVScrollbar(props);
13756
13797
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(list_createReactData());
13757
13798
  const internalData = list_createInternalData();
13758
13799
  const crossListDragRowInfo = getCrossListDragRowInfo();
@@ -13760,6 +13801,7 @@ let crossListDragRowObj = null;
13760
13801
  const refHeaderElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13761
13802
  const refFooterElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13762
13803
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13804
+ const refVirtualSpaceElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13763
13805
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13764
13806
  const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13765
13807
  const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -14099,7 +14141,6 @@ let crossListDragRowObj = null;
14099
14141
  lastScrollLeft,
14100
14142
  lastScrollTop
14101
14143
  } = internalData;
14102
- updateScrollbar();
14103
14144
  return clearScroll().then(() => {
14104
14145
  if (lastScrollLeft || lastScrollTop) {
14105
14146
  internalData.lastScrollLeft = 0;
@@ -14109,8 +14150,14 @@ let crossListDragRowObj = null;
14109
14150
  });
14110
14151
  };
14111
14152
  const updateScrollbar = () => {
14112
- updateThumbSize();
14113
- updateThumbOffset();
14153
+ const isVScrollbar = computeIsVScrollbar.value;
14154
+ if (isVScrollbar) {
14155
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
14156
+ updateThumbSize();
14157
+ updateThumbOffset();
14158
+ });
14159
+ }
14160
+ return Promise.resolve();
14114
14161
  };
14115
14162
  /**
14116
14163
  * 重新计算列表
@@ -14129,10 +14176,11 @@ let crossListDragRowObj = null;
14129
14176
  parentHeight = parentEl.clientHeight - Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingLeft) + external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingRight));
14130
14177
  }
14131
14178
  reactData.parentHeight = parentHeight;
14132
- updateScrollbar();
14133
14179
  updateHeight();
14134
14180
  if (el.clientWidth && el.clientHeight) {
14135
- return computeScrollLoad();
14181
+ return computeScrollLoad().then(() => {
14182
+ updateScrollbar();
14183
+ });
14136
14184
  }
14137
14185
  }
14138
14186
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
@@ -14148,7 +14196,7 @@ let crossListDragRowObj = null;
14148
14196
  offsetSize,
14149
14197
  rowHeight
14150
14198
  } = scrollYStore;
14151
- const scrollBodyElem = evnt.target;
14199
+ const scrollBodyElem = evnt.currentTarget;
14152
14200
  const scrollTop = scrollBodyElem.scrollTop;
14153
14201
  const toVisibleIndex = Math.floor(scrollTop / rowHeight);
14154
14202
  const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
@@ -14162,7 +14210,7 @@ let crossListDragRowObj = null;
14162
14210
  }
14163
14211
  };
14164
14212
  const scrollEvent = evnt => {
14165
- const scrollBodyElem = evnt.target;
14213
+ const scrollBodyElem = evnt.currentTarget;
14166
14214
  const scrollTop = scrollBodyElem.scrollTop;
14167
14215
  const scrollLeft = scrollBodyElem.scrollLeft;
14168
14216
  const isX = scrollLeft !== internalData.lastScrollLeft;
@@ -15674,6 +15722,28 @@ let crossListDragRowObj = null;
15674
15722
  hideDropTip();
15675
15723
  }
15676
15724
  };
15725
+ const bindScrollbarResize = () => {
15726
+ const {
15727
+ scrollObserver
15728
+ } = internalData;
15729
+ const isVScrollbar = computeIsVScrollbar.value;
15730
+ if (isVScrollbar) {
15731
+ if (!scrollObserver) {
15732
+ const el = refElem.value;
15733
+ const viewInnerEl = refVirtualSpaceElem.value;
15734
+ const scrollObserver = list_globalResize.create(() => {
15735
+ reScrollFlag.value++;
15736
+ });
15737
+ if (el) {
15738
+ scrollObserver.observe(el);
15739
+ }
15740
+ if (viewInnerEl) {
15741
+ scrollObserver.observe(viewInnerEl);
15742
+ }
15743
+ internalData.scrollObserver = scrollObserver;
15744
+ }
15745
+ }
15746
+ };
15677
15747
  const updateThumbSize = () => {
15678
15748
  const viewEl = refVirtualWrapper.value;
15679
15749
  if (!viewEl) {
@@ -16085,8 +16155,7 @@ let crossListDragRowObj = null;
16085
16155
  const {
16086
16156
  showCheckbox,
16087
16157
  className,
16088
- loading,
16089
- useScrollbar
16158
+ loading
16090
16159
  } = props;
16091
16160
  const {
16092
16161
  bodyHeight,
@@ -16101,6 +16170,7 @@ let crossListDragRowObj = null;
16101
16170
  const headerSlot = slots.header;
16102
16171
  const footerSlot = slots.footer;
16103
16172
  const vSize = computeSize.value;
16173
+ const isVScrollbar = computeIsVScrollbar.value;
16104
16174
  const wrapperStyles = computeWrapperStyles.value;
16105
16175
  const virtualStyles = computeVirtualStyles.value;
16106
16176
  const radioOpts = computeRadioOpts.value;
@@ -16135,14 +16205,14 @@ let crossListDragRowObj = null;
16135
16205
  }
16136
16206
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16137
16207
  ref: refElem,
16138
- class: ['vxe-list', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
16208
+ class: ['vxe-list', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
16139
16209
  $list: $xeList
16140
16210
  }) : className : '', {
16141
16211
  [`size--${vSize}`]: vSize,
16142
- 'is--virtual-scrollbar': useScrollbar,
16143
- 'ov-padding': useScrollbar && scrollbarOpts.padding,
16144
- 'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
16145
- 'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
16212
+ 'is--virtual-scrollbar': isVScrollbar,
16213
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
16214
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
16215
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
16146
16216
  'overflow-y': yThumbHeight,
16147
16217
  'overflow-x': xThumbWidth,
16148
16218
  'is--drag': isDrag,
@@ -16176,6 +16246,7 @@ let crossListDragRowObj = null;
16176
16246
  style: virtualStyles,
16177
16247
  onScroll: scrollEvent
16178
16248
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16249
+ ref: refVirtualSpaceElem,
16179
16250
  class: 'vxe-list--y-space',
16180
16251
  style: {
16181
16252
  height: bodyHeight ? `${bodyHeight}px` : ''
@@ -16205,7 +16276,7 @@ let crossListDragRowObj = null;
16205
16276
  /**
16206
16277
  * 滚动条
16207
16278
  */
16208
- useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16279
+ isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16209
16280
  class: scrollbarWrapperClss
16210
16281
  }, [scrollXVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16211
16282
  ref: refTrackXElem,
@@ -16254,43 +16325,54 @@ let crossListDragRowObj = null;
16254
16325
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
16255
16326
  loadData(props.data || []);
16256
16327
  });
16257
- const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16328
+ const reScrollFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16329
+ const reLayoutFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
16258
16330
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
16259
- reFlag.value++;
16331
+ reLayoutFlag.value++;
16260
16332
  });
16261
16333
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
16262
- reFlag.value++;
16334
+ reLayoutFlag.value++;
16263
16335
  });
16264
16336
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
16265
- reFlag.value++;
16337
+ reLayoutFlag.value++;
16266
16338
  });
16267
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
16268
- reFlag.value++;
16339
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeIsVScrollbar, () => {
16340
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16341
+ bindScrollbarResize();
16342
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16343
+ reLayoutFlag.value++;
16344
+ });
16345
+ });
16269
16346
  });
16270
16347
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeRowHeight, () => {
16271
- reFlag.value++;
16348
+ reLayoutFlag.value++;
16272
16349
  });
16273
16350
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYWidth, () => {
16274
- reFlag.value++;
16351
+ reLayoutFlag.value++;
16275
16352
  });
16276
16353
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXHeight, () => {
16277
- reFlag.value++;
16354
+ reLayoutFlag.value++;
16278
16355
  });
16279
16356
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
16280
16357
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16281
- reFlag.value++;
16358
+ reLayoutFlag.value++;
16282
16359
  });
16283
16360
  });
16284
16361
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
16285
16362
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
16286
- reFlag.value++;
16363
+ reLayoutFlag.value++;
16287
16364
  });
16288
16365
  });
16289
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
16366
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reLayoutFlag, () => {
16290
16367
  recalculate().then(() => {
16291
16368
  recalculate();
16292
16369
  });
16293
16370
  });
16371
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reScrollFlag, () => {
16372
+ updateScrollbar().then(() => {
16373
+ updateScrollbar();
16374
+ });
16375
+ });
16294
16376
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkRowKey, () => {
16295
16377
  updateRadioModeValue();
16296
16378
  });
@@ -16317,8 +16399,7 @@ let crossListDragRowObj = null;
16317
16399
  showSeq,
16318
16400
  showRadio,
16319
16401
  showCheckbox,
16320
- autoResize,
16321
- useScrollbar
16402
+ autoResize
16322
16403
  } = props;
16323
16404
  const rowOpts = computeRowOpts.value;
16324
16405
  const {
@@ -16343,25 +16424,12 @@ let crossListDragRowObj = null;
16343
16424
  if (useKey && !keyField) {
16344
16425
  list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
16345
16426
  }
16346
- const el = refElem.value;
16347
- if (useScrollbar) {
16348
- const viewInnerEl = refVirtualBody.value;
16349
- const scrollObserver = list_globalResize.create(() => {
16350
- reFlag.value++;
16351
- });
16352
- if (el) {
16353
- scrollObserver.observe(el);
16354
- }
16355
- if (viewInnerEl) {
16356
- scrollObserver.observe(viewInnerEl);
16357
- }
16358
- internalData.scrollObserver = scrollObserver;
16359
- }
16360
16427
  if (autoResize) {
16428
+ const el = refElem.value;
16361
16429
  const parentEl = getParentElem();
16362
16430
  const resizeObserver = list_globalResize.create(() => {
16363
16431
  if (props.autoResize) {
16364
- reFlag.value++;
16432
+ reLayoutFlag.value++;
16365
16433
  }
16366
16434
  });
16367
16435
  if (el) {
@@ -16372,9 +16440,10 @@ let crossListDragRowObj = null;
16372
16440
  }
16373
16441
  internalData.resizeObserver = resizeObserver;
16374
16442
  }
16375
- reFlag.value++;
16443
+ reLayoutFlag.value++;
16444
+ bindScrollbarResize();
16376
16445
  list_globalEvents.on($xeList, 'resize', () => {
16377
- reFlag.value++;
16446
+ reLayoutFlag.value++;
16378
16447
  });
16379
16448
  });
16380
16449
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
@@ -32548,7 +32617,10 @@ const allActiveDrawers = [];
32548
32617
  const $xeForm = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeForm', null);
32549
32618
  const {
32550
32619
  computeSize
32551
- } = useSize(props);
32620
+ } = useFns.useSize(props);
32621
+ const {
32622
+ computeIsVScrollbar
32623
+ } = useFns.useVScrollbar(props);
32552
32624
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
32553
32625
  const refDrawerBox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
32554
32626
  const refConfirmBtn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -32957,16 +33029,16 @@ const allActiveDrawers = [];
32957
33029
  const {
32958
33030
  slots: propSlots = {},
32959
33031
  content,
32960
- useScrollbar,
32961
33032
  useHtml
32962
33033
  } = props;
33034
+ const isVScrollbar = computeIsVScrollbar.value;
32963
33035
  const scrollbarProps = computeScrollbarProps.value;
32964
33036
  const defaultSlot = slots.default || propSlots.default;
32965
33037
  const leftSlot = slots.left || propSlots.left;
32966
33038
  const rightSlot = slots.right || propSlots.right;
32967
33039
  const contVNs = [];
32968
33040
  if (useHtml && !defaultSlot) {
32969
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
33041
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
32970
33042
  key: 'shc',
32971
33043
  class: 'vxe-drawer--scrollbar-content',
32972
33044
  ...scrollbarProps
@@ -32983,7 +33055,7 @@ const allActiveDrawers = [];
32983
33055
  innerHTML: getFuncText(content)
32984
33056
  }));
32985
33057
  } else {
32986
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
33058
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
32987
33059
  key: 'sdc',
32988
33060
  class: 'vxe-drawer--scrollbar-content',
32989
33061
  ...scrollbarProps
@@ -38268,7 +38340,10 @@ const ImagePreview = VxeImagePreview;
38268
38340
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38269
38341
  const {
38270
38342
  computeSize
38271
- } = useSize(props);
38343
+ } = useFns.useSize(props);
38344
+ const {
38345
+ computeIsVScrollbar
38346
+ } = useFns.useVScrollbar(props);
38272
38347
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
38273
38348
  const refMaps = {
38274
38349
  refElem
@@ -38319,11 +38394,11 @@ const ImagePreview = VxeImagePreview;
38319
38394
  const {
38320
38395
  collapsed,
38321
38396
  loading,
38322
- padding,
38323
- useScrollbar
38397
+ padding
38324
38398
  } = props;
38325
38399
  const varStyle = computeVarStyle.value;
38326
38400
  const vSize = computeSize.value;
38401
+ const isVScrollbar = computeIsVScrollbar.value;
38327
38402
  const collapseOpts = computeCollapseOpts.value;
38328
38403
  const scrollbarOpts = computeScrollbarOpts.value;
38329
38404
  const {
@@ -38342,7 +38417,7 @@ const ImagePreview = VxeImagePreview;
38342
38417
  'is--loading': loading
38343
38418
  }],
38344
38419
  style: varStyle
38345
- }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38420
+ }, [isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38346
38421
  width: scrollbarOpts.width,
38347
38422
  height: scrollbarOpts.height,
38348
38423
  autoHide: scrollbarOpts.autoHide,
@@ -38435,7 +38510,10 @@ function layout_body_createReactData() {
38435
38510
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38436
38511
  const {
38437
38512
  computeSize
38438
- } = useSize(props);
38513
+ } = useFns.useSize(props);
38514
+ const {
38515
+ computeIsVScrollbar
38516
+ } = useFns.useVScrollbar(props);
38439
38517
  const internalData = layout_body_createInternalData();
38440
38518
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(layout_body_createReactData());
38441
38519
  const refMaps = {
@@ -38501,9 +38579,9 @@ function layout_body_createReactData() {
38501
38579
  const {
38502
38580
  loading,
38503
38581
  padding,
38504
- showBacktop,
38505
- useScrollbar
38582
+ showBacktop
38506
38583
  } = props;
38584
+ const isVScrollbar = computeIsVScrollbar.value;
38507
38585
  const backtopOpts = computeBacktopOpts.value;
38508
38586
  const scrollbarProps = computeScrollbarProps.value;
38509
38587
  const vSize = computeSize.value;
@@ -38528,7 +38606,7 @@ function layout_body_createReactData() {
38528
38606
  'is--loading': loading,
38529
38607
  'is--padding': padding
38530
38608
  }]
38531
- }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
38609
+ }, [isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
38532
38610
  default: () => defaultSlot ? defaultSlot({}) : []
38533
38611
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38534
38612
  id: showBacktop ? backtopId : '',
@@ -38571,13 +38649,25 @@ const LayoutBody = VxeLayoutBody;
38571
38649
 
38572
38650
 
38573
38651
 
38652
+ const {
38653
+ getConfig: layout_container_getConfig,
38654
+ baseUtils: layout_container_baseUtils,
38655
+ createEvent: layout_container_createEvent
38656
+ } = VxeUI;
38657
+ const {
38658
+ getDefVal: layout_container_getDefVal
38659
+ } = layout_container_baseUtils;
38574
38660
  /* harmony default export */ var layout_container = (defineVxeComponent({
38575
38661
  name: 'VxeLayoutContainer',
38576
38662
  props: {
38577
38663
  vertical: Boolean,
38664
+ useScrollbar: {
38665
+ type: Boolean,
38666
+ default: () => layout_container_getDefVal(layout_container_getConfig().layoutContainer.useScrollbar, layout_container_getConfig().useScrollbar)
38667
+ },
38578
38668
  size: {
38579
38669
  type: String,
38580
- default: () => getConfig().layoutContainer.size || getConfig().size
38670
+ default: () => layout_container_getConfig().layoutContainer.size || layout_container_getConfig().size
38581
38671
  }
38582
38672
  },
38583
38673
  emits: [],
@@ -38590,13 +38680,17 @@ const LayoutBody = VxeLayoutBody;
38590
38680
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38591
38681
  const {
38592
38682
  computeSize
38593
- } = useSize(props);
38683
+ } = useFns.useSize(props);
38684
+ const {
38685
+ computeIsVScrollbar
38686
+ } = useFns.useVScrollbar(props);
38594
38687
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({});
38595
38688
  const refMaps = {
38596
38689
  refElem
38597
38690
  };
38598
38691
  const computeMaps = {
38599
- computeSize
38692
+ computeSize,
38693
+ computeIsVScrollbar
38600
38694
  };
38601
38695
  const $xeLayoutContainer = {
38602
38696
  xID,
@@ -38607,7 +38701,7 @@ const LayoutBody = VxeLayoutBody;
38607
38701
  getComputeMaps: () => computeMaps
38608
38702
  };
38609
38703
  const dispatchEvent = (type, params, evnt) => {
38610
- emit(type, createEvent(evnt, {
38704
+ emit(type, layout_container_createEvent(evnt, {
38611
38705
  $layoutContainer: $xeLayoutContainer
38612
38706
  }, params));
38613
38707
  };
@@ -38975,6 +39069,7 @@ const {
38975
39069
  } = createComponentLog('menu');
38976
39070
  const {
38977
39071
  menus: menu_menus,
39072
+ useFns: menu_useFns,
38978
39073
  getConfig: menu_getConfig,
38979
39074
  getIcon: menu_getIcon
38980
39075
  } = VxeUI;
@@ -39056,7 +39151,10 @@ let nemuUniqueKey = 100000000;
39056
39151
  const refCollapseBodyScrollbar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
39057
39152
  const {
39058
39153
  computeSize
39059
- } = useSize(props);
39154
+ } = menu_useFns.useSize(props);
39155
+ const {
39156
+ computeIsVScrollbar
39157
+ } = menu_useFns.useVScrollbar(props);
39060
39158
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(menu_createReactData());
39061
39159
  const internalData = menu_createInternalData();
39062
39160
  const refMaps = {
@@ -39685,8 +39783,7 @@ let nemuUniqueKey = 100000000;
39685
39783
  const {
39686
39784
  loading,
39687
39785
  collapseFixed,
39688
- appendTo,
39689
- useScrollbar
39786
+ appendTo
39690
39787
  } = props;
39691
39788
  const {
39692
39789
  initialized,
@@ -39695,6 +39792,7 @@ let nemuUniqueKey = 100000000;
39695
39792
  isEnterCollapse
39696
39793
  } = reactData;
39697
39794
  const vSize = computeSize.value;
39795
+ const isVScrollbar = computeIsVScrollbar.value;
39698
39796
  const isCollapsed = computeIsCollapsed.value;
39699
39797
  const currBorder = computeCurrBorder.value;
39700
39798
  const varStyle = computeVarStyle.value;
@@ -39744,7 +39842,7 @@ let nemuUniqueKey = 100000000;
39744
39842
  ...ons
39745
39843
  }, isCollapsed ? [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
39746
39844
  class: 'vxe-menu--header'
39747
- }, headerSlot(stParams)) : renderEmptyElement($xeMenu), useScrollbar && isEnterCollapse ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
39845
+ }, headerSlot(stParams)) : renderEmptyElement($xeMenu), isVScrollbar && isEnterCollapse ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
39748
39846
  ref: refCollapseBodyScrollbar,
39749
39847
  class: 'vxe-menu--scrollbar-body',
39750
39848
  ...scrollbarOpts,
@@ -40094,7 +40192,10 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
40094
40192
  const $xeForm = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeForm', null);
40095
40193
  const {
40096
40194
  computeSize
40097
- } = useSize(props);
40195
+ } = useFns.useSize(props);
40196
+ const {
40197
+ computeIsVScrollbar
40198
+ } = useFns.useVScrollbar(props);
40098
40199
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(modal_createReactData());
40099
40200
  const internalData = modal_createInternalData();
40100
40201
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -41281,10 +41382,10 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41281
41382
  status,
41282
41383
  message,
41283
41384
  iconStatus,
41284
- useScrollbar,
41285
41385
  useHtml
41286
41386
  } = props;
41287
41387
  const content = props.content || message;
41388
+ const isVScrollbar = computeIsVScrollbar.value;
41288
41389
  const isMsg = computeIsMsg.value;
41289
41390
  const scrollbarProps = computeScrollbarProps.value;
41290
41391
  const defaultSlot = slots.default || propSlots.default;
@@ -41299,7 +41400,7 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41299
41400
  })]));
41300
41401
  }
41301
41402
  if (useHtml && !defaultSlot) {
41302
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41403
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41303
41404
  key: 'shc',
41304
41405
  class: 'vxe-modal--scrollbar-content',
41305
41406
  ...scrollbarProps
@@ -41316,7 +41417,7 @@ const lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
41316
41417
  innerHTML: getFuncText(content)
41317
41418
  }));
41318
41419
  } else {
41319
- contVNs.push(useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41420
+ contVNs.push(isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
41320
41421
  key: 'sdc',
41321
41422
  class: 'vxe-modal--scrollbar-content',
41322
41423
  ...scrollbarProps
@@ -51190,7 +51291,10 @@ const scrollbarOffsetSize = 20;
51190
51291
  const $xeParentTabs = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTabs', null);
51191
51292
  const {
51192
51293
  computeSize
51193
- } = useSize(props);
51294
+ } = useFns.useSize(props);
51295
+ const {
51296
+ computeIsVScrollbar
51297
+ } = useFns.useVScrollbar(props);
51194
51298
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
51195
51299
  const refHeadWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
51196
51300
  const refHeadPrevElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -51967,9 +52071,6 @@ const scrollbarOffsetSize = 20;
51967
52071
  })) : tabs_renderEmptyElement($xeTabs)]);
51968
52072
  };
51969
52073
  const renderTabPane = item => {
51970
- const {
51971
- useScrollbar
51972
- } = props;
51973
52074
  const {
51974
52075
  initNames,
51975
52076
  activeName
@@ -51980,8 +52081,9 @@ const scrollbarOffsetSize = 20;
51980
52081
  } = item;
51981
52082
  const defaultSlot = slots ? slots.default : null;
51982
52083
  const scrollbarProps = computeScrollbarProps.value;
52084
+ const isVScrollbar = computeIsVScrollbar.value;
51983
52085
  if (name && initNames.includes(name)) {
51984
- return useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
52086
+ return isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
51985
52087
  key: `${name}`,
51986
52088
  class: ['vxe-tabs-pane--scrollbar-item', {
51987
52089
  'is--visible': activeName === name
@@ -53906,11 +54008,15 @@ let crossTreeDragNodeObj = null;
53906
54008
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
53907
54009
  const {
53908
54010
  computeSize
53909
- } = useSize(props);
54011
+ } = useFns.useSize(props);
54012
+ const {
54013
+ computeIsVScrollbar
54014
+ } = useFns.useVScrollbar(props);
53910
54015
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53911
54016
  const refHeaderWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53912
54017
  const refFooterWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53913
54018
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
54019
+ const refVirtualSpaceElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53914
54020
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53915
54021
  const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53916
54022
  const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -54710,8 +54816,14 @@ let crossTreeDragNodeObj = null;
54710
54816
  });
54711
54817
  };
54712
54818
  const updateScrollbar = () => {
54713
- updateThumbSize();
54714
- updateThumbOffset();
54819
+ const isVScrollbar = computeIsVScrollbar.value;
54820
+ if (isVScrollbar) {
54821
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
54822
+ updateThumbSize();
54823
+ updateThumbOffset();
54824
+ });
54825
+ }
54826
+ return Promise.resolve();
54715
54827
  };
54716
54828
  /**
54717
54829
  * 重新计算列表
@@ -54738,11 +54850,11 @@ let crossTreeDragNodeObj = null;
54738
54850
  const parentPaddingSize = getPaddingTopBottomSize(parentEl);
54739
54851
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
54740
54852
  }
54741
- updateScrollbar();
54742
54853
  updateHeight();
54743
54854
  return computeScrollLoad().then(() => {
54744
54855
  updateHeight();
54745
54856
  updateYSpace();
54857
+ updateScrollbar();
54746
54858
  });
54747
54859
  }
54748
54860
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
@@ -54775,7 +54887,7 @@ let crossTreeDragNodeObj = null;
54775
54887
  }
54776
54888
  };
54777
54889
  const scrollEvent = evnt => {
54778
- const scrollBodyElem = evnt.target;
54890
+ const scrollBodyElem = evnt.currentTarget;
54779
54891
  const scrollTop = scrollBodyElem.scrollTop;
54780
54892
  const scrollLeft = scrollBodyElem.scrollLeft;
54781
54893
  const isX = scrollLeft !== internalData.lastScrollLeft;
@@ -57118,6 +57230,28 @@ let crossTreeDragNodeObj = null;
57118
57230
  hideDropTip();
57119
57231
  }
57120
57232
  };
57233
+ const bindScrollbarResize = () => {
57234
+ const isVScrollbar = computeIsVScrollbar.value;
57235
+ const {
57236
+ scrollObserver
57237
+ } = internalData;
57238
+ if (isVScrollbar) {
57239
+ if (!scrollObserver) {
57240
+ const el = refElem.value;
57241
+ const viewInnerEl = refVirtualSpaceElem.value;
57242
+ const scrollObserver = globalResize.create(() => {
57243
+ reScrollFlag.value++;
57244
+ });
57245
+ if (el) {
57246
+ scrollObserver.observe(el);
57247
+ }
57248
+ if (viewInnerEl) {
57249
+ scrollObserver.observe(viewInnerEl);
57250
+ }
57251
+ internalData.scrollObserver = scrollObserver;
57252
+ }
57253
+ }
57254
+ };
57121
57255
  const updateThumbSize = () => {
57122
57256
  const viewEl = refVirtualWrapper.value;
57123
57257
  if (!viewEl) {
@@ -57639,8 +57773,7 @@ let crossTreeDragNodeObj = null;
57639
57773
  const {
57640
57774
  loading,
57641
57775
  trigger,
57642
- showLine,
57643
- useScrollbar
57776
+ showLine
57644
57777
  } = props;
57645
57778
  const {
57646
57779
  bodyHeight,
@@ -57651,6 +57784,7 @@ let crossTreeDragNodeObj = null;
57651
57784
  yThumbHeight
57652
57785
  } = reactData;
57653
57786
  const vSize = computeSize.value;
57787
+ const isVScrollbar = computeIsVScrollbar.value;
57654
57788
  const radioOpts = computeRadioOpts.value;
57655
57789
  const checkboxOpts = computeCheckboxOpts.value;
57656
57790
  const loadingOpts = computeLoadingOpts.value;
@@ -57677,13 +57811,13 @@ let crossTreeDragNodeObj = null;
57677
57811
  }
57678
57812
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57679
57813
  ref: refElem,
57680
- class: ['vxe-tree', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', {
57814
+ class: ['vxe-tree', isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', {
57681
57815
  [`size--${vSize}`]: vSize,
57682
57816
  'show--line': showLine,
57683
- 'is--virtual-scrollbar': useScrollbar,
57684
- 'ov-padding': useScrollbar && scrollbarOpts.padding,
57685
- 'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
57686
- 'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
57817
+ 'is--virtual-scrollbar': isVScrollbar,
57818
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
57819
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
57820
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
57687
57821
  'overflow-y': yThumbHeight,
57688
57822
  'overflow-x': xThumbWidth,
57689
57823
  'checkbox--highlight': checkboxOpts.highlight,
@@ -57705,6 +57839,7 @@ let crossTreeDragNodeObj = null;
57705
57839
  style: treeStyle,
57706
57840
  onScroll: scrollEvent
57707
57841
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57842
+ ref: refVirtualSpaceElem,
57708
57843
  class: 'vxe-tree--y-space',
57709
57844
  style: {
57710
57845
  height: bodyHeight ? `${bodyHeight}px` : ''
@@ -57724,7 +57859,7 @@ let crossTreeDragNodeObj = null;
57724
57859
  /**
57725
57860
  * 滚动条
57726
57861
  */
57727
- useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57862
+ isVScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57728
57863
  class: scrollbarWrapperClss
57729
57864
  }, [scrollXVisible === false ? renderEmptyElement($xeTree) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
57730
57865
  ref: refTrackXElem,
@@ -57834,40 +57969,51 @@ let crossTreeDragNodeObj = null;
57834
57969
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.filterValue, () => {
57835
57970
  triggerSearchEvent(new Event('filter'));
57836
57971
  });
57837
- const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57972
+ const reScrollFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57973
+ const reLayoutFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57838
57974
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
57839
- reFlag.value++;
57975
+ reLayoutFlag.value++;
57840
57976
  });
57841
57977
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.minHeight, () => {
57842
- reFlag.value++;
57978
+ reLayoutFlag.value++;
57843
57979
  });
57844
57980
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
57845
- reFlag.value++;
57981
+ reLayoutFlag.value++;
57846
57982
  });
57847
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
57848
- reFlag.value++;
57983
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeIsVScrollbar, () => {
57984
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57985
+ bindScrollbarResize();
57986
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57987
+ reLayoutFlag.value++;
57988
+ });
57989
+ });
57849
57990
  });
57850
57991
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYWidth, () => {
57851
- reFlag.value++;
57992
+ reLayoutFlag.value++;
57852
57993
  });
57853
57994
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXHeight, () => {
57854
- reFlag.value++;
57995
+ reLayoutFlag.value++;
57855
57996
  });
57856
57997
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
57857
57998
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57858
- reFlag.value++;
57999
+ reLayoutFlag.value++;
57859
58000
  });
57860
58001
  });
57861
58002
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
57862
58003
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
57863
- reFlag.value++;
58004
+ reLayoutFlag.value++;
57864
58005
  });
57865
58006
  });
57866
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
58007
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reLayoutFlag, () => {
57867
58008
  recalculate().then(() => {
57868
58009
  recalculate();
57869
58010
  });
57870
58011
  });
58012
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reScrollFlag, () => {
58013
+ updateScrollbar().then(() => {
58014
+ updateScrollbar();
58015
+ });
58016
+ });
57871
58017
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
57872
58018
  const {
57873
58019
  transform,
@@ -57876,8 +58022,7 @@ let crossTreeDragNodeObj = null;
57876
58022
  showOverflow,
57877
58023
  lazy,
57878
58024
  loadMethod,
57879
- autoResize,
57880
- useScrollbar
58025
+ autoResize
57881
58026
  } = props;
57882
58027
  const dragOpts = computeDragOpts.value;
57883
58028
  if (!showOverflow) {
@@ -57899,25 +58044,12 @@ let crossTreeDragNodeObj = null;
57899
58044
  if (menuConfig && !VxeUIContextMenu) {
57900
58045
  tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
57901
58046
  }
57902
- const el = refElem.value;
57903
- if (useScrollbar || autoResize) {
57904
- const viewInnerEl = refVirtualBody.value;
57905
- const scrollObserver = globalResize.create(() => {
57906
- updateScrollbar();
57907
- });
57908
- if (el) {
57909
- scrollObserver.observe(el);
57910
- }
57911
- if (viewInnerEl) {
57912
- scrollObserver.observe(viewInnerEl);
57913
- }
57914
- internalData.scrollObserver = scrollObserver;
57915
- }
57916
58047
  if (autoResize) {
58048
+ const el = refElem.value;
57917
58049
  const parentEl = getParentElem();
57918
58050
  const resizeObserver = globalResize.create(() => {
57919
58051
  if (props.autoResize) {
57920
- reFlag.value++;
58052
+ reLayoutFlag.value++;
57921
58053
  }
57922
58054
  });
57923
58055
  if (el) {
@@ -57928,9 +58060,10 @@ let crossTreeDragNodeObj = null;
57928
58060
  }
57929
58061
  internalData.resizeObserver = resizeObserver;
57930
58062
  }
57931
- reFlag.value++;
58063
+ reLayoutFlag.value++;
58064
+ bindScrollbarResize();
57932
58065
  globalEvents.on($xeTree, 'resize', () => {
57933
- reFlag.value++;
58066
+ reLayoutFlag.value++;
57934
58067
  });
57935
58068
  });
57936
58069
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {