vxe-pc-ui 3.20.9 → 3.20.11

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 (100) hide show
  1. package/es/date-panel/src/date-panel.js +70 -39
  2. package/es/date-panel/style.css +22 -20
  3. package/es/date-panel/style.min.css +1 -1
  4. package/es/icon/style.css +1 -1
  5. package/es/icon-picker/src/icon-picker.js +11 -3
  6. package/es/icon-picker/style.css +9 -3
  7. package/es/icon-picker/style.min.css +1 -1
  8. package/es/list/src/list.js +12 -183
  9. package/es/scrollbar/src/scrollbar.js +24 -188
  10. package/es/select/src/select.js +276 -8
  11. package/es/select/style.css +44 -0
  12. package/es/select/style.min.css +1 -1
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/tooltip/src/tooltip.js +2 -4
  16. package/es/tooltip/style.css +2 -0
  17. package/es/tooltip/style.min.css +1 -1
  18. package/es/tree/src/tree.js +21 -191
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/es/vxe-date-panel/style.css +22 -20
  22. package/es/vxe-date-panel/style.min.css +1 -1
  23. package/es/vxe-icon-picker/style.css +9 -3
  24. package/es/vxe-icon-picker/style.min.css +1 -1
  25. package/es/vxe-select/style.css +44 -0
  26. package/es/vxe-select/style.min.css +1 -1
  27. package/es/vxe-tooltip/style.css +2 -0
  28. package/es/vxe-tooltip/style.min.css +1 -1
  29. package/lib/date-panel/src/date-panel.js +74 -43
  30. package/lib/date-panel/src/date-panel.min.js +1 -1
  31. package/lib/date-panel/style/style.css +22 -20
  32. package/lib/date-panel/style/style.min.css +1 -1
  33. package/lib/icon/style/style.css +1 -1
  34. package/lib/icon/style/style.min.css +1 -1
  35. package/lib/icon-picker/src/icon-picker.js +56 -38
  36. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  37. package/lib/icon-picker/style/style.css +9 -3
  38. package/lib/icon-picker/style/style.min.css +1 -1
  39. package/lib/index.umd.js +726 -743
  40. package/lib/index.umd.min.js +1 -1
  41. package/lib/list/src/list.js +10 -189
  42. package/lib/list/src/list.min.js +1 -1
  43. package/lib/scrollbar/src/scrollbar.js +21 -192
  44. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  45. package/lib/select/src/select.js +325 -69
  46. package/lib/select/src/select.min.js +1 -1
  47. package/lib/select/style/style.css +44 -0
  48. package/lib/select/style/style.min.css +1 -1
  49. package/lib/style.css +1 -1
  50. package/lib/style.min.css +1 -1
  51. package/lib/tooltip/src/tooltip.js +2 -4
  52. package/lib/tooltip/src/tooltip.min.js +1 -1
  53. package/lib/tooltip/style/style.css +2 -0
  54. package/lib/tooltip/style/style.min.css +1 -1
  55. package/lib/tree/src/tree.js +20 -197
  56. package/lib/tree/src/tree.min.js +1 -1
  57. package/lib/ui/index.js +1 -1
  58. package/lib/ui/index.min.js +1 -1
  59. package/lib/ui/src/log.js +1 -1
  60. package/lib/ui/src/log.min.js +1 -1
  61. package/lib/vxe-date-panel/style/style.css +22 -20
  62. package/lib/vxe-date-panel/style/style.min.css +1 -1
  63. package/lib/vxe-icon-picker/style/style.css +9 -3
  64. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  65. package/lib/vxe-select/style/style.css +44 -0
  66. package/lib/vxe-select/style/style.min.css +1 -1
  67. package/lib/vxe-tooltip/style/style.css +2 -0
  68. package/lib/vxe-tooltip/style/style.min.css +1 -1
  69. package/package.json +2 -2
  70. package/packages/date-panel/src/date-panel.ts +70 -39
  71. package/packages/icon-picker/src/icon-picker.ts +12 -3
  72. package/packages/list/src/list.ts +15 -203
  73. package/packages/scrollbar/src/scrollbar.ts +24 -199
  74. package/packages/select/src/select.ts +307 -11
  75. package/packages/tabs/src/tabs.ts +2 -4
  76. package/packages/tooltip/src/tooltip.ts +2 -4
  77. package/packages/tree/src/tree.ts +24 -212
  78. package/styles/components/date-panel.scss +31 -29
  79. package/styles/components/icon-picker.scss +9 -3
  80. package/styles/components/select.scss +77 -0
  81. package/styles/components/tooltip.scss +1 -0
  82. package/types/components/gantt-module/gantt-view.d.ts +17 -17
  83. package/types/components/icon-picker.d.ts +21 -1
  84. package/types/components/list.d.ts +4 -0
  85. package/types/components/scrollbar.d.ts +7 -14
  86. package/types/components/select.d.ts +28 -3
  87. package/types/components/table.d.ts +30 -20
  88. package/types/components/tree.d.ts +7 -16
  89. /package/es/icon/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
  90. /package/es/icon/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
  91. /package/es/icon/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
  92. /package/es/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
  93. /package/es/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
  94. /package/es/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
  95. /package/lib/icon/style/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
  96. /package/lib/icon/style/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
  97. /package/lib/icon/style/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
  98. /package/lib/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
  99. /package/lib/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
  100. /package/lib/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -11377,6 +11377,7 @@ __webpack_require__.d(__webpack_exports__, {
11377
11377
  handleCheckInfo: function() { return /* reexport */ handleCheckInfo; },
11378
11378
  hasComponent: function() { return /* reexport */ hasComponent; },
11379
11379
  hasLanguage: function() { return /* reexport */ hasLanguage; },
11380
+ initVScrollbarMixin: function() { return /* reexport */ initVScrollbarMixin; },
11380
11381
  install: function() { return /* reexport */ install; },
11381
11382
  interceptor: function() { return /* reexport */ interceptor; },
11382
11383
  loading: function() { return /* reexport */ components_loading; },
@@ -11635,6 +11636,7 @@ __webpack_require__.d(components_namespaceObject, {
11635
11636
  handleCheckInfo: function() { return handleCheckInfo; },
11636
11637
  hasComponent: function() { return hasComponent; },
11637
11638
  hasLanguage: function() { return hasLanguage; },
11639
+ initVScrollbarMixin: function() { return initVScrollbarMixin; },
11638
11640
  install: function() { return install; },
11639
11641
  interceptor: function() { return interceptor; },
11640
11642
  loading: function() { return components_loading; },
@@ -13397,6 +13399,25 @@ var popperUtils = {
13397
13399
 
13398
13400
 
13399
13401
 
13402
+
13403
+
13404
+ var getThumbOffsetSize = scrollbarUtils.getThumbOffsetSize,
13405
+ getThumbSize = scrollbarUtils.getThumbSize,
13406
+ getScrollFromClick = scrollbarUtils.getScrollFromClick,
13407
+ getScrollFromDrag = scrollbarUtils.getScrollFromDrag;
13408
+ function getVmInternalData($xeVm) {
13409
+ // 新版本 $xeVm.internalData
13410
+ // 老版本 $xeVm
13411
+ return $xeVm.internalData || $xeVm;
13412
+ }
13413
+ function getVmReactData($xeVm) {
13414
+ // 新版本 $xeVm.reactData
13415
+ // 老版本 $xeVm
13416
+ return $xeVm.reactData || $xeVm;
13417
+ }
13418
+ /**
13419
+ * 组件尺寸上下文
13420
+ */
13400
13421
  var sizeMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13401
13422
  inject: {
13402
13423
  $xeSizeInfo: {
@@ -13421,16 +13442,29 @@ var sizeMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13421
13442
  }
13422
13443
  }
13423
13444
  });
13445
+ /**
13446
+ * 权限码处理
13447
+ */
13448
+ var permissionMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13449
+ computed: {
13450
+ computePermissionInfo: function computePermissionInfo() {
13451
+ return handleCheckInfo(this.permissionCode, this.permissionMethod);
13452
+ }
13453
+ }
13454
+ });
13455
+ /**
13456
+ * 虚拟滚动条是否启用
13457
+ */
13424
13458
  var vScrollbarMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13425
13459
  inject: {
13426
- $xeScrollbarInfo: {
13460
+ $xeVmInfo: {
13427
13461
  default: null
13428
13462
  }
13429
13463
  },
13430
13464
  provide: function provide() {
13431
13465
  var _this2 = this;
13432
13466
  return {
13433
- $xeScrollbarInfo: {
13467
+ $xeVmInfo: {
13434
13468
  getIsVScrollbar: function getIsVScrollbar() {
13435
13469
  return _this2.computeIsVScrollbar;
13436
13470
  }
@@ -13440,22 +13474,194 @@ var vScrollbarMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().ext
13440
13474
  computed: {
13441
13475
  computeIsVScrollbar: function computeIsVScrollbar() {
13442
13476
  var useScrollbar = this.useScrollbar;
13443
- var $xeScrollbarInfo = this.$xeScrollbarInfo;
13444
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(useScrollbar) ? useScrollbar : $xeScrollbarInfo ? $xeScrollbarInfo.getIsVScrollbar() : null;
13477
+ var $xeVmInfo = this.$xeVmInfo;
13478
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(useScrollbar) ? useScrollbar : $xeVmInfo ? $xeVmInfo.getIsVScrollbar() : null;
13445
13479
  }
13446
13480
  }
13447
13481
  });
13448
- var permissionMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend({
13449
- computed: {
13450
- computePermissionInfo: function computePermissionInfo() {
13451
- return handleCheckInfo(this.permissionCode, this.permissionMethod);
13482
+ var initVScrollbarMixin = external_commonjs_vue_commonjs2_vue_root_Vue_default().extend(Object.assign(Object.assign({}, {}), {
13483
+ methods: {
13484
+ updateThumbSize: function updateThumbSize() {
13485
+ var $xeVm = this;
13486
+ var reactData = getVmReactData($xeVm);
13487
+ var viewEl = $xeVm.getScrollViewElem();
13488
+ if (!viewEl) {
13489
+ return;
13490
+ }
13491
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
13492
+ return;
13493
+ }
13494
+ var trackXEl = $xeVm.$refs.refTrackXElem;
13495
+ var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
13496
+ var thumbXElem = $xeVm.$refs.refThumbXElem;
13497
+ if (thumbXElem) {
13498
+ thumbXElem.style.width = xThumbWidth + 'px';
13499
+ }
13500
+ reactData.xThumbWidth = xThumbWidth;
13501
+ var trackYEl = $xeVm.$refs.refTrackYElem;
13502
+ var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
13503
+ var thumbYElem = $xeVm.$refs.refThumbYElem;
13504
+ if (thumbYElem) {
13505
+ thumbYElem.style.height = yThumbHeight + 'px';
13506
+ }
13507
+ reactData.yThumbHeight = yThumbHeight;
13508
+ },
13509
+ updateThumbOffset: function updateThumbOffset() {
13510
+ var $xeVm = this;
13511
+ var reactData = getVmReactData($xeVm);
13512
+ var internalData = getVmInternalData($xeVm);
13513
+ var viewEl = $xeVm.getScrollViewElem();
13514
+ if (!viewEl) {
13515
+ return;
13516
+ }
13517
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
13518
+ return;
13519
+ }
13520
+ var xThumbWidth = reactData.xThumbWidth,
13521
+ yThumbHeight = reactData.yThumbHeight;
13522
+ var trackXEl = $xeVm.$refs.refTrackXElem;
13523
+ var thumbXElem = $xeVm.$refs.refThumbXElem;
13524
+ var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
13525
+ internalData.xThumbLeft = xThumbLeft;
13526
+ if (thumbXElem && xThumbWidth) {
13527
+ thumbXElem.style.width = xThumbWidth + 'px';
13528
+ thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
13529
+ }
13530
+ var trackYEl = $xeVm.$refs.refTrackYElem;
13531
+ var thumbYElem = $xeVm.$refs.refThumbYElem;
13532
+ var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
13533
+ internalData.yThumbTop = yThumbTop;
13534
+ if (thumbYElem && yThumbHeight) {
13535
+ thumbYElem.style.height = yThumbHeight + 'px';
13536
+ thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
13537
+ }
13538
+ },
13539
+ clickTrackXEvent: function clickTrackXEvent(evnt) {
13540
+ var $xeVm = this;
13541
+ var reactData = getVmReactData($xeVm);
13542
+ var trackEl = evnt.currentTarget;
13543
+ if (trackEl !== evnt.target) {
13544
+ return;
13545
+ }
13546
+ var viewEl = $xeVm.getScrollViewElem();
13547
+ if (!viewEl) {
13548
+ return;
13549
+ }
13550
+ var xThumbWidth = reactData.xThumbWidth;
13551
+ var trackRect = trackEl.getBoundingClientRect();
13552
+ viewEl.scrollTo({
13553
+ left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
13554
+ behavior: 'auto'
13555
+ });
13556
+ },
13557
+ clickTrackYEvent: function clickTrackYEvent(evnt) {
13558
+ var $xeVm = this;
13559
+ var reactData = getVmReactData($xeVm);
13560
+ var trackEl = evnt.currentTarget;
13561
+ if (trackEl !== evnt.target) {
13562
+ return;
13563
+ }
13564
+ var viewEl = $xeVm.getScrollViewElem();
13565
+ if (!viewEl) {
13566
+ return;
13567
+ }
13568
+ var yThumbHeight = reactData.yThumbHeight;
13569
+ var trackRect = trackEl.getBoundingClientRect();
13570
+ viewEl.scrollTo({
13571
+ top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
13572
+ behavior: 'auto'
13573
+ });
13574
+ },
13575
+ pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
13576
+ var $xeVm = this;
13577
+ var reactData = getVmReactData($xeVm);
13578
+ var internalData = getVmInternalData($xeVm);
13579
+ var thumbEl = evnt.currentTarget;
13580
+ internalData.isThumbDrag = true;
13581
+ thumbEl.setPointerCapture(evnt.pointerId);
13582
+ var viewEl = $xeVm.getScrollViewElem();
13583
+ if (!viewEl) {
13584
+ return;
13585
+ }
13586
+ var xThumbWidth = reactData.xThumbWidth;
13587
+ var trackEl = thumbEl.parentElement;
13588
+ var trackRect = trackEl.getBoundingClientRect();
13589
+ var pointerPosition = evnt.clientX - trackRect.left;
13590
+ // 记录 thumb 的偏移
13591
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
13592
+ internalData.thumbDragOffset = pointerPosition - thumbOffset;
13593
+ },
13594
+ pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
13595
+ var $xeVm = this;
13596
+ var reactData = getVmReactData($xeVm);
13597
+ var internalData = getVmInternalData($xeVm);
13598
+ var isThumbDrag = internalData.isThumbDrag,
13599
+ thumbDragOffset = internalData.thumbDragOffset;
13600
+ if (isThumbDrag) {
13601
+ var viewEl = $xeVm.getScrollViewElem();
13602
+ if (!viewEl) {
13603
+ return;
13604
+ }
13605
+ var xThumbWidth = reactData.xThumbWidth;
13606
+ var thumbEl = evnt.currentTarget;
13607
+ var trackEl = thumbEl.parentElement;
13608
+ var trackRect = trackEl.getBoundingClientRect();
13609
+ // 更新偏移
13610
+ viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
13611
+ }
13612
+ },
13613
+ cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
13614
+ var $xeVm = this;
13615
+ var internalData = getVmInternalData($xeVm);
13616
+ var thumbEl = evnt.currentTarget;
13617
+ thumbEl.releasePointerCapture(evnt.pointerId);
13618
+ internalData.isThumbDrag = false;
13619
+ },
13620
+ pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
13621
+ var $xeVm = this;
13622
+ var reactData = getVmReactData($xeVm);
13623
+ var internalData = getVmInternalData($xeVm);
13624
+ var thumbEl = evnt.currentTarget;
13625
+ internalData.isThumbDrag = true;
13626
+ thumbEl.setPointerCapture(evnt.pointerId);
13627
+ var viewEl = $xeVm.getScrollViewElem();
13628
+ if (!viewEl) {
13629
+ return;
13630
+ }
13631
+ var yThumbHeight = reactData.yThumbHeight;
13632
+ var trackEl = thumbEl.parentElement;
13633
+ var trackRect = trackEl.getBoundingClientRect();
13634
+ var pointerPosition = evnt.clientY - trackRect.top;
13635
+ // 记录 thumb 的偏移
13636
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
13637
+ internalData.thumbDragOffset = pointerPosition - thumbOffset;
13638
+ },
13639
+ pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
13640
+ var $xeVm = this;
13641
+ var reactData = getVmReactData($xeVm);
13642
+ var internalData = getVmInternalData($xeVm);
13643
+ var isThumbDrag = internalData.isThumbDrag,
13644
+ thumbDragOffset = internalData.thumbDragOffset;
13645
+ if (isThumbDrag) {
13646
+ var viewEl = $xeVm.getScrollViewElem();
13647
+ if (!viewEl) {
13648
+ return;
13649
+ }
13650
+ var yThumbHeight = reactData.yThumbHeight;
13651
+ var thumbEl = evnt.currentTarget;
13652
+ var trackEl = thumbEl.parentElement;
13653
+ var trackRect = trackEl.getBoundingClientRect();
13654
+ // 更新偏移
13655
+ viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
13656
+ }
13452
13657
  }
13453
13658
  }
13454
- });
13659
+ }));
13455
13660
  var globalMixins = {
13456
13661
  sizeMixin: sizeMixin,
13662
+ permissionMixin: permissionMixin,
13457
13663
  vScrollbarMixin: vScrollbarMixin,
13458
- permissionMixin: permissionMixin
13664
+ initVScrollbarMixin: initVScrollbarMixin
13459
13665
  };
