bkui-vue 2.0.1-beta.34 → 2.0.1-beta.34.scrollbar.1

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 (41) hide show
  1. package/dist/index.cjs.js +57 -57
  2. package/dist/index.esm.js +14138 -14147
  3. package/dist/index.umd.js +58 -58
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/index.js +1 -1
  7. package/lib/scrollbar/handlers/click-rail.d.ts +2 -0
  8. package/lib/scrollbar/handlers/drag-thumb.d.ts +1 -0
  9. package/lib/scrollbar/handlers/keyboard.d.ts +2 -0
  10. package/lib/scrollbar/handlers/mouse-wheel.d.ts +2 -0
  11. package/lib/scrollbar/handlers/touch.d.ts +4 -0
  12. package/lib/scrollbar/helper/class-names.d.ts +21 -0
  13. package/lib/scrollbar/helper/css.d.ts +3 -0
  14. package/lib/scrollbar/helper/dom.d.ts +4 -0
  15. package/lib/scrollbar/helper/event-manager.d.ts +20 -0
  16. package/lib/scrollbar/helper/util.d.ts +11 -0
  17. package/lib/scrollbar/index.d.ts +129 -12
  18. package/lib/scrollbar/index.js +1336 -18488
  19. package/lib/scrollbar/process-scroll-diff.d.ts +1 -0
  20. package/lib/scrollbar/update-geometry.d.ts +8 -0
  21. package/lib/table/table.css +93 -82
  22. package/lib/table/table.variable.css +93 -82
  23. package/lib/tree/tree.css +94 -83
  24. package/lib/tree/tree.variable.css +94 -83
  25. package/lib/virtual-render/index.d.ts +0 -23
  26. package/lib/virtual-render/index.js +54 -106
  27. package/lib/virtual-render/props.d.ts +0 -6
  28. package/lib/virtual-render/use-scrollbar.d.ts +3 -17
  29. package/lib/virtual-render/virtual-render.css +93 -82
  30. package/lib/virtual-render/virtual-render.d.ts +2 -13
  31. package/lib/virtual-render/virtual-render.less +2 -11
  32. package/lib/virtual-render/virtual-render.variable.css +93 -82
  33. package/package.json +1 -1
  34. package/lib/scrollbar/scrollbar-core/can-use-dom.d.ts +0 -2
  35. package/lib/scrollbar/scrollbar-core/helpers.d.ts +0 -5
  36. package/lib/scrollbar/scrollbar-core/index.d.ts +0 -242
  37. package/lib/scrollbar/scrollbar-core/mouse-wheel.d.ts +0 -5
  38. package/lib/scrollbar/scrollbar-core/scrollbar-width.d.ts +0 -1
  39. package/lib/scrollbar/scrollbar.css +0 -224
  40. package/lib/scrollbar/scrollbar.less +0 -119
  41. package/lib/scrollbar/scrollbar.variable.css +0 -484
@@ -535,111 +535,122 @@
535
535
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
536
536
  border-radius: 4px;
537
537
  }
