vxe-pc-ui 3.20.9 → 3.20.10

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 +8 -182
  9. package/es/scrollbar/src/scrollbar.js +24 -188
  10. package/es/select/src/select.js +273 -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 +17 -190
  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 +715 -741
  40. package/lib/index.umd.min.js +1 -1
  41. package/lib/list/src/list.js +6 -188
  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 +322 -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 +16 -196
  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 +11 -202
  73. package/packages/scrollbar/src/scrollbar.ts +24 -199
  74. package/packages/select/src/select.ts +304 -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 +20 -211
  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 +8 -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 +20 -20
  88. package/types/components/tree.d.ts +7 -16
  89. /package/es/icon/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
  90. /package/es/icon/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
  91. /package/es/icon/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
  92. /package/es/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
  93. /package/es/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
  94. /package/es/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
  95. /package/lib/icon/style/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
  96. /package/lib/icon/style/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
  97. /package/lib/icon/style/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
  98. /package/lib/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
  99. /package/lib/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
  100. /package/lib/{iconfont.1792139429655.woff2 → iconfont.1792219842866.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.10");
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.10";
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;
@@ -25204,188 +25238,6 @@ function list_createInternalData() {
25204
25238
  }
25205
25239
  }
25206
25240
  },
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
25241
  //
25390
25242
  // Render
25391
25243
  //
@@ -37285,6 +37137,7 @@ var es_array_sort = __webpack_require__(6910);
37285
37137
 
37286
37138
 
37287
37139
 
37140
+
37288
37141
 
37289
37142
 
37290
37143
  var date_panel_createComponentLog = createComponentLog('date-panel'),
@@ -39266,52 +39119,82 @@ var date_panel_createComponentLog = createComponentLog('date-panel'),
39266
39119
  }, dateTimeLabel)]), h('div', {
39267
39120
  ref: 'refInputTimeBody',
39268
39121
  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
- }
39122
+ }, [h(packages_scrollbar, {
39123
+ class: 'vxe-date-panel--time-hour-list',
39124
+ props: {
39125
+ autoHide: true,
39126
+ viewClassName: 'vxe-date-panel--time-list-view',
39127
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39128
+ },
39129
+ scopedSlots: {
39130
+ default: function _default() {
39131
+ return hourList.map(function (item, index) {
39132
+ return h('div', {
39133
+ key: index,
39134
+ class: ['vxe-date-panel--time-item', {
39135
+ 'is--disabled': item.disabled,
39136
+ 'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
39137
+ }],
39138
+ on: {
39139
+ click: function click(evnt) {
39140
+ return $xeDatePanel.dateHourEvent(evnt, item);
39141
+ }
39142
+ }
39143
+ }, item.label);
39144
+ });
39282
39145
  }
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
- }
39146
+ }
39147
+ }), hasTimeMinute ? h(packages_scrollbar, {
39148
+ class: 'vxe-date-panel--time-minute-list',
39149
+ props: {
39150
+ autoHide: true,
39151
+ viewClassName: 'vxe-date-panel--time-list-view',
39152
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39153
+ },
39154
+ scopedSlots: {
39155
+ default: function _default() {
39156
+ return minuteList.map(function (item, index) {
39157
+ return h('div', {
39158
+ key: index,
39159
+ class: ['vxe-date-panel--time-item', {
39160
+ 'is--disabled': item.disabled,
39161
+ 'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
39162
+ }],
39163
+ on: {
39164
+ click: function click(evnt) {
39165
+ return $xeDatePanel.dateMinuteEvent(evnt, item);
39166
+ }
39167
+ }
39168
+ }, item.label);
39169
+ });
39297
39170
  }
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
- }
39171
+ }
39172
+ }) : renderEmptyElement($xeDatePanel), hasTimeMinute && hasTimeSecond ? h(packages_scrollbar, {
39173
+ class: 'vxe-date-panel--time-second-list',
39174
+ props: {
39175
+ autoHide: true,
39176
+ viewClassName: 'vxe-date-panel--time-list-view',
39177
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
39178
+ },
39179
+ scopedSlots: {
39180
+ default: function _default() {
39181
+ return secondList.map(function (item, index) {
39182
+ return h('div', {
39183
+ key: index,
39184
+ class: ['vxe-date-panel--time-item', {
39185
+ 'is--disabled': item.disabled,
39186
+ 'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
39187
+ }],
39188
+ on: {
39189
+ click: function click(evnt) {
39190
+ return $xeDatePanel.dateSecondEvent(evnt, item);
39191
+ }
39192
+ }
39193
+ }, item.label);
39194
+ });
39312
39195
  }
39313
- }, item.label);
39314
- })) : renderEmptyElement($xeDatePanel)])];
39196
+ }
39197
+ }) : renderEmptyElement($xeDatePanel)])];
39315
39198
  },
