bkui-vue 2.0.1-beta.39.table.2 → 2.0.1-beta.40

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