13460
13666
  ;// ./node_modules/@vxe-ui/core/es/index.esm.js
13461
13667
 
@@ -13729,7 +13935,7 @@ var es_array_filter = __webpack_require__(2008);
13729
13935
 
13730
13936
 
13731
13937
  var log_log = VxeUI.log;
13732
- var uiVersion = "ui v".concat("3.20.9");
13938
+ var uiVersion = "ui v".concat("3.20.11");
13733
13939
  function createComponentLog(name) {
13734
13940
  var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
13735
13941
  var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
@@ -13749,7 +13955,7 @@ var errLog = log_log.create('error', uiVersion);
13749
13955
 
13750
13956
 
13751
13957
 
13752
- var ui_version = "3.20.9";
13958
+ var ui_version = "3.20.11";
13753
13959
  VxeUI.uiVersion = ui_version;
13754
13960
  VxeUI.dynamicApp = dynamicApp;
13755
13961
  function config(options) {
@@ -16874,14 +17080,9 @@ var Loading = VxeLoading;
16874
17080
  var scrollbar_getConfig = VxeUI.getConfig,
16875
17081
  scrollbar_createEvent = VxeUI.createEvent,
16876
17082
  scrollbar_domUtils = VxeUI.domUtils,
16877
- scrollbar_scrollbarUtils = VxeUI.scrollbarUtils,
16878
17083
  scrollbar_globalResize = VxeUI.globalResize,
16879
17084
  scrollbar_globalEvents = VxeUI.globalEvents,
16880
17085
  scrollbar_renderEmptyElement = VxeUI.renderEmptyElement;
16881
- var getThumbOffsetSize = scrollbar_scrollbarUtils.getThumbOffsetSize,
16882
- getThumbSize = scrollbar_scrollbarUtils.getThumbSize,
16883
- getScrollFromClick = scrollbar_scrollbarUtils.getScrollFromClick,
16884
- getScrollFromDrag = scrollbar_scrollbarUtils.getScrollFromDrag;
16885
17086
  function createReactData() {
16886
17087
  return {
16887
17088
  yThumbHeight: 0,
@@ -16890,7 +17091,7 @@ function createReactData() {
16890
17091
  }
16891
17092
  function createInternalData() {
16892
17093
  return {
16893
- // resizeObserver: undefined,
17094
+ // scrollObserver: undefined,
16894
17095
  // isThumbDrag: false,
16895
17096
  thumbDragOffset: 0,
16896
17097
  yThumbTop: 0,
@@ -16901,6 +17102,7 @@ function createInternalData() {
16901
17102
  }
16902
17103
  /* harmony default export */ var scrollbar = (/* define-vxe-component start */defineVxeComponent({
16903
17104
  name: 'VxeScrollbar',
17105
+ mixins: [globalMixins.sizeMixin, globalMixins.initVScrollbarMixin],
16904
17106
  props: {
16905
17107
  id: [String, Number],
16906
17108
  viewId: [String, Number],
@@ -16973,6 +17175,12 @@ function createInternalData() {
16973
17175
  return scrollbar_getConfig().scrollbar.viewInnerClassName;
16974
17176
  }
16975
17177
  },
17178
+ size: {
17179
+ type: String,
17180
+ default: function _default() {
17181
+ return scrollbar_getConfig().scrollbar.size || scrollbar_getConfig().size;
17182
+ }
17183
+ },
16976
17184
  /**
16977
17185
  * 已废弃
16978
17186
  * @deprecated
@@ -16998,7 +17206,7 @@ function createInternalData() {
16998
17206
  reFlag: 0
16999
17207
  });
17000
17208
  },
17001
- computed: {
17209
+ computed: _objectSpread2(_objectSpread2({}, {}), {}, {
17002
17210
  computeWrapperStyle: function computeWrapperStyle() {
17003
17211
  var $xeScrollbar = this;
17004
17212
  var props = $xeScrollbar;
@@ -17083,13 +17291,14 @@ function createInternalData() {
17083
17291
  padding = props.padding;
17084
17292
  var yThumbHeight = reactData.yThumbHeight,
17085
17293
  xThumbWidth = reactData.xThumbWidth;
17294
+ var vSize = $xeScrollbar.computeSize;
17086
17295
  var xToTop = $xeScrollbar.computeXToTop;
17087
17296
  var yToLeft = $xeScrollbar.computeYToLeft;
17088
17297
  var xVisible = $xeScrollbar.computeXVisible;
17089
17298
  var yVisible = $xeScrollbar.computeYVisible;
17090
17299
  var xAutoHide = $xeScrollbar.computeXAutoHide;
17091
17300
  var yAutoHide = $xeScrollbar.computeYAutoHide;
17092
- return scrollbar_domUtils.buildClass(['vxe-scrollbar', theme ? "theme--".concat(theme) : '', "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], {
17301
+ return scrollbar_domUtils.buildClass(['vxe-scrollbar', vSize ? "size--".concat(vSize) : '', theme ? "theme--".concat(theme) : '', "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], {
17093
17302
  'is--padding': padding,
17094
17303
  'ov-x--auto-hide': xAutoHide,
17095
17304
  'ov-y--auto-hide': yAutoHide,
@@ -17129,7 +17338,7 @@ function createInternalData() {
17129
17338
  var yOpts = $xeScrollbar.computeYOpts;
17130
17339
  return yOpts.position === 'left';
17131
17340
  }
17132
- },
17341
+ }),
17133
17342
  methods: {
17134
17343
  //
17135
17344
  // Method
@@ -17140,12 +17349,12 @@ function createInternalData() {
17140
17349
  $scrollbar: $xeScrollbar
17141
17350
  }, params));
17142
17351
  },
17143
- getViewElem: function getViewElem() {
17352
+ getScrollViewElem: function getScrollViewElem() {
17144
17353
  var $xeScrollbar = this;
17145
17354
  var viewEl = $xeScrollbar.$refs.refViewElem;
17146
17355
  return viewEl || null;
17147
17356
  },
17148
- getViewInnerElem: function getViewInnerElem() {
17357
+ getScrollViewInnerElem: function getScrollViewInnerElem() {
17149
17358
  var $xeScrollbar = this;
17150
17359
  var viewInnerEl = $xeScrollbar.$refs.refViewInnerElem;
17151
17360
  return viewInnerEl || null;
@@ -17212,60 +17421,6 @@ function createInternalData() {
17212
17421
  $xeScrollbar.updateThumbOffset();
17213
17422
  return $xeScrollbar.$nextTick();
17214
17423
  },
17215
- updateThumbSize: function updateThumbSize() {
17216
- var $xeScrollbar = this;
17217
- var reactData = $xeScrollbar.reactData;
17218
- var viewEl = $xeScrollbar.$refs.refViewElem;
17219
- if (!viewEl) {
17220
- return;
17221
- }
17222
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
17223
- return;
17224
- }
17225
- var trackXEl = $xeScrollbar.$refs.refTrackXElem;
17226
- var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
17227
- var thumbXElem = $xeScrollbar.$refs.refThumbXElem;
17228
- if (thumbXElem) {
17229
- thumbXElem.style.width = xThumbWidth + 'px';
17230
- }
17231
- reactData.xThumbWidth = xThumbWidth;
17232
- var trackYEl = $xeScrollbar.$refs.refTrackYElem;
17233
- var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
17234
- var thumbYElem = $xeScrollbar.$refs.refThumbYElem;
17235
- if (thumbYElem) {
17236
- thumbYElem.style.height = yThumbHeight + 'px';
17237
- }
17238
- reactData.yThumbHeight = yThumbHeight;
17239
- },
17240
- updateThumbOffset: function updateThumbOffset() {
17241
- var $xeScrollbar = this;
17242
- var reactData = $xeScrollbar.reactData;
17243
- var internalData = $xeScrollbar.internalData;
17244
- var viewEl = $xeScrollbar.$refs.refViewElem;
17245
- if (!viewEl) {
17246
- return;
17247
- // removed by dead control flow
17248
-
17249
- }
17250
- var xThumbWidth = reactData.xThumbWidth,
17251
- yThumbHeight = reactData.yThumbHeight;
17252
- var trackXEl = $xeScrollbar.$refs.refTrackXElem;
17253
- var thumbXElem = $xeScrollbar.$refs.refThumbXElem;
17254
- var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
17255
- internalData.xThumbLeft = xThumbLeft;
17256
- if (thumbXElem && xThumbWidth) {
17257
- thumbXElem.style.width = xThumbWidth + 'px';
17258
- thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
17259
- }
17260
- var trackYEl = $xeScrollbar.$refs.refTrackYElem;
17261
- var thumbYElem = $xeScrollbar.$refs.refThumbYElem;
17262
- var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
17263
- internalData.yThumbTop = yThumbTop;
17264
- if (thumbYElem && yThumbHeight) {
17265
- thumbYElem.style.height = yThumbHeight + 'px';
17266
- thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
17267
- }
17268
- },
17269
17424
  scrollEvent: function scrollEvent(evnt) {
17270
17425
  var $xeScrollbar = this;
17271
17426
  var reactData = $xeScrollbar.reactData;
@@ -17348,125 +17503,6 @@ function createInternalData() {
17348
17503
  scrollWidth: scrollWidth
17349
17504
  }, evnt);
17350
17505
  },
17351
- clickTrackXEvent: function clickTrackXEvent(evnt) {
17352
- var $xeScrollbar = this;
17353
- var reactData = $xeScrollbar.reactData;
17354
- var trackEl = evnt.currentTarget;
17355
- if (trackEl !== evnt.target) {
17356
- return;
17357
- }
17358
- var viewEl = $xeScrollbar.$refs.refViewElem;
17359
- if (!viewEl) {
17360
- return;
17361
- }
17362
- var xThumbWidth = reactData.xThumbWidth;
17363
- var trackRect = trackEl.getBoundingClientRect();
17364
- viewEl.scrollTo({
17365
- left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
17366
- behavior: 'auto'
17367
- });
17368
- },
17369
- clickTrackYEvent: function clickTrackYEvent(evnt) {
17370
- var $xeScrollbar = this;
17371
- var reactData = $xeScrollbar.reactData;
17372
- var trackEl = evnt.currentTarget;
17373
- if (trackEl !== evnt.target) {
17374
- return;
17375
- }
17376
- var viewEl = $xeScrollbar.$refs.refViewElem;
17377
- if (!viewEl) {
17378
- return;
17379
- }
17380
- var yThumbHeight = reactData.yThumbHeight;
17381
- var trackRect = trackEl.getBoundingClientRect();
17382
- viewEl.scrollTo({
17383
- top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
17384
- behavior: 'auto'
17385
- });
17386
- },
17387
- pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
17388
- var $xeScrollbar = this;
17389
- var reactData = $xeScrollbar.reactData;
17390
- var internalData = $xeScrollbar.internalData;
17391
- var thumbEl = evnt.currentTarget;
17392
- internalData.isThumbDrag = true;
17393
- thumbEl.setPointerCapture(evnt.pointerId);
17394
- var viewEl = $xeScrollbar.$refs.refViewElem;
17395
- if (!viewEl) {
17396
- return;
17397
- }
17398
- var xThumbWidth = reactData.xThumbWidth;
17399
- var trackEl = thumbEl.parentElement;
17400
- var trackRect = trackEl.getBoundingClientRect();
17401
- var pointerPosition = evnt.clientX - trackRect.left;
17402
- // 记录 thumb 的偏移
17403
- var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
17404
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
17405
- },
17406
- pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
17407
- var $xeScrollbar = this;
17408
- var reactData = $xeScrollbar.reactData;
17409
- var internalData = $xeScrollbar.internalData;
17410
- var isThumbDrag = internalData.isThumbDrag,
17411
- thumbDragOffset = internalData.thumbDragOffset;
17412
- if (isThumbDrag) {
17413
- var viewEl = $xeScrollbar.$refs.refViewElem;
17414
- if (!viewEl) {
17415
- return;
17416
- }
17417
- var xThumbWidth = reactData.xThumbWidth;
17418
- var thumbEl = evnt.currentTarget;
17419
- var trackEl = thumbEl.parentElement;
17420
- var trackRect = trackEl.getBoundingClientRect();
17421
- // 更新偏移
17422
- viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
17423
- }
17424
- },
17425
- cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
17426
- var $xeScrollbar = this;
17427
- var internalData = $xeScrollbar.internalData;
17428
- var thumbEl = evnt.currentTarget;
17429
- thumbEl.releasePointerCapture(evnt.pointerId);
17430
- internalData.isThumbDrag = false;
17431
- },
17432
- pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
17433
- var $xeScrollbar = this;
17434
- var reactData = $xeScrollbar.reactData;
17435
- var internalData = $xeScrollbar.internalData;
17436
- var thumbEl = evnt.currentTarget;
17437
- internalData.isThumbDrag = true;
17438
- thumbEl.setPointerCapture(evnt.pointerId);
17439
- var viewEl = $xeScrollbar.$refs.refViewElem;
17440
- if (!viewEl) {
17441
- return;
17442
- }
17443
- var yThumbHeight = reactData.yThumbHeight;
17444
- var trackEl = thumbEl.parentElement;
17445
- var trackRect = trackEl.getBoundingClientRect();
17446
- var pointerPosition = evnt.clientY - trackRect.top;
17447
- // 记录 thumb 的偏移
17448
- var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
17449
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
17450
- },
17451
- pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
17452
- var $xeScrollbar = this;
17453
- var reactData = $xeScrollbar.reactData;
17454
- var internalData = $xeScrollbar.internalData;
17455
- var isThumbDrag = internalData.isThumbDrag,
17456
- thumbDragOffset = internalData.thumbDragOffset;
17457
- if (isThumbDrag) {
17458
- var viewEl = $xeScrollbar.$refs.refViewElem;
17459
- if (!viewEl) {
17460
- return;
17461
- }
17462
- var yThumbHeight = reactData.yThumbHeight;
17463
- var thumbEl = evnt.currentTarget;
17464
- var trackEl = thumbEl.parentElement;
17465
- var trackRect = trackEl.getBoundingClientRect();
17466
- // 更新偏移
17467
- viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
17468
- }
17469
- },
17470
17506
  //
17471
17507
  // Render
17472
17508
  //
@@ -17620,18 +17656,18 @@ function createInternalData() {
17620
17656
  var viewEl = $xeScrollbar.$refs.refViewElem;
17621
17657
  var viewInnerEl = $xeScrollbar.$refs.refViewInnerElem;
17622
17658
  if (autoResize) {
17623
- var resizeObserver = scrollbar_globalResize.create(function () {
17659
+ var scrollObserver = scrollbar_globalResize.create(function () {
17624
17660
  if (props.autoResize) {
17625
17661
  $xeScrollbar.reFlag++;
17626
17662
  }
17627
17663
  });
17628
17664
  if (viewEl) {
17629
- resizeObserver.observe(viewEl);
17665
+ scrollObserver.observe(viewEl);
17630
17666
  }
17631
17667
  if (viewInnerEl) {
17632
- resizeObserver.observe(viewInnerEl);
17668
+ scrollObserver.observe(viewInnerEl);
17633
17669
  }
17634
- internalData.resizeObserver = resizeObserver;
17670
+ internalData.scrollObserver = scrollObserver;
17635
17671
  }
17636
17672
  $xeScrollbar.reFlag++;
17637
17673
  scrollbar_globalEvents.on($xeScrollbar, 'resize', function () {
@@ -17641,9 +17677,9 @@ function createInternalData() {
17641
17677
  beforeDestroy: function beforeDestroy() {
17642
17678
  var $xeScrollbar = this;
17643
17679
  var internalData = $xeScrollbar.internalData;
17644
- var resizeObserver = internalData.resizeObserver;
17645
- if (resizeObserver) {
17646
- resizeObserver.disconnect();
17680
+ var scrollObserver = internalData.scrollObserver;
17681
+ if (scrollObserver) {
17682
+ scrollObserver.disconnect();
17647
17683
  }
17648
17684
  scrollbar_globalEvents.off($xeScrollbar, 'resize');
17649
17685
  },
@@ -18005,9 +18041,7 @@ function tooltip_createInternalData() {
18005
18041
  return $xeTooltip.updateTipStyle().then(function () {
18006
18042
  return $xeTooltip.updateTipStyle();
18007
18043
  }).then(function () {
18008
- setTimeout(function () {
18009
- return $xeTooltip.updateTipStyle();
18010
- }, 15);
18044
+ return $xeTooltip.updateTipStyle();
18011
18045
  });
18012
18046
  },
18013
18047
  isActived: function isActived() {
@@ -18332,7 +18366,7 @@ function tooltip_createInternalData() {
18332
18366
  var internalData = $xeTooltip.internalData;
18333
18367
  var $scrollbar = $xeTooltip.$refs.contentScrollbar;
18334
18368
  if ($scrollbar) {
18335
- var viewEl = $scrollbar.getViewElem();
18369
+ var viewEl = $scrollbar.getScrollViewElem();
18336
18370
  if (viewEl) {
18337
18371
  viewEl.addEventListener('wheel', $xeTooltip.wheelEvent, {
18338
18372
  passive: false
@@ -23097,14 +23131,9 @@ var list_getConfig = VxeUI.getConfig,
23097
23131
  list_getIcon = VxeUI.getIcon,
23098
23132
  list_getI18n = VxeUI.getI18n,
23099
23133
  list_domUtils = VxeUI.domUtils,
23100
- list_scrollbarUtils = VxeUI.scrollbarUtils,
23101
23134
  list_menus = VxeUI.menus,
23102
23135
  list_globalEvents = VxeUI.globalEvents,
23103
23136
  list_globalResize = VxeUI.globalResize;
23104
- var list_getThumbOffsetSize = list_scrollbarUtils.getThumbOffsetSize,
23105
- list_getThumbSize = list_scrollbarUtils.getThumbSize,
23106
- list_getScrollFromClick = list_scrollbarUtils.getScrollFromClick,
23107
- list_getScrollFromDrag = list_scrollbarUtils.getScrollFromDrag;
23108
23137
  var list_createComponentLog = createComponentLog('tree'),
23109
23138
  list_warnLog = list_createComponentLog.warnLog,
23110
23139
  list_errLog = list_createComponentLog.errLog;
@@ -23180,7 +23209,7 @@ function list_createInternalData() {
23180
23209
  }
23181
23210
  /* harmony default export */ var list = (/* define-vxe-component start */defineVxeComponent({
23182
23211
  name: 'VxeList',
23183
- mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
23212
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.initVScrollbarMixin],
23184
23213
  props: {
23185
23214
  data: Array,
23186
23215
  height: [Number, String],
@@ -23441,6 +23470,11 @@ function list_createInternalData() {
23441
23470
  }
23442
23471
  return [];
23443
23472
  },
23473
+ getScrollViewElem: function getScrollViewElem() {
23474
+ var $xeList = this;
23475
+ var viewEl = $xeList.$refs.refVirtualWrapper;
23476
+ return viewEl || null;
23477
+ },
23444
23478
  getRowId: function getRowId(row) {
23445
23479
  var $xeList = this;
23446
23480
  var keyField = $xeList.computeKeyField;
@@ -23821,7 +23855,10 @@ function list_createInternalData() {
23821
23855
  var scrollLeft = scrollBodyElem.scrollLeft;
23822
23856
  var isX = scrollLeft !== internalData.lastScrollLeft;
23823
23857
  var isY = scrollTop !== internalData.lastScrollTop;
23824
- $xeList.updateThumbOffset();
23858
+ var isVScrollbar = $xeList.computeIsVScrollbar;
23859
+ if (isVScrollbar) {
23860
+ $xeList.updateThumbOffset();
23861
+ }
23825
23862
  internalData.lastScrollTop = scrollTop;
23826
23863
  internalData.lastScrollLeft = scrollLeft;
23827
23864
  if (reactData.scrollYLoad) {
@@ -25204,188 +25241,6 @@ function list_createInternalData() {
25204
25241
  }
25205
25242
  }
25206
25243
  },
25207
- updateThumbSize: function updateThumbSize() {
25208
- var $xeList = this;
25209
- var reactData = $xeList.reactData;
25210
- var viewEl = $xeList.$refs.refVirtualWrapper;
25211
- if (!viewEl) {
25212
- return;
25213
- }
25214
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
25215
- return;
25216
- }
25217
- var trackXEl = $xeList.$refs.refTrackXElem;
25218
- var xThumbWidth = trackXEl ? list_getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
25219
- var thumbXElem = $xeList.$refs.refThumbXElem;
25220
- if (thumbXElem) {
25221
- thumbXElem.style.width = xThumbWidth + 'px';
25222
- }
25223
- reactData.xThumbWidth = xThumbWidth;
25224
- var trackYEl = $xeList.$refs.refTrackYElem;
25225
- var yThumbHeight = trackYEl ? list_getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
25226
- var thumbYElem = $xeList.$refs.refThumbYElem;
25227
- if (thumbYElem) {
25228
- thumbYElem.style.height = yThumbHeight + 'px';
25229
- }
25230
- reactData.yThumbHeight = yThumbHeight;
25231
- },
25232
- updateThumbOffset: function updateThumbOffset() {
25233
- var $xeList = this;
25234
- var reactData = $xeList.reactData;
25235
- var internalData = $xeList.internalData;
25236
- var viewEl = $xeList.$refs.refVirtualWrapper;
25237
- if (!viewEl) {
25238
- return;
25239
- }
25240
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
25241
- return;
25242
- }
25243
- var xThumbWidth = reactData.xThumbWidth,
25244
- yThumbHeight = reactData.yThumbHeight;
25245
- var trackXEl = $xeList.$refs.refTrackXElem;
25246
- var thumbXElem = $xeList.$refs.refThumbXElem;
25247
- var xThumbLeft = trackXEl && xThumbWidth ? list_getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
25248
- internalData.xThumbLeft = xThumbLeft;
25249
- if (thumbXElem && xThumbWidth) {
25250
- thumbXElem.style.width = xThumbWidth + 'px';
25251
- thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
25252
- }
25253
- var trackYEl = $xeList.$refs.refTrackYElem;
25254
- var thumbYElem = $xeList.$refs.refThumbYElem;
25255
- var yThumbTop = trackYEl && yThumbHeight ? list_getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
25256
- internalData.yThumbTop = yThumbTop;
25257
- if (thumbYElem && yThumbHeight) {
25258
- thumbYElem.style.height = yThumbHeight + 'px';
25259
- thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
25260
- }
25261
- },
25262
- clickTrackXEvent: function clickTrackXEvent(evnt) {
25263
- var $xeList = this;
25264
- var reactData = $xeList.reactData;
25265
- var trackEl = evnt.currentTarget;
25266
- if (trackEl !== evnt.target) {
25267
- return;
25268
- }
25269
- var viewEl = $xeList.$refs.refVirtualWrapper;
25270
- if (!viewEl) {
25271
- return;
25272
- }
25273
- var xThumbWidth = reactData.xThumbWidth;
25274
- var trackRect = trackEl.getBoundingClientRect();
25275
- viewEl.scrollTo({
25276
- left: list_getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
25277
- behavior: 'auto'
25278
- });
25279
- },
25280
- clickTrackYEvent: function clickTrackYEvent(evnt) {
25281
- var $xeList = this;
25282
- var reactData = $xeList.reactData;
25283
- var trackEl = evnt.currentTarget;
25284
- if (trackEl !== evnt.target) {
25285
- return;
25286
- }
25287
- var viewEl = $xeList.$refs.refVirtualWrapper;
25288
- if (!viewEl) {
25289
- return;
25290
- }
25291
- var yThumbHeight = reactData.yThumbHeight;
25292
- var trackRect = trackEl.getBoundingClientRect();
25293
- viewEl.scrollTo({
25294
- top: list_getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
25295
- behavior: 'auto'
25296
- });
25297
- },
25298
- pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
25299
- var $xeList = this;
25300
- var reactData = $xeList.reactData;
25301
- var internalData = $xeList.internalData;
25302
- var thumbEl = evnt.currentTarget;
25303
- internalData.isThumbDrag = true;
25304
- thumbEl.setPointerCapture(evnt.pointerId);
25305
- var viewEl = $xeList.$refs.refVirtualWrapper;
25306
- if (!viewEl) {
25307
- return;
25308
- }
25309
- var xThumbWidth = reactData.xThumbWidth;
25310
- var trackEl = thumbEl.parentElement;
25311
- var trackRect = trackEl.getBoundingClientRect();
25312
- var pointerPosition = evnt.clientX - trackRect.left;
25313
- // 记录 thumb 的偏移
25314
- var thumbOffset = list_getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
25315
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
25316
- },
25317
- pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
25318
- var $xeList = this;
25319
- var reactData = $xeList.reactData;
25320
- var internalData = $xeList.internalData;
25321
- var thumbEl = evnt.currentTarget;
25322
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
25323
- return;
25324
- }
25325
- var isThumbDrag = internalData.isThumbDrag,
25326
- thumbDragOffset = internalData.thumbDragOffset;
25327
- if (isThumbDrag) {
25328
- var viewEl = $xeList.$refs.refVirtualWrapper;
25329
- if (!viewEl) {
25330
- return;
25331
- }
25332
- var xThumbWidth = reactData.xThumbWidth;
25333
- var _thumbEl = evnt.currentTarget;
25334
- var trackEl = _thumbEl.parentElement;
25335
- var trackRect = trackEl.getBoundingClientRect();
25336
- // 更新偏移
25337
- viewEl.scrollLeft = list_getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
25338
- }
25339
- },
25340
- cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
25341
- var $xeList = this;
25342
- var internalData = $xeList.internalData;
25343
- var thumbEl = evnt.currentTarget;
25344
- thumbEl.releasePointerCapture(evnt.pointerId);
25345
- internalData.isThumbDrag = false;
25346
- },
25347
- pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
25348
- var $xeList = this;
25349
- var reactData = $xeList.reactData;
25350
- var internalData = $xeList.internalData;
25351
- var thumbEl = evnt.currentTarget;
25352
- internalData.isThumbDrag = true;
25353
- thumbEl.setPointerCapture(evnt.pointerId);
25354
- var viewEl = $xeList.$refs.refVirtualWrapper;
25355
- if (!viewEl) {
25356
- return;
25357
- }
25358
- var yThumbHeight = reactData.yThumbHeight;
25359
- var trackEl = thumbEl.parentElement;
25360
- var trackRect = trackEl.getBoundingClientRect();
25361
- var pointerPosition = evnt.clientY - trackRect.top;
25362
- // 记录 thumb 的偏移
25363
- var thumbOffset = list_getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
25364
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
25365
- },
25366
- pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
25367
- var $xeList = this;
25368
- var reactData = $xeList.reactData;
25369
- var internalData = $xeList.internalData;
25370
- var thumbEl = evnt.currentTarget;
25371
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
25372
- return;
25373
- }
25374
- var isThumbDrag = internalData.isThumbDrag,
25375
- thumbDragOffset = internalData.thumbDragOffset;
25376
- if (isThumbDrag) {
25377
- var viewEl = $xeList.$refs.refVirtualWrapper;
25378
- if (!viewEl) {
25379
- return;
25380
- }
25381
- var yThumbHeight = reactData.yThumbHeight;
25382
- var _thumbEl2 = evnt.currentTarget;
25383
- var trackEl = _thumbEl2.parentElement;
25384
- var trackRect = trackEl.getBoundingClientRect();
25385
- // 更新偏移
25386
- viewEl.scrollTop = list_getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
25387
- }
25388
- },
25389
25244
  //
25390
25245
  // Render
25391
25246
  //
@@ -37285,6 +37140,7 @@ var es_array_sort = __webpack_require__(6910);
37285
37140
 
37286
37141
 
37287
37142
 
37143
+
37288
37144
 
37289
37145
 
37290
37146
  var date_panel_createComponentLog = createComponentLog('date-panel'),
@@ -39266,52 +39122,82 @@ var date_panel_createComponentLog = createComponentLog('date-panel'),
39266
39122
  }, dateTimeLabel)]), h('div', {
39267
39123
  ref: 'refInputTimeBody',
39268
39124
  class: 'vxe-date-panel--time-body'
39269
- }, [h('ul', {
39270
- class: 'vxe-date-panel--time-hour-list'
39271
- }, hourList.map(function (item, index) {
39272
- return h('li', {
39273
- key: index,
39274
- class: {
39275
- 'is--disabled': item.disabled,
39276
- 'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
39277
- },
39278
- on: {
39279
- click: function click(evnt) {
39280
- return $xeDatePanel.dateHourEvent(evnt, item);
39281
- }
39125
+ }, [h(packages_scrollbar, {
39126
+ class: 'vxe-date-panel--time-hour-list',
39127
+ props: {
39128
+ autoHide: true,
39129
+ viewClassName: 'vxe-date-panel--time-list-view',
39130
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39131
+ },
39132
+ scopedSlots: {
39133
+ default: function _default() {
39134
+ return hourList.map(function (item, index) {
39135
+ return h('div', {
39136
+ key: index,
39137
+ class: ['vxe-date-panel--time-item', {
39138
+ 'is--disabled': item.disabled,
39139
+ 'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
39140
+ }],
39141
+ on: {
39142
+ click: function click(evnt) {
39143
+ return $xeDatePanel.dateHourEvent(evnt, item);
39144
+ }
39145
+ }
39146
+ }, item.label);
39147
+ });
39282
39148
  }
39283
- }, item.label);
39284
- })), hasTimeMinute ? h('ul', {
39285
- class: 'vxe-date-panel--time-minute-list'
39286
- }, minuteList.map(function (item, index) {
39287
- return h('li', {
39288
- key: index,
39289
- class: {
39290
- 'is--disabled': item.disabled,
39291
- 'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
39292
- },
39293
- on: {
39294
- click: function click(evnt) {
39295
- return $xeDatePanel.dateMinuteEvent(evnt, item);
39296
- }
39149
+ }
39150
+ }), hasTimeMinute ? h(packages_scrollbar, {
39151
+ class: 'vxe-date-panel--time-minute-list',
39152
+ props: {
39153
+ autoHide: true,
39154
+ viewClassName: 'vxe-date-panel--time-list-view',
39155
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39156
+ },
39157
+ scopedSlots: {
39158
+ default: function _default() {
39159
+ return minuteList.map(function (item, index) {
39160
+ return h('div', {
39161
+ key: index,
39162
+ class: ['vxe-date-panel--time-item', {
39163
+ 'is--disabled': item.disabled,
39164
+ 'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
39165
+ }],
39166
+ on: {
39167
+ click: function click(evnt) {
39168
+ return $xeDatePanel.dateMinuteEvent(evnt, item);
39169
+ }
39170
+ }
39171
+ }, item.label);
39172
+ });
39297
39173
  }
39298
- }, item.label);
39299
- })) : renderEmptyElement($xeDatePanel), hasTimeMinute && hasTimeSecond ? h('ul', {
39300
- class: 'vxe-date-panel--time-second-list'
39301
- }, secondList.map(function (item, index) {
39302
- return h('li', {
39303
- key: index,
39304
- class: {
39305
- 'is--disabled': item.disabled,
39306
- 'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
39307
- },
39308
- on: {
39309
- click: function click(evnt) {
39310
- return $xeDatePanel.dateSecondEvent(evnt, item);
39311
- }
39174
+ }
39175
+ }) : renderEmptyElement($xeDatePanel), hasTimeMinute && hasTimeSecond ? h(packages_scrollbar, {
39176
+ class: 'vxe-date-panel--time-second-list',
39177
+ props: {
39178
+ autoHide: true,
39179
+ viewClassName: 'vxe-date-panel--time-list-view',
39180
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39181
+ },
39182
+ scopedSlots: {
39183
+ default: function _default() {
39184
+ return secondList.map(function (item, index) {
39185
+ return h('div', {
39186
+ key: index,
39187
+ class: ['vxe-date-panel--time-item', {
39188
+ 'is--disabled': item.disabled,
39189
+ 'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
39190
+ }],
39191
+ on: {
39192
+ click: function click(evnt) {
39193
+ return $xeDatePanel.dateSecondEvent(evnt, item);
39194
+ }
39195
+ }
39196
+ }, item.label);
39197
+ });
39312
39198
  }
39313
- }, item.label);
39314
- })) : renderEmptyElement($xeDatePanel)])];
39199
+ }
39200
+ }) : renderEmptyElement($xeDatePanel)])];
39315
39201
  },