39316
39199
  renderPickerPanel: function renderPickerPanel(h) {
39317
39200
  var $xeDatePanel = this;
@@ -47348,6 +47231,17 @@ var FormItem = VxeFormItem;
47348
47231
 
47349
47232
 
47350
47233
 
47234
+ var icon_picker_getConfig = VxeUI.getConfig,
47235
+ icon_picker_getIcon = VxeUI.getIcon,
47236
+ icon_picker_getI18n = VxeUI.getI18n,
47237
+ icon_picker_baseUtils = VxeUI.baseUtils,
47238
+ icon_picker_globalEvents = VxeUI.globalEvents,
47239
+ icon_picker_createEvent = VxeUI.createEvent,
47240
+ icon_picker_renderer = VxeUI.renderer,
47241
+ icon_picker_globalMixins = VxeUI.globalMixins,
47242
+ icon_picker_GLOBAL_EVENT_KEYS = VxeUI.GLOBAL_EVENT_KEYS,
47243
+ icon_picker_renderEmptyElement = VxeUI.renderEmptyElement;
47244
+ var icon_picker_getDefVal = icon_picker_baseUtils.getDefVal;
47351
47245
  function icon_picker_createReactData() {
47352
47246
  return {
47353
47247
  initialized: false,
@@ -47370,7 +47264,7 @@ function icon_picker_createInternalData() {
47370
47264
  }
47371
47265
  /* harmony default export */ var icon_picker = (/* define-vxe-component start */defineVxeComponent({
47372
47266
  name: 'VxeIconPicker',
47373
- mixins: [globalMixins.sizeMixin],
47267
+ mixins: [icon_picker_globalMixins.sizeMixin, icon_picker_globalMixins.vScrollbarMixin],
47374
47268
  model: {
47375
47269
  prop: 'value',
47376
47270
  event: 'modelValue'
@@ -47382,7 +47276,7 @@ function icon_picker_createInternalData() {
47382
47276
  size: {
47383
47277
  type: String,
47384
47278
  default: function _default() {
47385
- return getConfig().iconPicker.size || getConfig().size;
47279
+ return icon_picker_getConfig().iconPicker.size || icon_picker_getConfig().size;
47386
47280
  }
47387
47281
  },
47388
47282
  className: [String, Function],
@@ -47395,7 +47289,7 @@ function icon_picker_createInternalData() {
47395
47289
  showIconTitle: {
47396
47290
  type: Boolean,
47397
47291
  default: function _default() {
47398
- return getConfig().iconPicker.showIconTitle;
47292
+ return icon_picker_getConfig().iconPicker.showIconTitle;
47399
47293
  }
47400
47294
  },
47401
47295
  readonly: {
@@ -47409,7 +47303,7 @@ function icon_picker_createInternalData() {
47409
47303
  filterable: {
47410
47304
  type: Boolean,
47411
47305
  default: function _default() {
47412
- return getConfig().iconPicker.filterable;
47306
+ return icon_picker_getConfig().iconPicker.filterable;
47413
47307
  }
47414
47308
  },
47415
47309
  filterConfig: Object,
@@ -47419,7 +47313,14 @@ function icon_picker_createInternalData() {
47419
47313
  transfer: {
47420
47314
  type: Boolean,
47421
47315
  default: null
47422
- }
47316
+ },
47317
+ useScrollbar: {
47318
+ type: Boolean,
47319
+ default: function _default() {
47320
+ return icon_picker_getDefVal(icon_picker_getConfig().iconPicker.useScrollbar, icon_picker_getConfig().useScrollbar);
47321
+ }
47322
+ },
47323
+ scrollbarConfig: Object
47423
47324
  },
47424
47325
  inject: {
47425
47326
  $xeModal: {
@@ -47492,7 +47393,7 @@ function icon_picker_createInternalData() {
47492
47393
  return popupOpts.transfer;
47493
47394
  }
47494
47395
  if (transfer === null) {
47495
- var globalTransfer = getConfig().iconPicker.transfer;
47396
+ var globalTransfer = icon_picker_getConfig().iconPicker.transfer;
47496
47397
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(globalTransfer)) {
47497
47398
  return globalTransfer;
47498
47399
  }
@@ -47509,11 +47410,11 @@ function icon_picker_createInternalData() {
47509
47410
  if (placeholder) {
47510
47411
  return getFuncText(placeholder);
47511
47412
  }
47512
- var globalPlaceholder = getConfig().select.placeholder;
47413
+ var globalPlaceholder = icon_picker_getConfig().select.placeholder;
47513
47414
  if (globalPlaceholder) {
47514
47415
  return getFuncText(globalPlaceholder);
47515
47416
  }
47516
- return getI18n('vxe.base.pleaseSelect');
47417
+ return icon_picker_getI18n('vxe.base.pleaseSelect');
47517
47418
  },
47518
47419
  computeCurrStyle: function computeCurrStyle() {
47519
47420
  var $xeIconPicker = this;
@@ -47548,7 +47449,7 @@ function icon_picker_createInternalData() {
47548
47449
  var props = $xeIconPicker;
47549
47450
  var icons = props.icons;
47550
47451
  if (!icons || !icons.length) {
47551
- icons = getConfig().iconPicker.icons || [];
47452
+ icons = icon_picker_getConfig().iconPicker.icons || [];
47552
47453
  }
47553
47454
  return icons.map(function (item) {
47554
47455
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(item)) {
@@ -47567,12 +47468,12 @@ function icon_picker_createInternalData() {
47567
47468
  computeFilterOpts: function computeFilterOpts() {
47568
47469
  var $xeIconPicker = this;
47569
47470
  var props = $xeIconPicker;
47570
- return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig);
47471
+ return Object.assign({}, icon_picker_getConfig().iconPicker.filterConfig, props.filterConfig);
47571
47472
  },
47572
47473
  computePopupOpts: function computePopupOpts() {
47573
47474
  var $xeIconPicker = this;
47574
47475
  var props = $xeIconPicker;
47575
- return Object.assign({}, getConfig().iconPicker.popupConfig, props.popupConfig);
47476
+ return Object.assign({}, icon_picker_getConfig().iconPicker.popupConfig, props.popupConfig);
47576
47477
  },
47577
47478
  computeIconGroupList: function computeIconGroupList() {
47578
47479
  var $xeIconPicker = this;
@@ -47595,7 +47496,7 @@ function icon_picker_createInternalData() {
47595
47496
  //
47596
47497
  dispatchEvent: function dispatchEvent(type, params, evnt) {
47597
47498
  var $xeIconPicker = this;
47598
- $xeIconPicker.$emit(type, createEvent(evnt, {
47499
+ $xeIconPicker.$emit(type, icon_picker_createEvent(evnt, {
47599
47500
  $iconPicker: $xeIconPicker
47600
47501
  }, params));
47601
47502
  },
@@ -47859,13 +47760,13 @@ function icon_picker_createInternalData() {
47859
47760
  var visiblePanel = reactData.visiblePanel;
47860
47761
  var isDisabled = $xeIconPicker.computeIsDisabled;
47861
47762
  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);
47763
+ var isTab = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.TAB);
47764
+ var isEnter = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ENTER);
47765
+ var isEsc = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ESCAPE);
47766
+ var isUpArrow = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ARROW_UP);
47767
+ var isDwArrow = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.ARROW_DOWN);
47768
+ var isDel = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.DELETE);
47769
+ var isSpacebar = icon_picker_globalEvents.hasKey(evnt, icon_picker_GLOBAL_EVENT_KEYS.SPACEBAR);
47869
47770
  if (isTab) {
47870
47771
  reactData.isActivated = false;
47871
47772
  }
@@ -47971,7 +47872,7 @@ function icon_picker_createInternalData() {
47971
47872
  if (!iconList.length) {
47972
47873
  return h('div', {
47973
47874
  class: 'vxe-ico-picker--empty-placeholder'
47974
- }, getI18n('vxe.iconPicker.emptyText'));
47875
+ }, icon_picker_getI18n('vxe.iconPicker.emptyText'));
47975
47876
  }
47976
47877
  return h('div', {
47977
47878
  class: 'vxe-ico-picker--list-wrapper'
@@ -47979,7 +47880,7 @@ function icon_picker_createInternalData() {
47979
47880
  class: 'vxe-ico-picker--list'
47980
47881
  }, iconList.map(function (item) {
47981
47882
  var iconRender = item.iconRender;
47982
- var compConf = iconRender ? renderer.get(iconRender.name) : null;
47883
+ var compConf = iconRender ? icon_picker_renderer.get(iconRender.name) : null;
47983
47884
  var iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
47984
47885
  return h('div', {
47985
47886
  class: ['vxe-ico-picker--item', {
@@ -48004,7 +47905,7 @@ function icon_picker_createInternalData() {
48004
47905
  class: item.icon || ''
48005
47906
  })]), showIconTitle ? h('div', {
48006
47907
  class: 'vxe-ico-picker--item-title'
48007
- }, "".concat(item.title || '')) : renderEmptyElement($xeIconPicker)])]);
47908
+ }, "".concat(item.title || '')) : icon_picker_renderEmptyElement($xeIconPicker)])]);
48008
47909
  }))]);
48009
47910
  },
48010
47911
  renderIconView: function renderIconView(h) {
@@ -48014,7 +47915,7 @@ function icon_picker_createInternalData() {
48014
47915
  var selectIconItem = $xeIconPicker.computeSelectIconItem;
48015
47916
  if (selectIconItem) {
48016
47917
  var iconRender = selectIconItem.iconRender;
48017
- var compConf = iconRender ? renderer.get(iconRender.name) : null;
47918
+ var compConf = iconRender ? icon_picker_renderer.get(iconRender.name) : null;
48018
47919
  var oIconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
48019
47920
  if (oIconMethod && iconRender) {
48020
47921
  return h('div', {
@@ -48090,11 +47991,11 @@ function icon_picker_createInternalData() {
48090
47991
  click: $xeIconPicker.clearEvent
48091
47992
  }
48092
47993
  }, [h('i', {
48093
- class: getIcon().INPUT_CLEAR
47994
+ class: icon_picker_getIcon().INPUT_CLEAR
48094
47995
  })]), h('div', {
48095
47996
  class: 'vxe-ico-picker--suffix-icon'
48096
47997
  }, [h('i', {
48097
- class: visiblePanel ? getIcon().ICON_PICKER_OPEN : getIcon().ICON_PICKER_CLOSE
47998
+ class: visiblePanel ? icon_picker_getIcon().ICON_PICKER_OPEN : icon_picker_getIcon().ICON_PICKER_CLOSE
48098
47999
  })])])]), h('div', {
48099
48000
  ref: 'refOptionPanel',
48100
48001
  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 +48019,8 @@ function icon_picker_createInternalData() {
48118
48019
  clearable: true,
48119
48020
  disabled: false,
48120
48021
  readonly: false,
48121
- placeholder: getI18n('vxe.iconPicker.search'),
48122
- prefixIcon: getIcon().INPUT_SEARCH
48022
+ placeholder: icon_picker_getI18n('vxe.iconPicker.search'),
48023
+ prefixIcon: icon_picker_getIcon().INPUT_SEARCH
48123
48024
  },
48124
48025
  on: {
48125
48026
  'model-value': $xeIconPicker.modelSearchEvent,
@@ -48127,7 +48028,7 @@ function icon_picker_createInternalData() {
48127
48028
  change: $xeIconPicker.triggerSearchEvent,
48128
48029
  search: $xeIconPicker.triggerSearchEvent
48129
48030
  }
48130
- })]) : renderEmptyElement($xeIconPicker), $xeIconPicker.renderIconWrapper(h)]) : renderEmptyElement($xeIconPicker)])]);
48031
+ })]) : icon_picker_renderEmptyElement($xeIconPicker), $xeIconPicker.renderIconWrapper(h)]) : icon_picker_renderEmptyElement($xeIconPicker)])]);
48131
48032
  }
