bkui-vue 2.0.1-beta.34.scrollbar.2 → 2.0.1-beta.35

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 (48) hide show
  1. package/dist/index.cjs.js +57 -57
  2. package/dist/index.esm.js +15097 -15077
  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/index.d.ts +12 -129
  8. package/lib/scrollbar/index.js +18490 -1338
  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/scrollbar.css +75 -91
  15. package/lib/scrollbar/scrollbar.less +91 -111
  16. package/lib/scrollbar/scrollbar.variable.css +74 -90
  17. package/lib/styles/index.d.ts +0 -1
  18. package/lib/table/hooks/use-pagination.d.ts +1 -1
  19. package/lib/table/index.js +21 -10
  20. package/lib/table/props.d.ts +5 -2
  21. package/lib/table/table.css +85 -90
  22. package/lib/table/table.less +4 -0
  23. package/lib/table/table.variable.css +85 -90
  24. package/lib/tree/index.js +31 -9
  25. package/lib/tree/tree.css +83 -91
  26. package/lib/tree/tree.variable.css +83 -91
  27. package/lib/tree/use-node-action.d.ts +2 -1
  28. package/lib/virtual-render/index.d.ts +23 -0
  29. package/lib/virtual-render/index.js +106 -54
  30. package/lib/virtual-render/props.d.ts +6 -0
  31. package/lib/virtual-render/use-scrollbar.d.ts +17 -3
  32. package/lib/virtual-render/virtual-render.css +82 -90
  33. package/lib/virtual-render/virtual-render.d.ts +13 -2
  34. package/lib/virtual-render/virtual-render.less +10 -1
  35. package/lib/virtual-render/virtual-render.variable.css +82 -90
  36. package/package.json +1 -1
  37. package/lib/scrollbar/handlers/click-rail.d.ts +0 -2
  38. package/lib/scrollbar/handlers/drag-thumb.d.ts +0 -1
  39. package/lib/scrollbar/handlers/keyboard.d.ts +0 -2
  40. package/lib/scrollbar/handlers/mouse-wheel.d.ts +0 -2
  41. package/lib/scrollbar/handlers/touch.d.ts +0 -4
  42. package/lib/scrollbar/helper/class-names.d.ts +0 -21
  43. package/lib/scrollbar/helper/css.d.ts +0 -3
  44. package/lib/scrollbar/helper/dom.d.ts +0 -4
  45. package/lib/scrollbar/helper/event-manager.d.ts +0 -20
  46. package/lib/scrollbar/helper/util.d.ts +0 -11
  47. package/lib/scrollbar/process-scroll-diff.d.ts +0 -1
  48. package/lib/scrollbar/update-geometry.d.ts +0 -8
@@ -388,113 +388,97 @@
388
388
  --select-active-color: #e1ecff;
389
389
  --select-hover-color: #f5f7fa;
390
390
  }