39316
39202
  renderPickerPanel: function renderPickerPanel(h) {
39317
39203
  var $xeDatePanel = this;
@@ -47348,6 +47234,17 @@ var FormItem = VxeFormItem;
47348
47234
 
47349
47235
 
47350
47236
 
47237
+ var icon_picker_getConfig = VxeUI.getConfig,
47238
+ icon_picker_getIcon = VxeUI.getIcon,
47239
+ icon_picker_getI18n = VxeUI.getI18n,
47240
+ icon_picker_baseUtils = VxeUI.baseUtils,
47241
+ icon_picker_globalEvents = VxeUI.globalEvents,
47242
+ icon_picker_createEvent = VxeUI.createEvent,
47243
+ icon_picker_renderer = VxeUI.renderer,
47244
+ icon_picker_globalMixins = VxeUI.globalMixins,
47245
+ icon_picker_GLOBAL_EVENT_KEYS = VxeUI.GLOBAL_EVENT_KEYS,
47246
+ icon_picker_renderEmptyElement = VxeUI.renderEmptyElement;
47247
+ var icon_picker_getDefVal = icon_picker_baseUtils.getDefVal;
47351
47248
  function icon_picker_createReactData() {
47352
47249
  return {
47353
47250
  initialized: false,
@@ -47370,7 +47267,7 @@ function icon_picker_createInternalData() {
47370
47267
  }
47371
47268
  /* harmony default export */ var icon_picker = (/* define-vxe-component start */defineVxeComponent({
47372
47269
  name: 'VxeIconPicker',
47373
- mixins: [globalMixins.sizeMixin],
47270
+ mixins: [icon_picker_globalMixins.sizeMixin, icon_picker_globalMixins.vScrollbarMixin],
47374
47271
  model: {
47375
47272
  prop: 'value',
47376
47273
  event: 'modelValue'
@@ -47382,7 +47279,7 @@ function icon_picker_createInternalData() {
47382
47279
  size: {
47383
47280
  type: String,
47384
47281
  default: function _default() {
47385
- return getConfig().iconPicker.size || getConfig().size;
47282
+ return icon_picker_getConfig().iconPicker.size || icon_picker_getConfig().size;
47386
47283
  }
47387
47284
  },
47388
47285
  className: [String, Function],
@@ -47395,7 +47292,7 @@ function icon_picker_createInternalData() {
47395
47292
  showIconTitle: {
47396
47293
  type: Boolean,
47397
47294
  default: function _default() {
47398
- return getConfig().iconPicker.showIconTitle;
47295
+ return icon_picker_getConfig().iconPicker.showIconTitle;
47399
47296
  }
47400
47297
  },
47401
47298
  readonly: {
@@ -47409,7 +47306,7 @@ function icon_picker_createInternalData() {
47409
47306
  filterable: {
47410
47307
  type: Boolean,
47411
47308
  default: function _default() {
47412
- return getConfig().iconPicker.filterable;
47309
+ return icon_picker_getConfig().iconPicker.filterable;
47413
47310
  }
47414
47311
  },
47415
47312
  filterConfig: Object,
@@ -47419,7 +47316,14 @@ function icon_picker_createInternalData() {
47419
47316
  transfer: {
47420
47317
  type: Boolean,
47421
47318
  default: null
47422
- }
47319
+ },
47320
+ useScrollbar: {
47321
+ type: Boolean,
47322
+ default: function _default() {
47323
+ return icon_picker_getDefVal(icon_picker_getConfig().iconPicker.useScrollbar, icon_picker_getConfig().useScrollbar);
47324
+ }
47325
+ },
47326
+ scrollbarConfig: Object
47423
47327
  },
47424
47328
  inject: {
47425
47329
  $xeModal: {
@@ -47492,7 +47396,7 @@ function icon_picker_createInternalData() {
47492
47396
  return popupOpts.transfer;
47493
47397
  }
47494
47398
  if (transfer === null) {
47495
- var globalTransfer = getConfig().iconPicker.transfer;
47399
+ var globalTransfer = icon_picker_getConfig().iconPicker.transfer;
47496
47400
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(globalTransfer)) {
47497
47401
  return globalTransfer;
47498
47402
  }
@@ -47509,11 +47413,11 @@ function icon_picker_createInternalData() {
47509
47413
  if (placeholder) {
47510
47414
  return getFuncText(placeholder);
47511
47415
  }
47512
- var globalPlaceholder = getConfig().select.placeholder;
47416
+ var globalPlaceholder = icon_picker_getConfig().select.placeholder;
47513
47417
  if (globalPlaceholder) {
47514
47418
  return getFuncText(globalPlaceholder);
47515
47419
  }
47516
- return getI18n('vxe.base.pleaseSelect');
47420
+ return icon_picker_getI18n('vxe.base.pleaseSelect');
47517
47421
  },
47518
47422
  computeCurrStyle: function computeCurrStyle() {
47519
47423
  var $xeIconPicker = this;
@@ -47548,7 +47452,7 @@ function icon_picker_createInternalData() {
47548
47452
  var props = $xeIconPicker;
47549
47453
  var icons = props.icons;
47550
47454
  if (!icons || !icons.length) {
47551
- icons = getConfig().iconPicker.icons || [];
47455
+ icons = icon_picker_getConfig().iconPicker.icons || [];
47552
47456
  }
47553
47457
  return icons.map(function (item) {
47554
47458
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(item)) {
@@ -47567,12 +47471,12 @@ function icon_picker_createInternalData() {
47567
47471
  computeFilterOpts: function computeFilterOpts() {
47568
47472
  var $xeIconPicker = this;
47569
47473
  var props = $xeIconPicker;
47570
- return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig);
47474
+ return Object.assign({}, icon_picker_getConfig().iconPicker.filterConfig, props.filterConfig);
47571
47475
  },
47572
47476
  computePopupOpts: function computePopupOpts() {
47573
47477
  var $xeIconPicker = this;
47574
47478
  var props = $xeIconPicker;
47575
- return Object.assign({}, getConfig().iconPicker.popupConfig, props.popupConfig);
47479
+ return Object.assign({}, icon_picker_getConfig().iconPicker.popupConfig, props.popupConfig);
47576
47480
  },
47577
47481
  computeIconGroupList: function computeIconGroupList() {
47578
47482
  var $xeIconPicker = this;
@@ -47595,7 +47499,7 @@ function icon_picker_createInternalData() {
47595
47499
  //
47596
47500
  dispatchEvent: function dispatchEvent(type, params, evnt) {
47597
47501
  var $xeIconPicker = this;
47598
- $xeIconPicker.$emit(type, createEvent(evnt, {
47502
+ $xeIconPicker.$emit(type, icon_picker_createEvent(evnt, {
47599
47503
  $iconPicker: $xeIconPicker
47600
47504
  }, params));
47601
47505
  },
@@ -47859,13 +47763,13 @@ function icon_picker_createInternalData() {
47859
47763
  var visiblePanel = reactData.visiblePanel;
47860
47764
  var isDisabled = $xeIconPicker.computeIsDisabled;
47861
47765
  if (!isDisabled) {
47862
- var isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
47863
- var isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
47864
- var isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
47865
- var isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
47866
- var isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
47867
- var isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
47868
- var isSpacebar = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR);
47766
+ var isTab = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.TAB);
47767
+ var isEnter = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ENTER);
47768
+ var isEsc = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ESCAPE);
47769
+ var isUpArrow = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ARROW_UP);
47770
+ var isDwArrow = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ARROW_DOWN);
47771
+ var isDel = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.DELETE);
47772
+ var isSpacebar = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.SPACEBAR);
47869
47773
  if (isTab) {
47870
47774
  reactData.isActivated = false;
47871
47775
  }
@@ -47971,7 +47875,7 @@ function icon_picker_createInternalData() {
47971
47875
  if (!iconList.length) {
47972
47876
  return h('div', {
47973
47877
  class: 'vxe-ico-picker--empty-placeholder'
47974
- }, getI18n('vxe.iconPicker.emptyText'));
47878
+ }, icon_picker_getI18n('vxe.iconPicker.emptyText'));
47975
47879
  }
47976
47880
  return h('div', {
47977
47881
  class: 'vxe-ico-picker--list-wrapper'
@@ -47979,7 +47883,7 @@ function icon_picker_createInternalData() {
47979
47883
  class: 'vxe-ico-picker--list'
47980
47884
  }, iconList.map(function (item) {
47981
47885
  var iconRender = item.iconRender;
47982
- var compConf = iconRender ? renderer.get(iconRender.name) : null;
47886
+ var compConf = iconRender ? icon_picker_renderer.get(iconRender.name) : null;
47983
47887
  var iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
47984
47888
  return h('div', {
47985
47889
  class: ['vxe-ico-picker--item', {
@@ -48004,7 +47908,7 @@ function icon_picker_createInternalData() {
48004
47908
  class: item.icon || ''
48005
47909
  })]), showIconTitle ? h('div', {
48006
47910
  class: 'vxe-ico-picker--item-title'
48007
- }, "".concat(item.title || '')) : renderEmptyElement($xeIconPicker)])]);
47911
+ }, "".concat(item.title || '')) : icon_picker_renderEmptyElement($xeIconPicker)])]);
48008
47912
  }))]);
48009
47913
  },
48010
47914
  renderIconView: function renderIconView(h) {
@@ -48014,7 +47918,7 @@ function icon_picker_createInternalData() {
48014
47918
  var selectIconItem = $xeIconPicker.computeSelectIconItem;
48015
47919
  if (selectIconItem) {
48016
47920
  var iconRender = selectIconItem.iconRender;
48017
- var compConf = iconRender ? renderer.get(iconRender.name) : null;
47921
+ var compConf = iconRender ? icon_picker_renderer.get(iconRender.name) : null;
48018
47922
  var oIconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
48019
47923
  if (oIconMethod && iconRender) {
48020
47924
  return h('div', {
@@ -48090,11 +47994,11 @@ function icon_picker_createInternalData() {
48090
47994
  click: $xeIconPicker.clearEvent
48091
47995
  }
48092
47996
  }, [h('i', {
48093
- class: getIcon().INPUT_CLEAR
47997
+ class: icon_picker_getIcon().INPUT_CLEAR
48094
47998
  })]), h('div', {
48095
47999
  class: 'vxe-ico-picker--suffix-icon'
48096
48000
  }, [h('i', {
48097
- class: visiblePanel ? getIcon().ICON_PICKER_OPEN : getIcon().ICON_PICKER_CLOSE
48001
+ class: visiblePanel ? icon_picker_getIcon().ICON_PICKER_OPEN : icon_picker_getIcon().ICON_PICKER_CLOSE
48098
48002
  })])])]), h('div', {
48099
48003
  ref: 'refOptionPanel',
48100
48004
  class: ['vxe-table--ignore-clear vxe-ico-picker--panel', ppClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(ppClassName) ? ppClassName({
@@ -48118,8 +48022,8 @@ function icon_picker_createInternalData() {
48118
48022
  clearable: true,
48119
48023
  disabled: false,
48120
48024
  readonly: false,
48121
- placeholder: getI18n('vxe.iconPicker.search'),
48122
- prefixIcon: getIcon().INPUT_SEARCH
48025
+ placeholder: icon_picker_getI18n('vxe.iconPicker.search'),
48026
+ prefixIcon: icon_picker_getIcon().INPUT_SEARCH
48123
48027
  },
48124
48028
  on: {
48125
48029
  'model-value': $xeIconPicker.modelSearchEvent,
@@ -48127,7 +48031,7 @@ function icon_picker_createInternalData() {
48127
48031
  change: $xeIconPicker.triggerSearchEvent,
48128
48032
  search: $xeIconPicker.triggerSearchEvent
48129
48033
  }
48130
- })]) : renderEmptyElement($xeIconPicker), $xeIconPicker.renderIconWrapper(h)]) : renderEmptyElement($xeIconPicker)])]);
48034
+ })]) : icon_picker_renderEmptyElement($xeIconPicker), $xeIconPicker.renderIconWrapper(h)]) : icon_picker_renderEmptyElement($xeIconPicker)])]);
48131
48035
  }