48132
48033
  },
48133
48034
  watch: {
@@ -48148,11 +48049,11 @@ function icon_picker_createInternalData() {
48148
48049
  $xeIconPicker.internalData = icon_picker_createInternalData();
48149
48050
  reactData.selectIcon = "".concat(props.value || '');
48150
48051
  $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);
48052
+ icon_picker_globalEvents.on($xeIconPicker, 'mousedown', $xeIconPicker.handleGlobalMousedownEvent);
48053
+ icon_picker_globalEvents.on($xeIconPicker, 'keydown', $xeIconPicker.handleGlobalKeydownEvent);
48054
+ icon_picker_globalEvents.on($xeIconPicker, 'blur', $xeIconPicker.handleGlobalBlurEvent);
48055
+ icon_picker_globalEvents.on($xeIconPicker, 'resize', $xeIconPicker.handleGlobalResizeEvent);
48056
+ icon_picker_globalEvents.on($xeIconPicker, 'scroll', $xeIconPicker.handleGlobalScrollEvent);
48156
48057
  },
48157
48058
  beforeDestroy: function beforeDestroy() {
48158
48059
  var $xeIconPicker = this;
@@ -48162,11 +48063,11 @@ function icon_picker_createInternalData() {
48162
48063
  if (panelElem && panelElem.parentNode) {
48163
48064
  panelElem.parentNode.removeChild(panelElem);
48164
48065
  }
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');
48066
+ icon_picker_globalEvents.off($xeIconPicker, 'mousedown');
48067
+ icon_picker_globalEvents.off($xeIconPicker, 'keydown');
48068
+ icon_picker_globalEvents.off($xeIconPicker, 'blur');
48069
+ icon_picker_globalEvents.off($xeIconPicker, 'resize');
48070
+ icon_picker_globalEvents.off($xeIconPicker, 'scroll');
48170
48071
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, icon_picker_createReactData());
48171
48072
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, icon_picker_createInternalData());
48172
48073
  },
@@ -53713,6 +53614,17 @@ var Option = VxeOption;
53713
53614
 
53714
53615
 
53715
53616
 
53617
+ var select_getConfig = VxeUI.getConfig,
53618
+ select_getIcon = VxeUI.getIcon,
53619
+ select_getI18n = VxeUI.getI18n,
53620
+ select_baseUtils = VxeUI.baseUtils,
53621
+ select_domUtils = VxeUI.domUtils,
53622
+ select_globalEvents = VxeUI.globalEvents,
53623
+ select_GLOBAL_EVENT_KEYS = VxeUI.GLOBAL_EVENT_KEYS,
53624
+ select_globalResize = VxeUI.globalResize,
53625
+ select_createEvent = VxeUI.createEvent,
53626
+ select_renderEmptyElement = VxeUI.renderEmptyElement;
53627
+ var select_getDefVal = select_baseUtils.getDefVal;
53716
53628
  var select_createComponentLog = createComponentLog('select'),
53717
53629
  select_errLog = select_createComponentLog.errLog;
