bkui-vue 2.0.1-beta.40 → 2.0.1-beta.41

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 (57) hide show
  1. package/dist/index.cjs.js +63 -63
  2. package/dist/index.esm.js +16186 -16112
  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/checkbox/index.js +2 -1
  7. package/lib/index.js +1 -1
  8. package/lib/scrollbar/{scrollbar.css → css/scrollbar.css} +90 -75
  9. package/lib/scrollbar/css/scrollbar.less +139 -0
  10. package/lib/scrollbar/{scrollbar.variable.css → css/scrollbar.variable.css} +89 -74
  11. package/lib/scrollbar/handlers/click-rail.d.ts +2 -0
  12. package/lib/scrollbar/handlers/drag-thumb.d.ts +1 -0
  13. package/lib/scrollbar/handlers/keyboard.d.ts +2 -0
  14. package/lib/scrollbar/handlers/mouse-wheel.d.ts +2 -0
  15. package/lib/scrollbar/handlers/touch.d.ts +4 -0
  16. package/lib/scrollbar/helper/class-names.d.ts +21 -0
  17. package/lib/scrollbar/helper/css.d.ts +3 -0
  18. package/lib/scrollbar/helper/dom.d.ts +4 -0
  19. package/lib/scrollbar/helper/event-manager.d.ts +20 -0
  20. package/lib/scrollbar/helper/util.d.ts +11 -0
  21. package/lib/scrollbar/index.d.ts +133 -13
  22. package/lib/scrollbar/index.js +1331 -18489
  23. package/lib/scrollbar/process-scroll-diff.d.ts +1 -0
  24. package/lib/scrollbar/update-geometry.d.ts +8 -0
  25. package/lib/styles/index.d.ts +1 -0
  26. package/lib/table/components/table-cell.d.ts +11 -0
  27. package/lib/table/hooks/use-columns.d.ts +4 -1
  28. package/lib/table/hooks/use-layout.d.ts +1 -0
  29. package/lib/table/hooks/use-settings.d.ts +2 -2
  30. package/lib/table/index.d.ts +23 -0
  31. package/lib/table/index.js +233 -77
  32. package/lib/table/props.d.ts +9 -1
  33. package/lib/table/table.css +126 -109
  34. package/lib/table/table.d.ts +11 -0
  35. package/lib/table/table.less +49 -30
  36. package/lib/table/table.variable.css +126 -109
  37. package/lib/table/utils.d.ts +15 -15
  38. package/lib/table-column/index.js +8 -0
  39. package/lib/tree/index.d.ts +3 -3
  40. package/lib/tree/tree.css +90 -83
  41. package/lib/tree/tree.d.ts +1 -1
  42. package/lib/tree/tree.variable.css +90 -83
  43. package/lib/virtual-render/index.d.ts +0 -23
  44. package/lib/virtual-render/index.js +54 -106
  45. package/lib/virtual-render/props.d.ts +0 -6
  46. package/lib/virtual-render/use-scrollbar.d.ts +3 -17
  47. package/lib/virtual-render/virtual-render.css +89 -82
  48. package/lib/virtual-render/virtual-render.d.ts +0 -11
  49. package/lib/virtual-render/virtual-render.less +2 -11
  50. package/lib/virtual-render/virtual-render.variable.css +89 -82
  51. package/package.json +1 -1
  52. package/lib/scrollbar/scrollbar-core/can-use-dom.d.ts +0 -2
  53. package/lib/scrollbar/scrollbar-core/helpers.d.ts +0 -5
  54. package/lib/scrollbar/scrollbar-core/index.d.ts +0 -242
  55. package/lib/scrollbar/scrollbar-core/mouse-wheel.d.ts +0 -5
  56. package/lib/scrollbar/scrollbar-core/scrollbar-width.d.ts +0 -1
  57. package/lib/scrollbar/scrollbar.less +0 -119
@@ -535,111 +535,118 @@
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
+ .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
+ */
546
548
  }