48132
48036
  },
48133
48037
  watch: {
@@ -48148,11 +48052,11 @@ function icon_picker_createInternalData() {
48148
48052
  $xeIconPicker.internalData = icon_picker_createInternalData();
48149
48053
  reactData.selectIcon = "".concat(props.value || '');
48150
48054
  $xeIconPicker.handleData();
48151
- globalEvents.on($xeIconPicker, 'mousedown', $xeIconPicker.handleGlobalMousedownEvent);
48152
- globalEvents.on($xeIconPicker, 'keydown', $xeIconPicker.handleGlobalKeydownEvent);
48153
- globalEvents.on($xeIconPicker, 'blur', $xeIconPicker.handleGlobalBlurEvent);
48154
- globalEvents.on($xeIconPicker, 'resize', $xeIconPicker.handleGlobalResizeEvent);
48155
- globalEvents.on($xeIconPicker, 'scroll', $xeIconPicker.handleGlobalScrollEvent);
48055
+ icon_picker_globalEvents.on($xeIconPicker, 'mousedown', $xeIconPicker.handleGlobalMousedownEvent);
48056
+ icon_picker_globalEvents.on($xeIconPicker, 'keydown', $xeIconPicker.handleGlobalKeydownEvent);
48057
+ icon_picker_globalEvents.on($xeIconPicker, 'blur', $xeIconPicker.handleGlobalBlurEvent);
48058
+ icon_picker_globalEvents.on($xeIconPicker, 'resize', $xeIconPicker.handleGlobalResizeEvent);
48059
+ icon_picker_globalEvents.on($xeIconPicker, 'scroll', $xeIconPicker.handleGlobalScrollEvent);
48156
48060
  },
48157
48061
  beforeDestroy: function beforeDestroy() {
48158
48062
  var $xeIconPicker = this;
@@ -48162,11 +48066,11 @@ function icon_picker_createInternalData() {
48162
48066
  if (panelElem && panelElem.parentNode) {
48163
48067
  panelElem.parentNode.removeChild(panelElem);
48164
48068
  }
48165
- globalEvents.off($xeIconPicker, 'mousedown');
48166
- globalEvents.off($xeIconPicker, 'keydown');
48167
- globalEvents.off($xeIconPicker, 'blur');
48168
- globalEvents.off($xeIconPicker, 'resize');
48169
- globalEvents.off($xeIconPicker, 'scroll');
48069
+ icon_picker_globalEvents.off($xeIconPicker, 'mousedown');
48070
+ icon_picker_globalEvents.off($xeIconPicker, 'keydown');
48071
+ icon_picker_globalEvents.off($xeIconPicker, 'blur');
48072
+ icon_picker_globalEvents.off($xeIconPicker, 'resize');
48073
+ icon_picker_globalEvents.off($xeIconPicker, 'scroll');
48170
48074
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, icon_picker_createReactData());
48171
48075
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, icon_picker_createInternalData());
48172
48076
  },