53718
53630
  function isOptionVisible(option) {
@@ -53733,6 +53645,9 @@ function select_createReactData() {
53733
53645
  currentOption: null,
53734
53646
  searchValue: '',
53735
53647
  searchLoading: false,
53648
+ // 滚动条
53649
+ yThumbHeight: 0,
53650
+ xThumbWidth: 0,
53736
53651
  panelIndex: 0,
53737
53652
  panelStyle: {},
53738
53653
  panelPlacement: null,
@@ -53752,8 +53667,14 @@ function select_createInternalData() {
53752
53667
  optGroupKeyMaps: {},
53753
53668
  optFullValMaps: {},
53754
53669
  remoteValMaps: {},
53755
- lastScrollLeft: 0,
53670
+ // 滚动条
53671
+ // scrollObserver: undefined,
53672
+ // isThumbDrag: false,
53673
+ thumbDragOffset: 0,
53674
+ yThumbTop: 0,
53675
+ xThumbLeft: 0,
53756
53676
  lastScrollTop: 0,
53677
+ lastScrollLeft: 0,
53757
53678
  scrollYStore: {
53758
53679
  startIndex: 0,
53759
53680
  endIndex: 0,
@@ -53767,7 +53688,7 @@ function select_createInternalData() {
53767
53688
  }
53768
53689
  /* harmony default export */ var src_select = (/* define-vxe-component start */defineVxeComponent({
53769
53690
  name: 'VxeSelect',
53770
- mixins: [globalMixins.sizeMixin],
53691
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.initVScrollbarMixin],
53771
53692
  model: {
53772
53693
  prop: 'value',
53773
53694
  event: 'modelValue'
@@ -53778,13 +53699,13 @@ function select_createInternalData() {
53778
53699
  emptyValue: {
53779
53700
  type: [String, Number, Boolean, Array],
53780
53701
  default: function _default() {
53781
- return getConfig().select.emptyValue;
53702
+ return select_getConfig().select.emptyValue;
53782
53703
  }
53783
53704
  },
53784
53705
  clearable: {
53785
53706
  type: Boolean,
53786
53707
  default: function _default() {
53787
- return getConfig().select.clearable;
53708
+ return select_getConfig().select.clearable;
53788
53709
  }
53789
53710
  },
53790
53711
  placeholder: String,
@@ -53801,14 +53722,14 @@ function select_createInternalData() {
53801
53722
  multiCharOverflow: {
53802
53723
  type: [Number, String],
53803
53724
  default: function _default() {
53804
- return getConfig().select.multiCharOverflow;
53725
+ return select_getConfig().select.multiCharOverflow;
53805
53726
  }
53806
53727
  },
53807
53728
  prefixIcon: String,
53808
53729
  allowCreate: {
53809
53730
  type: Boolean,
53810
53731
  default: function _default() {
53811
- return getConfig().select.allowCreate;
53732
+ return select_getConfig().select.allowCreate;
53812
53733
  }
53813
53734
  },
53814
53735
  placement: String,
@@ -53832,14 +53753,14 @@ function select_createInternalData() {
53832
53753
  showRadio: {
53833
53754
  type: Boolean,
53834
53755
  default: function _default() {
53835
- return getConfig().select.showRadio;
53756
+ return select_getConfig().select.showRadio;
53836
53757
  }
53837
53758
  },
53838
53759
  radioConfig: Object,
53839
53760
  showCheckbox: {
53840
53761
  type: Boolean,
53841
53762
  default: function _default() {
53842
- return getConfig().select.showCheckedButton;
53763
+ return select_getConfig().select.showCheckedButton;
53843
53764
  }
53844
53765
  },
53845
53766
  checkboxConfig: Object,
@@ -53851,7 +53772,7 @@ function select_createInternalData() {
53851
53772
  size: {
53852
53773
  type: String,
53853
53774
  default: function _default() {
53854
- return getConfig().select.size || getConfig().size;
53775
+ return select_getConfig().select.size || select_getConfig().size;
53855
53776
  }
53856
53777
  },
53857
53778
  filterable: Boolean,
@@ -53867,37 +53788,37 @@ function select_createInternalData() {
53867
53788
  checkedClosable: {
53868
53789
  type: Boolean,
53869
53790
  default: function _default() {
53870
- return getConfig().select.checkedClosable;
53791
+ return select_getConfig().select.checkedClosable;
53871
53792
  }
53872
53793
  },
53873
53794
  clearClosable: {
53874
53795
  type: Boolean,
53875
53796
  default: function _default() {
53876
- return getConfig().select.clearClosable;
53797
+ return select_getConfig().select.clearClosable;
53877
53798
  }
53878
53799
  },
53879
53800
  showCloseButton: {
53880
53801
  type: Boolean,
53881
53802
  default: function _default() {
53882
- return getConfig().select.showCloseButton;
53803
+ return select_getConfig().select.showCloseButton;
53883
53804
  }
53884
53805
  },
53885
53806
  showTotalButton: {
53886
53807
  type: Boolean,
53887
53808
  default: function _default() {
53888
- return getConfig().select.showTotalButton;
53809
+ return select_getConfig().select.showTotalButton;
53889
53810
  }
53890
53811
  },
53891
53812
  showCheckedButton: {
53892
53813
  type: Boolean,
53893
53814
  default: function _default() {
53894
- return getConfig().select.showCheckedButton;
53815
+ return select_getConfig().select.showCheckedButton;
53895
53816
  }
53896
53817
  },
53897
53818
  showClearButton: {
53898
53819
  type: Boolean,
53899
53820
  default: function _default() {
53900
- return getConfig().select.showClearButton;
53821
+ return select_getConfig().select.showClearButton;
53901
53822
  }
53902
53823
  },
53903
53824
  transfer: {
@@ -53907,6 +53828,13 @@ function select_createInternalData() {
53907
53828
  popupConfig: Object,
53908
53829
  virtualYConfig: Object,
53909
53830
  scrollY: Object,
53831
+ useScrollbar: {
53832
+ type: Boolean,
53833
+ default: function _default() {
53834
+ return select_getDefVal(select_getConfig().select.useScrollbar, select_getConfig().useScrollbar);
53835
+ }
53836
+ },
53837
+ scrollbarConfig: Object,
53910
53838
  /**
53911
53839
  * 已废弃,被 remote-config.queryMethod 替换
53912
53840
  * @deprecated
@@ -53919,7 +53847,7 @@ function select_createInternalData() {
53919
53847
  optionId: {
53920
53848
  type: String,
53921
53849
  default: function _default() {
53922
- return getConfig().select.optionId;
53850
+ return select_getConfig().select.optionId;
53923
53851
  }
53924
53852
  },
53925
53853
  /**
@@ -53957,7 +53885,9 @@ function select_createInternalData() {
53957
53885
  var reactData = select_createReactData();
53958
53886
  return _objectSpread2(_objectSpread2({}, {}), {}, {
53959
53887
  xID: xID,
53960
- reactData: reactData
53888
+ reactData: reactData,
53889
+ reLayoutFlag: 0,
53890
+ reScrollFlag: 0
53961
53891
  });
53962
53892
  },
53963
53893
  computed: _objectSpread2(_objectSpread2({}, {}), {}, {
@@ -54001,7 +53931,7 @@ function select_createInternalData() {
54001
53931
  return popupOpts.transfer;
54002
53932
  }
54003
53933
  if (transfer === null) {
54004
- var globalTransfer = getConfig().select.transfer;
53934
+ var globalTransfer = select_getConfig().select.transfer;
54005
53935
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(globalTransfer)) {
54006
53936
  return globalTransfer;
54007
53937
  }
@@ -54018,11 +53948,11 @@ function select_createInternalData() {
54018
53948
  if (placeholder) {
54019
53949
  return getFuncText(placeholder);
54020
53950
  }
54021
- var globalPlaceholder = getConfig().select.placeholder;
53951
+ var globalPlaceholder = select_getConfig().select.placeholder;
54022
53952
  if (globalPlaceholder) {
54023
53953
  return getFuncText(globalPlaceholder);
54024
53954
  }
54025
- return getI18n('vxe.base.pleaseSelect');
53955
+ return select_getI18n('vxe.base.pleaseSelect');
54026
53956
  },
54027
53957
  computeDefaultOpts: function computeDefaultOpts() {
54028
53958
  var $xeSelect = this;
@@ -54067,37 +53997,37 @@ function select_createInternalData() {
54067
53997
  computePopupOpts: function computePopupOpts() {
54068
53998
  var $xeSelect = this;
54069
53999
  var props = $xeSelect;
54070
- return Object.assign({}, getConfig().select.popupConfig, props.popupConfig);
54000
+ return Object.assign({}, select_getConfig().select.popupConfig, props.popupConfig);
54071
54001
  },
54072
54002
  computeVirtualYOpts: function computeVirtualYOpts() {
54073
54003
  var $xeSelect = this;
54074
54004
  var props = $xeSelect;
54075
- return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
54005
+ return Object.assign({}, select_getConfig().select.virtualYConfig || select_getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
54076
54006
  },
54077
54007
  computeRemoteOpts: function computeRemoteOpts() {
54078
54008
  var $xeSelect = this;
54079
54009
  var props = $xeSelect;
54080
- return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig);
54010
+ return Object.assign({}, select_getConfig().select.remoteConfig, props.remoteConfig);
54081
54011
  },
54082
54012
  computeFilterOpts: function computeFilterOpts() {
54083
54013
  var $xeSelect = this;
54084
54014
  var props = $xeSelect;
54085
- return Object.assign({}, getConfig().select.filterConfig, props.filterConfig);
54015
+ return Object.assign({}, select_getConfig().select.filterConfig, props.filterConfig);
54086
54016
  },
54087
54017
  computeOptionOpts: function computeOptionOpts() {
54088
54018
  var $xeSelect = this;
54089
54019
  var props = $xeSelect;
54090
- return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
54020
+ return Object.assign({}, select_getConfig().select.optionConfig, props.optionConfig);
54091
54021
  },
54092
54022
  computeRadioOpts: function computeRadioOpts() {
54093
54023
  var $xeSelect = this;
54094
54024
  var props = $xeSelect;
54095
- return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
54025
+ return Object.assign({}, select_getConfig().select.radioConfig, props.radioConfig);
54096
54026
  },
54097
54027
  computeCheckboxOpts: function computeCheckboxOpts() {
54098
54028
  var $xeSelect = this;
54099
54029
  var props = $xeSelect;
54100
- return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
54030
+ return Object.assign({}, select_getConfig().select.checkboxConfig, props.checkboxConfig);
54101
54031
  },
54102
54032
  computeIsGroup: function computeIsGroup() {
54103
54033
  var $xeSelect = this;
@@ -54192,6 +54122,83 @@ function select_createInternalData() {
54192
54122
  return "".concat(labels.slice(0, multiMaxCharNum), "...");
54193
54123
  }
54194
54124
  return labels.join(', ');
54125
+ },
54126
+ computeScrollbarOpts: function computeScrollbarOpts() {
54127
+ var $xeSelect = this;
54128
+ var props = $xeSelect;
54129
+ return Object.assign({}, select_getConfig().tree.scrollbarConfig, props.scrollbarConfig);
54130
+ },
54131
+ computeScrollbarXOpts: function computeScrollbarXOpts() {
54132
+ var $xeSelect = this;
54133
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54134
+ return Object.assign({}, select_getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
54135
+ visible: false
54136
+ });
54137
+ },
54138
+ computeScrollbarYOpts: function computeScrollbarYOpts() {
54139
+ var $xeSelect = this;
54140
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54141
+ return Object.assign({}, select_getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
54142
+ },
54143
+ computeScrollXHeight: function computeScrollXHeight() {
54144
+ var $xeSelect = this;
54145
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54146
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54147
+ return select_getDefVal(select_getDefVal(scrollbarXOpts.height, scrollbarOpts.height), select_getConfig().scrollbar.height);
54148
+ },
54149
+ computeScrollYWidth: function computeScrollYWidth() {
54150
+ var $xeSelect = this;
54151
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54152
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54153
+ return select_getDefVal(select_getDefVal(scrollbarYOpts.width, scrollbarOpts.width), select_getConfig().scrollbar.width);
54154
+ },
54155
+ computeScrollXVisible: function computeScrollXVisible() {
54156
+ var $xeSelect = this;
54157
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54158
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54159
+ return select_getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
54160
+ },
54161
+ computeScrollYVisible: function computeScrollYVisible() {
54162
+ var $xeSelect = this;
54163
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54164
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54165
+ return select_getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
54166
+ },
54167
+ computeScrollXAutoHide: function computeScrollXAutoHide() {
54168
+ var $xeSelect = this;
54169
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54170
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54171
+ return select_getDefVal(select_getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), select_getConfig().scrollbar.autoHide);
54172
+ },
54173
+ computeScrollYAutoHide: function computeScrollYAutoHide() {
54174
+ var $xeSelect = this;
54175
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
54176
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54177
+ return select_getDefVal(select_getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), select_getConfig().scrollbar.autoHide);
54178
+ },
54179
+ computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
54180
+ var $xeSelect = this;
54181
+ var reactData = $xeSelect.reactData;
54182
+ var yThumbHeight = reactData.yThumbHeight,
54183
+ xThumbWidth = reactData.xThumbWidth;
54184
+ var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
54185
+ var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
54186
+ var scrollXVisible = $xeSelect.computeScrollXVisible;
54187
+ var scrollYVisible = $xeSelect.computeScrollYVisible;
54188
+ 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')], {
54189
+ 'overflow-y': yThumbHeight,
54190
+ 'overflow-x': xThumbWidth
54191
+ });
54192
+ },
54193
+ computeScrollbarXToTop: function computeScrollbarXToTop() {
54194
+ var $xeSelect = this;
54195
+ var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
54196
+ return scrollbarXOpts.position === 'top';
54197
+ },
54198
+ computeScrollbarYToLeft: function computeScrollbarYToLeft() {
54199
+ var $xeSelect = this;
54200
+ var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
54201
+ return scrollbarYOpts.position === 'left';
54195
54202
  }
54196
54203
  }),
54197
54204
  methods: {
@@ -54200,7 +54207,7 @@ function select_createInternalData() {
54200
54207
  //
54201
54208
  dispatchEvent: function dispatchEvent(type, params, evnt) {
54202
54209
  var $xeSelect = this;
54203
- $xeSelect.$emit(type, createEvent(evnt, {
54210
+ $xeSelect.$emit(type, select_createEvent(evnt, {
54204
54211
  $select: $xeSelect
54205
54212
  }, params));
54206
54213
  },
@@ -54220,6 +54227,11 @@ function select_createInternalData() {
54220
54227
  value: value
54221
54228
  }, null);
54222
54229
  },
54230
+ getScrollViewElem: function getScrollViewElem() {
54231
+ var $xeSelect = this;
54232
+ var viewEl = $xeSelect.$refs.refVirtualWrapper;
54233
+ return viewEl || null;
54234
+ },
54223
54235
  isPanelVisible: function isPanelVisible() {
54224
54236
  var $xeSelect = this;
54225
54237
  var reactData = $xeSelect.reactData;
@@ -54693,7 +54705,7 @@ function select_createInternalData() {
54693
54705
  if ($xeSelect.checkMaxLimit(currVlas)) {
54694
54706
  if (VxeUI) {
54695
54707
  VxeUI.modal.message({
54696
- content: getI18n('vxe.select.overSizeErr', [max]),
54708
+ content: select_getI18n('vxe.select.overSizeErr', [max]),
54697
54709
  status: 'warning'
54698
54710
  });
54699
54711
  }
@@ -54878,12 +54890,12 @@ function select_createInternalData() {
54878
54890
  var popupOpts = $xeSelect.computePopupOpts;
54879
54891
  var trigger = popupOpts.trigger;
54880
54892
  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);
54893
+ var isTab = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.TAB);
54894
+ var isEnter = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ENTER);
54895
+ var isEsc = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ESCAPE);
54896
+ var isUpArrow = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ARROW_UP);
54897
+ var isDwArrow = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.ARROW_DOWN);
54898
+ var isDel = select_globalEvents.hasKey(evnt, select_GLOBAL_EVENT_KEYS.DELETE);
54887
54899
  if (isTab) {
54888
54900
  reactData.isActivated = false;
54889
54901
  }
@@ -55256,6 +55268,17 @@ function select_createInternalData() {
55256
55268
  }
55257
55269
  });
55258
55270
  },
55271
+ updateScrollbar: function updateScrollbar() {
55272
+ var $xeSelect = this;
55273
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55274
+ if (isVScrollbar) {
55275
+ return $xeSelect.$nextTick().then(function () {
55276
+ $xeSelect.updateThumbSize();
55277
+ $xeSelect.updateThumbOffset();
55278
+ });
55279
+ }
55280
+ return Promise.resolve();
55281
+ },
55259
55282
  /**
55260
55283
  * 重新计算列表
55261
55284
  */
@@ -55263,7 +55286,9 @@ function select_createInternalData() {
55263
55286
  var $xeSelect = this;
55264
55287
  var el = $xeSelect.$refs.refElem;
55265
55288
  if (el && el.clientWidth && el.clientHeight) {
55266
- return $xeSelect.computeScrollLoad();
55289
+ return $xeSelect.computeScrollLoad().then(function () {
55290
+ return $xeSelect.updateScrollbar();
55291
+ });
55267
55292
  }
55268
55293
  return Promise.resolve();
55269
55294
  },
@@ -55304,6 +55329,7 @@ function select_createInternalData() {
55304
55329
  var scrollBodyElem = evnt.target;
55305
55330
  var scrollTop = scrollBodyElem.scrollTop;
55306
55331
  var scrollLeft = scrollBodyElem.scrollLeft;
55332
+ $xeSelect.updateThumbOffset();
55307
55333
  var isX = scrollLeft !== internalData.lastScrollLeft;
55308
55334
  var isY = scrollTop !== internalData.lastScrollTop;
55309
55335
  internalData.lastScrollTop = scrollTop;
@@ -55400,6 +55426,29 @@ function select_createInternalData() {
55400
55426
  var optGroupKeyMaps = internalData.optGroupKeyMaps;
55401
55427
  return !!optGroupKeyMaps[optid];
55402
55428
  },
55429
+ // 滚动条
55430
+ bindScrollbarResize: function bindScrollbarResize() {
55431
+ var $xeSelect = this;
55432
+ var internalData = $xeSelect.internalData;
55433
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55434
+ var scrollObserver = internalData.scrollObserver;
55435
+ if (isVScrollbar) {
55436
+ if (!scrollObserver) {
55437
+ var el = $xeSelect.$refs.refElem;
55438
+ var viewInnerEl = $xeSelect.$refs.refVirtualSpaceElem;
55439
+ var _scrollObserver = select_globalResize.create(function () {
55440
+ $xeSelect.reScrollFlag++;
55441
+ });
55442
+ if (el) {
55443
+ _scrollObserver.observe(el);
55444
+ }
55445
+ if (viewInnerEl) {
55446
+ _scrollObserver.observe(viewInnerEl);
55447
+ }
55448
+ internalData.scrollObserver = _scrollObserver;
55449
+ }
55450
+ }
55451
+ },
55403
55452
  //
55404
55453
  // Render
55405
55454
  //
@@ -55409,7 +55458,7 @@ function select_createInternalData() {
55409
55458
  var showIcon = radioOpts.showIcon,
55410
55459
  trigger = radioOpts.trigger;
55411
55460
  if (isOptGroup || showIcon === false) {
55412
- return renderEmptyElement($xeSelect);
55461
+ return select_renderEmptyElement($xeSelect);
55413
55462
  }
55414
55463
  var ons = {};
55415
55464
  if (!trigger || trigger === 'default') {
@@ -55427,7 +55476,7 @@ function select_createInternalData() {
55427
55476
  }],
55428
55477
  on: ons
55429
55478
  }, [h('span', {
55430
- class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
55479
+ class: ['vxe-radio--icon', isChecked ? select_getIcon().RADIO_CHECKED : isDisabled ? select_getIcon().RADIO_DISABLED_UNCHECKED : select_getIcon().RADIO_UNCHECKED]
55431
55480
  })]);
55432
55481
  },
55433
55482
  renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
@@ -55436,7 +55485,7 @@ function select_createInternalData() {
55436
55485
  var showIcon = checkboxOpts.showIcon,
55437
55486
  trigger = checkboxOpts.trigger;
55438
55487
  if (isOptGroup || showIcon === false) {
55439
- return renderEmptyElement($xeSelect);
55488
+ return select_renderEmptyElement($xeSelect);
55440
55489
  }
55441
55490
  var ons = {};
55442
55491
  if (!trigger || trigger === 'default') {
@@ -55454,7 +55503,7 @@ function select_createInternalData() {
55454
55503
  }],
55455
55504
  on: ons
55456
55505
  }, [h('span', {
55457
- class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
55506
+ class: ['vxe-checkbox--icon', isChecked ? select_getIcon().CHECKBOX_CHECKED : isDisabled ? select_getIcon().CHECKBOX_DISABLED_UNCHECKED : select_getIcon().CHECKBOX_UNCHECKED]
55458
55507
  })]);
55459
55508
  },
55460
55509
  renderOption: function renderOption(h, list) {
@@ -55561,8 +55610,8 @@ function select_createInternalData() {
55561
55610
  key: 2,
55562
55611
  class: 'vxe-select-option--add-icon'
55563
55612
  }, [h('i', {
55564
- class: getIcon().SELECT_ADD_OPTION
55565
- })]) : renderEmptyElement($xeSelect)] : optVNs) : renderEmptyElement($xeSelect);
55613
+ class: select_getIcon().SELECT_ADD_OPTION
55614
+ })]) : select_renderEmptyElement($xeSelect)] : optVNs) : select_renderEmptyElement($xeSelect);
55566
55615
  });
55567
55616
  },