547
- .bk-scrollbar-wrapper .bk-scrollbar-track {
548
- z-index: 1;
549
- 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;
549
+ .bk-scrollbar.bk--active-x > .bk__rail-x,
550
+ .bk-scrollbar.bk--active-y > .bk__rail-y {
551
+ display: block;
557
552
  }
558
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-vertical.bk-scrollbar-hover {
559
- width: 8px;
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
560
  }
561
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal {
562
- height: 6px;
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;
563
568
  }
564
- .bk-scrollbar-wrapper .bk-scrollbar-track.track-small.bk-scrollbar-horizontal.bk-scrollbar-hover {
569
+ .bk-scrollbar .bk__rail-x.bk-size-small {
565
570
  height: 8px;
566
571
  }
567
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
568
- background-color: #f0f1f5;
569
- cursor: pointer;
572
+ .bk-scrollbar .bk__rail-x.bk-size-small .bk__thumb-x {
573
+ height: 6px;
570
574
  }
571
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
572
- background-color: #979ba5;
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;
581
+ position: absolute;
582
+ margin-right: 2px;
573
583
  }
574
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
575
- top: 0;
584
+ .bk-scrollbar .bk__rail-y.bk-size-small {
576
585
  width: 8px;
577
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
578
586
  }
579
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical.bk-scrollbar-hover {
580
- width: 10px;
587
+ .bk-scrollbar .bk__rail-y.bk-size-small .bk__thumb-y {
588
+ width: 6px;
589
+ }
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;
581
597
  }
582
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
583
- left: 0;
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;
584
602
  height: 8px;
585
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
603
+ bottom: 0px;
604
+ position: absolute;
586
605
  }
587
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar-hover {
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;
613
+ }
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 {
617
+ background-color: #979ba5;
588
618
  height: 10px;
589
619
  }
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;
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;
624
+ width: 10px;
598
625
  }
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;
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 {
629
+ height: 8px;
607
630
  }
608
- .bk-scrollbar-wrapper .bk-scrollbar {
609
- position: absolute;
610
- left: 0;
611
- right: 0;
612
- top: 0;
613
- bottom: 0;
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;
614
635
  }
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;
636
+ /* MS supports */
637
+ @supports (-ms-overflow-style: none) {
638
+ .bk-scrollbar {
639
+ overflow: auto !important;
640
+ }
626
641
  }
627
- .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
628
- opacity: 0.9;
629
- transition-delay: 0s;
630
- transition-duration: 0s;
642
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
643
+ .bk-scrollbar {
644
+ overflow: auto !important;
645
+ }
631
646
  }