@@ -53713,6 +53617,17 @@ var Option = VxeOption;
53713
53617
 
53714
53618
 
53715
53619
 
53620
+ var select_getConfig = VxeUI.getConfig,
53621
+ select_getIcon = VxeUI.getIcon,
53622
+ select_getI18n = VxeUI.getI18n,
53623
+ select_baseUtils = VxeUI.baseUtils,
53624
+ select_domUtils = VxeUI.domUtils,
53625
+ select_globalEvents = VxeUI.globalEvents,
53626
+ select_GLOBAL_EVENT_KEYS = VxeUI.GLOBAL_EVENT_KEYS,
53627
+ select_globalResize = VxeUI.globalResize,
53628
+ select_createEvent = VxeUI.createEvent,
53629
+ select_renderEmptyElement = VxeUI.renderEmptyElement;
53630
+ var select_getDefVal = select_baseUtils.getDefVal;
53716
53631
  var select_createComponentLog = createComponentLog('select'),
53717
53632
  select_errLog = select_createComponentLog.errLog;
53718
53633
  function isOptionVisible(option) {
@@ -53733,6 +53648,9 @@ function select_createReactData() {
53733
53648
  currentOption: null,
53734
53649
  searchValue: '',
53735
53650
  searchLoading: false,
53651
+ // 滚动条
53652
+ yThumbHeight: 0,
53653
+ xThumbWidth: 0,
53736
53654
  panelIndex: 0,
53737
53655
  panelStyle: {},
53738
53656
  panelPlacement: null,
@@ -53752,8 +53670,14 @@ function select_createInternalData() {
53752
53670
  optGroupKeyMaps: {},
53753
53671
  optFullValMaps: {},
53754
53672
  remoteValMaps: {},
53755
- lastScrollLeft: 0,
53673
+ // 滚动条
53674
+ // scrollObserver: undefined,
53675
+ // isThumbDrag: false,
53676
+ thumbDragOffset: 0,
53677
+ yThumbTop: 0,
53678
+ xThumbLeft: 0,
53756
53679
  lastScrollTop: 0,
53680
+ lastScrollLeft: 0,
53757
53681
  scrollYStore: {
53758
53682
  startIndex: 0,
53759
53683
  endIndex: 0,
@@ -53767,7 +53691,7 @@ function select_createInternalData() {
53767
53691
  }
53768
53692
  /* harmony default export */ var src_select = (/* define-vxe-component start */defineVxeComponent({
53769
53693
  name: 'VxeSelect',
53770
- mixins: [globalMixins.sizeMixin],
53694
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.initVScrollbarMixin],
53771
53695
  model: {
53772
53696
  prop: 'value',
53773
53697
  event: 'modelValue'
@@ -53778,13 +53702,13 @@ function select_createInternalData() {
53778
53702
  emptyValue: {
53779
53703
  type: [String, Number, Boolean, Array],
53780
53704
  default: function _default() {
53781
- return getConfig().select.emptyValue;
53705
+ return select_getConfig().select.emptyValue;
53782
53706
  }
53783
53707
  },
53784
53708
  clearable: {
53785
53709
  type: Boolean,
53786
53710
  default: function _default() {
53787
- return getConfig().select.clearable;
53711
+ return select_getConfig().select.clearable;
53788
53712
  }
53789
53713
  },
53790
53714
  placeholder: String,
@@ -53801,14 +53725,14 @@ function select_createInternalData() {
53801
53725
  multiCharOverflow: {
53802
53726
  type: [Number, String],
53803
53727
  default: function _default() {
53804
- return getConfig().select.multiCharOverflow;
53728
+ return select_getConfig().select.multiCharOverflow;
53805
53729
  }
53806
53730
  },
53807
53731
  prefixIcon: String,
53808
53732
  allowCreate: {
53809
53733
  type: Boolean,
53810
53734
  default: function _default() {
53811
- return getConfig().select.allowCreate;
53735
+ return select_getConfig().select.allowCreate;
53812
53736
  }
53813
53737
  },
53814
53738
  placement: String,
@@ -53832,14 +53756,14 @@ function select_createInternalData() {
53832
53756
  showRadio: {
53833
53757
  type: Boolean,
53834
53758
  default: function _default() {
53835
- return getConfig().select.showRadio;
53759
+ return select_getConfig().select.showRadio;
53836
53760
  }
53837
53761
  },
53838
53762
  radioConfig: Object,
53839
53763
  showCheckbox: {
53840
53764
  type: Boolean,
53841
53765
  default: function _default() {
53842
- return getConfig().select.showCheckedButton;
53766
+ return select_getConfig().select.showCheckedButton;
53843
53767
  }
53844
53768
  },
53845
53769
  checkboxConfig: Object,
@@ -53851,7 +53775,7 @@ function select_createInternalData() {
53851
53775
  size: {
53852
53776
  type: String,
53853
53777
  default: function _default() {
53854
- return getConfig().select.size || getConfig().size;
53778
+ return select_getConfig().select.size || select_getConfig().size;
53855
53779
  }
53856
53780
  },
53857
53781
  filterable: Boolean,
@@ -53867,37 +53791,37 @@ function select_createInternalData() {
53867
53791
  checkedClosable: {
53868
53792
  type: Boolean,
53869
53793
  default: function _default() {
53870
- return getConfig().select.checkedClosable;
53794
+ return select_getConfig().select.checkedClosable;
53871
53795
  }
53872
53796
  },
53873
53797
  clearClosable: {
53874
53798
  type: Boolean,
53875
53799
  default: function _default() {
53876
- return getConfig().select.clearClosable;
53800
+ return select_getConfig().select.clearClosable;
53877
53801
  }
53878
53802
  },
53879
53803
  showCloseButton: {
53880
53804
  type: Boolean,
53881
53805
  default: function _default() {
53882
- return getConfig().select.showCloseButton;
53806
+ return select_getConfig().select.showCloseButton;
53883
53807
  }
53884
53808
  },
53885
53809
  showTotalButton: {
53886
53810
  type: Boolean,
53887
53811
  default: function _default() {
53888
- return getConfig().select.showTotalButton;
53812
+ return select_getConfig().select.showTotalButton;
53889
53813
  }
53890
53814
  },
53891
53815
  showCheckedButton: {
53892
53816
  type: Boolean,
53893
53817
  default: function _default() {
53894
- return getConfig().select.showCheckedButton;
53818
+ return select_getConfig().select.showCheckedButton;
53895
53819
  }
53896
53820
  },
53897
53821
  showClearButton: {
53898
53822
  type: Boolean,
53899
53823
  default: function _default() {
53900
- return getConfig().select.showClearButton;
53824
+ return select_getConfig().select.showClearButton;
53901
53825
  }
53902
53826
  },
53903
53827
  transfer: {
@@ -53907,6 +53831,13 @@ function select_createInternalData() {
53907
53831
  popupConfig: Object,
53908
53832
  virtualYConfig: Object,
53909
53833
  scrollY: Object,
53834
+ useScrollbar: {
53835
+ type: Boolean,
53836
+ default: function _default() {
53837
+ return select_getDefVal(select_getConfig().select.useScrollbar, select_getConfig().useScrollbar);
53838
+ }
53839
+ },
53840
+ scrollbarConfig: Object,
53910
53841
  /**
53911
53842
  * 已废弃,被 remote-config.queryMethod 替换
53912
53843
  * @deprecated
@@ -53919,7 +53850,7 @@ function select_createInternalData() {
53919
53850
  optionId: {
53920
53851
  type: String,
53921
53852
  default: function _default() {
53922
- return getConfig().select.optionId;
53853
+ return select_getConfig().select.optionId;
53923
53854
  }
53924
53855
  },
53925
53856
  /**
@@ -53957,7 +53888,9 @@ function select_createInternalData() {
53957
53888
  var reactData = select_createReactData();
53958
53889
  return _objectSpread2(_objectSpread2({}, {}), {}, {
53959
53890
  xID: xID,
53960
- reactData: reactData
53891
+ reactData: reactData,
53892
+ reLayoutFlag: 0,
53893
+ reScrollFlag: 0
53961
53894
  });
53962
53895
  },
53963
53896
  computed: _objectSpread2(_objectSpread2({}, {}), {}, {
@@ -54001,7 +53934,7 @@ function select_createInternalData() {
54001
53934
  return popupOpts.transfer;
54002
53935
  }
54003
53936
  if (transfer === null) {
54004
- var globalTransfer = getConfig().select.transfer;
53937
+ var globalTransfer = select_getConfig().select.transfer;
54005
53938
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(globalTransfer)) {
54006
53939
  return globalTransfer;
54007
53940
  }
@@ -54018,11 +53951,11 @@ function select_createInternalData() {
54018
53951
  if (placeholder) {
54019
53952
  return getFuncText(placeholder);
54020
53953
  }
54021
- var globalPlaceholder = getConfig().select.placeholder;
53954
+ var globalPlaceholder = select_getConfig().select.placeholder;
54022
53955
  if (globalPlaceholder) {
54023
53956
  return getFuncText(globalPlaceholder);
54024
53957
  }
54025
- return getI18n('vxe.base.pleaseSelect');
53958
+ return select_getI18n('vxe.base.pleaseSelect');
54026
53959
  },
54027
53960
  computeDefaultOpts: function computeDefaultOpts() {
54028
53961
  var $xeSelect = this;
@@ -54067,37 +54000,37 @@ function select_createInternalData() {
54067
54000
  computePopupOpts: function computePopupOpts() {
54068
54001
  var $xeSelect = this;
54069
54002
  var props = $xeSelect;
54070
- return Object.assign({}, getConfig().select.popupConfig, props.popupConfig);
54003
+ return Object.assign({}, select_getConfig().select.popupConfig, props.popupConfig);
54071
54004
  },
54072
54005
  computeVirtualYOpts: function computeVirtualYOpts() {
54073
54006
  var $xeSelect = this;
54074
54007
  var props = $xeSelect;
54075
- return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
54008
+ return Object.assign({}, select_getConfig().select.virtualYConfig || select_getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
54076
54009
  },
54077
54010
  computeRemoteOpts: function computeRemoteOpts() {
54078
54011
  var $xeSelect = this;
54079
54012
  var props = $xeSelect;
54080
- return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig);
54013
+ return Object.assign({}, select_getConfig().select.remoteConfig, props.remoteConfig);
54081
54014
  },
54082
54015
  computeFilterOpts: function computeFilterOpts() {
54083
54016
  var $xeSelect = this;
54084
54017
  var props = $xeSelect;
54085
- return Object.assign({}, getConfig().select.filterConfig, props.filterConfig);
54018
+ return Object.assign({}, select_getConfig().select.filterConfig, props.filterConfig);
54086
54019
  },
54087
54020
  computeOptionOpts: function computeOptionOpts() {
54088
54021
  var $xeSelect = this;
54089
54022
  var props = $xeSelect;
54090
- return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
54023
+ return Object.assign({}, select_getConfig().select.optionConfig, props.optionConfig);
54091
54024
  },
54092
54025
  computeRadioOpts: function computeRadioOpts() {
54093
54026
  var $xeSelect = this;
54094
54027
  var props = $xeSelect;
54095
- return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
54028
+ return Object.assign({}, select_getConfig().select.radioConfig, props.radioConfig);
54096
54029
  },
54097
54030
  computeCheckboxOpts: function computeCheckboxOpts() {
54098
54031
  var $xeSelect = this;
54099
54032
  var props = $xeSelect;
54100
- return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
54033
+ return Object.assign({}, select_getConfig().select.checkboxConfig, props.checkboxConfig);
54101
54034
  },
54102
54035
  computeIsGroup: function computeIsGroup() {
54103
54036
  var $xeSelect = this;
@@ -54192,6 +54125,83 @@ function select_createInternalData() {
54192
54125
  return "".concat(labels.slice(0, multiMaxCharNum), "...");
54193
54126
  }
54194
54127
  return labels.join(', ');
54128
+ },
54129
+ computeScrollbarOpts: function computeScrollbarOpts() {
54130
+ var $xeSelect = this;
54131
+ var props = $xeSelect;
54132
+ return Object.assign({}, select_getConfig().tree.scrollbarConfig, props.scrollbarConfig);
54133
+ },
54134
+ computeScrollbarXOpts: function computeScrollbarXOpts() {
54135
+ var $xeSelect = this;
54136
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54137
+ return Object.assign({}, select_getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
54138
+ visible: false
54139
+ });
54140
+ },
54141
+ computeScrollbarYOpts: function computeScrollbarYOpts() {
54142
+ var $xeSelect = this;
54143
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54144
+ return Object.assign({}, select_getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
54145
+ },
54146
+ computeScrollXHeight: function computeScrollXHeight() {
54147
+ var $xeSelect = this;
54148
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54149
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54150
+ return select_getDefVal(select_getDefVal(scrollbarXOpts.height, scrollbarOpts.height), select_getConfig().scrollbar.height);
54151
+ },
54152
+ computeScrollYWidth: function computeScrollYWidth() {
54153
+ var $xeSelect = this;
54154
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54155
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54156
+ return select_getDefVal(select_getDefVal(scrollbarYOpts.width, scrollbarOpts.width), select_getConfig().scrollbar.width);
54157
+ },
54158
+ computeScrollXVisible: function computeScrollXVisible() {
54159
+ var $xeSelect = this;
54160
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54161
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54162
+ return select_getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
54163
+ },
54164
+ computeScrollYVisible: function computeScrollYVisible() {
54165
+ var $xeSelect = this;
54166
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54167
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54168
+ return select_getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
54169
+ },
54170
+ computeScrollXAutoHide: function computeScrollXAutoHide() {
54171
+ var $xeSelect = this;
54172
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54173
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54174
+ return select_getDefVal(select_getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), select_getConfig().scrollbar.autoHide);
54175
+ },
54176
+ computeScrollYAutoHide: function computeScrollYAutoHide() {
54177
+ var $xeSelect = this;
54178
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54179
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54180
+ return select_getDefVal(select_getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), select_getConfig().scrollbar.autoHide);
54181
+ },
54182
+ computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
54183
+ var $xeSelect = this;
54184
+ var reactData = $xeSelect.reactData;
54185
+ var yThumbHeight = reactData.yThumbHeight,
54186
+ xThumbWidth = reactData.xThumbWidth;
54187
+ var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
54188
+ var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
54189
+ var scrollXVisible = $xeSelect.computeScrollXVisible;
54190
+ var scrollYVisible = $xeSelect.computeScrollYVisible;
54191
+ return select_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')], {
54192
+ 'overflow-y': yThumbHeight,
54193
+ 'overflow-x': xThumbWidth
54194
+ });
54195
+ },
54196
+ computeScrollbarXToTop: function computeScrollbarXToTop() {
54197
+ var $xeSelect = this;
54198
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54199
+ return scrollbarXOpts.position === 'top';
54200
+ },
54201
+ computeScrollbarYToLeft: function computeScrollbarYToLeft() {
54202
+ var $xeSelect = this;
54203
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54204
+ return scrollbarYOpts.position === 'left';
54195
54205
  }
54196
54206
  }),
54197
54207
  methods: {
@@ -54200,7 +54210,7 @@ function select_createInternalData() {
54200
54210
  //
54201
54211
  dispatchEvent: function dispatchEvent(type, params, evnt) {
54202
54212
  var $xeSelect = this;
54203
- $xeSelect.$emit(type, createEvent(evnt, {
54213
+ $xeSelect.$emit(type, select_createEvent(evnt, {
54204
54214
  $select: $xeSelect
54205
54215
  }, params));
54206
54216
  },
@@ -54220,6 +54230,11 @@ function select_createInternalData() {
54220
54230
  value: value
54221
54231
  }, null);
54222
54232
  },
54233
+ getScrollViewElem: function getScrollViewElem() {
54234
+ var $xeSelect = this;
54235
+ var viewEl = $xeSelect.$refs.refVirtualWrapper;
54236
+ return viewEl || null;
54237
+ },
54223
54238
  isPanelVisible: function isPanelVisible() {
54224
54239
  var $xeSelect = this;
54225
54240
  var reactData = $xeSelect.reactData;
@@ -54693,7 +54708,7 @@ function select_createInternalData() {
54693
54708
  if ($xeSelect.checkMaxLimit(currVlas)) {
54694
54709
  if (VxeUI) {
54695
54710
  VxeUI.modal.message({
54696
- content: getI18n('vxe.select.overSizeErr', [max]),
54711
+ content: select_getI18n('vxe.select.overSizeErr', [max]),
54697
54712
  status: 'warning'
54698
54713
  });
54699
54714
  }
@@ -54878,12 +54893,12 @@ function select_createInternalData() {
54878
54893
  var popupOpts = $xeSelect.computePopupOpts;
54879
54894
  var trigger = popupOpts.trigger;
54880
54895
  if (!isDisabled) {
54881
- var isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
54882
- var isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
54883
- var isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
54884
- var isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
54885
- var isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
54886
- var isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
54896
+ var isTab = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.TAB);
54897
+ var isEnter = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ENTER);
54898
+ var isEsc = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ESCAPE);
54899
+ var isUpArrow = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ARROW_UP);
54900
+ var isDwArrow = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ARROW_DOWN);
54901
+ var isDel = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.DELETE);
54887
54902
  if (isTab) {
54888
54903
  reactData.isActivated = false;
54889
54904
  }
@@ -55256,6 +55271,17 @@ function select_createInternalData() {
55256
55271
  }
55257
55272
  });
55258
55273
  },
55274
+ updateScrollbar: function updateScrollbar() {
55275
+ var $xeSelect = this;
55276
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55277
+ if (isVScrollbar) {
55278
+ return $xeSelect.$nextTick().then(function () {
55279
+ $xeSelect.updateThumbSize();
55280
+ $xeSelect.updateThumbOffset();
55281
+ });
55282
+ }
55283
+ return Promise.resolve();
55284
+ },
55259
55285
  /**
55260
55286
  * 重新计算列表
55261
55287
  */
@@ -55263,7 +55289,9 @@ function select_createInternalData() {
55263
55289
  var $xeSelect = this;
55264
55290
  var el = $xeSelect.$refs.refElem;
55265
55291
  if (el && el.clientWidth && el.clientHeight) {
55266
- return $xeSelect.computeScrollLoad();
55292
+ return $xeSelect.computeScrollLoad().then(function () {
55293
+ return $xeSelect.updateScrollbar();
55294
+ });
55267
55295
  }
55268
55296
  return Promise.resolve();
55269
55297
  },
@@ -55304,6 +55332,10 @@ function select_createInternalData() {
55304
55332
  var scrollBodyElem = evnt.target;
55305
55333
  var scrollTop = scrollBodyElem.scrollTop;
55306
55334
  var scrollLeft = scrollBodyElem.scrollLeft;
55335
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55336
+ if (isVScrollbar) {
55337
+ $xeSelect.updateThumbOffset();
55338
+ }
55307
55339
  var isX = scrollLeft !== internalData.lastScrollLeft;
55308
55340
  var isY = scrollTop !== internalData.lastScrollTop;
55309
55341
  internalData.lastScrollTop = scrollTop;
@@ -55400,6 +55432,29 @@ function select_createInternalData() {
55400
55432
  var optGroupKeyMaps = internalData.optGroupKeyMaps;
55401
55433
  return !!optGroupKeyMaps[optid];
55402
55434
  },
55435
+ // 滚动条
55436
+ bindScrollbarResize: function bindScrollbarResize() {
55437
+ var $xeSelect = this;
55438
+ var internalData = $xeSelect.internalData;
55439
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55440
+ var scrollObserver = internalData.scrollObserver;
55441
+ if (isVScrollbar) {
55442
+ if (!scrollObserver) {
55443
+ var el = $xeSelect.$refs.refElem;
55444
+ var viewInnerEl = $xeSelect.$refs.refVirtualSpaceElem;
55445
+ var _scrollObserver = select_globalResize.create(function () {
55446
+ $xeSelect.reScrollFlag++;
55447
+ });
55448
+ if (el) {
55449
+ _scrollObserver.observe(el);
55450
+ }
55451
+ if (viewInnerEl) {
55452
+ _scrollObserver.observe(viewInnerEl);
55453
+ }
55454
+ internalData.scrollObserver = _scrollObserver;
55455
+ }
55456
+ }
55457
+ },
55403
55458
  //
55404
55459
  // Render
55405
55460
  //
@@ -55409,7 +55464,7 @@ function select_createInternalData() {
55409
55464
  var showIcon = radioOpts.showIcon,
55410
55465
  trigger = radioOpts.trigger;
55411
55466
  if (isOptGroup || showIcon === false) {
55412
- return renderEmptyElement($xeSelect);
55467
+ return select_renderEmptyElement($xeSelect);
55413
55468
  }
55414
55469
  var ons = {};
55415
55470
  if (!trigger || trigger === 'default') {
@@ -55427,7 +55482,7 @@ function select_createInternalData() {
55427
55482
  }],
55428
55483
  on: ons
55429
55484
  }, [h('span', {
55430
- class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
55485
+ class: ['vxe-radio--icon', isChecked ? select_getIcon().RADIO_CHECKED : isDisabled ? select_getIcon().RADIO_DISABLED_UNCHECKED : select_getIcon().RADIO_UNCHECKED]
55431
55486
  })]);
55432
55487
  },
55433
55488
  renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
@@ -55436,7 +55491,7 @@ function select_createInternalData() {
55436
55491
  var showIcon = checkboxOpts.showIcon,
55437
55492
  trigger = checkboxOpts.trigger;
55438
55493
  if (isOptGroup || showIcon === false) {
55439
- return renderEmptyElement($xeSelect);
55494
+ return select_renderEmptyElement($xeSelect);
55440
55495
  }
55441
55496
  var ons = {};
55442
55497
  if (!trigger || trigger === 'default') {
@@ -55454,7 +55509,7 @@ function select_createInternalData() {
55454
55509
  }],
55455
55510
  on: ons
55456
55511
  }, [h('span', {
55457
- class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
55512
+ class: ['vxe-checkbox--icon', isChecked ? select_getIcon().CHECKBOX_CHECKED : isDisabled ? select_getIcon().CHECKBOX_DISABLED_UNCHECKED : select_getIcon().CHECKBOX_UNCHECKED]
55458
55513
  })]);
55459
55514
  },
55460
55515
  renderOption: function renderOption(h, list) {
@@ -55561,8 +55616,8 @@ function select_createInternalData() {
55561
55616
  key: 2,
55562
55617
  class: 'vxe-select-option--add-icon'
55563
55618
  }, [h('i', {
55564
- class: getIcon().SELECT_ADD_OPTION
55565
- })]) : renderEmptyElement($xeSelect)] : optVNs) : renderEmptyElement($xeSelect);
55619
+ class: select_getIcon().SELECT_ADD_OPTION
55620
+ })]) : select_renderEmptyElement($xeSelect)] : optVNs) : select_renderEmptyElement($xeSelect);
55566
55621
  });
55567
55622
  },