55568
55617
  renderOpts: function renderOpts(h) {
@@ -55575,17 +55624,17 @@ function select_createInternalData() {
55575
55624
  return [h('div', {
55576
55625
  class: 'vxe-select--search-loading'
55577
55626
  }, [h('i', {
55578
- class: ['vxe-select--search-icon', getIcon().SELECT_LOADED]
55627
+ class: ['vxe-select--search-icon', select_getIcon().SELECT_LOADED]
55579
55628
  }), h('span', {
55580
55629
  class: 'vxe-select--search-text'
55581
- }, getI18n('vxe.select.loadingText'))])];
55630
+ }, select_getI18n('vxe.select.loadingText'))])];
55582
55631
  }
55583
55632
  if (optList.length) {
55584
55633
  return $xeSelect.renderOption(h, optList);
55585
55634
  }
55586
55635
  return [h('div', {
55587
55636
  class: 'vxe-select--empty-placeholder'
55588
- }, props.emptyText || getI18n('vxe.select.emptyText'))];
55637
+ }, props.emptyText || select_getI18n('vxe.select.emptyText'))];
55589
55638
  },
55590
55639
  renderVN: function renderVN(h) {
55591
55640
  var $xeSelect = this;
@@ -55606,8 +55655,11 @@ function select_createInternalData() {
55606
55655
  optList = reactData.optList,
55607
55656
  visiblePanel = reactData.visiblePanel,
55608
55657
  bodyHeight = reactData.bodyHeight,
55609
- topSpaceHeight = reactData.topSpaceHeight;
55658
+ topSpaceHeight = reactData.topSpaceHeight,
55659
+ xThumbWidth = reactData.xThumbWidth,
55660
+ yThumbHeight = reactData.yThumbHeight;
55610
55661
  var vSize = $xeSelect.computeSize;
55662
+ var isVScrollbar = $xeSelect.computeIsVScrollbar;
55611
55663
  var isDisabled = $xeSelect.computeIsDisabled;
55612
55664
  var selectLabel = $xeSelect.computeSelectLabel;
55613
55665
  var fullLabel = $xeSelect.computeFullLabel;
@@ -55637,6 +55689,14 @@ function select_createInternalData() {
55637
55689
  var footerSlot = slots.footer;
55638
55690
  var prefixSlot = slots.prefix;
55639
55691
  var ppClassName = popupOpts.className || props.popupClassName;
55692
+ var scrollbarOpts = $xeSelect.computeScrollbarOpts;
55693
+ var scrollXVisible = $xeSelect.computeScrollXVisible;
55694
+ var scrollYVisible = $xeSelect.computeScrollYVisible;
55695
+ var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
55696
+ var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
55697
+ var scrollXAutoHide = $xeSelect.computeScrollXAutoHide;
55698
+ var scrollYAutoHide = $xeSelect.computeScrollYAutoHide;
55699
+ var scrollbarWrapperClss = $xeSelect.computeScrollbarWrapperClss;
55640
55700
  return h('div', {
55641
55701
  ref: 'refElem',
55642
55702
  class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
@@ -55655,7 +55715,7 @@ function select_createInternalData() {
55655
55715
  disabled: isDisabled,
55656
55716
  type: 'text',
55657
55717
  prefixIcon: props.prefixIcon,
55658
- suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
55718
+ suffixIcon: loading ? select_getIcon().SELECT_LOADED : visiblePanel ? select_getIcon().SELECT_OPEN : select_getIcon().SELECT_CLOSE,
55659
55719
  autoFocus: false,
55660
55720
  title: fullLabel,
55661
55721
  value: selectLabel
@@ -55695,8 +55755,8 @@ function select_createInternalData() {
55695
55755
  clearable: true,
55696
55756
  disabled: false,
55697
55757
  readonly: false,
55698
- placeholder: getI18n('vxe.select.search'),
55699
- prefixIcon: getIcon().INPUT_SEARCH
55758
+ placeholder: select_getI18n('vxe.select.search'),
55759
+ prefixIcon: select_getIcon().INPUT_SEARCH
55700
55760
  },
55701
55761
  on: {
55702
55762
  'model-value': $xeSelect.modelSearchEvent,
@@ -55704,7 +55764,7 @@ function select_createInternalData() {
55704
55764
  change: $xeSelect.triggerSearchEvent,
55705
55765
  search: $xeSelect.triggerSearchEvent
55706
55766
  }
55707
- })]) : renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
55767
+ })]) : select_renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
55708
55768
  class: 'vxe-select--panel-header'