632
647
  .bk-virtual-render {
633
648
  position: relative;
634
649
  }
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
650
  .bk-virtual-render .bk-virtual-section {
644
651
  width: 1px;
645
652
  background: transparent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "2.0.1-beta.40",
3
+ "version": "2.0.1-beta.41",
4
4
  "workspaces": [
5
5
  "packages/**",
6
6
  "scripts/cli",
@@ -1,2 +0,0 @@
1
- declare const _default: () => boolean;
2
- export default _default;
@@ -1,5 +0,0 @@
1
- export declare function getElementWindow(element: Element): Window & typeof globalThis;
2
- export declare function getElementDocument(element: Element): Document;
3
- export declare function addClasses(el: HTMLElement | null, classes: string): void;
4
- export declare function removeClasses(el: HTMLElement | null, classes: string): void;
5
- export declare function classNamesToQuery(classNames: string): string;
@@ -1,242 +0,0 @@
1
- import * as helpers from './helpers';
2
- interface DebouncedFunc<T extends (...args: any[]) => void> {
3
- /**
4
- * Call the original function, but applying the debounce rules.
5
- *
6
- * If the debounced function can be run immediately, this calls it and returns its return
7
- * value.
8
- *
9
- * Otherwise, it returns the return value of the last invocation, or undefined if the debounced
10
- * function was not invoked yet.
11
- */
12
- (...args: Parameters<T>): ReturnType<T> | undefined;
13
- /**
14
- * Throw away any pending invocation of the debounced function.
15
- */
16
- cancel(): void;
17
- /**
18
- * If there is a pending invocation of the debounced function, invoke it immediately and return
19
- * its return value.
20
- *
21
- * Otherwise, return the value from the last invocation, or undefined if the debounced function
22
- * was never invoked.
23
- */
24
- flush(): ReturnType<T> | undefined;
25
- }
26
- export interface Options {
27
- forceVisible: Axis | boolean;
28
- clickOnTrack: boolean;
29
- scrollbarMinSize: number;
30
- scrollbarMaxSize: number;
31
- classNames: Partial<ClassNames>;
32
- ariaLabel: string;
33
- contentNode: HTMLElement | null;
34
- delegateYContent: HTMLElement | null;
35
- delegateXContent: HTMLElement | null;
36
- wrapperNode: HTMLElement | null;
37
- autoHide: boolean;
38
- useSystemScrollXBehavior?: boolean;
39
- useSystemScrollYBehavior?: boolean;
40
- size: 'default' | 'small';
41
- scrollDelegate: {
42
- scrollHeight?: number;
43
- scrollWidth?: number;
44
- };
45
- onScrollCallback?: (args: {
46
- x: number;
47
- y: number;
48
- }) => void;
49
- }
50
- export type BkScrollBarOptions = Partial<Options>;
51
- type ClassNames = {
52
- contentEl: string;
53
- offset: string;
54
- mask: string;
55
- wrapper: string;
56
- placeholder: string;
57
- scrollbar: string;
58
- track: string;
59
- visible: string;
60
- horizontal: string;
61
- vertical: string;
62
- hover: string;
63
- dragging: string;
64
- scrolling: string;
65
- scrollable: string;
66
- mouseEntered: string;
67
- };
68
- type Axis = 'x' | 'y';
69
- type AxisProps = {
70
- scrollOffsetAttr: 'scrollLeft' | 'scrollTop';
71
- sizeAttr: 'height' | 'width';
72
- scrollSizeAttr: 'scrollHeight' | 'scrollWidth';
73
- offsetSizeAttr: 'offsetHeight' | 'offsetWidth';
74
- offsetAttr: 'left' | 'top';
75
- overflowAttr: 'overflowX' | 'overflowY';
76
- dragOffset: number;
77
- isOverflowing: boolean;
78
- forceVisible: boolean;
79
- track: {
80
- size: number;
81
- el: HTMLElement | null;
82
- rect: DOMRect | null;
83
- isVisible: boolean;
84
- };
85
- scrollbar: {
86
- size: number;
87
- el: HTMLElement | null;
88
- rect: DOMRect | null;
89
- isVisible: boolean;
90
- };
91
- };
92
- type RtlHelpers = {
93
- isScrollOriginAtZero: boolean;
94
- isScrollingToNegative: boolean;
95
- } | null;
96
- type DefaultOptions = Options & typeof BkScrollbarCore.defaultOptions;
97
- type MouseWheelInstance = {
98
- addWheelEvent: (target: HTMLElement) => void;
99
- removeWheelEvent: (target: HTMLElement) => void;
100
- };
101
- export default class BkScrollbarCore {
102
- static rtlHelpers: RtlHelpers;
103
- static defaultOptions: Options;
104
- /**
105
- * Static functions
106
- */
107
- static helpers: typeof helpers;
108
- /**
109
- * Helper to fix browsers inconsistency on RTL:
110
- * - Firefox inverts the scrollbar initial position
111
- * - IE11 inverts both scrollbar position and scrolling offset
112
- */
113
- static getRtlHelpers(): {
114
- isScrollOriginAtZero: boolean;
115
- isScrollingToNegative: boolean;
116
- };
117
- static getOffset(el: Element): {
118
- top: number;
119
- left: number;
120
- };
121
- el: HTMLElement;
122
- options: DefaultOptions;
123
- classNames: ClassNames;
124
- axis: {
125
- x: AxisProps;
126
- y: AxisProps;
127
- };
128
- draggedAxis?: Axis;
129
- removePreventClickId: null | number;
130
- minScrollbarWidth: number;
131
- stopScrollDelay: number;
132
- isScrolling: boolean;
133
- isMouseEntering: boolean;
134
- isDragging: boolean;
135
- scrollXTicking: boolean;
136
- scrollYTicking: boolean;
137
- wrapperEl: HTMLElement | null;
138
- contentEl: HTMLElement | null;
139
- delegateXContent: HTMLElement | null;
140
- delegateYContent: HTMLElement | null;
141
- rtlHelpers: RtlHelpers;
142
- scrollbarWidth: number;
143
- resizeObserver: ResizeObserver | null;
144
- mutationObserver: MutationObserver | null;
145
- elStyles: CSSStyleDeclaration | null;
146
- isRtl: boolean | null;
147
- mouseX: number;
148
- mouseY: number;
149
- mouseWheelInstance: MouseWheelInstance;
150
- wheelOffsetY: number;
151
- wheelOffsetX: number;
152
- mouseWeelTimer: any;
153
- /**
154
- * 最外层滚动容器滚动实际位置缓存器
155
- */
156
- wrapperScrollValue: {
157
- scrollTop: number;
158
- scrollLeft: number;
159
- };
160
- /**
161
- * 模拟滚动条内部缩略滚动器滚动位置缓存器
162
- */
163
- wrapperScrollMap: {};
164
- onMouseMove: (() => void) | DebouncedFunc<(...args: any[]) => void>;
165
- onWindowResize: (() => void) | DebouncedFunc<(...args: any[]) => void>;
166
- onStopScrolling: (() => void) | DebouncedFunc<(...args: any[]) => void>;
167
- onMouseEntered: (() => void) | DebouncedFunc<(...args: any[]) => void>;
168
- onMouseWheel: (() => void) | DebouncedFunc<(...args: any[]) => void>;
169
- constructor(element: HTMLElement, options?: Partial<Options>);
170
- getScrollbarWidth(): number;
171
- init(): void;
172
- initDOM(): void;
173
- initListeners(): void;
174
- getWrapperElScrollSize(attrName: string, target?: HTMLElement): any;
175
- recalculate(): void;
176
- /**
177
- * Calculate scrollbar size
178
- */
179
- getScrollbarSize(axis?: Axis): any;
180
- positionScrollbar(axis?: Axis): void;
181
- toggleTrackVisibility(axis?: Axis): void;
182
- showScrollbar(axis?: Axis): void;
183
- hideScrollbar(axis?: Axis): void;
184
- /**
185
- * On scroll event handling
186
- */
187
- onScroll: () => void;
188
- scrollX: () => void;
189
- scrollY: () => void;
190
- onMouseEnter: () => void;
191
- onMouseMoveForAxis(axis?: Axis): void;
192
- onMouseLeave: () => void;
193
- onMouseLeaveForAxis(axis?: Axis): void;
194
- onPointerEvent: (e: PointerEvent) => void;
195
- /**
196
- * on scrollbar handle drag movement starts
197
- */
198
- onDragStart(e: MouseEvent, axis?: Axis): void;
199
- /**
200
- * Drag scrollbar handle
201
- */
202
- drag: (e: MouseEvent) => void;
203
- getPointerPosition: (dragPos: number, axis: Axis) => number;
204
- scrollToAxisPosition: (scrollPos: number, axisValue: Axis) => boolean;
205
- fixedScrollTo: (axisValue: Axis, resolvedValue: number) => void;
206
- /**
207
- * End scroll handle drag
208
- */
209
- onEndDrag: (e: MouseEvent) => void;
210
- /**
211
- * Handler to ignore click events during drag
212
- */
213
- preventClick: (e: MouseEvent) => void;
214
- onTrackClick(e: MouseEvent, axis?: Axis): void;
215
- /**
216
- * Getter for content element
217
- */
218
- getContentElement(): HTMLElement;
219
- /**
220
- * Getter for original scrolling element
221
- */
222
- getScrollElement(): HTMLElement;
223
- removeListeners(): void;
224
- /**
225
- * Remove all listeners from DOM nodes
226
- */
227
- unMount(): void;
228
- /**
229
- * Check if mouse is within bounds
230
- */
231
- isWithinBounds(bbox: DOMRect): boolean;
232
- /**
233
- * Find element children matches query
234
- */
235
- findChild(el: HTMLElement, query: string): any;
236
- private mOnMouseWheel;
237
- private mOnStopScrolling;
238
- private mOnMouseEntered;
239
- private mOnMouseMove;
240
- private mOnWindowResize;
241
- }
242
- export {};
@@ -1,5 +0,0 @@
1
- declare const _default: (fn: any) => {
2
- addWheelEvent: (target: HTMLElement) => void;
3
- removeWheelEvent: (target: HTMLElement) => void;
4
- };
5
- export default _default;
@@ -1 +0,0 @@
1
- export default function scrollbarWidth(): number;
@@ -1,119 +0,0 @@
1
- @import '../styles/themes/themes.less';
2
-
3
- .@{bk-prefix}-scrollbar-wrapper {
4
- position: relative;
5
- overflow: hidden;
6
-
7
- .@{bk-prefix}-scrollbar-content-el {
8
- display: inline-flex;
9
- flex-direction: column;
10
- width: 100%;
11
- }
12
-
13
- .@{bk-prefix}-scrollbar-track {
14
- z-index: 1;
15
- position: absolute;
16
- right: 0;
17
- bottom: 0;
18
- pointer-events: none;
19
- overflow: hidden;
20
-
21
- &.track-small {
22
- &.@{bk-prefix}-scrollbar-vertical {
23
- width: 6px;
24
-
25
- &.@{bk-prefix}-scrollbar-hover {
26
- width: 8px;
27
- }
28
- }
29
-
30
- &.@{bk-prefix}-scrollbar-horizontal {
31
- height: 6px;
32
-
33
- &.@{bk-prefix}-scrollbar-hover {
34
- height: 8px;
35
- }
36
- }
37
- }
38
-
39
- &.@{bk-prefix}-scrollbar-hover {
40
- background-color: #f0f1f5;
41
- cursor: pointer;
42
-
43
- .@{bk-prefix}-scrollbar {
44
- &::before {
45
- background-color: #979ba5;
46
- }
47
- }
48
- }
49
-
50
- &.@{bk-prefix}-scrollbar-vertical {
51
- top: 0;
52
- width: 8px;
53
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
54
-
55
- &.@{bk-prefix}-scrollbar-hover {
56
- width: 10px;
57
- }
58
- }
59
-
60
- &.@{bk-prefix}-scrollbar-horizontal {
61
- left: 0;
62
- height: 8px;
63
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
64
-
65
- &.@{bk-prefix}-scrollbar-hover {
66
- height: 10px;
67
- }
68
-
69
- &.@{bk-prefix}-scrollbar {
70
- right: auto;
71
- left: 0;
72
- top: 0;
73
- bottom: 0;
74
- min-height: 0;
75
- min-width: 8px;
76
- width: auto;
77
- }
78
- }
79
- }
80
-
81
- .@{bk-prefix}-scrollbar-dragging {
82
- pointer-events: none;
83
- -webkit-touch-callout: none;
84
- -webkit-user-select: none;
85
- -khtml-user-select: none;
86
- -moz-user-select: none;
87
- -ms-user-select: none;
88
- user-select: none;
89
- }
90
-
91
- .@{bk-prefix}-scrollbar {
92
- position: absolute;
93
- left: 0;
94
- right: 0;
95
- top: 0;
96
- bottom: 0;
97
-
98
- &::before {
99
- position: absolute;
100
- content: '';
101
- background: #dcdee5;
102
- border-radius: 6px;
103
- left: 0;
104
- right: 0;
105
- top: 0;
106
- bottom: 0;
107
- opacity: 0;
108
- transition: opacity 0.2s 0.9s linear;
109
- }
110
-
111
- &.@{bk-prefix}-scrollbar-visible {
112
- &::before {
113
- opacity: 0.9;
114
- transition-delay: 0s;
115
- transition-duration: 0s;
116
- }
117
- }
118
- }
119
- }