vxe-pc-ui 3.20.0 → 3.20.2

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 (125) hide show
  1. package/es/card/src/card.js +20 -4
  2. package/es/drawer/src/drawer.js +75 -16
  3. package/es/drawer/style.css +13 -6
  4. package/es/drawer/style.min.css +1 -1
  5. package/es/icon/style.css +1 -1
  6. package/es/language/fr-FR.js +29 -29
  7. package/es/layout-aside/src/layout-aside.js +10 -6
  8. package/es/layout-body/src/layout-body.js +24 -12
  9. package/es/list/src/list.js +131 -49
  10. package/es/list/style.css +25 -8
  11. package/es/list/style.min.css +1 -1
  12. package/es/menu/src/menu.js +2 -2
  13. package/es/modal/src/modal.js +73 -14
  14. package/es/modal/style.css +4 -0
  15. package/es/modal/style.min.css +1 -1
  16. package/es/scrollbar/src/scrollbar.js +87 -19
  17. package/es/style.css +1 -1
  18. package/es/style.min.css +1 -1
  19. package/es/tabs/src/tabs.js +21 -5
  20. package/es/tree/src/tree.js +460 -54
  21. package/es/tree/style.css +43 -0
  22. package/es/tree/style.min.css +1 -1
  23. package/es/ui/index.js +1 -1
  24. package/es/ui/src/log.js +1 -1
  25. package/es/ui/src/utils.js +3 -0
  26. package/es/vxe-drawer/style.css +13 -6
  27. package/es/vxe-drawer/style.min.css +1 -1
  28. package/es/vxe-list/style.css +25 -8
  29. package/es/vxe-list/style.min.css +1 -1
  30. package/es/vxe-modal/style.css +4 -0
  31. package/es/vxe-modal/style.min.css +1 -1
  32. package/es/vxe-tree/style.css +43 -0
  33. package/es/vxe-tree/style.min.css +1 -1
  34. package/lib/card/src/card.js +20 -4
  35. package/lib/card/src/card.min.js +1 -1
  36. package/lib/drawer/src/drawer.js +76 -12
  37. package/lib/drawer/src/drawer.min.js +1 -1
  38. package/lib/drawer/style/style.css +13 -6
  39. package/lib/drawer/style/style.min.css +1 -1
  40. package/lib/icon/style/style.css +1 -1
  41. package/lib/icon/style/style.min.css +1 -1
  42. package/lib/index.umd.js +956 -185
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/language/fr-FR.js +29 -29
  45. package/lib/language/fr-FR.min.js +1 -1
  46. package/lib/language/fr-FR.umd.js +29 -29
  47. package/lib/layout-aside/src/layout-aside.js +10 -9
  48. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  49. package/lib/layout-body/src/layout-body.js +28 -20
  50. package/lib/layout-body/src/layout-body.min.js +1 -1
  51. package/lib/list/src/list.js +119 -46
  52. package/lib/list/src/list.min.js +1 -1
  53. package/lib/list/style/style.css +25 -8
  54. package/lib/list/style/style.min.css +1 -1
  55. package/lib/menu/src/menu.js +1 -1
  56. package/lib/menu/src/menu.min.js +1 -1
  57. package/lib/modal/src/modal.js +74 -12
  58. package/lib/modal/src/modal.min.js +1 -1
  59. package/lib/modal/style/style.css +4 -0
  60. package/lib/modal/style/style.min.css +1 -1
  61. package/lib/scrollbar/src/scrollbar.js +92 -17
  62. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  63. package/lib/style.css +1 -1
  64. package/lib/style.min.css +1 -1
  65. package/lib/tabs/src/tabs.js +21 -8
  66. package/lib/tabs/src/tabs.min.js +1 -1
  67. package/lib/tree/src/tree.js +438 -51
  68. package/lib/tree/src/tree.min.js +1 -1
  69. package/lib/tree/style/style.css +43 -0
  70. package/lib/tree/style/style.min.css +1 -1
  71. package/lib/ui/index.js +1 -1
  72. package/lib/ui/index.min.js +1 -1
  73. package/lib/ui/src/log.js +1 -1
  74. package/lib/ui/src/log.min.js +1 -1
  75. package/lib/ui/src/utils.js +4 -0
  76. package/lib/ui/src/utils.min.js +1 -1
  77. package/lib/vxe-drawer/style/style.css +13 -6
  78. package/lib/vxe-drawer/style/style.min.css +1 -1
  79. package/lib/vxe-list/style/style.css +25 -8
  80. package/lib/vxe-list/style/style.min.css +1 -1
  81. package/lib/vxe-modal/style/style.css +4 -0
  82. package/lib/vxe-modal/style/style.min.css +1 -1
  83. package/lib/vxe-tree/style/style.css +43 -0
  84. package/lib/vxe-tree/style/style.min.css +1 -1
  85. package/package.json +2 -2
  86. package/packages/card/src/card.ts +21 -4
  87. package/packages/drawer/src/drawer.ts +80 -16
  88. package/packages/language/fr-FR.ts +903 -903
  89. package/packages/layout-aside/src/layout-aside.ts +10 -6
  90. package/packages/layout-body/src/layout-body.ts +28 -15
  91. package/packages/list/src/list.ts +149 -55
  92. package/packages/menu/src/menu.ts +2 -2
  93. package/packages/modal/src/modal.ts +83 -19
  94. package/packages/scrollbar/src/scrollbar.ts +101 -19
  95. package/packages/tabs/src/tabs.ts +22 -9
  96. package/packages/tree/src/tree.ts +508 -65
  97. package/packages/ui/src/utils.ts +4 -0
  98. package/styles/components/drawer.scss +13 -6
  99. package/styles/components/list.scss +35 -10
  100. package/styles/components/modal.scss +4 -0
  101. package/styles/components/tree.scss +76 -0
  102. package/types/components/card.d.ts +10 -1
  103. package/types/components/drawer.d.ts +20 -0
  104. package/types/components/gantt-module/gantt-view.d.ts +24 -1
  105. package/types/components/gantt.d.ts +2 -0
  106. package/types/components/layout-aside.d.ts +10 -1
  107. package/types/components/layout-body.d.ts +10 -1
  108. package/types/components/list.d.ts +13 -2
  109. package/types/components/modal.d.ts +20 -0
  110. package/types/components/scrollbar.d.ts +16 -2
  111. package/types/components/table.d.ts +80 -6
  112. package/types/components/tabs.d.ts +10 -1
  113. package/types/components/tree.d.ts +35 -2
  114. /package/es/icon/{iconfont.1791880407207.ttf → iconfont.1792034961185.ttf} +0 -0
  115. /package/es/icon/{iconfont.1791880407207.woff → iconfont.1792034961185.woff} +0 -0
  116. /package/es/icon/{iconfont.1791880407207.woff2 → iconfont.1792034961185.woff2} +0 -0
  117. /package/es/{iconfont.1791880407207.ttf → iconfont.1792034961185.ttf} +0 -0
  118. /package/es/{iconfont.1791880407207.woff → iconfont.1792034961185.woff} +0 -0
  119. /package/es/{iconfont.1791880407207.woff2 → iconfont.1792034961185.woff2} +0 -0
  120. /package/lib/icon/style/{iconfont.1791880407207.ttf → iconfont.1792034961185.ttf} +0 -0
  121. /package/lib/icon/style/{iconfont.1791880407207.woff → iconfont.1792034961185.woff} +0 -0
  122. /package/lib/icon/style/{iconfont.1791880407207.woff2 → iconfont.1792034961185.woff2} +0 -0
  123. /package/lib/{iconfont.1791880407207.ttf → iconfont.1792034961185.ttf} +0 -0
  124. /package/lib/{iconfont.1791880407207.woff → iconfont.1792034961185.woff} +0 -0
  125. /package/lib/{iconfont.1791880407207.woff2 → iconfont.1792034961185.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -11392,6 +11392,7 @@ __webpack_require__.d(__webpack_exports__, {
11392
11392
  renderGlobalIcon: function() { return /* reexport */ renderGlobalIcon; },
11393
11393
  renderer: function() { return /* reexport */ renderer; },
11394
11394
  saveFile: function() { return /* reexport */ saveFile; },
11395
+ scrollbarUtils: function() { return /* reexport */ scrollbarUtils; },
11395
11396
  setConfig: function() { return /* reexport */ setConfig; },
11396
11397
  setI18n: function() { return /* reexport */ setI18n; },
11397
11398
  setIcon: function() { return /* reexport */ setIcon; },
@@ -11647,6 +11648,7 @@ __webpack_require__.d(components_namespaceObject, {
11647
11648
  renderGlobalIcon: function() { return renderGlobalIcon; },
11648
11649
  renderer: function() { return renderer; },
11649
11650
  saveFile: function() { return saveFile; },
11651
+ scrollbarUtils: function() { return scrollbarUtils; },
11650
11652
  setConfig: function() { return setConfig; },
11651
11653
  setI18n: function() { return setI18n; },
11652
11654
  setIcon: function() { return setIcon; },
@@ -11698,7 +11700,7 @@ var es_regexp_exec = __webpack_require__(7495);
11698
11700
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js
11699
11701
  var es_string_match = __webpack_require__(1761);
11700
11702
  ;// ./node_modules/@vxe-ui/core/es/src/core.js
11701
- var coreVersion = "3.4.27";
11703
+ var coreVersion = "3.4.31";
11702
11704
  var VxeCore = {
11703
11705
  coreVersion: coreVersion,
11704
11706
  uiVersion: '',
@@ -12459,7 +12461,7 @@ function createLog(type, name) {
12459
12461
  return msg;
12460
12462
  };
12461
12463
  }
12462
- var version = "3.4.27";
12464
+ var version = "3.4.31";
12463
12465
  var log = {
12464
12466
  create: createLog,
12465
12467
  warn: createLog('warn', "v".concat(version)),
@@ -13013,6 +13015,12 @@ var baseUtils = {
13013
13015
  */
13014
13016
  isEmpty: function isEmpty(value) {
13015
13017
  return value === null || value === undefined || value === '';
13018
+ },
13019
+ /**
13020
+ * 获取配置值,如果存在则返回,如果不存在则使用默认值
13021
+ */
13022
+ getDefVal: function getDefVal(value, defVal) {
13023
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(value) ? defVal : value;
13016
13024
  }
13017
13025
  };
13018
13026
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
@@ -13031,7 +13039,7 @@ var domUtils = {
13031
13039
  for (var i = 0; i < staticClassNames.length; i++) {
13032
13040
  var val = staticClassNames[i];
13033
13041
  if (val) {
13034
- parts.push(val);
13042
+ parts.push('' + val);
13035
13043
  }
13036
13044
  }
13037
13045
  }
@@ -13043,6 +13051,63 @@ var domUtils = {
13043
13051
  return parts.join(' ');
13044
13052
  }
13045
13053
  };
13054
+ ;// ./node_modules/@vxe-ui/core/es/src/scrollbar-utils.js
13055
+ var scrollbarUtils = {
13056
+ /**
13057
+ * 计算滚动条滑块的长度
13058
+ */
13059
+ getThumbSize: function getThumbSize(viewportSize, contentSize, trackSize) {
13060
+ if (contentSize <= viewportSize) {
13061
+ return 0;
13062
+ }
13063
+ var ratio = viewportSize / contentSize;
13064
+ var ideal = trackSize * ratio;
13065
+ return Math.max(20, Math.min(ideal, trackSize));
13066
+ },
13067
+ /**
13068
+ * 计算滚动条滑块的偏移位置
13069
+ */
13070
+ getThumbOffsetSize: function getThumbOffsetSize(offsetSize, viewportSize, contentSize, trackSize, thumbSize) {
13071
+ var maxScroll = contentSize - viewportSize;
13072
+ if (maxScroll <= 0) {
13073
+ return 0;
13074
+ }
13075
+ var maxThumbOffset = trackSize - thumbSize;
13076
+ if (maxThumbOffset <= 0) {
13077
+ return 0;
13078
+ }
13079
+ var clamped = Math.min(Math.max(offsetSize, 0), maxScroll);
13080
+ var ratio = clamped / maxScroll;
13081
+ return ratio * maxThumbOffset;
13082
+ },
13083
+ /**
13084
+ * 根据点击轨道的位置,计算滑块的偏移位置
13085
+ */
13086
+ getScrollFromClick: function getScrollFromClick(clickPosition, viewportSize, contentSize, trackSize, thumbSize) {
13087
+ var maxThumbOffset = trackSize - thumbSize;
13088
+ var maxScroll = contentSize - viewportSize;
13089
+ if (maxScroll <= 0 || maxThumbOffset <= 0) {
13090
+ return 0;
13091
+ }
13092
+ var thumbOffset = clickPosition - thumbSize / 2;
13093
+ thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
13094
+ var scrollOffset = thumbOffset / maxThumbOffset * maxScroll;
13095
+ return scrollOffset;
13096
+ },
13097
+ /**
13098
+ * 拖拽 thumb 时,根据鼠标位置计算滑块的偏移位置
13099
+ */
13100
+ getScrollFromDrag: function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSize, trackSize, thumbSize) {
13101
+ var maxScroll = contentSize - viewportSize;
13102
+ var maxThumbOffset = trackSize - thumbSize;
13103
+ if (maxScroll <= 0 || maxThumbOffset <= 0) {
13104
+ return 0;
13105
+ }
13106
+ var thumbOffset = pointerPosition - dragOffset;
13107
+ thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
13108
+ return thumbOffset / maxThumbOffset * maxScroll;
13109
+ }
13110
+ };
13046
13111
  ;// ./node_modules/@vxe-ui/core/es/src/mixins.js
13047
13112
 
13048
13113
 
@@ -13107,6 +13172,7 @@ var globalMixins = {
13107
13172
 
13108
13173
 
13109
13174
 
13175
+
13110
13176
 
13111
13177
 
13112
13178
  var installedPlugins = [];
@@ -13180,6 +13246,7 @@ var VxeUI = Object.assign(VxeCore, {
13180
13246
  permission: permission,
13181
13247
  baseUtils: baseUtils,
13182
13248
  domUtils: domUtils,
13249
+ scrollbarUtils: scrollbarUtils,
13183
13250
  globalStore: globalStore,
13184
13251
  component: component,
13185
13252
  getComponent: getComponent,
@@ -13209,6 +13276,7 @@ setTheme();
13209
13276
 
13210
13277
 
13211
13278
 
13279
+
13212
13280
 
13213
13281
 
13214
13282
  /* harmony default export */ var es_index_esm = ((/* unused pure expression or super */ null && (VxeUI)));
@@ -13347,7 +13415,7 @@ var es_array_filter = __webpack_require__(2008);
13347
13415
 
13348
13416
 
13349
13417
  var log_log = VxeUI.log;
13350
- var uiVersion = "ui v".concat("3.20.0");
13418
+ var uiVersion = "ui v".concat("3.20.2");
13351
13419
  function createComponentLog(name) {
13352
13420
  var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
13353
13421
  var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
@@ -13367,7 +13435,7 @@ var errLog = log_log.create('error', uiVersion);
13367
13435
 
13368
13436
 
13369
13437
 
13370
- var ui_version = "3.20.0";
13438
+ var ui_version = "3.20.2";
13371
13439
  VxeUI.uiVersion = ui_version;
13372
13440
  VxeUI.dynamicApp = dynamicApp;
13373
13441
  function config(options) {
@@ -16243,6 +16311,9 @@ function enModelValue(nodeid) {
16243
16311
  function deModelValue(nodeid) {
16244
16312
  return nodeid ? decodeURIComponent("".concat(nodeid)) : nodeid;
16245
16313
  }
16314
+ function getDefaultConfig(val1, def1) {
16315
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(val1) ? def1 : val1;
16316
+ }
16246
16317
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
16247
16318
  var es_promise = __webpack_require__(3362);
16248
16319
  ;// ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
@@ -20887,6 +20958,7 @@ function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSiz
20887
20958
 
20888
20959
 
20889
20960
 
20961
+
20890
20962
  var scrollbar_getConfig = VxeUI.getConfig,
20891
20963
  scrollbar_createEvent = VxeUI.createEvent,
20892
20964
  scrollbar_domUtils = VxeUI.domUtils,
@@ -20914,6 +20986,7 @@ function scrollbar_createInternalData() {
20914
20986
  name: 'VxeScrollbar',
20915
20987
  props: {
20916
20988
  id: [String, Number],
20989
+ viewId: [String, Number],
20917
20990
  width: [String, Number],
20918
20991
  height: [String, Number],
20919
20992
  minWidth: [String, Number],
@@ -20933,6 +21006,18 @@ function scrollbar_createInternalData() {
20933
21006
  return scrollbar_getConfig().scrollbar.padding;
20934
21007
  }
20935
21008
  },
21009
+ autoHide: {
21010
+ type: Boolean,
21011
+ default: function _default() {
21012
+ return scrollbar_getConfig().scrollbar.autoHide;
21013
+ }
21014
+ },
21015
+ visible: {
21016
+ type: Boolean,
21017
+ default: function _default() {
21018
+ return scrollbar_getConfig().scrollbar.visible;
21019
+ }
21020
+ },
20936
21021
  xConfig: Object,
20937
21022
  yConfig: Object,
20938
21023
  className: {
@@ -20986,8 +21071,8 @@ function scrollbar_createInternalData() {
20986
21071
  minHeight = props.minHeight,
20987
21072
  maxWidth = props.maxWidth,
20988
21073
  maxHeight = props.maxHeight;
20989
- var xOpts = $xeScrollbar.computeXOpts;
20990
- var yOpts = $xeScrollbar.computeYOpts;
21074
+ var barWidth = $xeScrollbar.computeYWidth;
21075
+ var barHeight = $xeScrollbar.computeXHeight;
20991
21076
  var stys = {};
20992
21077
  if (width) {
20993
21078
  stys.width = toCssUnit(width);
@@ -21007,14 +21092,50 @@ function scrollbar_createInternalData() {
21007
21092
  if (maxHeight) {
21008
21093
  stys.maxHeight = toCssUnit(maxHeight);
21009
21094
  }
21010
- if (yOpts.width) {
21011
- stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(yOpts.width);
21012
- }
21013
- if (xOpts.height) {
21014
- stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(xOpts.height);
21095
+ if (barWidth || barHeight) {
21096
+ stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
21097
+ stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
21015
21098
  }
21016
21099
  return stys;
21017
21100
  },
21101
+ computeXHeight: function computeXHeight() {
21102
+ var $xeScrollbar = this;
21103
+ var xOpts = $xeScrollbar.computeXOpts;
21104
+ return xOpts.height;
21105
+ },
21106
+ computeYWidth: function computeYWidth() {
21107
+ var $xeScrollbar = this;
21108
+ var yOpts = $xeScrollbar.computeYOpts;
21109
+ return yOpts.width;
21110
+ },
21111
+ computeXVisible: function computeXVisible() {
21112
+ var $xeScrollbar = this;
21113
+ var props = $xeScrollbar;
21114
+ var visible = props.visible;
21115
+ var xOpts = $xeScrollbar.computeXOpts;
21116
+ return getDefaultConfig(xOpts.visible, visible);
21117
+ },
21118
+ computeYVisible: function computeYVisible() {
21119
+ var $xeScrollbar = this;
21120
+ var props = $xeScrollbar;
21121
+ var visible = props.visible;
21122
+ var yOpts = $xeScrollbar.computeYOpts;
21123
+ return getDefaultConfig(yOpts.visible, visible);
21124
+ },
21125
+ computeXAutoHide: function computeXAutoHide() {
21126
+ var $xeScrollbar = this;
21127
+ var props = $xeScrollbar;
21128
+ var autoHide = props.autoHide;
21129
+ var xOpts = $xeScrollbar.computeXOpts;
21130
+ return getDefaultConfig(xOpts.autoHide, autoHide);
21131
+ },
21132
+ computeYAutoHide: function computeYAutoHide() {
21133
+ var $xeScrollbar = this;
21134
+ var props = $xeScrollbar;
21135
+ var autoHide = props.autoHide;
21136
+ var yOpts = $xeScrollbar.computeYOpts;
21137
+ return getDefaultConfig(yOpts.autoHide, autoHide);
21138
+ },
21018
21139
  computeWrapperClss: function computeWrapperClss() {
21019
21140
  var $xeScrollbar = this;
21020
21141
  var props = $xeScrollbar;
@@ -21024,14 +21145,16 @@ function scrollbar_createInternalData() {
21024
21145
  padding = props.padding;
21025
21146
  var yThumbHeight = reactData.yThumbHeight,
21026
21147
  xThumbWidth = reactData.xThumbWidth;
21027
- var xOpts = $xeScrollbar.computeXOpts;
21028
- var yOpts = $xeScrollbar.computeYOpts;
21029
21148
  var xToTop = $xeScrollbar.computeXToTop;
21030
21149
  var yToLeft = $xeScrollbar.computeYToLeft;
21031
- return scrollbar_domUtils.buildClass(['vxe-scrollbar', "ov-x--".concat(xOpts.visible || 'visible'), "ov-y--".concat(yOpts.visible || 'visible'), "sx-pos--".concat(xToTop ? 'top' : 'bottom'), "sy-pos--".concat(yToLeft ? 'left' : 'right'), native ? 'is--native' : 'is--virtual', className], {
21150
+ var xVisible = $xeScrollbar.computeXVisible;
21151
+ var yVisible = $xeScrollbar.computeYVisible;
21152
+ var xAutoHide = $xeScrollbar.computeXAutoHide;
21153
+ var yAutoHide = $xeScrollbar.computeYAutoHide;
21154
+ return scrollbar_domUtils.buildClass(['vxe-scrollbar', "ov-x--".concat(xVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(yVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(xToTop ? 'top' : 'bottom'), "sy-pos--".concat(yToLeft ? 'left' : 'right'), native ? 'is--native' : 'is--virtual', className], {
21032
21155
  'is--padding': padding,
21033
- 'ov-x--auto-hide': xOpts.autoHide,
21034
- 'ov-y--auto-hide': yOpts.autoHide,
21156
+ 'ov-x--auto-hide': xAutoHide,
21157
+ 'ov-y--auto-hide': yAutoHide,
21035
21158
  'overflow-y': yThumbHeight,
21036
21159
  'overflow-x': xThumbWidth
21037
21160
  });
@@ -21406,13 +21529,14 @@ function scrollbar_createInternalData() {
21406
21529
  var id = props.id,
21407
21530
  native = props.native,
21408
21531
  loading = props.loading,
21532
+ viewId = props.viewId,
21409
21533
  viewAttrs = props.viewAttrs;
21410
21534
  var wrapperStyle = $xeScrollbar.computeWrapperStyle;
21411
21535
  var wrapperClss = $xeScrollbar.computeWrapperClss;
21412
21536
  var viewClss = $xeScrollbar.computeViewClss;
21413
21537
  var viewInnerClss = $xeScrollbar.computeViewInnerClss;
21414
- var xOpts = $xeScrollbar.computeXOpts;
21415
- var yOpts = $xeScrollbar.computeYOpts;
21538
+ var xVisible = $xeScrollbar.computeXVisible;
21539
+ var yVisible = $xeScrollbar.computeYVisible;
21416
21540
  var defaultSlot = slots.default;
21417
21541
  return h('div', {
21418
21542
  ref: 'refElem',
@@ -21424,7 +21548,9 @@ function scrollbar_createInternalData() {
21424
21548
  }, [h('div', {
21425
21549
  ref: 'refViewElem',
21426
21550
  class: viewClss,
21427
- attrs: viewAttrs,
21551
+ attrs: _objectSpread2({
21552
+ id: viewId || null
21553
+ }, viewAttrs),
21428
21554
  on: {
21429
21555
  scroll: $xeScrollbar.scrollEvent
21430
21556
  }
@@ -21432,7 +21558,7 @@ function scrollbar_createInternalData() {
21432
21558
  key: 'vi',
21433
21559
  ref: 'refViewInnerElem',
21434
21560
  class: viewInnerClss
21435
- }, defaultSlot ? defaultSlot({}) : [])]), native || xOpts.visible === 'hidden' ? scrollbar_renderEmptyElement($xeScrollbar) : h('div', {
21561
+ }, defaultSlot ? defaultSlot({}) : [])]), native || xVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : h('div', {
21436
21562
  ref: 'refTrackXElem',
21437
21563
  class: 'vxe-scrollbar--track-x',
21438
21564
  on: {
@@ -21448,7 +21574,7 @@ function scrollbar_createInternalData() {
21448
21574
  pointercancel: $xeScrollbar.cleatPointerThumbEvent,
21449
21575
  lostpointercapture: $xeScrollbar.cleatPointerThumbEvent
21450
21576
  }
21451
- })]), native || yOpts.visible === 'hidden' ? scrollbar_renderEmptyElement($xeScrollbar) : h('div', {
21577
+ })]), native || yVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : h('div', {
21452
21578
  ref: 'refTrackYElem',
21453
21579
  class: 'vxe-scrollbar--track-y',
21454
21580
  on: {
@@ -21505,6 +21631,26 @@ function scrollbar_createInternalData() {
21505
21631
  var $xeScrollbar = this;
21506
21632
  $xeScrollbar.reFlag++;
21507
21633
  },
21634
+ computeYWidth: function computeYWidth() {
21635
+ var $xeScrollbar = this;
21636
+ $xeScrollbar.reFlag++;
21637
+ },
21638
+ computeXHeight: function computeXHeight() {
21639
+ var $xeScrollbar = this;
21640
+ $xeScrollbar.reFlag++;
21641
+ },
21642
+ computeXVisible: function computeXVisible() {
21643
+ var $xeScrollbar = this;
21644
+ $xeScrollbar.$nextTick(function () {
21645
+ $xeScrollbar.reFlag++;
21646
+ });
21647
+ },
21648
+ computeYVisible: function computeYVisible() {
21649
+ var $xeScrollbar = this;
21650
+ $xeScrollbar.$nextTick(function () {
21651
+ $xeScrollbar.reFlag++;
21652
+ });
21653
+ },
21508
21654
  reFlag: function reFlag() {
21509
21655
  var $xeScrollbar = this;
21510
21656
  $xeScrollbar.recalculate().then(function () {
@@ -21589,6 +21735,7 @@ var Scrollbar = VxeScrollbar;
21589
21735
 
21590
21736
 
21591
21737
 
21738
+
21592
21739
  /* harmony default export */ var card = (/* define-vxe-component start */defineVxeComponent({
21593
21740
  name: 'VxeCard',
21594
21741
  mixins: [globalMixins.sizeMixin],
@@ -21630,7 +21777,7 @@ var Scrollbar = VxeScrollbar;
21630
21777
  useScrollbar: {
21631
21778
  type: Boolean,
21632
21779
  default: function _default() {
21633
- return getConfig().card.useScrollbar;
21780
+ return getDefaultConfig(getConfig().card.useScrollbar, getConfig().useScrollbar);
21634
21781
  }
21635
21782
  },
21636
21783
  scrollbarConfig: Object
@@ -21662,6 +21809,20 @@ var Scrollbar = VxeScrollbar;
21662
21809
  var $xeCard = this;
21663
21810
  var props = $xeCard;
21664
21811
  return Object.assign({}, getConfig().card.scrollbarConfig, props.scrollbarConfig);
21812
+ },
21813
+ computeScrollbarProps: function computeScrollbarProps() {
21814
+ var $xeCard = this;
21815
+ var scrollbarOpts = $xeCard.computeScrollbarOpts;
21816
+ return {
21817
+ width: scrollbarOpts.width,
21818
+ height: scrollbarOpts.height,
21819
+ autoHide: scrollbarOpts.autoHide,
21820
+ visible: scrollbarOpts.visible,
21821
+ xConfig: scrollbarOpts.xConfig,
21822
+ yConfig: scrollbarOpts.yConfig,
21823
+ className: scrollbarOpts.className,
21824
+ viewAttrs: scrollbarOpts.viewAttrs
21825
+ };
21665
21826
  }
21666
21827
  }),
21667
21828
  methods: {
@@ -21698,6 +21859,7 @@ var Scrollbar = VxeScrollbar;
21698
21859
  var vSize = $xeCard.computeSize;
21699
21860
  var cardStyle = $xeCard.computeCardStyle;
21700
21861
  var scrollbarOpts = $xeCard.computeScrollbarOpts;
21862
+ var scrollbarProps = $xeCard.computeScrollbarProps;
21701
21863
  var viewClassName = scrollbarOpts.viewClassName,
21702
21864
  viewInnerClassName = scrollbarOpts.viewInnerClassName;
21703
21865
  return h('div', {
@@ -21716,7 +21878,7 @@ var Scrollbar = VxeScrollbar;
21716
21878
  class: 'vxe-card--body'
21717
21879
  }, [leftSlot ? useScrollbar ? h(packages_scrollbar, {
21718
21880
  class: 'vxe-card--body-scrollbar-left',
21719
- props: _objectSpread2(_objectSpread2({}, scrollbarOpts), {}, {
21881
+ props: _objectSpread2(_objectSpread2({}, scrollbarProps), {}, {
21720
21882
  viewClassName: 'vxe-card--body-scrollbar-left-view',
21721
21883
  viewInnerClassName: 'vxe-card--body-scrollbar-left-inner'
21722
21884
  }),
@@ -21729,7 +21891,7 @@ var Scrollbar = VxeScrollbar;
21729
21891
  class: 'vxe-card--body-left'
21730
21892
  }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), useScrollbar ? h(packages_scrollbar, {
21731
21893
  class: 'vxe-card--body-scrollbar-content',
21732
- props: _objectSpread2(_objectSpread2({}, scrollbarOpts), {}, {
21894
+ props: _objectSpread2(_objectSpread2({}, scrollbarProps), {}, {
21733
21895
  viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
21734
21896
  viewInnerClassName: 'vxe-card--body-scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
21735
21897
  }),
@@ -21742,7 +21904,7 @@ var Scrollbar = VxeScrollbar;
21742
21904
  class: 'vxe-card--body-content'
21743
21905
  }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? useScrollbar ? h(packages_scrollbar, {
21744
21906
  class: 'vxe-card--body-scrollbar-right',
21745
- props: _objectSpread2(_objectSpread2({}, scrollbarOpts), {}, {
21907
+ props: _objectSpread2(_objectSpread2({}, scrollbarProps), {}, {
21746
21908
  viewClassName: 'vxe-card--body-scrollbar-right-view',
21747
21909
  viewInnerClassName: 'vxe-card--body-scrollbar-right-inner'
21748
21910
  }),
@@ -22633,8 +22795,9 @@ function list_createInternalData() {
22633
22795
  afterList: [],
22634
22796
  fullKeyMaps: {},
22635
22797
  rowMaps: {},
22636
- // 滚动条
22637
22798
  // resizeObserver: undefined,
22799
+ // 滚动条
22800
+ // scrollObserver: undefined,
22638
22801
  // isThumbDrag: false,
22639
22802
  thumbDragOffset: 0,
22640
22803
  yThumbTop: 0,
@@ -22708,7 +22871,7 @@ function list_createInternalData() {
22708
22871
  useScrollbar: {
22709
22872
  type: Boolean,
22710
22873
  default: function _default() {
22711
- return getConfig().list.useScrollbar;
22874
+ return getDefaultConfig(getConfig().list.useScrollbar, getConfig().useScrollbar);
22712
22875
  }
22713
22876
  },
22714
22877
  scrollbarConfig: Object
@@ -22780,17 +22943,15 @@ function list_createInternalData() {
22780
22943
  computeWrapperStyles: function computeWrapperStyles() {
22781
22944
  var $xeList = this;
22782
22945
  var rowHeight = $xeList.computeRowHeight;
22783
- var scrollbarXOpts = $xeList.computeScrollbarXOpts;
22784
- var scrollbarYOpts = $xeList.computeScrollbarYOpts;
22946
+ var barWidth = $xeList.computeScrollYWidth;
22947
+ var barHeight = $xeList.computeScrollXHeight;
22785
22948
  var stys = {};
22786
22949
  if (rowHeight) {
22787
22950
  stys['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
22788
22951
  }
22789
- if (scrollbarYOpts.width) {
22790
- stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(scrollbarYOpts.width);
22791
- }
22792
- if (scrollbarXOpts.height) {
22793
- stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(scrollbarXOpts.height);
22952
+ if (barWidth || barHeight) {
22953
+ stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
22954
+ stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
22794
22955
  }
22795
22956
  return stys;
22796
22957
  },
@@ -22828,21 +22989,52 @@ function list_createInternalData() {
22828
22989
  var scrollbarOpts = $xeList.computeScrollbarOpts;
22829
22990
  return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
22830
22991
  },
22992
+ computeScrollXHeight: function computeScrollXHeight() {
22993
+ var $xeList = this;
22994
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
22995
+ var scrollbarXOpts = $xeList.computeScrollbarXOpts;
22996
+ return getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
22997
+ },
22998
+ computeScrollYWidth: function computeScrollYWidth() {
22999
+ var $xeList = this;
23000
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
23001
+ var scrollbarYOpts = $xeList.computeScrollbarYOpts;
23002
+ return getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
23003
+ },
23004
+ computeScrollXVisible: function computeScrollXVisible() {
23005
+ var $xeList = this;
23006
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
23007
+ var scrollbarXOpts = $xeList.computeScrollbarXOpts;
23008
+ return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
23009
+ },
23010
+ computeScrollYVisible: function computeScrollYVisible() {
23011
+ var $xeList = this;
23012
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
23013
+ var scrollbarYOpts = $xeList.computeScrollbarYOpts;
23014
+ return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
23015
+ },
23016
+ computeScrollXAutoHide: function computeScrollXAutoHide() {
23017
+ var $xeList = this;
23018
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
23019
+ var scrollbarXOpts = $xeList.computeScrollbarXOpts;
23020
+ return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
23021
+ },
23022
+ computeScrollYAutoHide: function computeScrollYAutoHide() {
23023
+ var $xeList = this;
23024
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
23025
+ var scrollbarYOpts = $xeList.computeScrollbarYOpts;
23026
+ return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
23027
+ },
22831
23028
  computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
22832
23029
  var $xeList = this;
22833
23030
  var reactData = $xeList.reactData;
22834
- var scrollbarOpts = $xeList.computeScrollbarOpts;
22835
- var padding = scrollbarOpts.padding;
22836
23031
  var yThumbHeight = reactData.yThumbHeight,
22837
23032
  xThumbWidth = reactData.xThumbWidth;
22838
- var scrollbarXOpts = $xeList.computeScrollbarXOpts;
22839
- var scrollbarYOpts = $xeList.computeScrollbarYOpts;
22840
23033
  var scrollbarXToTop = $xeList.computeScrollbarXToTop;
22841
23034
  var scrollbarYToLeft = $xeList.computeScrollbarYToLeft;
22842
- return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollbarXOpts.visible || 'visible'), "ov-y--".concat(scrollbarYOpts.visible || 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
22843
- 'is--padding': padding,
22844
- 'ov-x--auto-hide': scrollbarXOpts.autoHide,
22845
- 'ov-y--auto-hide': scrollbarYOpts.autoHide,
23035
+ var scrollXVisible = $xeList.computeScrollXVisible;
23036
+ var scrollYVisible = $xeList.computeScrollYVisible;
23037
+ return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
22846
23038
  'overflow-y': yThumbHeight,
22847
23039
  'overflow-x': xThumbWidth
22848
23040
  });
@@ -23019,6 +23211,11 @@ function list_createInternalData() {
23019
23211
  var fullData = internalData.fullData;
23020
23212
  return fullData;
23021
23213
  },
23214
+ getParentElem: function getParentElem() {
23215
+ var $xeList = this;
23216
+ var el = $xeList.$refs.refElem;
23217
+ return el ? el.parentElement : null;
23218
+ },
23022
23219
  calcTableHeight: function calcTableHeight(key) {
23023
23220
  var $xeList = this;
23024
23221
  var props = $xeList;
@@ -25042,7 +25239,9 @@ function list_createInternalData() {
25042
25239
  topSpaceHeight = reactData.topSpaceHeight,
25043
25240
  rowList = reactData.rowList,
25044
25241
  isAllChecked = reactData.isAllChecked,
25045
- isAllIndeterminate = reactData.isAllIndeterminate;
25242
+ isAllIndeterminate = reactData.isAllIndeterminate,
25243
+ xThumbWidth = reactData.xThumbWidth,
25244
+ yThumbHeight = reactData.yThumbHeight;
25046
25245
  var defaultSlot = slots.default;
25047
25246
  var headerSlot = slots.header;
25048
25247
  var footerSlot = slots.footer;
@@ -25058,8 +25257,13 @@ function list_createInternalData() {
25058
25257
  var isHover = rowOpts.isHover,
25059
25258
  padding = rowOpts.padding;
25060
25259
  var isDrag = $xeList.computeIsDrag;
25061
- var scrollbarXOpts = $xeList.computeScrollbarXOpts;
25062
- var scrollbarYOpts = $xeList.computeScrollbarYOpts;
25260
+ var scrollbarOpts = $xeList.computeScrollbarOpts;
25261
+ var scrollXVisible = $xeList.computeScrollXVisible;
25262
+ var scrollYVisible = $xeList.computeScrollYVisible;
25263
+ var scrollbarXToTop = $xeList.computeScrollbarXToTop;
25264
+ var scrollbarYToLeft = $xeList.computeScrollbarYToLeft;
25265
+ var scrollXAutoHide = $xeList.computeScrollXAutoHide;
25266
+ var scrollYAutoHide = $xeList.computeScrollYAutoHide;
25063
25267
  var scrollbarWrapperClss = $xeList.computeScrollbarWrapperClss;
25064
25268
  var showDefChekboxHead = showCheckbox && checkboxOpts.showHeader !== false;
25065
25269
  var leOns = {};
@@ -25068,9 +25272,9 @@ function list_createInternalData() {
25068
25272
  }
25069
25273
  return h('div', {
25070
25274
  ref: 'refElem',
25071
- class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
25275
+ class: ['vxe-list', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
25072
25276
  $list: $xeList
25073
- }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', useScrollbar), 'ov-x--auto-hide', useScrollbar && scrollbarXOpts.autoHide), 'ov-y--auto-hide', useScrollbar && scrollbarYOpts.autoHide), 'is--drag', isDrag), 'is--loading', loading)],
25277
+ }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'is--drag', isDrag), 'is--loading', loading)],
25074
25278
  on: leOns,
25075
25279
  style: wrapperStyles
25076
25280
  }, [headerSlot || showDefChekboxHead ? h('div', {
@@ -25117,21 +25321,12 @@ function list_createInternalData() {
25117
25321
  style: {
25118
25322
  marginTop: topSpaceHeight ? "".concat(topSpaceHeight, "px") : ''
25119
25323
  }
25120
- }, useScrollbar ? defaultSlot ? defaultSlot({
25121
- items: rowList,
25122
- $list: $xeList
25123
- }) : rowList.map(function (row, i) {
25124
- return $xeList.renderRow(h, row, i);
25125
- }) : [h('div', {
25126
- key: 'vi',
25127
- ref: 'refViewInnerElem',
25128
- class: 'vxe-scrollbar--view-inner'
25129
25324
  }, defaultSlot ? defaultSlot({
25130
25325
  items: rowList,
25131
25326
  $list: $xeList
25132
25327
  }) : rowList.map(function (row, i) {
25133
25328
  return $xeList.renderRow(h, row, i);
25134
- }))])]), footerSlot ? h('div', {
25329
+ }))]), footerSlot ? h('div', {
25135
25330
  ref: 'refFooterElem',
25136
25331
  class: 'vxe-list--footer-wrapper'
25137
25332
  }, footerSlot({
@@ -25143,7 +25338,7 @@ function list_createInternalData() {
25143
25338
  */
25144
25339
  useScrollbar ? h('div', {
25145
25340
  class: scrollbarWrapperClss
25146
- }, [scrollbarXOpts.visible === 'hidden' ? renderEmptyElement($xeList) : h('div', {
25341
+ }, [scrollXVisible === false ? renderEmptyElement($xeList) : h('div', {
25147
25342
  ref: 'refTrackXElem',
25148
25343
  class: 'vxe-scrollbar--track-x',
25149
25344
  on: {
@@ -25159,7 +25354,7 @@ function list_createInternalData() {
25159
25354
  pointercancel: $xeList.cleatPointerThumbEvent,
25160
25355
  lostpointercapture: $xeList.cleatPointerThumbEvent
25161
25356
  }
25162
- })]), scrollbarYOpts.visible === 'hidden' ? renderEmptyElement($xeList) : h('div', {
25357
+ })]), scrollYVisible === false ? renderEmptyElement($xeList) : h('div', {
25163
25358
  ref: 'refTrackYElem',
25164
25359
  class: 'vxe-scrollbar--track-y',
25165
25360
  on: {
@@ -25209,13 +25404,37 @@ function list_createInternalData() {
25209
25404
  var $xeList = this;
25210
25405
  $xeList.reFlag++;
25211
25406
  },
25407
+ useScrollbar: function useScrollbar() {
25408
+ var $xeList = this;
25409
+ $xeList.reFlag++;
25410
+ },
25212
25411
  computeRowHeight: function computeRowHeight() {
25213
25412
  var $xeList = this;
25214
25413
  $xeList.reFlag++;
25215
25414
  },
25216
- reFlag: function reFlag() {
25415
+ computeScrollYWidth: function computeScrollYWidth() {
25416
+ var $xeList = this;
25417
+ $xeList.reFlag++;
25418
+ },
25419
+ computeScrollXHeight: function computeScrollXHeight() {
25420
+ var $xeList = this;
25421
+ $xeList.reFlag++;
25422
+ },
25423
+ computeScrollXVisible: function computeScrollXVisible() {
25217
25424
  var $xeList = this;
25218
25425
  $xeList.$nextTick(function () {
25426
+ $xeList.reFlag++;
25427
+ });
25428
+ },
25429
+ computeScrollYVisible: function computeScrollYVisible() {
25430
+ var $xeList = this;
25431
+ $xeList.$nextTick(function () {
25432
+ $xeList.reFlag++;
25433
+ });
25434
+ },
25435
+ reFlag: function reFlag() {
25436
+ var $xeList = this;
25437
+ $xeList.recalculate().then(function () {
25219
25438
  $xeList.recalculate();
25220
25439
  });
25221
25440
  },
@@ -25265,20 +25484,32 @@ function list_createInternalData() {
25265
25484
  if (useKey && !keyField) {
25266
25485
  list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
25267
25486
  }
25268
- if (useScrollbar || autoResize) {
25269
- var el = $xeList.$refs.refElem;
25270
- var viewInnerEl = $xeList.$refs.refViewInnerElem;
25271
- var resizeObserver = globalResize.create(function () {
25487
+ var el = $xeList.$refs.refElem;
25488
+ if (useScrollbar) {
25489
+ var viewInnerEl = $xeList.$refs.refVirtualBody;
25490
+ var scrollObserver = globalResize.create(function () {
25272
25491
  $xeList.reFlag++;
25273
25492
  });
25274
- resizeObserver.observe(el);
25275
- if (autoResize) {
25276
- if (el) {
25277
- resizeObserver.observe(el.parentElement);
25278
- }
25493
+ if (el) {
25494
+ scrollObserver.observe(el);
25279
25495
  }
25280
25496
  if (viewInnerEl) {
25281
- resizeObserver.observe(viewInnerEl);
25497
+ scrollObserver.observe(viewInnerEl);
25498
+ }
25499
+ internalData.scrollObserver = scrollObserver;
25500
+ }
25501
+ if (autoResize) {
25502
+ var parentEl = $xeList.getParentElem();
25503
+ var resizeObserver = globalResize.create(function () {
25504
+ if (props.autoResize) {
25505
+ $xeList.reFlag++;
25506
+ }
25507
+ });
25508
+ if (el) {
25509
+ resizeObserver.observe(el);
25510
+ }
25511
+ if (parentEl) {
25512
+ resizeObserver.observe(parentEl);
25282
25513
  }
25283
25514
  internalData.resizeObserver = resizeObserver;
25284
25515
  }
@@ -25297,10 +25528,14 @@ function list_createInternalData() {
25297
25528
  var $xeList = this;
25298
25529
  var reactData = $xeList.reactData;
25299
25530
  var internalData = $xeList.internalData;
25300
- var resizeObserver = internalData.resizeObserver;
25531
+ var scrollObserver = internalData.scrollObserver,
25532
+ resizeObserver = internalData.resizeObserver;
25301
25533
  if (resizeObserver) {
25302
25534
  resizeObserver.disconnect();
25303
25535
  }
25536
+ if (scrollObserver) {
25537
+ scrollObserver.disconnect();
25538
+ }
25304
25539
  globalEvents.off($xeList, 'resize');
25305
25540
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, list_createReactData());
25306
25541
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, list_createInternalData());
@@ -42612,6 +42847,8 @@ var allActiveDrawers = [];
42612
42847
 
42613
42848
 
42614
42849
 
42850
+
42851
+
42615
42852
 
42616
42853
  /* harmony default export */ var drawer = (/* define-vxe-component start */defineVxeComponent({
42617
42854
  name: 'VxeDrawer',
@@ -42802,7 +43039,14 @@ var allActiveDrawers = [];
42802
43039
  }
42803
43040
  },
42804
43041
  beforeHideMethod: Function,
42805
- slots: Object
43042
+ slots: Object,
43043
+ useScrollbar: {
43044
+ type: Boolean,
43045
+ default: function _default() {
43046
+ return getDefaultConfig(getConfig().drawer.useScrollbar, getConfig().useScrollbar);
43047
+ }
43048
+ },
43049
+ scrollbarConfig: Object
42806
43050
  },
42807
43051
  inject: {
42808
43052
  $xeModal: {
@@ -42875,6 +43119,29 @@ var allActiveDrawers = [];
42875
43119
  return 'wr';
42876
43120
  }
42877
43121
  return 'wl';
43122
+ },
43123
+ computeScrollbarOpts: function computeScrollbarOpts() {
43124
+ var $xeDrawer = this;
43125
+ var props = $xeDrawer;
43126
+ return Object.assign({}, getConfig().modal.scrollbarConfig, props.scrollbarConfig);
43127
+ },
43128
+ computeScrollbarProps: function computeScrollbarProps() {
43129
+ var $xeDrawer = this;
43130
+ var scrollbarOpts = $xeDrawer.computeScrollbarOpts;
43131
+ var viewClassName = scrollbarOpts.viewClassName,
43132
+ viewInnerClassName = scrollbarOpts.viewInnerClassName;
43133
+ return {
43134
+ width: scrollbarOpts.width,
43135
+ height: scrollbarOpts.height,
43136
+ autoHide: scrollbarOpts.autoHide,
43137
+ visible: scrollbarOpts.visible,
43138
+ xConfig: scrollbarOpts.xConfig,
43139
+ yConfig: scrollbarOpts.yConfig,
43140
+ className: scrollbarOpts.className,
43141
+ viewAttrs: scrollbarOpts.viewAttrs,
43142
+ viewClassName: 'vxe-drawer--scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
43143
+ viewInnerClassName: 'vxe-drawer--scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
43144
+ };
42878
43145
  }
42879
43146
  }),
42880
43147
  methods: {
@@ -43273,10 +43540,53 @@ var allActiveDrawers = [];
43273
43540
  var _props$slots3 = props.slots,
43274
43541
  propSlots = _props$slots3 === void 0 ? {} : _props$slots3,
43275
43542
  content = props.content,
43543
+ useScrollbar = props.useScrollbar,
43276
43544
  useHtml = props.useHtml;
43545
+ var scrollbarProps = $xeDrawer.computeScrollbarProps;
43277
43546
  var defaultSlot = slots.default || propSlots.default;
43278
43547
  var leftSlot = slots.left || propSlots.left;
43279
43548
  var rightSlot = slots.right || propSlots.right;
43549
+ var contVNs = [];
43550
+ if (useHtml && !defaultSlot) {
43551
+ contVNs.push(useScrollbar ? h(packages_scrollbar, {
43552
+ key: 'shc',
43553
+ class: 'vxe-drawer--scrollbar-content',
43554
+ props: scrollbarProps,
43555
+ scopedSlots: {
43556
+ default: function _default() {
43557
+ return [h('div', {
43558
+ class: 'vxe-drawer--scrollbar-content-html',
43559
+ domProps: {
43560
+ innerHTML: getFuncText(content)
43561
+ }
43562
+ })];
43563
+ }
43564
+ }
43565
+ }) : h('div', {
43566
+ key: 'hc',
43567
+ class: 'vxe-drawer--content',
43568
+ domProps: {
43569
+ innerHTML: getFuncText(content)
43570
+ }
43571
+ }));
43572
+ } else {
43573
+ contVNs.push(useScrollbar ? h(packages_scrollbar, {
43574
+ key: 'sdc',
43575
+ class: 'vxe-drawer--scrollbar-content',
43576
+ props: scrollbarProps,
43577
+ scopedSlots: {
43578
+ default: function _default() {
43579
+ return defaultSlot ? $xeDrawer.callSlot(defaultSlot, {
43580
+ $drawer: $xeDrawer
43581
+ }, h) : getFuncText(content);
43582
+ }
43583
+ }
43584
+ }) : h('div', {
43585
+ class: 'vxe-drawer--content'
43586
+ }, defaultSlot ? $xeDrawer.callSlot(defaultSlot, {
43587
+ $drawer: $xeDrawer
43588
+ }, h) : getFuncText(content)));
43589
+ }
43280
43590
  return h('div', {
43281
43591
  class: 'vxe-drawer--body'
43282
43592
  }, [leftSlot ? h('div', {
@@ -43285,17 +43595,7 @@ var allActiveDrawers = [];
43285
43595
  $drawer: $xeDrawer
43286
43596
  }, h)) : renderEmptyElement($xeDrawer), h('div', {
43287
43597
  class: 'vxe-drawer--body-default'
43288
- }, [useHtml && !defaultSlot ? h('div', {
43289
- key: 'hc',
43290
- class: 'vxe-drawer--content',
43291
- domProps: {
43292
- innerHTML: getFuncText(content)
43293
- }
43294
- }) : h('div', {
43295
- class: 'vxe-drawer--content'
43296
- }, defaultSlot ? $xeDrawer.callSlot(defaultSlot, {
43297
- $drawer: $xeDrawer
43298
- }, h) : getFuncText(content))]), rightSlot ? h('div', {
43598
+ }, contVNs), rightSlot ? h('div', {
43299
43599
  class: 'vxe-drawer--body-right'
43300
43600
  }, $xeDrawer.callSlot(rightSlot, {
43301
43601
  $drawer: $xeDrawer
@@ -48790,6 +49090,7 @@ var ImagePreview = VxeImagePreview;
48790
49090
 
48791
49091
 
48792
49092
 
49093
+
48793
49094
  /* harmony default export */ var layout_aside = (/* define-vxe-component start */defineVxeComponent({
48794
49095
  name: 'VxeLayoutAside',
48795
49096
  mixins: [globalMixins.sizeMixin],
@@ -48803,7 +49104,7 @@ var ImagePreview = VxeImagePreview;
48803
49104
  useScrollbar: {
48804
49105
  type: Boolean,
48805
49106
  default: function _default() {
48806
- return getConfig().layoutAside.useScrollbar;
49107
+ return getDefaultConfig(getConfig().layoutAside.useScrollbar, getConfig().useScrollbar);
48807
49108
  }
48808
49109
  },
48809
49110
  scrollbarConfig: Object,
@@ -48879,10 +49180,7 @@ var ImagePreview = VxeImagePreview;
48879
49180
  var vSize = $xeLayoutAside.computeSize;
48880
49181
  var collapseOpts = $xeLayoutAside.computeCollapseOpts;
48881
49182
  var scrollbarOpts = $xeLayoutAside.computeScrollbarOpts;
48882
- var native = scrollbarOpts.native,
48883
- yConfig = scrollbarOpts.yConfig,
48884
- className = scrollbarOpts.className,
48885
- viewAttrs = scrollbarOpts.viewAttrs,
49183
+ var className = scrollbarOpts.className,
48886
49184
  viewClassName = scrollbarOpts.viewClassName,
48887
49185
  viewInnerClassName = scrollbarOpts.viewInnerClassName;
48888
49186
  var defaultSlot = slots.default;
@@ -48891,13 +49189,16 @@ var ImagePreview = VxeImagePreview;
48891
49189
  style: varStyle
48892
49190
  }, [useScrollbar ? h(packages_scrollbar, {
48893
49191
  props: {
48894
- native: native,
49192
+ width: scrollbarOpts.width,
49193
+ height: scrollbarOpts.height,
49194
+ autoHide: scrollbarOpts.autoHide,
49195
+ visible: scrollbarOpts.visible,
48895
49196
  xConfig: {
48896
- visible: 'hidden'
49197
+ visible: false
48897
49198
  },
48898
- yConfig: yConfig,
49199
+ yConfig: scrollbarOpts.yConfig,
48899
49200
  className: 'vxe-layout-aside--scrollbar' + (className ? ' ' + className : ''),
48900
- viewAttrs: viewAttrs,
49201
+ viewAttrs: scrollbarOpts.viewAttrs,
48901
49202
  viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
48902
49203
  viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
48903
49204
  },
@@ -48949,6 +49250,7 @@ var LayoutAside = VxeLayoutAside;
48949
49250
 
48950
49251
 
48951
49252
 
49253
+
48952
49254
  function layout_body_createInternalData() {
48953
49255
  return {};
48954
49256
  }
@@ -48971,7 +49273,7 @@ function layout_body_createReactData() {
48971
49273
  useScrollbar: {
48972
49274
  type: Boolean,
48973
49275
  default: function _default() {
48974
- return getConfig().layoutBody.useScrollbar;
49276
+ return getDefaultConfig(getConfig().layoutBody.useScrollbar, getConfig().useScrollbar);
48975
49277
  }
48976
49278
  },
48977
49279
  scrollbarConfig: Object,
@@ -49005,6 +49307,30 @@ function layout_body_createReactData() {
49005
49307
  var $xeLayoutBody = this;
49006
49308
  var props = $xeLayoutBody;
49007
49309
  return Object.assign({}, getConfig().layoutBody.scrollbarConfig, props.scrollbarConfig);
49310
+ },
49311
+ computeScrollbarProps: function computeScrollbarProps() {
49312
+ var $xeLayoutBody = this;
49313
+ var props = $xeLayoutBody;
49314
+ var backtopId = $xeLayoutBody.backtopId;
49315
+ var showBacktop = props.showBacktop;
49316
+ var scrollbarOpts = $xeLayoutBody.computeScrollbarOpts;
49317
+ var className = scrollbarOpts.className,
49318
+ viewClassName = scrollbarOpts.viewClassName,
49319
+ viewInnerClassName = scrollbarOpts.viewInnerClassName;
49320
+ return {
49321
+ width: scrollbarOpts.width,
49322
+ height: scrollbarOpts.height,
49323
+ autoHide: scrollbarOpts.autoHide,
49324
+ visible: scrollbarOpts.visible,
49325
+ xConfig: scrollbarOpts.xConfig,
49326
+ yConfig: scrollbarOpts.yConfig,
49327
+ className: 'vxe-layout-body--scrollbar' + (className ? ' ' + className : ''),
49328
+ viewAttrs: _objectSpread2(_objectSpread2({}, scrollbarOpts.viewAttrs), {}, {
49329
+ id: showBacktop ? backtopId || null : null
49330
+ }),
49331
+ viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
49332
+ viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
49333
+ };
49008
49334
  }
49009
49335
  }),
49010
49336
  methods: {
@@ -49030,14 +49356,7 @@ function layout_body_createReactData() {
49030
49356
  showBacktop = props.showBacktop,
49031
49357
  useScrollbar = props.useScrollbar;
49032
49358
  var backtopOpts = $xeLayoutBody.computeBacktopOpts;
49033
- var scrollbarOpts = $xeLayoutBody.computeScrollbarOpts;
49034
- var native = scrollbarOpts.native,
49035
- xConfig = scrollbarOpts.xConfig,
49036
- yConfig = scrollbarOpts.yConfig,
49037
- className = scrollbarOpts.className,
49038
- viewAttrs = scrollbarOpts.viewAttrs,
49039
- viewClassName = scrollbarOpts.viewClassName,
49040
- viewInnerClassName = scrollbarOpts.viewInnerClassName;
49359
+ var scrollbarProps = $xeLayoutBody.computeScrollbarProps;
49041
49360
  var vSize = $xeLayoutBody.computeSize;
49042
49361
  var defaultSlot = slots.default;
49043
49362
  var backtopSlot = slots.backtop;
@@ -49056,17 +49375,7 @@ function layout_body_createReactData() {
49056
49375
  return h('div', {
49057
49376
  class: ['vxe-layout-body', _defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--loading', loading), 'is--padding', padding)]
49058
49377
  }, [useScrollbar ? h(packages_scrollbar, {
49059
- props: {
49060
- native: native,
49061
- xConfig: xConfig,
49062
- yConfig: yConfig,
49063
- className: 'vxe-layout-body--scrollbar' + (className ? ' ' + className : ''),
49064
- viewAttrs: _objectSpread2(_objectSpread2({}, viewAttrs), {}, {
49065
- id: showBacktop ? backtopId || null : null
49066
- }),
49067
- viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
49068
- viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
49069
- },
49378
+ props: scrollbarProps,
49070
49379
  scopedSlots: {
49071
49380
  default: function _default() {
49072
49381
  return defaultSlot ? defaultSlot({}) : [];
@@ -49570,7 +49879,7 @@ var nemuUniqueKey = 100000000;
49570
49879
  useScrollbar: {
49571
49880
  type: Boolean,
49572
49881
  default: function _default() {
49573
- return menu_getConfig().menu.useScrollbar;
49882
+ return getDefaultConfig(menu_getConfig().menu.useScrollbar, menu_getConfig().useScrollbar);
49574
49883
  }
49575
49884
  },
49576
49885
  scrollbarConfig: Object,
@@ -50450,6 +50759,7 @@ var allActiveModals = [];
50450
50759
 
50451
50760
 
50452
50761
 
50762
+
50453
50763
 
50454
50764
 
50455
50765
  var modal_createComponentLog = createComponentLog('modal'),
@@ -50734,6 +51044,13 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
50734
51044
  },
50735
51045
  beforeHideMethod: Function,
50736
51046
  slots: Object,
51047
+ useScrollbar: {
51048
+ type: Boolean,
51049
+ default: function _default() {
51050
+ return getDefaultConfig(getConfig().modal.useScrollbar, getConfig().useScrollbar);
51051
+ }
51052
+ },
51053
+ scrollbarConfig: Object,
50737
51054
  /**
50738
51055
  * 已废弃
50739
51056
  * @deprecated
@@ -50824,6 +51141,29 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
50824
51141
  var $xeModal = this;
50825
51142
  var props = $xeModal;
50826
51143
  return Object.assign({}, getConfig().modal.zoomConfig, props.zoomConfig);
51144
+ },
51145
+ computeScrollbarOpts: function computeScrollbarOpts() {
51146
+ var $xeModal = this;
51147
+ var props = $xeModal;
51148
+ return Object.assign({}, getConfig().modal.scrollbarConfig, props.scrollbarConfig);
51149
+ },
51150
+ computeScrollbarProps: function computeScrollbarProps() {
51151
+ var $xeModal = this;
51152
+ var scrollbarOpts = $xeModal.computeScrollbarOpts;
51153
+ var viewClassName = scrollbarOpts.viewClassName,
51154
+ viewInnerClassName = scrollbarOpts.viewInnerClassName;
51155
+ return {
51156
+ width: scrollbarOpts.width,
51157
+ height: scrollbarOpts.height,
51158
+ autoHide: scrollbarOpts.autoHide,
51159
+ visible: scrollbarOpts.visible,
51160
+ xConfig: scrollbarOpts.xConfig,
51161
+ yConfig: scrollbarOpts.yConfig,
51162
+ className: scrollbarOpts.className,
51163
+ viewAttrs: scrollbarOpts.viewAttrs,
51164
+ viewClassName: 'vxe-modal--scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
51165
+ viewInnerClassName: 'vxe-modal--scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
51166
+ };
50827
51167
  }
50828
51168
  }),
50829
51169
  watch: {
@@ -52044,9 +52384,11 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
52044
52384
  status = props.status,
52045
52385
  message = props.message,
52046
52386
  iconStatus = props.iconStatus,
52387
+ useScrollbar = props.useScrollbar,
52047
52388
  useHtml = props.useHtml;
52048
52389
  var content = props.content || message;
52049
52390
  var isMsg = $xeModal.computeIsMsg;
52391
+ var scrollbarProps = $xeModal.computeScrollbarProps;
52050
52392
  var defaultSlot = slots.default || propSlots.default;
52051
52393
  var leftSlot = slots.left || propSlots.left;
52052
52394
  var rightSlot = slots.right || propSlots.right;
@@ -52058,18 +52400,47 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
52058
52400
  class: ['vxe-modal--status-icon', iconStatus || getIcon()["MODAL_".concat(status).toLocaleUpperCase()]]
52059
52401
  })]));
52060
52402
  }
52061
- contVNs.push(useHtml && !defaultSlot ? h('div', {
52062
- key: 'hc',
52063
- class: 'vxe-modal--content',
52064
- domProps: {
52065
- innerHTML: getFuncText(content)
52066
- }
52067
- }) : h('div', {
52068
- key: 'dc',
52069
- class: 'vxe-modal--content'
52070
- }, defaultSlot ? $xeModal.callSlot(defaultSlot, {
52071
- $modal: $xeModal
52072
- }, h) : getFuncText(content)));
52403
+ if (useHtml && !defaultSlot) {
52404
+ contVNs.push(useScrollbar ? h(packages_scrollbar, {
52405
+ key: 'shc',
52406
+ class: 'vxe-modal--scrollbar-content',
52407
+ props: scrollbarProps,
52408
+ scopedSlots: {
52409
+ default: function _default() {
52410
+ return [h('div', {
52411
+ class: 'vxe-modal--scrollbar-content-html',
52412
+ domProps: {
52413
+ innerHTML: getFuncText(content)
52414
+ }
52415
+ })];
52416
+ }
52417
+ }
52418
+ }) : h('div', {
52419
+ key: 'hc',
52420
+ class: 'vxe-modal--content',
52421
+ domProps: {
52422
+ innerHTML: getFuncText(content)
52423
+ }
52424
+ }));
52425
+ } else {
52426
+ contVNs.push(useScrollbar ? h(packages_scrollbar, {
52427
+ key: 'sdc',
52428
+ class: 'vxe-modal--scrollbar-content',
52429
+ props: scrollbarProps,
52430
+ scopedSlots: {
52431
+ default: function _default() {
52432
+ return defaultSlot ? $xeModal.callSlot(defaultSlot, {
52433
+ $modal: $xeModal
52434
+ }, h) : getFuncText(content);
52435
+ }
52436
+ }
52437
+ }) : h('div', {
52438
+ key: 'dc',
52439
+ class: 'vxe-modal--content'
52440
+ }, defaultSlot ? $xeModal.callSlot(defaultSlot, {
52441
+ $modal: $xeModal
52442
+ }, h) : getFuncText(content)));
52443
+ }
52073
52444
  return h('div', {
52074
52445
  class: 'vxe-modal--body'
52075
52446
  }, [leftSlot ? h('div', {
@@ -62976,7 +63347,7 @@ var scrollbarOffsetSize = 20;
62976
63347
  useScrollbar: {
62977
63348
  type: Boolean,
62978
63349
  default: function _default() {
62979
- return getConfig().tabs.useScrollbar;
63350
+ return getDefaultConfig(getConfig().tabs.useScrollbar, getConfig().useScrollbar);
62980
63351
  }
62981
63352
  },
62982
63353
  scrollbarConfig: Object,
@@ -63103,6 +63474,24 @@ var scrollbarOffsetSize = 20;
63103
63474
  var $xeTabs = this;
63104
63475
  var props = $xeTabs;
63105
63476
  return Object.assign({}, getConfig().tabs.scrollbarConfig, props.scrollbarConfig);
63477
+ },
63478
+ computeScrollbarProps: function computeScrollbarProps() {
63479
+ var $xeTabs = this;
63480
+ var scrollbarOpts = $xeTabs.computeScrollbarOpts;
63481
+ var viewClassName = scrollbarOpts.viewClassName,
63482
+ viewInnerClassName = scrollbarOpts.viewInnerClassName;
63483
+ return {
63484
+ width: scrollbarOpts.width,
63485
+ height: scrollbarOpts.height,
63486
+ autoHide: scrollbarOpts.autoHide,
63487
+ visible: scrollbarOpts.visible,
63488
+ xConfig: scrollbarOpts.xConfig,
63489
+ yConfig: scrollbarOpts.yConfig,
63490
+ className: scrollbarOpts.className,
63491
+ viewAttrs: scrollbarOpts.viewAttrs,
63492
+ viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? ' ' + viewClassName : ''),
63493
+ viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
63494
+ };
63106
63495
  }
63107
63496
  }),
63108
63497
  methods: {
@@ -63786,19 +64175,14 @@ var scrollbarOffsetSize = 20;
63786
64175
  var name = item.name,
63787
64176
  slots = item.slots;
63788
64177
  var defaultSlot = slots ? slots.default : null;
63789
- var scrollbarOpts = $xeTabs.computeScrollbarOpts;
63790
- var viewClassName = scrollbarOpts.viewClassName,
63791
- viewInnerClassName = scrollbarOpts.viewInnerClassName;
64178
+ var scrollbarProps = $xeTabs.computeScrollbarProps;
63792
64179
  if (name && initNames.includes(name)) {
63793
64180
  return useScrollbar ? h(packages_scrollbar, {
63794
64181
  key: "".concat(name),
63795
64182
  class: ['vxe-tabs-pane--scrollbar-item', {
63796
64183
  'is--visible': activeName === name
63797
64184
  }],
63798
- props: _objectSpread2(_objectSpread2({}, scrollbarOpts), {}, {
63799
- viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? ' ' + viewClassName : ''),
63800
- viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
63801
- }),
64185
+ props: scrollbarProps,
63802
64186
  scopedSlots: {
63803
64187
  default: function _default() {
63804
64188
  return defaultSlot ? $xeTabs.callSlot(defaultSlot, {
@@ -65498,6 +65882,7 @@ function getCrossTreeDragNodeInfo($xeTree) {
65498
65882
 
65499
65883
 
65500
65884
 
65885
+
65501
65886
 
65502
65887
 
65503
65888
  var tree_createComponentLog = createComponentLog('tree'),
@@ -65995,6 +66380,34 @@ function insertTreeNode($xeTree, newRecords, isAppend) {
65995
66380
  nodeMaps[nodeid] = itemRest;
65996
66381
  });
65997
66382
  }
66383
+ function tree_createReactData() {
66384
+ return {
66385
+ parentHeight: 0,
66386
+ customHeight: 0,
66387
+ customMinHeight: 0,
66388
+ customMaxHeight: 0,
66389
+ currentNode: null,
66390
+ scrollYLoad: false,
66391
+ bodyHeight: 0,
66392
+ topSpaceHeight: 0,
66393
+ selectRadioKey: null,
66394
+ treeList: [],
66395
+ updateExpandedFlag: 1,
66396
+ updateCheckboxFlag: 1,
66397
+ // 滚动条
66398
+ yThumbHeight: 0,
66399
+ xThumbWidth: 0,
66400
+ insertNodeFlag: 1,
66401
+ removeNodeFlag: 1,
66402
+ dragNode: null,
66403
+ dragTipText: '',
66404
+ isCrossDragNode: false,
66405
+ tooltipStore: {
66406
+ visible: false,
66407
+ node: null
66408
+ }
66409
+ };
66410
+ }
65998
66411
  function tree_createInternalData() {
65999
66412
  return {
66000
66413
  // initialized: false,
@@ -66007,8 +66420,15 @@ function tree_createInternalData() {
66007
66420
  indeterminateNodeMaps: {},
66008
66421
  treeExpandedMaps: {},
66009
66422
  treeExpandLazyLoadedMaps: {},
66010
- lastScrollLeft: 0,
66423
+ // resizeObserver: undefined,
66424
+ // 滚动条
66425
+ // scrollObserver: undefined,
66426
+ // isThumbDrag: false,
66427
+ thumbDragOffset: 0,
66428
+ yThumbTop: 0,
66429
+ xThumbLeft: 0,
66011
66430
  lastScrollTop: 0,
66431
+ lastScrollLeft: 0,
66012
66432
  scrollYStore: {
66013
66433
  startIndex: 0,
66014
66434
  endIndex: 0,
@@ -66025,31 +66445,6 @@ function tree_createInternalData() {
66025
66445
  // hpTimeout: undefined
66026
66446
  };
66027
66447
  }
66028
- function tree_createReactData() {
66029
- return {
66030
- parentHeight: 0,
66031
- customHeight: 0,
66032
- customMinHeight: 0,
66033
- customMaxHeight: 0,
66034
- currentNode: null,
66035
- scrollYLoad: false,
66036
- bodyHeight: 0,
66037
- topSpaceHeight: 0,
66038
- selectRadioKey: null,
66039
- treeList: [],
66040
- updateExpandedFlag: 1,
66041
- updateCheckboxFlag: 1,
66042
- insertNodeFlag: 1,
66043
- removeNodeFlag: 1,
66044
- dragNode: null,
66045
- dragTipText: '',
66046
- isCrossDragNode: false,
66047
- tooltipStore: {
66048
- visible: false,
66049
- node: null
66050
- }
66051
- };
66052
- }
66053
66448
  /* harmony default export */ var tree = (/* define-vxe-component start */defineVxeComponent({
66054
66449
  name: 'VxeTree',
66055
66450
  mixins: [globalMixins.sizeMixin],
@@ -66228,7 +66623,14 @@ function tree_createReactData() {
66228
66623
  return tree_getConfig().tree.size || tree_getConfig().size;
66229
66624
  }
66230
66625
  },
66231
- virtualYConfig: Object
66626
+ virtualYConfig: Object,
66627
+ useScrollbar: {
66628
+ type: Boolean,
66629
+ default: function _default() {
66630
+ return getDefaultConfig(tree_getConfig().tree.useScrollbar, tree_getConfig().useScrollbar);
66631
+ }
66632
+ },
66633
+ scrollbarConfig: Object
66232
66634
  },
66233
66635
  provide: function provide() {
66234
66636
  var $xeTree = this;
@@ -66243,7 +66645,7 @@ function tree_createReactData() {
66243
66645
  xID: xID,
66244
66646
  reactData: reactData,
66245
66647
  crossTreeDragNodeInfo: crossTreeDragNodeGlobal,
66246
- hFlag: 0,
66648
+ reFlag: 0,
66247
66649
  dataFlag: 0
66248
66650
  });
66249
66651
  },
@@ -66348,6 +66750,17 @@ function tree_createReactData() {
66348
66750
  var props = $xeTree;
66349
66751
  return Object.assign({}, tree_getConfig().tree.menuConfig, props.menuConfig);
66350
66752
  },
66753
+ computeWrapperStyles: function computeWrapperStyles() {
66754
+ var $xeTree = this;
66755
+ var barWidth = $xeTree.computeScrollYWidth;
66756
+ var barHeight = $xeTree.computeScrollXHeight;
66757
+ var stys = {};
66758
+ if (barWidth || barHeight) {
66759
+ stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
66760
+ stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
66761
+ }
66762
+ return stys;
66763
+ },
66351
66764
  computeTreeStyle: function computeTreeStyle() {
66352
66765
  var $xeTree = this;
66353
66766
  var props = $xeTree;
@@ -66387,6 +66800,83 @@ function tree_createReactData() {
66387
66800
  var $xeTree = this;
66388
66801
  var props = $xeTree;
66389
66802
  return Object.assign({}, tree_getConfig().tree.filterConfig, props.filterConfig);
66803
+ },
66804
+ computeScrollbarOpts: function computeScrollbarOpts() {
66805
+ var $xeTree = this;
66806
+ var props = $xeTree;
66807
+ return Object.assign({}, tree_getConfig().tree.scrollbarConfig, props.scrollbarConfig);
66808
+ },
66809
+ computeScrollbarXOpts: function computeScrollbarXOpts() {
66810
+ var $xeTree = this;
66811
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66812
+ return Object.assign({}, tree_getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
66813
+ visible: false
66814
+ });
66815
+ },
66816
+ computeScrollbarYOpts: function computeScrollbarYOpts() {
66817
+ var $xeTree = this;
66818
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66819
+ return Object.assign({}, tree_getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
66820
+ },
66821
+ computeScrollXHeight: function computeScrollXHeight() {
66822
+ var $xeTree = this;
66823
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66824
+ var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
66825
+ return getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
66826
+ },
66827
+ computeScrollYWidth: function computeScrollYWidth() {
66828
+ var $xeTree = this;
66829
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66830
+ var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
66831
+ return getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
66832
+ },
66833
+ computeScrollXVisible: function computeScrollXVisible() {
66834
+ var $xeTree = this;
66835
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66836
+ var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
66837
+ return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
66838
+ },
66839
+ computeScrollYVisible: function computeScrollYVisible() {
66840
+ var $xeTree = this;
66841
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66842
+ var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
66843
+ return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
66844
+ },
66845
+ computeScrollXAutoHide: function computeScrollXAutoHide() {
66846
+ var $xeTree = this;
66847
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66848
+ var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
66849
+ return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
66850
+ },
66851
+ computeScrollYAutoHide: function computeScrollYAutoHide() {
66852
+ var $xeTree = this;
66853
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
66854
+ var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
66855
+ return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
66856
+ },
66857
+ computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
66858
+ var $xeTree = this;
66859
+ var reactData = $xeTree.reactData;
66860
+ var yThumbHeight = reactData.yThumbHeight,
66861
+ xThumbWidth = reactData.xThumbWidth;
66862
+ var scrollbarXToTop = $xeTree.computeScrollbarXToTop;
66863
+ var scrollbarYToLeft = $xeTree.computeScrollbarYToLeft;
66864
+ var scrollXVisible = $xeTree.computeScrollXVisible;
66865
+ var scrollYVisible = $xeTree.computeScrollYVisible;
66866
+ return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
66867
+ 'overflow-y': yThumbHeight,
66868
+ 'overflow-x': xThumbWidth
66869
+ });
66870
+ },
66871
+ computeScrollbarXToTop: function computeScrollbarXToTop() {
66872
+ var $xeTree = this;
66873
+ var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
66874
+ return scrollbarXOpts.position === 'top';
66875
+ },
66876
+ computeScrollbarYToLeft: function computeScrollbarYToLeft() {
66877
+ var $xeTree = this;
66878
+ var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
66879
+ return scrollbarYOpts.position === 'left';
66390
66880
  }
66391
66881
  }),
66392
66882
  methods: {
@@ -67036,6 +67526,11 @@ function tree_createReactData() {
67036
67526
  }
67037
67527
  });
67038
67528
  },
67529
+ updateScrollbar: function updateScrollbar() {
67530
+ var $xeTree = this;
67531
+ $xeTree.updateThumbSize();
67532
+ $xeTree.updateThumbOffset();
67533
+ },
67039
67534
  /**
67040
67535
  * 重新计算列表
67041
67536
  */
@@ -67060,6 +67555,7 @@ function tree_createReactData() {
67060
67555
  var parentPaddingSize = getPaddingTopBottomSize(parentEl);
67061
67556
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
67062
67557
  }
67558
+ $xeTree.updateScrollbar();
67063
67559
  $xeTree.updateHeight();
67064
67560
  return $xeTree.computeScrollLoad().then(function () {
67065
67561
  $xeTree.updateHeight();
@@ -67108,6 +67604,7 @@ function tree_createReactData() {
67108
67604
  var scrollLeft = scrollBodyElem.scrollLeft;
67109
67605
  var isX = scrollLeft !== internalData.lastScrollLeft;
67110
67606
  var isY = scrollTop !== internalData.lastScrollTop;
67607
+ $xeTree.updateThumbOffset();
67111
67608
  internalData.lastScrollTop = scrollTop;
67112
67609
  internalData.lastScrollLeft = scrollLeft;
67113
67610
  if (reactData.scrollYLoad) {
@@ -68096,14 +68593,6 @@ function tree_createReactData() {
68096
68593
  checked: isChecked
68097
68594
  }, evnt);
68098
68595
  },
68099
- handleGlobalResizeEvent: function handleGlobalResizeEvent() {
68100
- var $xeTree = this;
68101
- var el = $xeTree.$refs.refElem;
68102
- if (!el || !el.clientWidth) {
68103
- return;
68104
- }
68105
- $xeTree.recalculate();
68106
- },
68107
68596
  reloadData: function reloadData(data) {
68108
68597
  var $xeTree = this;
68109
68598
  return $xeTree.loadData(data || []);
@@ -68902,6 +69391,189 @@ function tree_createReactData() {
68902
69391
  }, evnt);
68903
69392
  }
68904
69393
  },
69394
+ // 滚动条
69395
+ updateThumbSize: function updateThumbSize() {
69396
+ var $xeTree = this;
69397
+ var reactData = $xeTree.reactData;
69398
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69399
+ if (!viewEl) {
69400
+ return;
69401
+ }
69402
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
69403
+ return;
69404
+ }
69405
+ var trackXEl = $xeTree.$refs.refTrackXElem;
69406
+ var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
69407
+ var thumbXElem = $xeTree.$refs.refThumbXElem;
69408
+ if (thumbXElem) {
69409
+ thumbXElem.style.width = xThumbWidth + 'px';
69410
+ }
69411
+ reactData.xThumbWidth = xThumbWidth;
69412
+ var trackYEl = $xeTree.$refs.refTrackYElem;
69413
+ var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
69414
+ var thumbYElem = $xeTree.$refs.refThumbYElem;
69415
+ if (thumbYElem) {
69416
+ thumbYElem.style.height = yThumbHeight + 'px';
69417
+ }
69418
+ reactData.yThumbHeight = yThumbHeight;
69419
+ },
69420
+ updateThumbOffset: function updateThumbOffset() {
69421
+ var $xeTree = this;
69422
+ var reactData = $xeTree.reactData;
69423
+ var internalData = $xeTree.internalData;
69424
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69425
+ if (!viewEl) {
69426
+ return;
69427
+ }
69428
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
69429
+ return;
69430
+ }
69431
+ var xThumbWidth = reactData.xThumbWidth,
69432
+ yThumbHeight = reactData.yThumbHeight;
69433
+ var trackXEl = $xeTree.$refs.refTrackXElem;
69434
+ var thumbXElem = $xeTree.$refs.refThumbXElem;
69435
+ var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
69436
+ internalData.xThumbLeft = xThumbLeft;
69437
+ if (thumbXElem && xThumbWidth) {
69438
+ thumbXElem.style.width = xThumbWidth + 'px';
69439
+ thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
69440
+ }
69441
+ var trackYEl = $xeTree.$refs.refTrackYElem;
69442
+ var thumbYElem = $xeTree.$refs.refThumbYElem;
69443
+ var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
69444
+ internalData.yThumbTop = yThumbTop;
69445
+ if (thumbYElem && yThumbHeight) {
69446
+ thumbYElem.style.height = yThumbHeight + 'px';
69447
+ thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
69448
+ }
69449
+ },
69450
+ clickTrackXEvent: function clickTrackXEvent(evnt) {
69451
+ var $xeTree = this;
69452
+ var reactData = $xeTree.reactData;
69453
+ var trackEl = evnt.currentTarget;
69454
+ if (trackEl !== evnt.target) {
69455
+ return;
69456
+ }
69457
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69458
+ if (!viewEl) {
69459
+ return;
69460
+ }
69461
+ var xThumbWidth = reactData.xThumbWidth;
69462
+ var trackRect = trackEl.getBoundingClientRect();
69463
+ viewEl.scrollTo({
69464
+ left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
69465
+ behavior: 'auto'
69466
+ });
69467
+ },
69468
+ clickTrackYEvent: function clickTrackYEvent(evnt) {
69469
+ var $xeTree = this;
69470
+ var reactData = $xeTree.reactData;
69471
+ var trackEl = evnt.currentTarget;
69472
+ if (trackEl !== evnt.target) {
69473
+ return;
69474
+ }
69475
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69476
+ if (!viewEl) {
69477
+ return;
69478
+ }
69479
+ var yThumbHeight = reactData.yThumbHeight;
69480
+ var trackRect = trackEl.getBoundingClientRect();
69481
+ viewEl.scrollTo({
69482
+ top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
69483
+ behavior: 'auto'
69484
+ });
69485
+ },
69486
+ pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
69487
+ var $xeTree = this;
69488
+ var reactData = $xeTree.reactData;
69489
+ var internalData = $xeTree.internalData;
69490
+ var thumbEl = evnt.currentTarget;
69491
+ internalData.isThumbDrag = true;
69492
+ thumbEl.setPointerCapture(evnt.pointerId);
69493
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69494
+ if (!viewEl) {
69495
+ return;
69496
+ }
69497
+ var xThumbWidth = reactData.xThumbWidth;
69498
+ var trackEl = thumbEl.parentElement;
69499
+ var trackRect = trackEl.getBoundingClientRect();
69500
+ var pointerPosition = evnt.clientX - trackRect.left;
69501
+ // 记录 thumb 的偏移
69502
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
69503
+ internalData.thumbDragOffset = pointerPosition - thumbOffset;
69504
+ },
69505
+ pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
69506
+ var $xeTree = this;
69507
+ var reactData = $xeTree.reactData;
69508
+ var internalData = $xeTree.internalData;
69509
+ var thumbEl = evnt.currentTarget;
69510
+ if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
69511
+ return;
69512
+ }
69513
+ var isThumbDrag = internalData.isThumbDrag,
69514
+ thumbDragOffset = internalData.thumbDragOffset;
69515
+ if (isThumbDrag) {
69516
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69517
+ if (!viewEl) {
69518
+ return;
69519
+ }
69520
+ var xThumbWidth = reactData.xThumbWidth;
69521
+ var _thumbEl = evnt.currentTarget;
69522
+ var trackEl = _thumbEl.parentElement;
69523
+ var trackRect = trackEl.getBoundingClientRect();
69524
+ // 更新偏移
69525
+ viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
69526
+ }
69527
+ },
69528
+ cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
69529
+ var $xeTree = this;
69530
+ var internalData = $xeTree.internalData;
69531
+ var thumbEl = evnt.currentTarget;
69532
+ thumbEl.releasePointerCapture(evnt.pointerId);
69533
+ internalData.isThumbDrag = false;
69534
+ },
69535
+ pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
69536
+ var $xeTree = this;
69537
+ var reactData = $xeTree.reactData;
69538
+ var internalData = $xeTree.internalData;
69539
+ var thumbEl = evnt.currentTarget;
69540
+ internalData.isThumbDrag = true;
69541
+ thumbEl.setPointerCapture(evnt.pointerId);
69542
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69543
+ if (!viewEl) {
69544
+ return;
69545
+ }
69546
+ var yThumbHeight = reactData.yThumbHeight;
69547
+ var trackEl = thumbEl.parentElement;
69548
+ var trackRect = trackEl.getBoundingClientRect();
69549
+ var pointerPosition = evnt.clientY - trackRect.top;
69550
+ // 记录 thumb 的偏移
69551
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
69552
+ internalData.thumbDragOffset = pointerPosition - thumbOffset;
69553
+ },
69554
+ pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
69555
+ var $xeTree = this;
69556
+ var reactData = $xeTree.reactData;
69557
+ var internalData = $xeTree.internalData;
69558
+ var thumbEl = evnt.currentTarget;
69559
+ if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
69560
+ return;
69561
+ }
69562
+ var isThumbDrag = internalData.isThumbDrag,
69563
+ thumbDragOffset = internalData.thumbDragOffset;
69564
+ if (isThumbDrag) {
69565
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
69566
+ if (!viewEl) {
69567
+ return;
69568
+ }
69569
+ var yThumbHeight = reactData.yThumbHeight;
69570
+ var _thumbEl2 = evnt.currentTarget;
69571
+ var trackEl = _thumbEl2.parentElement;
69572
+ var trackRect = trackEl.getBoundingClientRect();
69573
+ // 更新偏移
69574
+ viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
69575
+ }
69576
+ },
68905
69577
  //
68906
69578
  // Render
68907
69579
  //
@@ -69229,22 +69901,27 @@ function tree_createReactData() {
69229
69901
  return renderEmptyElement($xeTree);
69230
69902
  },
69231
69903
  renderVN: function renderVN(h) {
69904
+ var _ref;
69232
69905
  var $xeTree = this;
69233
69906
  var props = $xeTree;
69234
69907
  var slots = $xeTree.$scopedSlots;
69235
69908
  var reactData = $xeTree.reactData;
69236
69909
  var loading = props.loading,
69237
69910
  trigger = props.trigger,
69238
- showLine = props.showLine;
69911
+ showLine = props.showLine,
69912
+ useScrollbar = props.useScrollbar;
69239
69913
  var bodyHeight = reactData.bodyHeight,
69240
69914
  topSpaceHeight = reactData.topSpaceHeight,
69241
69915
  treeList = reactData.treeList,
69242
- tooltipStore = reactData.tooltipStore;
69916
+ tooltipStore = reactData.tooltipStore,
69917
+ xThumbWidth = reactData.xThumbWidth,
69918
+ yThumbHeight = reactData.yThumbHeight;
69243
69919
  var vSize = $xeTree.computeSize;
69244
69920
  var radioOpts = $xeTree.computeRadioOpts;
69245
69921
  var checkboxOpts = $xeTree.computeCheckboxOpts;
69246
69922
  var loadingOpts = $xeTree.computeLoadingOpts;
69247
69923
  var isNodeHover = $xeTree.computeIsNodeHover;
69924
+ var wrapperStyles = $xeTree.computeWrapperStyles;
69248
69925
  var treeStyle = $xeTree.computeTreeStyle;
69249
69926
  var dragOpts = $xeTree.computeDragOpts;
69250
69927
  var tooltipOpts = $xeTree.computeTooltipOpts;
@@ -69252,13 +69929,22 @@ function tree_createReactData() {
69252
69929
  var headerSlot = slots.header;
69253
69930
  var footerSlot = slots.footer;
69254
69931
  var tooltipSlot = slots.tooltip;
69932
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
69933
+ var scrollXVisible = $xeTree.computeScrollXVisible;
69934
+ var scrollYVisible = $xeTree.computeScrollYVisible;
69935
+ var scrollbarXToTop = $xeTree.computeScrollbarXToTop;
69936
+ var scrollbarYToLeft = $xeTree.computeScrollbarYToLeft;
69937
+ var scrollXAutoHide = $xeTree.computeScrollXAutoHide;
69938
+ var scrollYAutoHide = $xeTree.computeScrollYAutoHide;
69939
+ var scrollbarWrapperClss = $xeTree.computeScrollbarWrapperClss;
69255
69940
  var teOns = {};
69256
69941
  if (dragOpts.isCrossTreeDrag && !treeList.length) {
69257
69942
  teOns.dragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
69258
69943
  }
69259
69944
  return h('div', {
69260
69945
  ref: 'refElem',
69261
- class: ['vxe-tree', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'show--line', showLine), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading)],
69946
+ class: ['vxe-tree', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', (_ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, "size--".concat(vSize), vSize), 'show--line', showLine), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), _defineProperty(_defineProperty(_defineProperty(_ref, 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading))],
69947
+ style: wrapperStyles,
69262
69948
  on: teOns
69263
69949
  }, [headerSlot ? h('div', {
69264
69950
  ref: 'refHeaderWrapperElem',
@@ -69289,6 +69975,44 @@ function tree_createReactData() {
69289
69975
  }, footerSlot({
69290
69976
  $tree: $xeTree
69291
69977
  })) : renderEmptyElement($xeTree),
69978
+ /**
69979
+ * 滚动条
69980
+ */
69981
+ useScrollbar ? h('div', {
69982
+ class: scrollbarWrapperClss
69983
+ }, [scrollXVisible === false ? renderEmptyElement($xeTree) : h('div', {
69984
+ ref: 'refTrackXElem',
69985
+ class: 'vxe-scrollbar--track-x',
69986
+ on: {
69987
+ click: $xeTree.clickTrackXEvent
69988
+ }
69989
+ }, [h('div', {
69990
+ ref: 'refThumbXElem',
69991
+ class: 'vxe-scrollbar--thumb-x',
69992
+ on: {
69993
+ pointerdown: $xeTree.pointerdownThumbXEvent,
69994
+ pointermove: $xeTree.pointermoveThumbXEvent,
69995
+ pointerup: $xeTree.cleatPointerThumbEvent,
69996
+ pointercancel: $xeTree.cleatPointerThumbEvent,
69997
+ lostpointercapture: $xeTree.cleatPointerThumbEvent
69998
+ }
69999
+ })]), scrollYVisible === false ? renderEmptyElement($xeTree) : h('div', {
70000
+ ref: 'refTrackYElem',
70001
+ class: 'vxe-scrollbar--track-y',
70002
+ on: {
70003
+ click: $xeTree.clickTrackYEvent
70004
+ }
70005
+ }, [h('div', {
70006
+ ref: 'refThumbYElem',
70007
+ class: 'vxe-scrollbar--thumb-y',
70008
+ on: {
70009
+ pointerdown: $xeTree.pointerdownThumbYEvent,
70010
+ pointermove: $xeTree.pointermoveThumbYEvent,
70011
+ pointerup: $xeTree.cleatPointerThumbEvent,
70012
+ pointercancel: $xeTree.cleatPointerThumbEvent,
70013
+ lostpointercapture: $xeTree.cleatPointerThumbEvent
70014
+ }
70015
+ })])]) : renderEmptyElement($xeTree),
69292
70016
  /**
69293
70017
  * 拖拽提示
69294
70018
  */
@@ -69378,19 +70102,45 @@ function tree_createReactData() {
69378
70102
  },
69379
70103
  height: function height() {
69380
70104
  var $xeTree = this;
69381
- $xeTree.hFlag++;
70105
+ $xeTree.reFlag++;
69382
70106
  },
69383
70107
  minHeight: function minHeight() {
69384
70108
  var $xeTree = this;
69385
- $xeTree.hFlag++;
70109
+ $xeTree.reFlag++;
69386
70110
  },
69387
70111
  maxHeight: function maxHeight() {
69388
70112
  var $xeTree = this;
69389
- $xeTree.hFlag++;
70113
+ $xeTree.reFlag++;
70114
+ },
70115
+ useScrollbar: function useScrollbar() {
70116
+ var $xeTree = this;
70117
+ $xeTree.reFlag++;
70118
+ },
70119
+ computeScrollYWidth: function computeScrollYWidth() {
70120
+ var $xeTree = this;
70121
+ $xeTree.reFlag++;
69390
70122
  },
69391
- hFlag: function hFlag() {
70123
+ computeScrollXHeight: function computeScrollXHeight() {
69392
70124
  var $xeTree = this;
69393
- $xeTree.recalculate();
70125
+ $xeTree.reFlag++;
70126
+ },
70127
+ computeScrollXVisible: function computeScrollXVisible() {
70128
+ var $xeTree = this;
70129
+ $xeTree.$nextTick(function () {
70130
+ $xeTree.reFlag++;
70131
+ });
70132
+ },
70133
+ computeScrollYVisible: function computeScrollYVisible() {
70134
+ var $xeTree = this;
70135
+ $xeTree.$nextTick(function () {
70136
+ $xeTree.reFlag++;
70137
+ });
70138
+ },
70139
+ reFlag: function reFlag() {
70140
+ var $xeTree = this;
70141
+ $xeTree.recalculate().then(function () {
70142
+ $xeTree.recalculate();
70143
+ });
69394
70144
  }
69395
70145
  },
69396
70146
  created: function created() {
@@ -69410,7 +70160,9 @@ function tree_createReactData() {
69410
70160
  menuConfig = props.menuConfig,
69411
70161
  showOverflow = props.showOverflow,
69412
70162
  lazy = props.lazy,
69413
- loadMethod = props.loadMethod;
70163
+ loadMethod = props.loadMethod,
70164
+ autoResize = props.autoResize,
70165
+ useScrollbar = props.useScrollbar;
69414
70166
  var dragOpts = $xeTree.computeDragOpts;
69415
70167
  if (!showOverflow) {
69416
70168
  tree_errLog('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
@@ -69431,12 +70183,25 @@ function tree_createReactData() {
69431
70183
  if (menuConfig && !VxeUIContextMenu) {
69432
70184
  tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
69433
70185
  }
69434
- if (props.autoResize) {
69435
- var el = $xeTree.$refs.refElem;
70186
+ var el = $xeTree.$refs.refElem;
70187
+ if (useScrollbar) {
70188
+ var viewInnerEl = $xeTree.$refs.refVirtualBody;
70189
+ var scrollObserver = globalResize.create(function () {
70190
+ $xeTree.updateScrollbar();
70191
+ });
70192
+ if (el) {
70193
+ scrollObserver.observe(el);
70194
+ }
70195
+ if (viewInnerEl) {
70196
+ scrollObserver.observe(viewInnerEl);
70197
+ }
70198
+ internalData.scrollObserver = scrollObserver;
70199
+ }
70200
+ if (autoResize) {
69436
70201
  var parentEl = $xeTree.getParentElem();
69437
70202
  var resizeObserver = globalResize.create(function () {
69438
70203
  if (props.autoResize) {
69439
- $xeTree.recalculate();
70204
+ $xeTree.reFlag++;
69440
70205
  }
69441
70206
  });
69442
70207
  if (el) {
@@ -69447,17 +70212,23 @@ function tree_createReactData() {
69447
70212
  }
69448
70213
  internalData.resizeObserver = resizeObserver;
69449
70214
  }
69450
- $xeTree.recalculate();
69451
- globalEvents.on($xeTree, 'resize', $xeTree.handleGlobalResizeEvent);
70215
+ $xeTree.reFlag++;
70216
+ globalEvents.on($xeTree, 'resize', function () {
70217
+ $xeTree.reFlag++;
70218
+ });
69452
70219
  },
69453
70220
  beforeDestroy: function beforeDestroy() {
69454
70221
  var $xeTree = this;
69455
70222
  var reactData = $xeTree.reactData;
69456
70223
  var internalData = $xeTree.internalData;
69457
- var resizeObserver = internalData.resizeObserver;
70224
+ var scrollObserver = internalData.scrollObserver,
70225
+ resizeObserver = internalData.resizeObserver;
69458
70226
  if (resizeObserver) {
69459
70227
  resizeObserver.disconnect();
69460
70228
  }
70229
+ if (scrollObserver) {
70230
+ scrollObserver.disconnect();
70231
+ }
69461
70232
  globalEvents.off($xeTree, 'resize');
69462
70233
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, tree_createReactData());
69463
70234
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, tree_createInternalData());