55709
55769
  }, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
55710
55770
  class: 'vxe-tree-select--header-button'
@@ -55712,22 +55772,29 @@ function select_createInternalData() {
55712
55772
  class: 'vxe-tree-select--header-btns'
55713
55773
  }, [showCheckedButton && multiple ? h(packages_button, {
55714
55774
  props: {
55715
- content: getI18n('vxe.select.allChecked'),
55775
+ content: select_getI18n('vxe.select.allChecked'),
55716
55776
  mode: 'text'
55717
55777
  },
55718
55778
  on: {
55719
55779
  click: $xeSelect.allCheckedPanelEvent
55720
55780
  }
55721
- }) : renderEmptyElement($xeSelect), showClearButton ? h(packages_button, {
55781
+ }) : select_renderEmptyElement($xeSelect), showClearButton ? h(packages_button, {
55722
55782
  props: {
55723
- content: getI18n('vxe.select.clear'),
55783
+ content: select_getI18n('vxe.select.clear'),
55724
55784
  mode: 'text'
55725
55785
  },
55726
55786
  on: {
55727
55787
  click: $xeSelect.clearCheckedPanelEvent
55728
55788
  }
55729
- }) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), h('div', {
55730
- class: 'vxe-select--panel-body'
55789
+ }) : select_renderEmptyElement($xeSelect)])])]) : select_renderEmptyElement($xeSelect), h('div', {
55790
+ 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') : '', {
55791
+ 'is--virtual-scrollbar': isVScrollbar,
55792
+ 'ov-padding': isVScrollbar && scrollbarOpts.padding,
55793
+ 'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
55794
+ 'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
55795
+ 'overflow-y': yThumbHeight,
55796
+ 'overflow-x': xThumbWidth
55797
+ }]
55731
55798
  }, [h('div', {
55732
55799
  ref: 'refVirtualWrapper',
55733
55800
  class: 'vxe-select-option--wrapper',
@@ -55735,6 +55802,7 @@ function select_createInternalData() {
55735
55802
  scroll: $xeSelect.scrollEvent
55736
55803
  }
55737
55804
  }, [h('div', {
55805
+ ref: 'refVirtualSpaceElem',
55738
55806
  class: 'vxe-select--y-space',
55739
55807
  style: {
55740
55808
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -55745,23 +55813,61 @@ function select_createInternalData() {
55745
55813
  style: {
55746
55814
  transform: "translateY(".concat(topSpaceHeight, "px)")
55747
55815
  }
55748
- }, $xeSelect.renderOpts(h))])]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
55816
+ }, $xeSelect.renderOpts(h))]),
55817
+ /**
55818
+ * 滚动条
55819
+ */
55820
+ isVScrollbar ? h('div', {
55821
+ class: scrollbarWrapperClss
55822
+ }, [scrollXVisible === false ? select_renderEmptyElement($xeSelect) : h('div', {
55823
+ ref: 'refTrackXElem',
55824
+ class: 'vxe-scrollbar--track-x',
55825
+ on: {
55826
+ click: $xeSelect.clickTrackXEvent
55827
+ }
55828
+ }, [h('div', {
55829
+ ref: 'refThumbXElem',
55830
+ class: 'vxe-scrollbar--thumb-x',
55831
+ on: {
55832
+ pointerdown: $xeSelect.pointerdownThumbXEvent,
55833
+ pointermove: $xeSelect.pointermoveThumbXEvent,
55834
+ pointerup: $xeSelect.cleatPointerThumbEvent,
55835
+ pointercancel: $xeSelect.cleatPointerThumbEvent,
55836
+ lostpointercapture: $xeSelect.cleatPointerThumbEvent
55837
+ }
55838
+ })]), scrollYVisible === false ? select_renderEmptyElement($xeSelect) : h('div', {
55839
+ ref: 'refTrackYElem',
55840
+ class: 'vxe-scrollbar--track-y',
55841
+ on: {
55842
+ click: $xeSelect.clickTrackYEvent
55843
+ }
55844
+ }, [h('div', {
55845
+ ref: 'refThumbYElem',
55846
+ class: 'vxe-scrollbar--thumb-y',
55847
+ on: {
55848
+ pointerdown: $xeSelect.pointerdownThumbYEvent,
55849
+ pointermove: $xeSelect.pointermoveThumbYEvent,
55850
+ pointerup: $xeSelect.cleatPointerThumbEvent,
55851
+ pointercancel: $xeSelect.cleatPointerThumbEvent,
55852
+ lostpointercapture: $xeSelect.cleatPointerThumbEvent
55853
+ }
55854
+ })])]) : select_renderEmptyElement($xeSelect)]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
55749
55855
  class: 'vxe-select--panel-footer'