538
- .bk-scrollbar-wrapper {
539
- position: relative;
540
- overflow: hidden;
541
- }
542
- .bk-scrollbar-wrapper .bk-scrollbar-content-el {
543
- display: inline-flex;
544
- flex-direction: column;
545
- width: 100%;
538
+ /*
539
+ * Container style
540
+ */
541
+ .bk-scrollbar {
542
+ overflow: hidden !important;
543
+ overflow-anchor: none;
544
+ touch-action: auto;
545
+ /*
546
+ * Scrollbar rail styles
547
+ */
548
+ /*
549
+ * Scrollbar thumb styles
550
+ */
551
+ }
552
+ .bk-scrollbar.bk--active-x > .bk__rail-x,
553
+ .bk-scrollbar.bk--active-y > .bk__rail-y {
554
+ display: block;
555
+ }
556
+ .bk-scrollbar .bk__rail-x:hover,
557
+ .bk-scrollbar .bk__rail-y:hover,
558
+ .bk-scrollbar .bk__rail-x:focus,
559
+ .bk-scrollbar .bk__rail-y:focus,
560
+ .bk-scrollbar .bk__rail-x.bk--clicking,
561
+ .bk-scrollbar .bk__rail-y.bk--clicking {
562
+ background-color: #f0f1f5;
546
563
  }
547
- .bk-scrollbar-wrapper .bk-scrollbar-track {
548
- z-index: 1;
564
+ .bk-scrollbar .bk__rail-x {
565
+ display: none;
566
+ opacity: 0;
567
+ transition: background-color 0.2s linear, opacity 0.2s linear;
568
+ height: 10px;
569
+ bottom: 0px;
549
570
  position: absolute;
550
- right: 0;
551
- bottom: 0;
552
- pointer-events: none;
553
- overflow: hidden;
554
- }
555
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical {
556
- width: 6px;
557
- }
558
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical.bk-scrollbar-hover {
559
- width: 8px;
571
+ margin-bottom: 2px;
560
572
  }
561
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal {
562
- height: 6px;
563
- }
564
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal.bk-scrollbar-hover {
573
+ .bk-scrollbar .bk__rail-x.bk-size-small {
565
574
  height: 8px;
566
575
  }
567
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
568
- background-color: #f0f1f5;
569
- cursor: pointer;
576
+ .bk-scrollbar .bk__rail-x.bk-size-small .bk__thumb-x {
577
+ height: 6px;
570
578
  }
571
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
572
- background-color: #979ba5;
579
+ .bk-scrollbar .bk__rail-y {
580
+ display: none;
581
+ opacity: 0;
582
+ transition: background-color 0.2s linear, opacity 0.2s linear;
583
+ width: 10px;
584
+ right: 0px;
585
+ position: absolute;
586
+ margin-right: 2px;
573
587
  }
574
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
575
- top: 0;
588
+ .bk-scrollbar .bk__rail-y.bk-size-small {
576
589
  width: 8px;
577
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
578
590
  }
579
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical.bk-scrollbar-hover {
580
- width: 10px;
591
+ .bk-scrollbar .bk__rail-y.bk-size-small .bk__thumb-y {
592
+ width: 6px;
581
593
  }
582
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
583
- left: 0;
594
+ .bk-scrollbar:hover > .bk__rail-x,
595
+ .bk-scrollbar:hover > .bk__rail-y,
596
+ .bk-scrollbar.bk--focus > .bk__rail-x,
597
+ .bk-scrollbar.bk--focus > .bk__rail-y,
598
+ .bk-scrollbar.bk--scrolling-x > .bk__rail-x,
599
+ .bk-scrollbar.bk--scrolling-y > .bk__rail-y {
600
+ opacity: 0.9;
601
+ }
602
+ .bk-scrollbar .bk__thumb-x {
603
+ background-color: #dcdee5;
604
+ border-radius: 8px;
605
+ transition: background-color 0.2s linear, height 0.2s ease-in-out;
584
606
  height: 8px;
585
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
607
+ bottom: 0px;
608
+ position: absolute;
586
609
  }
587
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar-hover {
610
+ .bk-scrollbar .bk__thumb-y {
611
+ background-color: #dcdee5;
612
+ border-radius: 8px;
613
+ transition: background-color 0.2s linear, width 0.2s ease-in-out;
614
+ width: 8px;
615
+ right: 0px;
616
+ position: absolute;
617
+ }
618
+ .bk-scrollbar .bk__rail-x:hover > .bk__thumb-x,
619
+ .bk-scrollbar .bk__rail-x:focus > .bk__thumb-x,
620
+ .bk-scrollbar .bk__rail-x.bk--clicking .bk__thumb-x {
621
+ background-color: #979ba5;
588
622
  height: 10px;
589
623
  }
590
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
591
- right: auto;
592
- left: 0;
593
- top: 0;
594
- bottom: 0;
595
- min-height: 0;
596
- min-width: 8px;
597
- width: auto;
624
+ .bk-scrollbar .bk__rail-y:hover > .bk__thumb-y,
625
+ .bk-scrollbar .bk__rail-y:focus > .bk__thumb-y,
626
+ .bk-scrollbar .bk__rail-y.bk--clicking .bk__thumb-y {
627
+ background-color: #979ba5;
628
+ width: 10px;
598
629
  }
599
- .bk-scrollbar-wrapper .bk-scrollbar-dragging {
600
- pointer-events: none;
601
- -webkit-touch-callout: none;
602
- -webkit-user-select: none;
603
- -khtml-user-select: none;
604
- -moz-user-select: none;
605
- -ms-user-select: none;
606
- user-select: none;
630
+ .bk-scrollbar .bk-size-small > .bk__thumb-x,
631
+ .bk-scrollbar .bk-size-small > .bk__thumb-x,
632
+ .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-x {
633
+ height: 8px;
607
634
  }
608
- .bk-scrollbar-wrapper .bk-scrollbar {
609
- position: absolute;
610
- left: 0;
611
- right: 0;
612
- top: 0;
613
- bottom: 0;
635
+ .bk-scrollbar .bk-size-small:hover > .bk__thumb-y,
636
+ .bk-scrollbar .bk-size-small:focus > .bk__thumb-y,
637
+ .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-y {
638
+ width: 8px;
614
639
  }
615
- .bk-scrollbar-wrapper .bk-scrollbar::before {
616
- position: absolute;
617
- content: '';
618
- background: #dcdee5;
619
- border-radius: 6px;
620
- left: 0;
621
- right: 0;
622
- top: 0;
623
- bottom: 0;
624
- opacity: 0;
625
- transition: opacity 0.2s 0.9s linear;
640
+ /* MS supports */
641
+ @supports (-ms-overflow-style: none) {
642
+ .bk-scrollbar {
643
+ overflow: auto !important;
644
+ }
626
645
  }
627
- .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
628
- opacity: 0.9;
629
- transition-delay: 0s;
630
- transition-duration: 0s;
646
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
647
+ .bk-scrollbar {
648
+ overflow: auto !important;
649
+ }
631
650
  }
632
651
  .bk-virtual-render {
633
652
  position: relative;
634
653
  }
635
- .bk-virtual-render .bk-virtual-content {
636
- position: absolute;
637
- top: 0;
638
- bottom: 0;
639
- left: 0;
640
- width: 100%;
641
- height: 100%;
642
- }
643
654
  .bk-virtual-render .bk-virtual-section {
644
655
  width: 1px;
645
656
  background: transparent;
@@ -89,11 +89,6 @@ declare const BkVirtualRender: {
89
89
  } & {
90
90
  default: string;
91
91
  };
92
- contentAs: import("vue-types").VueTypeValidableDef<string> & {
93
- default: string;
94
- } & {
95
- default: string;
96
- };
97
92
  scrollOffsetTop: import("vue-types").VueTypeValidableDef<number> & {
98
93
  default: number;
99
94
  } & {
@@ -230,11 +225,6 @@ declare const BkVirtualRender: {
230
225
  } & {
231
226
  default: string;
232
227
  };
233
- contentAs: import("vue-types").VueTypeValidableDef<string> & {
234
- default: string;
235
- } & {
236
- default: string;
237
- };
238
228
  scrollOffsetTop: import("vue-types").VueTypeValidableDef<number> & {
239
229
  default: number;
240
230
  } & {
@@ -302,7 +292,6 @@ declare const BkVirtualRender: {
302
292
  groupItemCount: number;
303
293
  preloadItemCount: number;
304
294
  renderAs: string;
305
- contentAs: string;
306
295
  scrollOffsetTop: number;
307
296
  scrollPosition: string;
308
297
  abosuteHeight: string | number;
@@ -413,11 +402,6 @@ declare const BkVirtualRender: {
413
402
  } & {
414
403
  default: string;
415
404
  };
416
- contentAs: import("vue-types").VueTypeValidableDef<string> & {
417
- default: string;
418
- } & {
419
- default: string;
420
- };
421
405
  scrollOffsetTop: import("vue-types").VueTypeValidableDef<number> & {
422
406
  default: number;
423
407
  } & {
@@ -487,7 +471,6 @@ declare const BkVirtualRender: {
487
471
  groupItemCount: number;
488
472
  preloadItemCount: number;
489
473
  renderAs: string;
490
- contentAs: string;
491
474
  scrollOffsetTop: number;
492
475
  scrollPosition: string;
493
476
  abosuteHeight: string | number;
@@ -590,11 +573,6 @@ declare const BkVirtualRender: {
590
573
  } & {
591
574
  default: string;
592
575
  };
593
- contentAs: import("vue-types").VueTypeValidableDef<string> & {
594
- default: string;
595
- } & {
596
- default: string;
597
- };
598
576
  scrollOffsetTop: import("vue-types").VueTypeValidableDef<number> & {
599
577
  default: number;
600
578
  } & {
@@ -664,7 +642,6 @@ declare const BkVirtualRender: {
664
642
  groupItemCount: number;
665
643
  preloadItemCount: number;
666
644
  renderAs: string;
667
- contentAs: string;
668
645
  scrollOffsetTop: number;
669
646
  scrollPosition: string;
670
647
  abosuteHeight: string | number;
@@ -3,8 +3,8 @@ import "./virtual-render.less";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__ from "../config-provider";
6
- import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
7
6
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__ from "../scrollbar";
7
+ import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
8
8
  /******/ var __webpack_modules__ = ({
9
9
 
10
10
  /***/ 6635:
@@ -17388,6 +17388,10 @@ const external_vue_namespaceObject = external_vue_x({ ["computed"]: () => __WEBP
17388
17388
  var config_provider_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
17389
17389
  var config_provider_y = x => () => x
17390
17390
  const config_provider_namespaceObject = config_provider_x({ ["usePrefix"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__.usePrefix });
17391
+ ;// CONCATENATED MODULE: external "../scrollbar"
17392
+ var scrollbar_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
17393
+ var scrollbar_y = x => () => x
17394
+ const scrollbar_namespaceObject = scrollbar_x({ ["VirtualElement"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__.VirtualElement, ["default"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__["default"] });
17391
17395
  ;// CONCATENATED MODULE: external "vue-types"
17392
17396
  var external_vue_types_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
17393
17397
  var external_vue_types_y = x => () => x
@@ -17481,8 +17485,6 @@ var virtualRenderProps = _objectSpread({
17481
17485
  preloadItemCount: shared_namespaceObject.PropTypes.number.def(1),
17482
17486
  /** 外层Dom元素需要渲染成的目标元素 */
17483
17487
  renderAs: shared_namespaceObject.PropTypes.string.def('div'),
17484
- /** 内容层渲染成目标元素 */
17485
- contentAs: shared_namespaceObject.PropTypes.string.def('div'),
17486
17488
  /** top 滚动填充 */
17487
17489
  scrollOffsetTop: shared_namespaceObject.PropTypes.number.def(0),
17488
17490
  /**
@@ -17585,10 +17587,6 @@ var virtualRenderProps = _objectSpread({
17585
17587
  fixToTop: fixToTop
17586
17588
  };
17587
17589
  });
17588
- ;// CONCATENATED MODULE: external "../scrollbar"
17589
- var scrollbar_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
17590
- var scrollbar_y = x => () => x
17591
- const scrollbar_namespaceObject = scrollbar_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__["default"] });
17592
17590
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-scrollbar.tsx
17593
17591
  /*
17594
17592
  * Tencent is pleased to support the open source community by making
@@ -17616,67 +17614,32 @@ const scrollbar_namespaceObject = scrollbar_x({ ["default"]: () => __WEBPACK_EXT
17616
17614
  * IN THE SOFTWARE.
17617
17615
  */
17618
17616
 
17619
-
17620
- /* harmony default export */ const use_scrollbar = (function (target, props) {
17621
- var _props$scrollbar$size, _props$scrollbar;
17617
+ /* harmony default export */ const use_scrollbar = (function (props) {
17622
17618
  var instance = null;
17623
- var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
17624
- resolveClassName = _usePrefix.resolveClassName;
17625
- var classNames = {
17626
- contentEl: resolveClassName('scrollbar-content-el'),
17627
- wrapper: resolveClassName('scrollbar-wrapper'),
17628
- scrollbar: resolveClassName('scrollbar'),
17629
- track: "".concat(resolveClassName('scrollbar-track'), " track-").concat((_props$scrollbar$size = (_props$scrollbar = props.scrollbar) === null || _props$scrollbar === void 0 ? void 0 : _props$scrollbar.size) !== null && _props$scrollbar$size !== void 0 ? _props$scrollbar$size : 'normal'),
17630
- visible: resolveClassName('scrollbar-visible'),
17631
- horizontal: resolveClassName('scrollbar-horizontal'),
17632
- vertical: resolveClassName('scrollbar-vertical'),
17633
- hover: resolveClassName('scrollbar-hover'),
17634
- dragging: resolveClassName('scrollbar-dragging'),
17635
- scrolling: resolveClassName('scrollbar-scrolling'),
17636
- scrollable: resolveClassName('scrollbar-scrollable'),
17637
- mouseEntered: resolveClassName('scrollbar-mouse-entered')
17638
- };
17639
- var init = function init(scrollFn, delegateXContent, delegateYContent) {
17619
+ var init = function init(target) {
17620
+ var _props$scrollbar;
17640
17621
  instance = new scrollbar_namespaceObject["default"](target.value, {
17641
- classNames: classNames,
17642
- wrapperNode: target.value,
17643
- scrollDelegate: {
17644
- scrollHeight: null,
17645
- scrollWidth: null
17646
- },
17647
- useSystemScrollYBehavior: !props.enabled,
17648
- useSystemScrollXBehavior: true,
17649
- delegateXContent: delegateXContent,
17650
- delegateYContent: delegateYContent,
17651
- onScrollCallback: scrollFn
17622
+ scrollingThreshold: 120,
17623
+ scrollSize: (_props$scrollbar = props.scrollbar) === null || _props$scrollbar === void 0 ? void 0 : _props$scrollbar.size
17652
17624
  });
17653
17625
  };
17654
17626
  var scrollTo = function scrollTo(x, y) {
17655
- var _props$scrollbar2;
17656
- if ((_props$scrollbar2 = props.scrollbar) !== null && _props$scrollbar2 !== void 0 && _props$scrollbar2.enabled) {
17657
- instance.scrollTo({
17658
- left: x,
17659
- top: y
17660
- });
17661
- return;
17662
- }
17663
- target.value.scrollTo(x, y);
17627
+ instance.scrollTo({
17628
+ left: x,
17629
+ top: y
17630
+ });
17664
17631
  };
17665
17632
  var updateScrollHeight = function updateScrollHeight(height) {
17666
- var _instance, _instance2;
17667
- (_instance = instance) === null || _instance === void 0 || _instance.setOptions({
17668
- scrollDelegate: {
17669
- scrollHeight: height,
17670
- scrollWidth: null
17671
- }
17672
- });
17673
- (_instance2 = instance) === null || _instance2 === void 0 || _instance2.recalculate();
17633
+ var _instance;
17634
+ if ((_instance = instance) !== null && _instance !== void 0 && _instance.element) {
17635
+ instance.element.scrollHeight = height;
17636
+ instance.update();
17637
+ }
17674
17638
  };
17675
17639
  return {
17676
17640
  init: init,
17677
17641
  instance: instance,
17678
17642
  scrollTo: scrollTo,
17679
- classNames: classNames,
17680
17643
  updateScrollHeight: updateScrollHeight
17681
17644
  };
17682
17645
  });
@@ -17811,7 +17774,10 @@ var VisibleRender = /*#__PURE__*/function () {
17811
17774
  if (scrollbar.enabled) {
17812
17775
  var _event$offset;
17813
17776
  return {
17814
- offset: (_event$offset = event.offset) !== null && _event$offset !== void 0 ? _event$offset : event
17777
+ offset: (_event$offset = event.offset) !== null && _event$offset !== void 0 ? _event$offset : {
17778
+ x: event.target.scrollLeft,
17779
+ y: event.target.scrollTop
17780
+ }
17815
17781
  };
17816
17782
  }
17817
17783
  if (event !== null && event !== void 0 && event.offset) {
@@ -17949,21 +17915,15 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
17949
17915
 
17950
17916
 
17951
17917
  /* harmony default export */ const use_tag_render = (function (props, ctx) {
17952
- var renderAs = props.renderAs,
17953
- contentAs = props.contentAs;
17918
+ var renderAs = props.renderAs;
17954
17919
  var refRoot = (0,external_vue_namespaceObject.ref)(null);
17955
- var refContent = (0,external_vue_namespaceObject.ref)(null);
17956
- var _useScrollbar = use_scrollbar(refRoot, props),
17920
+ var _useScrollbar = use_scrollbar(props),
17957
17921
  init = _useScrollbar.init,
17958
- scrollTo = _useScrollbar.scrollTo,
17959
- classNames = _useScrollbar.classNames;
17922
+ scrollTo = _useScrollbar.scrollTo;
17960
17923
  var contentStyle = (0,external_vue_namespaceObject.reactive)({
17961
17924
  x: 0,
17962
17925
  y: 0
17963
17926
  });
17964
- var computedStyle = (0,external_vue_namespaceObject.computed)(function () {
17965
- return use_tag_render_objectSpread({}, props.contentStyle);
17966
- });
17967
17927
  /** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
17968
17928
  var handleScrollCallback = function handleScrollCallback(event, _startIndex, _endIndex, _scrollTop, translateY, scrollLeft, pos) {
17969
17929
  var scrollbar = pos.scrollbar;
@@ -18005,14 +17965,13 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18005
17965
  scrollTo: scrollTo,
18006
17966
  fixToTop: fixToTop,
18007
17967
  refRoot: refRoot,
18008
- refContent: refContent
17968
+ refContent: refRoot
18009
17969
  });
18010
17970
  (0,external_vue_namespaceObject.onMounted)(function () {
18011
17971
  var _props$scrollbar;
18012
17972
  renderInstance = new VisibleRender(binding, refRoot.value);
18013
17973
  if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
18014
- init(renderInstance.executeThrottledRender.bind(renderInstance));
18015
- return;
17974
+ init(refRoot);
18016
17975
  }
18017
17976
  renderInstance.install();
18018
17977
  });
@@ -18022,16 +17981,10 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18022
17981
  });
18023
17982
  var wrapperClassNames = (0,external_vue_namespaceObject.computed)(function () {
18024
17983
  if (props.scrollbar.enabled) {
18025
- return [props.className, classNames.wrapper];
17984
+ return [props.className];
18026
17985
  }
18027
17986
  return [props.className];
18028
17987
  });
18029
- var contentClassNames = (0,external_vue_namespaceObject.computed)(function () {
18030
- if (props.scrollbar.enabled) {
18031
- return [props.contentClassName, classNames.contentEl];
18032
- }
18033
- return [props.contentClassName];
18034
- });
18035
17988
  return {
18036
17989
  rendAsTag: function rendAsTag() {
18037
17990
  var _ctx$slots$beforeCont, _ctx$slots$beforeCont2, _ctx$slots, _ctx$slots$default, _ctx$slots$default2, _ctx$slots2, _ctx$slots$afterConte, _ctx$slots$afterConte2, _ctx$slots3, _ctx$slots$afterSecti, _ctx$slots$afterSecti2, _ctx$slots4;
@@ -18041,13 +17994,9 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18041
17994
  "class": wrapperClassNames.value,
18042
17995
  style: wrapperStyle.value,
18043
17996
  ref: refRoot
18044
- }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs, {
18045
- "class": contentClassNames.value,
18046
- style: computedStyle.value,
18047
- ref: refContent
18048
- }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
17997
+ }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
18049
17998
  data: props.list
18050
- })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
17999
+ })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '', (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
18051
18000
  }
18052
18001
  };
18053
18002
  });
@@ -18094,6 +18043,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18094
18043
 
18095
18044
 
18096
18045
 
18046
+
18097
18047
  /* harmony default export */ const virtual_render = ((0,external_vue_namespaceObject.defineComponent)({
18098
18048
  name: 'VirtualRender',
18099
18049
  directives: {
@@ -18104,8 +18054,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18104
18054
  slots: Object,
18105
18055
  setup: function setup(props, ctx) {
18106
18056
  var _this = this;
18107
- var renderAs = props.renderAs,
18108
- contentAs = props.contentAs;
18057
+ var renderAs = props.renderAs;
18109
18058
  var resolvePropClassName = function resolvePropClassName(prop) {
18110
18059
  if (typeof prop === 'string') {
18111
18060
  return [prop];
@@ -18130,11 +18079,14 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18130
18079
  };
18131
18080
  });
18132
18081
  var refRoot = (0,external_vue_namespaceObject.ref)(null);
18133
- var refContent = (0,external_vue_namespaceObject.ref)(null);
18134
- var _useScrollbar = use_scrollbar(refRoot, props),
18082
+ /** 如果有分组状态,计算总行数 */
18083
+ var listLength = (0,external_vue_namespaceObject.ref)(0);
18084
+ /** 实际高度,根据行高和总行数计算出来的实际高度 */
18085
+ var innerHeight = (0,external_vue_namespaceObject.ref)(0);
18086
+ var virtualRoot = (0,external_vue_namespaceObject.ref)(null);
18087
+ var _useScrollbar = use_scrollbar(props),
18135
18088
  init = _useScrollbar.init,
18136
18089
  scrollTo = _useScrollbar.scrollTo,
18137
- classNames = _useScrollbar.classNames,
18138
18090
  updateScrollHeight = _useScrollbar.updateScrollHeight;
18139
18091
  var instance = null;
18140
18092
  var pagination = (0,external_vue_namespaceObject.reactive)({
@@ -18166,12 +18118,12 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18166
18118
  var total = localList.value.length;
18167
18119
  if (total < end) {
18168
18120
  end = total;
18169
- start = end - Math.floor(refContent.value.offsetHeight / props.lineHeight);
18121
+ start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18170
18122
  start = start < 0 ? 0 : start;
18171
18123
  }
18172
18124
  if (end > total) {
18173
18125
  end = total;
18174
- start = end - Math.floor(refContent.value.offsetHeight / props.lineHeight);
18126
+ start = end - Math.floor(refRoot.value.offsetHeight / props.lineHeight);
18175
18127
  }
18176
18128
  var value = localList.value.slice(start, end);
18177
18129
  calcList.value = value;
@@ -18183,7 +18135,12 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18183
18135
  var _props$scrollbar;
18184
18136
  instance = new VisibleRender(binding, refRoot.value);
18185
18137
  if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
18186
- init(instance.executeThrottledRender.bind(instance));
18138
+ virtualRoot.value = new scrollbar_namespaceObject.VirtualElement({
18139
+ delegateElement: refRoot.value,
18140
+ scrollHeight: innerHeight.value,
18141
+ onScollCallback: handleScrollBarCallback
18142
+ });
18143
+ init(virtualRoot);
18187
18144
  updateScrollHeight(contentHeight.value);
18188
18145
  instance.executeThrottledRender.call(instance, {
18189
18146
  offset: {
@@ -18203,10 +18160,6 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18203
18160
  /** 数据改变时激活当前表单,使其渲染DOM */
18204
18161
  handleListChanged(props.list);
18205
18162
  };
18206
- /** 如果有分组状态,计算总行数 */
18207
- var listLength = (0,external_vue_namespaceObject.ref)(0);
18208
- /** 实际高度,根据行高和总行数计算出来的实际高度 */
18209
- var innerHeight = (0,external_vue_namespaceObject.ref)(0);
18210
18163
  /**
18211
18164
  * 列表数据改变时,处理相关参数
18212
18165
  */
@@ -18276,10 +18229,6 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18276
18229
  var wrapperClass = (0,external_vue_namespaceObject.computed)(function () {
18277
18230
  return [resolveClassName('virtual-render')].concat(_toConsumableArray(resolvePropClassName(props.className)), [props.scrollPosition === 'container' ? resolveClassName('virtual-content') : '']);
18278
18231
  });
18279
- /** 内容区域样式列表 */
18280
- var innerClass = (0,external_vue_namespaceObject.computed)(function () {
18281
- return [props.scrollPosition === 'content' ? resolveClassName('virtual-content') : ''].concat(_toConsumableArray(resolvePropClassName(props.contentClassName)));
18282
- });
18283
18232
  /**
18284
18233
  * 重置当前配置
18285
18234
  * @param keepLastPostion
@@ -18323,23 +18272,22 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
18323
18272
  scrollTo: scrollTo,
18324
18273
  fixToTop: fixToTop,
18325
18274
  refRoot: refRoot,
18326
- refContent: refContent
18275
+ refContent: refRoot
18327
18276
  });
18277
+ var handleScrollBarCallback = function handleScrollBarCallback(args) {
18278
+ instance.executeThrottledRender.call(instance, args);
18279
+ };
18328
18280
  return function () {
18329
18281
  var _ctx$slots$beforeCont, _ctx$slots$beforeCont2, _ctx$slots, _ctx$slots$default, _ctx$slots$default2, _ctx$slots2, _ctx$slots$afterConte, _ctx$slots$afterConte2, _ctx$slots3, _ctx$slots$afterSecti, _ctx$slots$afterSecti2, _ctx$slots4;
18330
18282
  return (0,external_vue_namespaceObject.h)(
18331
18283
  // @ts-ignore:next-line
18332
18284
  renderAs || 'div', {
18333
18285
  ref: refRoot,
18334
- "class": [].concat(_toConsumableArray(wrapperClass.value), [classNames.wrapper]),
18286
+ "class": _toConsumableArray(wrapperClass.value),
18335
18287
  style: wrapperStyle.value
18336
- }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs || 'div', {
18337
- ref: refContent,
18338
- "class": [].concat(_toConsumableArray(innerClass.value), [classNames.contentEl]),
18339
- style: virtual_render_objectSpread(virtual_render_objectSpread({}, innerContentStyle.value), props.contentStyle)
18340
- }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
18288
+ }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
18341
18289
  data: calcList.value
18342
- })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
18290
+ })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '', (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
18343
18291
  };
18344
18292
  }
18345
18293
  }));
@@ -131,12 +131,6 @@ export declare const virtualRenderProps: {
131
131
  } & {
132
132
  default: string;
133
133
  };
134
- /** 内容层渲染成目标元素 */
135
- contentAs: import("vue-types").VueTypeValidableDef<string> & {
136
- default: string;
137
- } & {
138
- default: string;
139
- };
140
134
  /** top 滚动填充 */
141
135
  scrollOffsetTop: import("vue-types").VueTypeValidableDef<number> & {
142
136
  default: number;
@@ -1,24 +1,10 @@
1
1
  import { Ref } from 'vue';
2
- import BkScrollbar from '../scrollbar';
2
+ import BkScrollbar, { VirtualElement } from '../scrollbar';
3
3
  import { VirtualRenderProps } from './props';
4
- declare const _default: (target: Ref<HTMLElement>, props: VirtualRenderProps) => {
5
- init: (scrollFn?: any, delegateXContent?: any, delegateYContent?: any) => void;
4
+ declare const _default: (props: VirtualRenderProps) => {
5
+ init: (target: Ref<Partial<HTMLElement> & Partial<VirtualElement>>) => void;
6
6
  instance: BkScrollbar;
7
7
  scrollTo: (x: any, y: any) => void;
8
- classNames: {
9
- contentEl: string;
10
- wrapper: string;
11
- scrollbar: string;
12
- track: string;
13
- visible: string;
14
- horizontal: string;
15
- vertical: string;
16
- hover: string;
17
- dragging: string;
18
- scrolling: string;
19
- scrollable: string;
20
- mouseEntered: string;
21
- };
22
8
  updateScrollHeight: (height: number) => void;
23
9
  };
24
10
  export default _default;