391
- .bk-scrollbar {
392
- overflow: hidden !important;
393
- overflow-anchor: none;
394
- touch-action: auto;
395
- /*
396
- * Scrollbar rail styles
397
- */
398
- /*
399
- * Scrollbar thumb styles
400
- */
391
+ .bk-scrollbar-wrapper {
392
+ position: relative;
393
+ overflow: hidden;
401
394
  }
402
- .bk-scrollbar.bk--active-x > .bk__rail-x,
403
- .bk-scrollbar.bk--active-y > .bk__rail-y {
404
- display: block;
395
+ .bk-scrollbar-wrapper .bk-scrollbar-content-el {
396
+ display: inline-flex;
397
+ flex-direction: column;
398
+ width: 100%;
405
399
  }
406
- .bk-scrollbar .bk__rail-x:hover,
407
- .bk-scrollbar .bk__rail-y:hover,
408
- .bk-scrollbar .bk__rail-x:focus,
409
- .bk-scrollbar .bk__rail-y:focus,
410
- .bk-scrollbar .bk__rail-x.bk--clicking,
411
- .bk-scrollbar .bk__rail-y.bk--clicking {
412
- background-color: #f0f1f5;
413
- }
414
- .bk-scrollbar .bk__rail-x {
415
- display: none;
416
- opacity: 0;
417
- transition: background-color 0.2s linear, opacity 0.2s linear;
418
- height: 10px;
419
- bottom: 0px;
400
+ .bk-scrollbar-wrapper .bk-scrollbar-track {
401
+ z-index: 1;
420
402
  position: absolute;
421
- margin-bottom: 2px;
403
+ right: 0;
404
+ bottom: 0;
405
+ pointer-events: none;
406
+ overflow: hidden;
422
407
  }
423
- .bk-scrollbar .bk__rail-x.bk-size-small {
424
- height: 8px;
425
- }
426
- .bk-scrollbar .bk__rail-x.bk-size-small .bk__thumb-x {
427
- height: 6px;
428
- }
429
- .bk-scrollbar .bk__rail-y {
430
- display: none;
431
- opacity: 0;
432
- transition: background-color 0.2s linear, opacity 0.2s linear;
433
- width: 10px;
434
- right: 0px;
435
- position: absolute;
436
- margin-right: 2px;
408
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical {
409
+ width: 6px;
437
410
  }
438
- .bk-scrollbar .bk__rail-y.bk-size-small {
411
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical.bk-scrollbar-hover {
439
412
  width: 8px;
440
413
  }
441
- .bk-scrollbar .bk__rail-y.bk-size-small .bk__thumb-y {
442
- width: 6px;
443
- }
444
- .bk-scrollbar:hover > .bk__rail-x,
445
- .bk-scrollbar:hover > .bk__rail-y,
446
- .bk-scrollbar.bk--focus > .bk__rail-x,
447
- .bk-scrollbar.bk--focus > .bk__rail-y,
448
- .bk-scrollbar.bk--scrolling-x > .bk__rail-x,
449
- .bk-scrollbar.bk--scrolling-y > .bk__rail-y {
450
- opacity: 0.9;
414
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal {
415
+ height: 6px;
451
416
  }
452
- .bk-scrollbar .bk__thumb-x {
453
- background-color: #dcdee5;
454
- border-radius: 8px;
455
- transition: background-color 0.2s linear, height 0.2s ease-in-out;
417
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal.bk-scrollbar-hover {
456
418
  height: 8px;
457
- bottom: 0px;
458
- position: absolute;
459
419
  }
460
- .bk-scrollbar .bk__thumb-y {
461
- background-color: #dcdee5;
462
- border-radius: 8px;
463
- transition: background-color 0.2s linear, width 0.2s ease-in-out;
464
- width: 8px;
465
- right: 0px;
466
- position: absolute;
420
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
421
+ background-color: #f0f1f5;
422
+ cursor: pointer;
467
423
  }
468
- .bk-scrollbar .bk__rail-x:hover > .bk__thumb-x,
469
- .bk-scrollbar .bk__rail-x:focus > .bk__thumb-x,
470
- .bk-scrollbar .bk__rail-x.bk--clicking .bk__thumb-x {
424
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
471
425
  background-color: #979ba5;
472
- height: 10px;
473
426
  }
474
- .bk-scrollbar .bk__rail-y:hover > .bk__thumb-y,
475
- .bk-scrollbar .bk__rail-y:focus > .bk__thumb-y,
476
- .bk-scrollbar .bk__rail-y.bk--clicking .bk__thumb-y {
477
- background-color: #979ba5;
427
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
428
+ top: 0;
429
+ width: 8px;
430
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
431
+ }
432
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical.bk-scrollbar-hover {
478
433
  width: 10px;
479
434
  }
480
- .bk-scrollbar .bk-size-small > .bk__thumb-x,
481
- .bk-scrollbar .bk-size-small > .bk__thumb-x,
482
- .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-x {
435
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
436
+ left: 0;
483
437
  height: 8px;
438
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
484
439
  }
485
- .bk-scrollbar .bk-size-small:hover > .bk__thumb-y,
486
- .bk-scrollbar .bk-size-small:focus > .bk__thumb-y,
487
- .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-y {
488
- width: 8px;
440
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar-hover {
441
+ height: 10px;
442
+ }
443
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
444
+ right: auto;
445
+ left: 0;
446
+ top: 0;
447
+ bottom: 0;
448
+ min-height: 0;
449
+ min-width: 8px;
450
+ width: auto;
451
+ }
452
+ .bk-scrollbar-wrapper .bk-scrollbar-dragging {
453
+ pointer-events: none;
454
+ -webkit-touch-callout: none;
455
+ -webkit-user-select: none;
456
+ -khtml-user-select: none;
457
+ -moz-user-select: none;
458
+ -ms-user-select: none;
459
+ user-select: none;
460
+ }
461
+ .bk-scrollbar-wrapper .bk-scrollbar {
462
+ position: absolute;
463
+ left: 0;
464
+ right: 0;
465
+ top: 0;
466
+ bottom: 0;
489
467
  }
490
- /* MS supports */
491
- @supports (-ms-overflow-style: none) {
492
- .bk-scrollbar {
493
- overflow: auto !important;
494
- }
468
+ .bk-scrollbar-wrapper .bk-scrollbar::before {
469
+ position: absolute;
470
+ content: '';
471
+ background: #dcdee5;
472
+ border-radius: 6px;
473
+ left: 0;
474
+ right: 0;
475
+ top: 0;
476
+ bottom: 0;
477
+ opacity: 0;
478
+ transition: opacity 0.2s 0.9s linear;
495
479
  }
496
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
497
- .bk-scrollbar {
498
- overflow: auto !important;
499
- }
480
+ .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
481
+ opacity: 0.9;
482
+ transition-delay: 0s;
483
+ transition-duration: 0s;
500
484
  }
@@ -56,4 +56,3 @@ import '../pop-confirm/pop-confirm.less';
56
56
  import '../image/image.less';
57
57
  import '../image/image-viewer.less';
58
58
  import '../overflow-title/overflow-title.less';
59
- import '../scrollbar/scrollbar.less';
@@ -9,7 +9,7 @@ declare const usePagination: (props: TablePropTypes) => {
9
9
  layout: string[];
10
10
  };
11
11
  isShowPagination: import("vue").ComputedRef<boolean>;
12
- setPagination: (option: Record<string, any>) => void;
12
+ setPagination: (option: Record<string, unknown>) => void;
13
13
  disabledPagination: (disable?: boolean) => void;
14
14
  };
15
15
  export type UsePagination = ReturnType<typeof usePagination>;
@@ -21533,7 +21533,7 @@ var usePagination = function usePagination(props) {
21533
21533
  * 判定条件:启用了分页组件 & 分页总数 > 1
21534
21534
  */
21535
21535
  var isShowPagination = (0,external_vue_namespaceObject.computed)(function () {
21536
- return pagination.enabled;
21536
+ return pagination.enabled && pagination.count > 0;
21537
21537
  });
21538
21538
  return {
21539
21539
  options: pagination,
@@ -21956,6 +21956,7 @@ const icon_namespaceObject = icon_x({ ["DownShape"]: () => __WEBPACK_EXTERNAL_MO
21956
21956
 
21957
21957
 
21958
21958
 
21959
+
21959
21960
  /* harmony default export */ const use_cell = (function (_ref) {
21960
21961
  var props = _ref.props,
21961
21962
  rows = _ref.rows,
@@ -22075,18 +22076,22 @@ const icon_namespaceObject = icon_x({ ["DownShape"]: () => __WEBPACK_EXTERNAL_MO
22075
22076
  if (typeof cell === 'boolean') {
22076
22077
  return String(cell);
22077
22078
  }
22078
- if (!cell && typeof cell !== 'number') {
22079
+ if (typeof_typeof(cell) === 'object') {
22080
+ return JSON.stringify((0,external_vue_namespaceObject.unref)(cell));
22081
+ }
22082
+ if ((0,lodash.isEmpty)(cell)) {
22079
22083
  var emptyCellText = props.emptyCellText;
22080
22084
  if (emptyCellText) {
22081
22085
  if (typeof emptyCellText === 'function') {
22082
- return emptyCellText(row, column, index, rows.tableRowList.value);
22086
+ return emptyCellText({
22087
+ row: row,
22088
+ column: column,
22089
+ index: index
22090
+ });
22083
22091
  }
22084
22092
  return emptyCellText;
22085
22093
  }
22086
22094
  }
22087
- if (typeof_typeof(cell) === 'object') {
22088
- return JSON.stringify((0,external_vue_namespaceObject.unref)(cell));
22089
- }
22090
22095
  return cell;
22091
22096
  };
22092
22097
  var renderFn = {
@@ -22748,7 +22753,10 @@ function use_head_isSlot(s) {
22748
22753
  var cellFn = config.cellFn;
22749
22754
  var getHeadCellText = function getHeadCellText() {
22750
22755
  if (typeof cellFn === 'function') {
22751
- return cellFn(index);
22756
+ return cellFn({
22757
+ index: index,
22758
+ column: column
22759
+ });
22752
22760
  }
22753
22761
  if (typeof column.renderHead === 'function') {
22754
22762
  return column.renderHead({
@@ -24198,6 +24206,7 @@ var useSettings = function useSettings(props, ctx, columns, afterSetting) {
24198
24206
  }
24199
24207
  };
24200
24208
  var setTableData = (0,lodash.debounce)(function () {
24209
+ var resetScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
24201
24210
  var filterOrderList = getFilterAndSortList();
24202
24211
  if (!props.remotePagination) {
24203
24212
  pagination.setPagination({
@@ -24207,9 +24216,11 @@ var useSettings = function useSettings(props, ctx, columns, afterSetting) {
24207
24216
  var renderList = getRenderRowList(filterOrderList);
24208
24217
  rows.setPageRowList(renderList);
24209
24218
  (0,external_vue_namespaceObject.nextTick)(function () {
24210
- var _refBody$value2;
24211
24219
  setOffsetRight();
24212
- (_refBody$value2 = refBody.value) === null || _refBody$value2 === void 0 || _refBody$value2.scrollTo(0, 0);
24220
+ if (resetScroll) {
24221
+ var _refBody$value2;
24222
+ (_refBody$value2 = refBody.value) === null || _refBody$value2 === void 0 || _refBody$value2.scrollTo(0, 0);
24223
+ }
24213
24224
  });
24214
24225
  }, 64);
24215
24226
  var observerResizing = (0,external_vue_namespaceObject.ref)(false);
@@ -24282,7 +24293,7 @@ var useSettings = function useSettings(props, ctx, columns, afterSetting) {
24282
24293
  return [props.data];
24283
24294
  }, function () {
24284
24295
  rows.setTableRowList(props.data);
24285
- setTableData();
24296
+ setTableData(false);
24286
24297
  }, {
24287
24298
  immediate: true,
24288
24299
  deep: true
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes } from 'vue';
1
+ import { ExtractPropTypes, VNode } from 'vue';
2
2
  import { IHeadColor, ROW_HOVER, SORT_OPTION } from './const';
3
3
  export declare enum SortScope {
4
4
  ALL = "all",
@@ -199,7 +199,10 @@ export declare const IColumnProp: import("vue-types").VueTypeDef<Column>;
199
199
  export type Thead = {
200
200
  height?: number;
201
201
  isShow?: boolean;
202
- cellFn?: (...args: any[]) => void;
202
+ cellFn?: ({ index, column }: {
203
+ index: any;
204
+ column: any;
205
+ }) => JSX.Element | VNode | string;
203
206
  color?: IHeadColor | string;
204
207
  };
205
208
  export type Columns = ReadonlyArray<Column>;
@@ -145,119 +145,111 @@
145
145
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
146
146
  border-radius: 4px;
147
147
  }
148
- .bk-scrollbar {
149
- overflow: hidden !important;
150
- overflow-anchor: none;
151
- touch-action: auto;
152
- /*
153
- * Scrollbar rail styles
154
- */
155
- /*
156
- * Scrollbar thumb styles
157
- */
158
- }
159
- .bk-scrollbar.bk--active-x > .bk__rail-x,
160
- .bk-scrollbar.bk--active-y > .bk__rail-y {
161
- display: block;
148
+ .bk-scrollbar-wrapper {
149
+ position: relative;
150
+ overflow: hidden;
162
151
  }
163
- .bk-scrollbar .bk__rail-x:hover,
164
- .bk-scrollbar .bk__rail-y:hover,
165
- .bk-scrollbar .bk__rail-x:focus,
166
- .bk-scrollbar .bk__rail-y:focus,
167
- .bk-scrollbar .bk__rail-x.bk--clicking,
168
- .bk-scrollbar .bk__rail-y.bk--clicking {
169
- background-color: #f0f1f5;
152
+ .bk-scrollbar-wrapper .bk-scrollbar-content-el {
153
+ display: inline-flex;
154
+ flex-direction: column;
155
+ width: 100%;
170
156
  }
171
- .bk-scrollbar .bk__rail-x {
172
- display: none;
173
- opacity: 0;
174
- transition: background-color 0.2s linear, opacity 0.2s linear;
175
- height: 10px;
176
- bottom: 0px;
157
+ .bk-scrollbar-wrapper .bk-scrollbar-track {
158
+ z-index: 1;
177
159
  position: absolute;
178
- margin-bottom: 2px;
179
- }
180
- .bk-scrollbar .bk__rail-x.bk-size-small {
181
- height: 8px;
182
- }
183
- .bk-scrollbar .bk__rail-x.bk-size-small .bk__thumb-x {
184
- height: 6px;
160
+ right: 0;
161
+ bottom: 0;
162
+ pointer-events: none;
163
+ overflow: hidden;
185
164
  }
186
- .bk-scrollbar .bk__rail-y {
187
- display: none;
188
- opacity: 0;
189
- transition: background-color 0.2s linear, opacity 0.2s linear;
190
- width: 10px;
191
- right: 0px;
192
- position: absolute;
193
- margin-right: 2px;
165
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical {
166
+ width: 6px;
194
167
  }
195
- .bk-scrollbar .bk__rail-y.bk-size-small {
168
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical.bk-scrollbar-hover {
196
169
  width: 8px;
197
170
  }
198
- .bk-scrollbar .bk__rail-y.bk-size-small .bk__thumb-y {
199
- width: 6px;
200
- }
201
- .bk-scrollbar:hover > .bk__rail-x,
202
- .bk-scrollbar:hover > .bk__rail-y,
203
- .bk-scrollbar.bk--focus > .bk__rail-x,
204
- .bk-scrollbar.bk--focus > .bk__rail-y,
205
- .bk-scrollbar.bk--scrolling-x > .bk__rail-x,
206
- .bk-scrollbar.bk--scrolling-y > .bk__rail-y {
207
- opacity: 0.9;
171
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal {
172
+ height: 6px;
208
173
  }
209
- .bk-scrollbar .bk__thumb-x {
210
- background-color: #dcdee5;
211
- border-radius: 8px;
212
- transition: background-color 0.2s linear, height 0.2s ease-in-out;
174
+ .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal.bk-scrollbar-hover {
213
175
  height: 8px;
214
- bottom: 0px;
215
- position: absolute;
216
176
  }
217
- .bk-scrollbar .bk__thumb-y {
218
- background-color: #dcdee5;
219
- border-radius: 8px;
220
- transition: background-color 0.2s linear, width 0.2s ease-in-out;
221
- width: 8px;
222
- right: 0px;
223
- position: absolute;
177
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
178
+ background-color: #f0f1f5;
179
+ cursor: pointer;
224
180
  }
225
- .bk-scrollbar .bk__rail-x:hover > .bk__thumb-x,
226
- .bk-scrollbar .bk__rail-x:focus > .bk__thumb-x,
227
- .bk-scrollbar .bk__rail-x.bk--clicking .bk__thumb-x {
181
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
228
182
  background-color: #979ba5;
229
- height: 10px;
230
183
  }
231
- .bk-scrollbar .bk__rail-y:hover > .bk__thumb-y,
232
- .bk-scrollbar .bk__rail-y:focus > .bk__thumb-y,
233
- .bk-scrollbar .bk__rail-y.bk--clicking .bk__thumb-y {
234
- background-color: #979ba5;
184
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
185
+ top: 0;
186
+ width: 8px;
187
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
188
+ }
189
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical.bk-scrollbar-hover {
235
190
  width: 10px;
236
191
  }
237
- .bk-scrollbar .bk-size-small > .bk__thumb-x,
238
- .bk-scrollbar .bk-size-small > .bk__thumb-x,
239
- .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-x {
192
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
193
+ left: 0;
240
194
  height: 8px;
195
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
241
196
  }
242
- .bk-scrollbar .bk-size-small:hover > .bk__thumb-y,
243
- .bk-scrollbar .bk-size-small:focus > .bk__thumb-y,
244
- .bk-scrollbar .bk-size-small.bk--clicking .bk__thumb-y {
245
- width: 8px;
197
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar-hover {
198
+ height: 10px;
199
+ }
200
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
201
+ right: auto;
202
+ left: 0;
203
+ top: 0;
204
+ bottom: 0;
205
+ min-height: 0;
206
+ min-width: 8px;
207
+ width: auto;
208
+ }
209
+ .bk-scrollbar-wrapper .bk-scrollbar-dragging {
210
+ pointer-events: none;
211
+ -webkit-touch-callout: none;
212
+ -webkit-user-select: none;
213
+ -khtml-user-select: none;
214
+ -moz-user-select: none;
215
+ -ms-user-select: none;
216
+ user-select: none;
217
+ }
218
+ .bk-scrollbar-wrapper .bk-scrollbar {
219
+ position: absolute;
220
+ left: 0;
221
+ right: 0;
222
+ top: 0;
223
+ bottom: 0;
246
224
  }
247
- /* MS supports */
248
- @supports (-ms-overflow-style: none) {
249
- .bk-scrollbar {
250
- overflow: auto !important;
251
- }
225
+ .bk-scrollbar-wrapper .bk-scrollbar::before {
226
+ position: absolute;
227
+ content: '';
228
+ background: #dcdee5;
229
+ border-radius: 6px;
230
+ left: 0;
231
+ right: 0;
232
+ top: 0;
233
+ bottom: 0;
234
+ opacity: 0;
235
+ transition: opacity 0.2s 0.9s linear;
252
236
  }
253
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
254
- .bk-scrollbar {
255
- overflow: auto !important;
256
- }
237
+ .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
238
+ opacity: 0.9;
239
+ transition-delay: 0s;
240
+ transition-duration: 0s;
257
241
  }
258
242
  .bk-virtual-render {
259
243
  position: relative;
260
244
  }
245
+ .bk-virtual-render .bk-virtual-content {
246
+ position: absolute;
247
+ top: 0;
248
+ bottom: 0;
249
+ left: 0;
250
+ width: 100%;
251
+ height: 100%;
252
+ }
261
253
  .bk-virtual-render .bk-virtual-section {
262
254
  width: 1px;
263
255
  background: transparent;
@@ -1583,6 +1575,9 @@
1583
1575
  border-right: 1px solid var(--table-border-color);
1584
1576
  border-left: 1px solid var(--table-border-color);
1585
1577
  }
1578
+ .bk-table.bordered-outer .bk-table-footer {
1579
+ border-bottom: 1px solid var(--table-border-color);
1580
+ }
1586
1581
  .bk-table.bordered-horizontal {
1587
1582
  border-top: 1px solid var(--table-border-color);
1588
1583
  border-bottom: 1px solid var(--table-border-color);
@@ -402,6 +402,10 @@
402
402
  border-top: 1px solid @table-border-color;
403
403
  border-right: 1px solid @table-border-color;
404
404
  border-left: 1px solid @table-border-color;
405
+
406
+ .@{bk-prefix}-table-footer {
407
+ border-bottom: 1px solid @table-border-color;
408
+ }
405
409
  }
406
410
 
407
411
  &.bordered-horizontal {