55568
55623
  renderOpts: function renderOpts(h) {
@@ -55575,17 +55630,17 @@ function select_createInternalData() {
55575
55630
  return [h('div', {
55576
55631
  class: 'vxe-select--search-loading'
55577
55632
  }, [h('i', {
55578
- class: ['vxe-select--search-icon', getIcon().SELECT_LOADED]
55633
+ class: ['vxe-select--search-icon', select_getIcon().SELECT_LOADED]
55579
55634
  }), h('span', {
55580
55635
  class: 'vxe-select--search-text'
55581
- }, getI18n('vxe.select.loadingText'))])];
55636
+ }, select_getI18n('vxe.select.loadingText'))])];
55582
55637
  }
55583
55638
  if (optList.length) {
55584
55639
  return $xeSelect.renderOption(h, optList);
55585
55640
  }
55586
55641
  return [h('div', {
55587
55642
  class: 'vxe-select--empty-placeholder'
55588
- }, props.emptyText || getI18n('vxe.select.emptyText'))];
55643
+ }, props.emptyText || select_getI18n('vxe.select.emptyText'))];
55589
55644
  },
55590
55645
  renderVN: function renderVN(h) {
55591
55646
  var $xeSelect = this;
@@ -55606,8 +55661,11 @@ function select_createInternalData() {
55606
55661
  optList = reactData.optList,
55607
55662
  visiblePanel = reactData.visiblePanel,
55608
55663
  bodyHeight = reactData.bodyHeight,
55609
- topSpaceHeight = reactData.topSpaceHeight;
55664
+ topSpaceHeight = reactData.topSpaceHeight,
55665
+ xThumbWidth = reactData.xThumbWidth,
55666
+ yThumbHeight = reactData.yThumbHeight;
55610
55667
  var vSize = $xeSelect.computeSize;
55668
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55611
55669
  var isDisabled = $xeSelect.computeIsDisabled;
55612
55670
  var selectLabel = $xeSelect.computeSelectLabel;
55613
55671
  var fullLabel = $xeSelect.computeFullLabel;
@@ -55637,6 +55695,14 @@ function select_createInternalData() {
55637
55695
  var footerSlot = slots.footer;
55638
55696
  var prefixSlot = slots.prefix;
55639
55697
  var ppClassName = popupOpts.className || props.popupClassName;
55698
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
55699
+ var scrollXVisible = $xeSelect.computeScrollXVisible;
55700
+ var scrollYVisible = $xeSelect.computeScrollYVisible;
55701
+ var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
55702
+ var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
55703
+ var scrollXAutoHide = $xeSelect.computeScrollXAutoHide;
55704
+ var scrollYAutoHide = $xeSelect.computeScrollYAutoHide;
55705
+ var scrollbarWrapperClss = $xeSelect.computeScrollbarWrapperClss;
55640
55706
  return h('div', {
55641
55707
  ref: 'refElem',
55642
55708
  class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
@@ -55655,7 +55721,7 @@ function select_createInternalData() {
55655
55721
  disabled: isDisabled,
55656
55722
  type: 'text',
55657
55723
  prefixIcon: props.prefixIcon,
55658
- suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
55724
+ suffixIcon: loading ? select_getIcon().SELECT_LOADED : visiblePanel ? select_getIcon().SELECT_OPEN : select_getIcon().SELECT_CLOSE,
55659
55725
  autoFocus: false,
55660
55726
  title: fullLabel,
55661
55727
  value: selectLabel
@@ -55695,8 +55761,8 @@ function select_createInternalData() {
55695
55761
  clearable: true,
55696
55762
  disabled: false,
55697
55763
  readonly: false,
55698
- placeholder: getI18n('vxe.select.search'),
55699
- prefixIcon: getIcon().INPUT_SEARCH
55764
+ placeholder: select_getI18n('vxe.select.search'),
55765
+ prefixIcon: select_getIcon().INPUT_SEARCH
55700
55766
  },
55701
55767
  on: {
55702
55768
  'model-value': $xeSelect.modelSearchEvent,
@@ -55704,7 +55770,7 @@ function select_createInternalData() {
55704
55770
  change: $xeSelect.triggerSearchEvent,
55705
55771
  search: $xeSelect.triggerSearchEvent
55706
55772
  }
55707
- })]) : renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
55773
+ })]) : select_renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
55708
55774
  class: 'vxe-select--panel-header'