55750
55856
  }, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
55751
55857
  class: 'vxe-select--footer-button'
55752
55858
  }, [showTotalButton ? h('div', {
55753
55859
  class: 'vxe-select--total-btns'
55754
- }, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
55860
+ }, select_getI18n('vxe.select.total', [selectVals.length, optList.length])) : select_renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
55755
55861
  class: 'vxe-select--oper-btns'
55756
55862
  }, [h(packages_button, {
55757
55863
  props: {
55758
- content: getI18n('vxe.select.close'),
55864
+ content: select_getI18n('vxe.select.close'),
55759
55865
  mode: 'text'
55760
55866
  },
55761
55867
  on: {
55762
55868
  click: $xeSelect.closePanelEvent
55763
55869
  }
55764
- })]) : renderEmptyElement($xeSelect)])]) : renderEmptyElement($xeSelect)])] : [])]);
55870
+ })]) : select_renderEmptyElement($xeSelect)])]) : select_renderEmptyElement($xeSelect)])] : [])]);
55765
55871
  }
55766
55872
  },
55767
55873
  watch: {
@@ -55776,6 +55882,47 @@ function select_createInternalData() {
55776
55882
  optionGroups: function optionGroups(val) {
55777
55883
  var $xeSelect = this;
55778
55884
  $xeSelect.loadData(val);
55885
+ },
55886
+ computeIsVScrollbar: function computeIsVScrollbar() {
55887
+ var $xeSelect = this;
55888
+ $xeSelect.$nextTick(function () {
55889
+ $xeSelect.bindScrollbarResize();
55890
+ $xeSelect.$nextTick(function () {
55891
+ $xeSelect.reLayoutFlag++;
55892
+ });
55893
+ });
55894
+ },
55895
+ computeScrollYWidth: function computeScrollYWidth() {
55896
+ var $xeSelect = this;
55897
+ $xeSelect.reLayoutFlag++;
55898
+ },
55899
+ computeScrollXHeight: function computeScrollXHeight() {
55900
+ var $xeSelect = this;
55901
+ $xeSelect.reLayoutFlag++;
55902
+ },
55903
+ computeScrollXVisible: function computeScrollXVisible() {
55904
+ var $xeSelect = this;
55905
+ $xeSelect.$nextTick(function () {
55906
+ $xeSelect.reLayoutFlag++;
55907
+ });
55908
+ },
55909
+ computeScrollYVisible: function computeScrollYVisible() {
55910
+ var $xeSelect = this;
55911
+ $xeSelect.$nextTick(function () {
55912
+ $xeSelect.reLayoutFlag++;
55913
+ });
55914
+ },
55915
+ reLayoutFlag: function reLayoutFlag() {
55916
+ var $xeSelect = this;
55917
+ $xeSelect.recalculate().then(function () {
55918
+ $xeSelect.recalculate();
55919
+ });
55920
+ },
55921
+ reScrollFlag: function reScrollFlag() {
55922
+ var $xeSelect = this;
55923
+ $xeSelect.updateScrollbar().then(function () {
55924
+ $xeSelect.updateScrollbar();
55925
+ });
55779
55926
  }
55780
55927
  },
55781
55928
  created: function created() {
@@ -55794,23 +55941,30 @@ function select_createInternalData() {
55794
55941
  $xeSelect.loadData(options);
55795
55942
  }
55796
55943
  });
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);
55944
+ $xeSelect.reLayoutFlag++;
55945
+ $xeSelect.bindScrollbarResize();
55946
+ select_globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
55947
+ select_globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
55948
+ select_globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
55949
+ select_globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
55950
+ select_globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
55802
55951
  },