55709
55775
  }, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
55710
55776
  class: 'vxe-tree-select--header-button'
@@ -55712,22 +55778,29 @@ function select_createInternalData() {
55712
55778
  class: 'vxe-tree-select--header-btns'
55713
55779
  }, [showCheckedButton && multiple ? h(packages_button, {
55714
55780
  props: {
55715
- content: getI18n('vxe.select.allChecked'),
55781
+ content: select_getI18n('vxe.select.allChecked'),
55716
55782
  mode: 'text'
55717
55783
  },
55718
55784
  on: {
55719
55785
  click: $xeSelect.allCheckedPanelEvent
55720
55786
  }
55721
- }) : renderEmptyElement($xeSelect), showClearButton ? h(packages_button, {
55787
+ }) : select_renderEmptyElement($xeSelect), showClearButton ? h(packages_button, {
55722
55788
  props: {
55723
- content: getI18n('vxe.select.clear'),
55789
+ content: select_getI18n('vxe.select.clear'),
55724
55790
  mode: 'text'
55725
55791
  },
55726
55792
  on: {
55727
55793
  click: $xeSelect.clearCheckedPanelEvent
55728
55794
  }
55729
- }) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), h('div', {
55730
- class: 'vxe-select--panel-body'
55795
+ }) : select_renderEmptyElement($xeSelect)])])]) : select_renderEmptyElement($xeSelect), h('div', {
55796
+ class: ['vxe-select--panel-body', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', {
55797
+ 'is--virtual-scrollbar': isVScrollbar,
55798
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
55799
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
55800
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
55801
+ 'overflow-y': yThumbHeight,
55802
+ 'overflow-x': xThumbWidth
55803
+ }]
55731
55804
  }, [h('div', {
55732
55805
  ref: 'refVirtualWrapper',
55733
55806
  class: 'vxe-select-option--wrapper',
@@ -55735,6 +55808,7 @@ function select_createInternalData() {
55735
55808
  scroll: $xeSelect.scrollEvent
55736
55809
  }
55737
55810
  }, [h('div', {
55811
+ ref: 'refVirtualSpaceElem',
55738
55812
  class: 'vxe-select--y-space',
55739
55813
  style: {
55740
55814
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -55745,23 +55819,61 @@ function select_createInternalData() {
55745
55819
  style: {
55746
55820
  transform: "translateY(".concat(topSpaceHeight, "px)")
55747
55821
  }
55748
- }, $xeSelect.renderOpts(h))])]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
55822
+ }, $xeSelect.renderOpts(h))]),
55823
+ /**
55824
+ * 滚动条
55825
+ */
55826
+ isVScrollbar ? h('div', {
55827
+ class: scrollbarWrapperClss
55828
+ }, [scrollXVisible === false ? select_renderEmptyElement($xeSelect) : h('div', {
55829
+ ref: 'refTrackXElem',
55830
+ class: 'vxe-scrollbar--track-x',
55831
+ on: {
55832
+ click: $xeSelect.clickTrackXEvent
55833
+ }
55834
+ }, [h('div', {
55835
+ ref: 'refThumbXElem',
55836
+ class: 'vxe-scrollbar--thumb-x',
55837
+ on: {
55838
+ pointerdown: $xeSelect.pointerdownThumbXEvent,
55839
+ pointermove: $xeSelect.pointermoveThumbXEvent,
55840
+ pointerup: $xeSelect.cleatPointerThumbEvent,
55841
+ pointercancel: $xeSelect.cleatPointerThumbEvent,
55842
+ lostpointercapture: $xeSelect.cleatPointerThumbEvent
55843
+ }
55844
+ })]), scrollYVisible === false ? select_renderEmptyElement($xeSelect) : h('div', {
55845
+ ref: 'refTrackYElem',
55846
+ class: 'vxe-scrollbar--track-y',
55847
+ on: {
55848
+ click: $xeSelect.clickTrackYEvent
55849
+ }
55850
+ }, [h('div', {
55851
+ ref: 'refThumbYElem',
55852
+ class: 'vxe-scrollbar--thumb-y',
55853
+ on: {
55854
+ pointerdown: $xeSelect.pointerdownThumbYEvent,
55855
+ pointermove: $xeSelect.pointermoveThumbYEvent,
55856
+ pointerup: $xeSelect.cleatPointerThumbEvent,
55857
+ pointercancel: $xeSelect.cleatPointerThumbEvent,
55858
+ lostpointercapture: $xeSelect.cleatPointerThumbEvent
55859
+ }
55860
+ })])]) : select_renderEmptyElement($xeSelect)]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
55749
55861
  class: 'vxe-select--panel-footer'
55750
55862
  }, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
55751
55863
  class: 'vxe-select--footer-button'
55752
55864
  }, [showTotalButton ? h('div', {
55753
55865
  class: 'vxe-select--total-btns'
55754
- }, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
55866
+ }, select_getI18n('vxe.select.total', [selectVals.length, optList.length])) : select_renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
55755
55867
  class: 'vxe-select--oper-btns'
55756
55868
  }, [h(packages_button, {
55757
55869
  props: {
55758
- content: getI18n('vxe.select.close'),
55870
+ content: select_getI18n('vxe.select.close'),
55759
55871
  mode: 'text'
55760
55872
  },
55761
55873
  on: {
55762
55874
  click: $xeSelect.closePanelEvent
55763
55875
  }
55764
- })]) : renderEmptyElement($xeSelect)])]) : renderEmptyElement($xeSelect)])] : [])]);
55876
+ })]) : select_renderEmptyElement($xeSelect)])]) : select_renderEmptyElement($xeSelect)])] : [])]);
55765
55877
  }
55766
55878
  },
55767
55879
  watch: {
@@ -55776,6 +55888,47 @@ function select_createInternalData() {
55776
55888
  optionGroups: function optionGroups(val) {
55777
55889
  var $xeSelect = this;
55778
55890
  $xeSelect.loadData(val);
55891
+ },
55892
+ computeIsVScrollbar: function computeIsVScrollbar() {
55893
+ var $xeSelect = this;
55894
+ $xeSelect.$nextTick(function () {
55895
+ $xeSelect.bindScrollbarResize();
55896
+ $xeSelect.$nextTick(function () {
55897
+ $xeSelect.reLayoutFlag++;
55898
+ });
55899
+ });
55900
+ },
55901
+ computeScrollYWidth: function computeScrollYWidth() {
55902
+ var $xeSelect = this;
55903
+ $xeSelect.reLayoutFlag++;
55904
+ },
55905
+ computeScrollXHeight: function computeScrollXHeight() {
55906
+ var $xeSelect = this;
55907
+ $xeSelect.reLayoutFlag++;
55908
+ },
55909
+ computeScrollXVisible: function computeScrollXVisible() {
55910
+ var $xeSelect = this;
55911
+ $xeSelect.$nextTick(function () {
55912
+ $xeSelect.reLayoutFlag++;
55913
+ });
55914
+ },
55915
+ computeScrollYVisible: function computeScrollYVisible() {
55916
+ var $xeSelect = this;
55917
+ $xeSelect.$nextTick(function () {
55918
+ $xeSelect.reLayoutFlag++;
55919
+ });
55920
+ },
55921
+ reLayoutFlag: function reLayoutFlag() {
55922
+ var $xeSelect = this;
55923
+ $xeSelect.recalculate().then(function () {
55924
+ $xeSelect.recalculate();
55925
+ });
55926
+ },
55927
+ reScrollFlag: function reScrollFlag() {
55928
+ var $xeSelect = this;
55929
+ $xeSelect.updateScrollbar().then(function () {
55930
+ $xeSelect.updateScrollbar();
55931
+ });
55779
55932
  }
55780
55933
  },
55781
55934
  created: function created() {
@@ -55794,23 +55947,30 @@ function select_createInternalData() {
55794
55947
  $xeSelect.loadData(options);
55795
55948
  }
55796
55949
  });
55797
- globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
55798
- globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
55799
- globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
55800
- globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
55801
- globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
55950
+ $xeSelect.reLayoutFlag++;
55951
+ $xeSelect.bindScrollbarResize();
55952
+ select_globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
55953
+ select_globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
55954
+ select_globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
55955
+ select_globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
55956
+ select_globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
55802
55957
  },
55803
55958
  beforeDestroy: function beforeDestroy() {
55804
55959
  var $xeSelect = this;
55960
+ var internalData = $xeSelect.internalData;
55961
+ var scrollObserver = internalData.scrollObserver;
55805
55962
  var panelElem = $xeSelect.$refs.refOptionPanel;
55806
55963
  if (panelElem && panelElem.parentNode) {
55807
55964
  panelElem.parentNode.removeChild(panelElem);
55808
55965
  }
55809
- globalEvents.off($xeSelect, 'mousedown');
55810
- globalEvents.off($xeSelect, 'keydown');
55811
- globalEvents.off($xeSelect, 'blur');
55812
- globalEvents.off($xeSelect, 'resize');
55813
- globalEvents.off($xeSelect, 'scroll');
55966
+ if (scrollObserver) {
55967
+ scrollObserver.disconnect();
55968
+ }
55969
+ select_globalEvents.off($xeSelect, 'mousedown');
55970
+ select_globalEvents.off($xeSelect, 'keydown');
55971
+ select_globalEvents.off($xeSelect, 'blur');
55972
+ select_globalEvents.off($xeSelect, 'resize');
55973
+ select_globalEvents.off($xeSelect, 'scroll');
55814
55974
  },
55815
55975
  destroyed: function destroyed() {
55816
55976
  var $xeSelect = this;
@@ -66302,14 +66462,11 @@ var tree_createComponentLog = createComponentLog('tree'),
66302
66462
  tree_warnLog = tree_createComponentLog.warnLog,
66303
66463
  tree_errLog = tree_createComponentLog.errLog;
66304
66464
  var tree_menus = VxeUI.menus,
66305
- tree_scrollbarUtils = VxeUI.scrollbarUtils,
66306
66465
  tree_getConfig = VxeUI.getConfig,
66307
66466
  tree_getI18n = VxeUI.getI18n,
66308
- tree_getIcon = VxeUI.getIcon;
66309
- var tree_getThumbOffsetSize = tree_scrollbarUtils.getThumbOffsetSize,
66310
- tree_getThumbSize = tree_scrollbarUtils.getThumbSize,
66311
- tree_getScrollFromClick = tree_scrollbarUtils.getScrollFromClick,
66312
- tree_getScrollFromDrag = tree_scrollbarUtils.getScrollFromDrag;
66467
+ tree_getIcon = VxeUI.getIcon,
66468
+ tree_baseUtils = VxeUI.baseUtils;
66469
+ var tree_getDefVal = tree_baseUtils.getDefVal;
66313
66470
  var crossTreeDragNodeObj = null;
66314
66471
  /**
66315
66472
  * 生成节点的唯一主键
@@ -66865,7 +67022,7 @@ function tree_createInternalData() {
66865
67022
  }
66866
67023
  /* harmony default export */ var tree = (/* define-vxe-component start */defineVxeComponent({
66867
67024
  name: 'VxeTree',
66868
- mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
67025
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.initVScrollbarMixin],
66869
67026
  props: {
66870
67027
  data: Array,
66871
67028
  autoResize: {
@@ -67045,7 +67202,7 @@ function tree_createInternalData() {
67045
67202
  useScrollbar: {
67046
67203
  type: Boolean,
67047
67204
  default: function _default() {
67048
- return getDefaultConfig(tree_getConfig().tree.useScrollbar, tree_getConfig().useScrollbar);
67205
+ return tree_getDefVal(tree_getConfig().tree.useScrollbar, tree_getConfig().useScrollbar);
67049
67206
  }
67050
67207
  },
67051
67208
  scrollbarConfig: Object
@@ -67241,37 +67398,37 @@ function tree_createInternalData() {
67241
67398
  var $xeTree = this;
67242
67399
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67243
67400
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67244
- return getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
67401
+ return tree_getDefVal(tree_getDefVal(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
67245
67402
  },
67246
67403
  computeScrollYWidth: function computeScrollYWidth() {
67247
67404
  var $xeTree = this;
67248
67405
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67249
67406
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67250
- return getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
67407
+ return tree_getDefVal(tree_getDefVal(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
67251
67408
  },
67252
67409
  computeScrollXVisible: function computeScrollXVisible() {
67253
67410
  var $xeTree = this;
67254
67411
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67255
67412
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67256
- return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
67413
+ return tree_getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
67257
67414
  },
67258
67415
  computeScrollYVisible: function computeScrollYVisible() {
67259
67416
  var $xeTree = this;
67260
67417
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67261
67418
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67262
- return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
67419
+ return tree_getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
67263
67420
  },
67264
67421
  computeScrollXAutoHide: function computeScrollXAutoHide() {
67265
67422
  var $xeTree = this;
67266
67423
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67267
67424
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67268
- return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67425
+ return tree_getDefVal(tree_getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67269
67426
  },
67270
67427
  computeScrollYAutoHide: function computeScrollYAutoHide() {
67271
67428
  var $xeTree = this;
67272
67429
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67273
67430
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67274
- return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67431
+ return tree_getDefVal(tree_getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67275
67432
  },
67276
67433
  computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
67277
67434
  var $xeTree = this;
@@ -67308,6 +67465,11 @@ function tree_createInternalData() {
67308
67465
  $tree: $xeTree
67309
67466
  }, params));
67310
67467
  },
67468
+ getScrollViewElem: function getScrollViewElem() {
67469
+ var $xeTree = this;
67470
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
67471
+ return viewEl || null;
67472
+ },
67311
67473
  getNodeId: function getNodeId(node) {
67312
67474
  var $xeTree = this;
67313
67475
  if (!node) {
@@ -68029,7 +68191,10 @@ function tree_createInternalData() {
68029
68191
  var scrollLeft = scrollBodyElem.scrollLeft;
68030
68192
  var isX = scrollLeft !== internalData.lastScrollLeft;
68031
68193
  var isY = scrollTop !== internalData.lastScrollTop;
68032
- $xeTree.updateThumbOffset();
68194
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
68195
+ if (isVScrollbar) {
68196
+ $xeTree.updateThumbOffset();
68197
+ }
68033
68198
  internalData.lastScrollTop = scrollTop;
68034
68199
  internalData.lastScrollLeft = scrollLeft;
68035
68200
  if (reactData.scrollYLoad) {
@@ -69839,188 +70004,6 @@ function tree_createInternalData() {
69839
70004
  }
69840
70005
  }
69841
70006
  },
69842
- updateThumbSize: function updateThumbSize() {
69843
- var $xeTree = this;
69844
- var reactData = $xeTree.reactData;
69845
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69846
- if (!viewEl) {
69847
- return;
69848
- }
69849
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
69850
- return;
69851
- }
69852
- var trackXEl = $xeTree.$refs.refTrackXElem;
69853
- var xThumbWidth = trackXEl ? tree_getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
69854
- var thumbXElem = $xeTree.$refs.refThumbXElem;
69855
- if (thumbXElem) {
69856
- thumbXElem.style.width = xThumbWidth + 'px';
69857
- }
69858
- reactData.xThumbWidth = xThumbWidth;
69859
- var trackYEl = $xeTree.$refs.refTrackYElem;
69860
- var yThumbHeight = trackYEl ? tree_getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
69861
- var thumbYElem = $xeTree.$refs.refThumbYElem;
69862
- if (thumbYElem) {
69863
- thumbYElem.style.height = yThumbHeight + 'px';
69864
- }
69865
- reactData.yThumbHeight = yThumbHeight;
69866
- },
69867
- updateThumbOffset: function updateThumbOffset() {
69868
- var $xeTree = this;
69869
- var reactData = $xeTree.reactData;
69870
- var internalData = $xeTree.internalData;
69871
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69872
- if (!viewEl) {
69873
- return;
69874
- }
69875
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
69876
- return;
69877
- }
69878
- var xThumbWidth = reactData.xThumbWidth,
69879
- yThumbHeight = reactData.yThumbHeight;
69880
- var trackXEl = $xeTree.$refs.refTrackXElem;
69881
- var thumbXElem = $xeTree.$refs.refThumbXElem;
69882
- var xThumbLeft = trackXEl && xThumbWidth ? tree_getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
69883
- internalData.xThumbLeft = xThumbLeft;
69884
- if (thumbXElem && xThumbWidth) {
69885
- thumbXElem.style.width = xThumbWidth + 'px';
69886
- thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
69887
- }
69888
- var trackYEl = $xeTree.$refs.refTrackYElem;
69889
- var thumbYElem = $xeTree.$refs.refThumbYElem;
69890
- var yThumbTop = trackYEl && yThumbHeight ? tree_getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
69891
- internalData.yThumbTop = yThumbTop;
69892
- if (thumbYElem && yThumbHeight) {
69893
- thumbYElem.style.height = yThumbHeight + 'px';
69894
- thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
69895
- }
69896
- },
69897
- clickTrackXEvent: function clickTrackXEvent(evnt) {
69898
- var $xeTree = this;
69899
- var reactData = $xeTree.reactData;
69900
- var trackEl = evnt.currentTarget;
69901
- if (trackEl !== evnt.target) {
69902
- return;
69903
- }
69904
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69905
- if (!viewEl) {
69906
- return;
69907
- }
69908
- var xThumbWidth = reactData.xThumbWidth;
69909
- var trackRect = trackEl.getBoundingClientRect();
69910
- viewEl.scrollTo({
69911
- left: tree_getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
69912
- behavior: 'auto'
69913
- });
69914
- },
69915
- clickTrackYEvent: function clickTrackYEvent(evnt) {
69916
- var $xeTree = this;
69917
- var reactData = $xeTree.reactData;
69918
- var trackEl = evnt.currentTarget;
69919
- if (trackEl !== evnt.target) {
69920
- return;
69921
- }
69922
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69923
- if (!viewEl) {
69924
- return;
69925
- }
69926
- var yThumbHeight = reactData.yThumbHeight;
69927
- var trackRect = trackEl.getBoundingClientRect();
69928
- viewEl.scrollTo({
69929
- top: tree_getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
69930
- behavior: 'auto'
69931
- });
69932
- },
69933
- pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
69934
- var $xeTree = this;
69935
- var reactData = $xeTree.reactData;
69936
- var internalData = $xeTree.internalData;
69937
- var thumbEl = evnt.currentTarget;
69938
- internalData.isThumbDrag = true;
69939
- thumbEl.setPointerCapture(evnt.pointerId);
69940
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69941
- if (!viewEl) {
69942
- return;
69943
- }
69944
- var xThumbWidth = reactData.xThumbWidth;
69945
- var trackEl = thumbEl.parentElement;
69946
- var trackRect = trackEl.getBoundingClientRect();
69947
- var pointerPosition = evnt.clientX - trackRect.left;
69948
- // 记录 thumb 的偏移
69949
- var thumbOffset = tree_getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
69950
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
69951
- },
69952
- pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
69953
- var $xeTree = this;
69954
- var reactData = $xeTree.reactData;
69955
- var internalData = $xeTree.internalData;
69956
- var thumbEl = evnt.currentTarget;
69957
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
69958
- return;
69959
- }
69960
- var isThumbDrag = internalData.isThumbDrag,
69961
- thumbDragOffset = internalData.thumbDragOffset;
69962
- if (isThumbDrag) {
69963
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69964
- if (!viewEl) {
69965
- return;
69966
- }
69967
- var xThumbWidth = reactData.xThumbWidth;
69968
- var _thumbEl = evnt.currentTarget;
69969
- var trackEl = _thumbEl.parentElement;
69970
- var trackRect = trackEl.getBoundingClientRect();
69971
- // 更新偏移
69972
- viewEl.scrollLeft = tree_getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
69973
- }
69974
- },
69975
- cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
69976
- var $xeTree = this;
69977
- var internalData = $xeTree.internalData;
69978
- var thumbEl = evnt.currentTarget;
69979
- thumbEl.releasePointerCapture(evnt.pointerId);
69980
- internalData.isThumbDrag = false;
69981
- },
69982
- pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
69983
- var $xeTree = this;
69984
- var reactData = $xeTree.reactData;
69985
- var internalData = $xeTree.internalData;
69986
- var thumbEl = evnt.currentTarget;
69987
- internalData.isThumbDrag = true;
69988
- thumbEl.setPointerCapture(evnt.pointerId);
69989
- var viewEl = $xeTree.$refs.refVirtualWrapper;
69990
- if (!viewEl) {
69991
- return;
69992
- }
69993
- var yThumbHeight = reactData.yThumbHeight;
69994
- var trackEl = thumbEl.parentElement;
69995
- var trackRect = trackEl.getBoundingClientRect();
69996
- var pointerPosition = evnt.clientY - trackRect.top;
69997
- // 记录 thumb 的偏移
69998
- var thumbOffset = tree_getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
69999
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
70000
- },
70001
- pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
70002
- var $xeTree = this;
70003
- var reactData = $xeTree.reactData;
70004
- var internalData = $xeTree.internalData;
70005
- var thumbEl = evnt.currentTarget;
70006
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
70007
- return;
70008
- }
70009
- var isThumbDrag = internalData.isThumbDrag,
70010
- thumbDragOffset = internalData.thumbDragOffset;
70011
- if (isThumbDrag) {
70012
- var viewEl = $xeTree.$refs.refVirtualWrapper;
70013
- if (!viewEl) {
70014
- return;
70015
- }
70016
- var yThumbHeight = reactData.yThumbHeight;
70017
- var _thumbEl2 = evnt.currentTarget;
70018
- var trackEl = _thumbEl2.parentElement;
70019
- var trackRect = trackEl.getBoundingClientRect();
70020
- // 更新偏移
70021
- viewEl.scrollTop = tree_getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
70022
- }
70023
- },
70024
70007
  //
70025
70008
  // Render
70026
70009
  //