55803
55952
  beforeDestroy: function beforeDestroy() {
55804
55953
  var $xeSelect = this;
55954
+ var internalData = $xeSelect.internalData;
55955
+ var scrollObserver = internalData.scrollObserver;
55805
55956
  var panelElem = $xeSelect.$refs.refOptionPanel;
55806
55957
  if (panelElem && panelElem.parentNode) {
55807
55958
  panelElem.parentNode.removeChild(panelElem);
55808
55959
  }
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');
55960
+ if (scrollObserver) {
55961
+ scrollObserver.disconnect();
55962
+ }
55963
+ select_globalEvents.off($xeSelect, 'mousedown');
55964
+ select_globalEvents.off($xeSelect, 'keydown');
55965
+ select_globalEvents.off($xeSelect, 'blur');
55966
+ select_globalEvents.off($xeSelect, 'resize');
55967
+ select_globalEvents.off($xeSelect, 'scroll');
55814
55968
  },
55815
55969
  destroyed: function destroyed() {
55816
55970
  var $xeSelect = this;
@@ -66302,14 +66456,11 @@ var tree_createComponentLog = createComponentLog('tree'),
66302
66456
  tree_warnLog = tree_createComponentLog.warnLog,
66303
66457
  tree_errLog = tree_createComponentLog.errLog;
66304
66458
  var tree_menus = VxeUI.menus,
66305
- tree_scrollbarUtils = VxeUI.scrollbarUtils,
66306
66459
  tree_getConfig = VxeUI.getConfig,
66307
66460
  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;
66461
+ tree_getIcon = VxeUI.getIcon,
66462
+ tree_baseUtils = VxeUI.baseUtils;
66463
+ var tree_getDefVal = tree_baseUtils.getDefVal;
66313
66464
  var crossTreeDragNodeObj = null;
66314
66465
  /**
66315
66466
  * 生成节点的唯一主键
@@ -66865,7 +67016,7 @@ function tree_createInternalData() {
66865
67016
  }
66866
67017
  /* harmony default export */ var tree = (/* define-vxe-component start */defineVxeComponent({
66867
67018
  name: 'VxeTree',
66868
- mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin],
67019
+ mixins: [globalMixins.sizeMixin, globalMixins.vScrollbarMixin, globalMixins.initVScrollbarMixin],
66869
67020
  props: {
66870
67021
  data: Array,
66871
67022
  autoResize: {
@@ -67045,7 +67196,7 @@ function tree_createInternalData() {
67045
67196
  useScrollbar: {
67046
67197
  type: Boolean,
67047
67198
  default: function _default() {
67048
- return getDefaultConfig(tree_getConfig().tree.useScrollbar, tree_getConfig().useScrollbar);
67199
+ return tree_getDefVal(tree_getConfig().tree.useScrollbar, tree_getConfig().useScrollbar);
67049
67200
  }
67050
67201
  },
67051
67202
  scrollbarConfig: Object
@@ -67241,37 +67392,37 @@ function tree_createInternalData() {
67241
67392
  var $xeTree = this;
67242
67393
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67243
67394
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67244
- return getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
67395
+ return tree_getDefVal(tree_getDefVal(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
67245
67396
  },
67246
67397
  computeScrollYWidth: function computeScrollYWidth() {
67247
67398
  var $xeTree = this;
67248
67399
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67249
67400
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67250
- return getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
67401
+ return tree_getDefVal(tree_getDefVal(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
67251
67402
  },
67252
67403
  computeScrollXVisible: function computeScrollXVisible() {
67253
67404
  var $xeTree = this;
67254
67405
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67255
67406
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67256
- return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
67407
+ return tree_getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
67257
67408
  },
67258
67409
  computeScrollYVisible: function computeScrollYVisible() {
67259
67410
  var $xeTree = this;
67260
67411
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67261
67412
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67262
- return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
67413
+ return tree_getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
67263
67414
  },
67264
67415
  computeScrollXAutoHide: function computeScrollXAutoHide() {
67265
67416
  var $xeTree = this;
67266
67417
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67267
67418
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
67268
- return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67419
+ return tree_getDefVal(tree_getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67269
67420
  },
67270
67421
  computeScrollYAutoHide: function computeScrollYAutoHide() {
67271
67422
  var $xeTree = this;
67272
67423
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
67273
67424
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
67274
- return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67425
+ return tree_getDefVal(tree_getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
67275
67426
  },
67276
67427
  computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
67277
67428
  var $xeTree = this;
@@ -67308,6 +67459,11 @@ function tree_createInternalData() {
67308
67459
  $tree: $xeTree
67309
67460
  }, params));
67310
67461
  },
67462
+ getScrollViewElem: function getScrollViewElem() {
67463
+ var $xeTree = this;
67464
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
67465
+ return viewEl || null;
67466
+ },
67311
67467
  getNodeId: function getNodeId(node) {
67312
67468
  var $xeTree = this;
67313
67469
  if (!node) {
@@ -69839,188 +69995,6 @@ function tree_createInternalData() {
69839
69995
  }
69840
69996
  }
69841
69997
  },
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
69998
  //
70025
69999
  // Render
70026
70000
  //