bkui-vue 1.0.3-beta.60 → 1.0.3-beta.60.scrollbar.3

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 (206) hide show
  1. package/dist/index.cjs.js +52 -50
  2. package/dist/index.esm.js +14664 -13976
  3. package/dist/index.umd.js +52 -50
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/affix/index.js +1 -1
  7. package/lib/alert/index.js +1 -1
  8. package/lib/animate-number/index.js +7 -8
  9. package/lib/badge/index.js +1 -1
  10. package/lib/breadcrumb/index.js +1 -1
  11. package/lib/button/index.js +1 -1
  12. package/lib/card/index.js +1 -1
  13. package/lib/cascader/index.js +38 -42
  14. package/lib/checkbox/index.js +6 -7
  15. package/lib/collapse/index.js +11 -12
  16. package/lib/collapse-transition/index.js +3 -4
  17. package/lib/color-picker/index.js +10 -13
  18. package/lib/components.d.ts +0 -1
  19. package/lib/components.js +1 -2
  20. package/lib/config-provider/index.js +1 -1
  21. package/lib/container/index.js +10 -12
  22. package/lib/date-picker/index.js +2 -2
  23. package/lib/dialog/dialog.css +9 -7
  24. package/lib/dialog/dialog.variable.css +9 -7
  25. package/lib/dialog/index.js +4 -4
  26. package/lib/directives/index.js +1 -1
  27. package/lib/divider/index.js +2 -3
  28. package/lib/dropdown/index.js +6 -8
  29. package/lib/exception/index.js +1 -1
  30. package/lib/fixed-navbar/index.js +2 -3
  31. package/lib/form/index.js +1 -1
  32. package/lib/icon/angle-double-down-line.js +1 -1
  33. package/lib/icon/angle-double-left-line.js +1 -1
  34. package/lib/icon/angle-double-left.js +1 -1
  35. package/lib/icon/angle-double-right-line.js +1 -1
  36. package/lib/icon/angle-double-right.js +1 -1
  37. package/lib/icon/angle-double-up-line.js +1 -1
  38. package/lib/icon/angle-down-fill.js +1 -1
  39. package/lib/icon/angle-down-line.js +1 -1
  40. package/lib/icon/angle-down.js +1 -1
  41. package/lib/icon/angle-left.js +1 -1
  42. package/lib/icon/angle-right.js +1 -1
  43. package/lib/icon/angle-up-fill.js +1 -1
  44. package/lib/icon/angle-up.js +1 -1
  45. package/lib/icon/archive-fill.js +1 -1
  46. package/lib/icon/arrows-left.js +1 -1
  47. package/lib/icon/arrows-right.js +1 -1
  48. package/lib/icon/assistant.js +1 -1
  49. package/lib/icon/audio-fill.js +1 -1
  50. package/lib/icon/bk.js +1 -1
  51. package/lib/icon/circle.js +1 -1
  52. package/lib/icon/close-line.js +1 -1
  53. package/lib/icon/close.js +1 -1
  54. package/lib/icon/code.js +1 -1
  55. package/lib/icon/cog-shape.js +1 -1
  56. package/lib/icon/collapse-left.js +1 -1
  57. package/lib/icon/copy-shape.js +1 -1
  58. package/lib/icon/copy.js +1 -1
  59. package/lib/icon/data-shape.js +1 -1
  60. package/lib/icon/del.js +1 -1
  61. package/lib/icon/doc-fill.js +1 -1
  62. package/lib/icon/done.js +1 -1
  63. package/lib/icon/down-shape.js +1 -1
  64. package/lib/icon/down-small.js +1 -1
  65. package/lib/icon/edit-line.js +1 -1
  66. package/lib/icon/ellipsis.js +1 -1
  67. package/lib/icon/enlarge-line.js +1 -1
  68. package/lib/icon/error.js +1 -1
  69. package/lib/icon/excel-fill.js +1 -1
  70. package/lib/icon/exclamation-circle-shape.js +1 -1
  71. package/lib/icon/eye.js +1 -1
  72. package/lib/icon/filliscreen-line.js +1 -1
  73. package/lib/icon/fix-line.js +1 -1
  74. package/lib/icon/fix-shape.js +1 -1
  75. package/lib/icon/folder-open.js +1 -1
  76. package/lib/icon/folder-shape-open.js +1 -1
  77. package/lib/icon/folder-shape.js +1 -1
  78. package/lib/icon/folder.js +1 -1
  79. package/lib/icon/funnel.js +1 -1
  80. package/lib/icon/grag-fill.js +1 -1
  81. package/lib/icon/help-document-fill.js +1 -1
  82. package/lib/icon/help-fill.js +1 -1
  83. package/lib/icon/help.js +1 -1
  84. package/lib/icon/image-fill.js +1 -1
  85. package/lib/icon/img-error.js +1 -1
  86. package/lib/icon/img-placehoulder.js +1 -1
  87. package/lib/icon/info-line.js +1 -1
  88. package/lib/icon/info.js +1 -1
  89. package/lib/icon/left-shape.js +1 -1
  90. package/lib/icon/left-turn-line.js +1 -1
  91. package/lib/icon/loading.js +1 -1
  92. package/lib/icon/narrow-line.js +1 -1
  93. package/lib/icon/original.js +1 -1
  94. package/lib/icon/pdf-fill.js +1 -1
  95. package/lib/icon/play-shape.js +1 -1
  96. package/lib/icon/plus.js +1 -1
  97. package/lib/icon/ppt-fill.js +1 -1
  98. package/lib/icon/qq.js +1 -1
  99. package/lib/icon/right-shape.js +1 -1
  100. package/lib/icon/right-turn-line.js +1 -1
  101. package/lib/icon/search.js +1 -1
  102. package/lib/icon/share.js +1 -1
  103. package/lib/icon/spinner.js +1 -1
  104. package/lib/icon/success.js +1 -1
  105. package/lib/icon/switcher-loading.js +1 -1
  106. package/lib/icon/text-all.js +1 -1
  107. package/lib/icon/text-file.js +1 -1
  108. package/lib/icon/text-fill.js +1 -1
  109. package/lib/icon/transfer.js +1 -1
  110. package/lib/icon/tree-application-shape.js +1 -1
  111. package/lib/icon/unfull-screen.js +1 -1
  112. package/lib/icon/unvisible.js +1 -1
  113. package/lib/icon/up-shape.js +1 -1
  114. package/lib/icon/upload.js +1 -1
  115. package/lib/icon/video-fill.js +1 -1
  116. package/lib/icon/warn.js +1 -1
  117. package/lib/icon/weixin-pro.js +1 -1
  118. package/lib/icon/weixin.js +1 -1
  119. package/lib/image/index.js +10 -11
  120. package/lib/info-box/index.js +4 -5
  121. package/lib/input/index.js +4 -4
  122. package/lib/link/index.js +2 -2
  123. package/lib/loading/index.js +11 -12
  124. package/lib/menu/index.js +2 -3
  125. package/lib/message/index.js +1 -1
  126. package/lib/modal/hooks.d.ts +1 -1
  127. package/lib/modal/index.d.ts +0 -3
  128. package/lib/modal/index.js +26 -25
  129. package/lib/modal/modal.css +9 -7
  130. package/lib/modal/modal.d.ts +0 -1
  131. package/lib/modal/modal.less +18 -11
  132. package/lib/modal/modal.variable.css +9 -7
  133. package/lib/navigation/index.js +7 -9
  134. package/lib/notify/index.js +1 -1
  135. package/lib/overflow-title/index.js +9 -10
  136. package/lib/pagination/index.js +1 -1
  137. package/lib/plugin-popover/index.js +26 -30
  138. package/lib/pop-confirm/index.js +4 -5
  139. package/lib/popover/index.js +26 -30
  140. package/lib/popover2/index.js +2 -2
  141. package/lib/process/index.js +4 -4
  142. package/lib/progress/index.js +5 -6
  143. package/lib/radio/index.js +6 -7
  144. package/lib/rate/index.js +1 -1
  145. package/lib/resize-layout/index.js +1 -1
  146. package/lib/search-select/index.d.ts +12 -327
  147. package/lib/search-select/index.js +350 -633
  148. package/lib/search-select/input.d.ts +1 -6
  149. package/lib/search-select/search-select.css +6 -20
  150. package/lib/search-select/search-select.d.ts +4 -109
  151. package/lib/search-select/search-select.less +12 -16
  152. package/lib/search-select/search-select.variable.css +6 -20
  153. package/lib/search-select/selected.d.ts +5 -107
  154. package/lib/search-select/utils.d.ts +1 -13
  155. package/lib/select/index.d.ts +0 -23
  156. package/lib/select/index.js +5 -8
  157. package/lib/select/select.d.ts +0 -11
  158. package/lib/shared/index.js +5 -8
  159. package/lib/sideslider/index.js +4 -4
  160. package/lib/sideslider/sideslider.css +5 -0
  161. package/lib/sideslider/sideslider.less +14 -8
  162. package/lib/sideslider/sideslider.variable.css +5 -0
  163. package/lib/slider/index.js +19 -20
  164. package/lib/steps/index.js +4 -4
  165. package/lib/swiper/index.js +1 -1
  166. package/lib/switcher/index.js +1 -1
  167. package/lib/tab/index.js +3 -4
  168. package/lib/table/const.d.ts +1 -1
  169. package/lib/table/index.js +24 -26
  170. package/lib/table/plugins/use-fixed-column.d.ts +1 -1
  171. package/lib/table/table.css +96 -42
  172. package/lib/table/table.less +41 -56
  173. package/lib/table/table.variable.css +96 -42
  174. package/lib/table/use-render.d.ts +1 -1
  175. package/lib/table-column/index.js +2 -2
  176. package/lib/tag/index.js +1 -1
  177. package/lib/tag-input/index.js +3 -4
  178. package/lib/timeline/index.js +0 -1
  179. package/lib/tree/index.js +10 -12
  180. package/lib/tree/tree.css +75 -2
  181. package/lib/tree/tree.variable.css +75 -2
  182. package/lib/upload/index.d.ts +0 -12
  183. package/lib/upload/index.js +34 -25
  184. package/lib/upload/props.d.ts +0 -3
  185. package/lib/upload/upload-trigger.d.ts +0 -6
  186. package/lib/upload/upload.d.ts +0 -6
  187. package/lib/virtual-render/bk-scrollbar.css +74 -0
  188. package/lib/virtual-render/bk-scrollbar.d.ts +10 -0
  189. package/lib/virtual-render/bk-scrollbar.less +93 -0
  190. package/lib/virtual-render/bk-scrollbar.variable.css +203 -0
  191. package/lib/virtual-render/index.d.ts +4 -0
  192. package/lib/virtual-render/index.js +2346 -233
  193. package/lib/virtual-render/props.d.ts +7 -0
  194. package/lib/virtual-render/scrollbar-core/can-use-dom.d.ts +2 -0
  195. package/lib/virtual-render/scrollbar-core/helpers.d.ts +5 -0
  196. package/lib/virtual-render/scrollbar-core/index.d.ts +213 -0
  197. package/lib/virtual-render/scrollbar-core/mouse-wheel.d.ts +5 -0
  198. package/lib/virtual-render/scrollbar-core/scrollbar-width.d.ts +1 -0
  199. package/lib/virtual-render/use-fix-top.d.ts +2 -7
  200. package/lib/virtual-render/use-scrollbar.d.ts +23 -0
  201. package/lib/virtual-render/v-virtual-render.d.ts +2 -1
  202. package/lib/virtual-render/virtual-render.css +75 -2
  203. package/lib/virtual-render/virtual-render.d.ts +2 -0
  204. package/lib/virtual-render/virtual-render.less +2 -2
  205. package/lib/virtual-render/virtual-render.variable.css +75 -2
  206. package/package.json +4 -1
@@ -1,4 +1,7 @@
1
1
  import { ExtractPropTypes } from 'vue';
2
+ export type IScrollbarOption = {
3
+ enabled: boolean;
4
+ };
2
5
  export declare const virtualRenderProps: {
3
6
  onContentScroll: FunctionConstructor;
4
7
  /** 传入原始数据源 */
@@ -181,6 +184,10 @@ export declare const virtualRenderProps: {
181
184
  } & {
182
185
  default: boolean;
183
186
  };
187
+ /**
188
+ * 是否允许滚动条改变原有DOM结构
189
+ */
190
+ scrollbar: import("vue-types").VueTypeDef<IScrollbarOption>;
184
191
  /**
185
192
  * 数据监听改变时,是否自动重置位置到[0, 0]
186
193
  */
@@ -0,0 +1,2 @@
1
+ declare const _default: () => boolean;
2
+ export default _default;
@@ -0,0 +1,5 @@
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;
@@ -0,0 +1,213 @@
1
+ import type { DebouncedFunc } from 'lodash-es';
2
+ import * as helpers from './helpers';
3
+ interface Options {
4
+ forceVisible: boolean | Axis;
5
+ clickOnTrack: boolean;
6
+ scrollbarMinSize: number;
7
+ scrollbarMaxSize: number;
8
+ classNames: Partial<ClassNames>;
9
+ ariaLabel: string;
10
+ scrollableNode: HTMLElement | null;
11
+ contentNode: HTMLElement | null;
12
+ delegateYContent: HTMLElement | null;
13
+ delegateXContent: HTMLElement | null;
14
+ wrapperNode: HTMLElement | null;
15
+ autoHide: boolean;
16
+ useSystemScrollXBehavior?: boolean;
17
+ useSystemScrollYBehavior?: boolean;
18
+ onScrollCallback?: (args: {
19
+ x: number;
20
+ y: number;
21
+ }) => void;
22
+ }
23
+ export type SimpleBarOptions = Partial<Options>;
24
+ type ClassNames = {
25
+ contentEl: string;
26
+ offset: string;
27
+ mask: string;
28
+ wrapper: string;
29
+ placeholder: string;
30
+ scrollbar: string;
31
+ track: string;
32
+ visible: string;
33
+ horizontal: string;
34
+ vertical: string;
35
+ hover: string;
36
+ dragging: string;
37
+ scrolling: string;
38
+ scrollable: string;
39
+ mouseEntered: string;
40
+ };
41
+ type Axis = 'x' | 'y';
42
+ type AxisProps = {
43
+ scrollOffsetAttr: 'scrollLeft' | 'scrollTop';
44
+ sizeAttr: 'width' | 'height';
45
+ scrollSizeAttr: 'scrollWidth' | 'scrollHeight';
46
+ offsetSizeAttr: 'offsetWidth' | 'offsetHeight';
47
+ offsetAttr: 'left' | 'top';
48
+ overflowAttr: 'overflowX' | 'overflowY';
49
+ dragOffset: number;
50
+ isOverflowing: boolean;
51
+ forceVisible: boolean;
52
+ track: {
53
+ size: any;
54
+ el: HTMLElement | null;
55
+ rect: DOMRect | null;
56
+ isVisible: boolean;
57
+ };
58
+ scrollbar: {
59
+ size: any;
60
+ el: HTMLElement | null;
61
+ rect: DOMRect | null;
62
+ isVisible: boolean;
63
+ };
64
+ };
65
+ type RtlHelpers = {
66
+ isScrollOriginAtZero: boolean;
67
+ isScrollingToNegative: boolean;
68
+ } | null;
69
+ type DefaultOptions = Options & typeof SimpleBarCore.defaultOptions;
70
+ type MouseWheelInstance = {
71
+ addWheelEvent: (target: HTMLElement) => void;
72
+ removeWheelEvent: (target: HTMLElement) => void;
73
+ };
74
+ export default class SimpleBarCore {
75
+ static rtlHelpers: RtlHelpers;
76
+ static defaultOptions: Options;
77
+ /**
78
+ * Static functions
79
+ */
80
+ static helpers: typeof helpers;
81
+ /**
82
+ * Helper to fix browsers inconsistency on RTL:
83
+ * - Firefox inverts the scrollbar initial position
84
+ * - IE11 inverts both scrollbar position and scrolling offset
85
+ */
86
+ static getRtlHelpers(): {
87
+ isScrollOriginAtZero: boolean;
88
+ isScrollingToNegative: boolean;
89
+ };
90
+ static getOffset(el: Element): {
91
+ top: number;
92
+ left: number;
93
+ };
94
+ el: HTMLElement;
95
+ options: DefaultOptions;
96
+ classNames: ClassNames;
97
+ axis: {
98
+ x: AxisProps;
99
+ y: AxisProps;
100
+ };
101
+ draggedAxis?: Axis;
102
+ removePreventClickId: null | number;
103
+ minScrollbarWidth: number;
104
+ stopScrollDelay: number;
105
+ isScrolling: boolean;
106
+ isMouseEntering: boolean;
107
+ isDragging: boolean;
108
+ scrollXTicking: boolean;
109
+ scrollYTicking: boolean;
110
+ wrapperEl: HTMLElement | null;
111
+ contentEl: HTMLElement | null;
112
+ delegateXContent: HTMLElement | null;
113
+ delegateYContent: HTMLElement | null;
114
+ rtlHelpers: RtlHelpers;
115
+ scrollbarWidth: number;
116
+ resizeObserver: ResizeObserver | null;
117
+ mutationObserver: MutationObserver | null;
118
+ elStyles: CSSStyleDeclaration | null;
119
+ isRtl: boolean | null;
120
+ mouseX: number;
121
+ mouseY: number;
122
+ mouseWheelInstance: MouseWheelInstance;
123
+ wheelOffset: number;
124
+ mouseWeelTimer: any;
125
+ /**
126
+ * 最外层滚动容器滚动实际位置缓存器
127
+ */
128
+ wrapperScrollValue: {
129
+ scrollTop: number;
130
+ scrollLeft: number;
131
+ };
132
+ /**
133
+ * 模拟滚动条内部缩略滚动器滚动位置缓存器
134
+ */
135
+ wrapperScrollMap: {};
136
+ onMouseMove: DebouncedFunc<any> | (() => void);
137
+ onWindowResize: DebouncedFunc<any> | (() => void);
138
+ onStopScrolling: DebouncedFunc<any> | (() => void);
139
+ onMouseEntered: DebouncedFunc<any> | (() => void);
140
+ onMouseWheel: DebouncedFunc<any> | (() => void);
141
+ constructor(element: HTMLElement, options?: Partial<Options>);
142
+ getScrollbarWidth(): number;
143
+ init(): void;
144
+ initDOM(): void;
145
+ initListeners(): void;
146
+ recalculate(): void;
147
+ /**
148
+ * Calculate scrollbar size
149
+ */
150
+ getScrollbarSize(axis?: Axis): any;
151
+ positionScrollbar(axis?: Axis): void;
152
+ toggleTrackVisibility(axis?: Axis): void;
153
+ showScrollbar(axis?: Axis): void;
154
+ hideScrollbar(axis?: Axis): void;
155
+ /**
156
+ * On scroll event handling
157
+ */
158
+ onScroll: () => void;
159
+ scrollX: () => void;
160
+ scrollY: () => void;
161
+ _onMouseWheel: (args: any) => void;
162
+ _onStopScrolling: () => void;
163
+ onMouseEnter: () => void;
164
+ _onMouseEntered: () => void;
165
+ _onMouseMove: (e: any) => void;
166
+ onMouseMoveForAxis(axis?: Axis): void;
167
+ onMouseLeave: () => void;
168
+ onMouseLeaveForAxis(axis?: Axis): void;
169
+ _onWindowResize: () => void;
170
+ onPointerEvent: (e: any) => void;
171
+ /**
172
+ * on scrollbar handle drag movement starts
173
+ */
174
+ onDragStart(e: any, axis?: Axis): void;
175
+ /**
176
+ * Drag scrollbar handle
177
+ */
178
+ drag: (e: any) => void;
179
+ getPointerPosition: (dragPos: number, axis: Axis) => number;
180
+ scrollToAxisPosition: (scrollPos: number, axisValue: Axis) => boolean;
181
+ fixedScrollTo: (axisValue: Axis, resolvedValue: number) => void;
182
+ /**
183
+ * End scroll handle drag
184
+ */
185
+ onEndDrag: (e: any) => void;
186
+ /**
187
+ * Handler to ignore click events during drag
188
+ */
189
+ preventClick: (e: any) => void;
190
+ onTrackClick(e: any, axis?: Axis): void;
191
+ /**
192
+ * Getter for content element
193
+ */
194
+ getContentElement(): HTMLElement;
195
+ /**
196
+ * Getter for original scrolling element
197
+ */
198
+ getScrollElement(): HTMLElement;
199
+ removeListeners(): void;
200
+ /**
201
+ * Remove all listeners from DOM nodes
202
+ */
203
+ unMount(): void;
204
+ /**
205
+ * Check if mouse is within bounds
206
+ */
207
+ isWithinBounds(bbox: DOMRect): boolean;
208
+ /**
209
+ * Find element children matches query
210
+ */
211
+ findChild(el: any, query: any): any;
212
+ }
213
+ export {};
@@ -0,0 +1,5 @@
1
+ declare const _default: (fn: any) => {
2
+ addWheelEvent: (target: HTMLElement) => void;
3
+ removeWheelEvent: (target: HTMLElement) => void;
4
+ };
5
+ export default _default;
@@ -0,0 +1 @@
1
+ export default function scrollbarWidth(): number;
@@ -1,4 +1,3 @@
1
- import { Ref } from 'vue';
2
1
  import { VirtualRenderProps } from './props';
3
2
  type IFixToTopParams = {
4
3
  index?: number;
@@ -8,11 +7,7 @@ type IFixToTopParams = {
8
7
  };
9
8
  position: number[];
10
9
  };
11
- declare const _default: (props: VirtualRenderProps, refRoot: Ref<HTMLElement>) => {
12
- fixToTop: (params: IFixToTopParams) => void;
13
- scrollTo: (option?: {
14
- left: number;
15
- top: number;
16
- }) => void;
10
+ declare const _default: (props: VirtualRenderProps, scrollTo: (x: any, y: any) => void) => {
11
+ fixToTop: (params: IFixToTopParams) => any;
17
12
  };
18
13
  export default _default;
@@ -0,0 +1,23 @@
1
+ import { Ref } from 'vue';
2
+ import BkSimpleBar from './bk-scrollbar';
3
+ import { VirtualRenderProps } from './props';
4
+ declare const _default: (target: Ref<HTMLElement>, props: VirtualRenderProps) => {
5
+ init: (scrollFn?: any, delegateXContent?: any, delegateYContent?: any) => void;
6
+ instance: BkSimpleBar;
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
+ };
23
+ export default _default;
@@ -3,7 +3,7 @@ export declare function getMatchedIndex(maxCount: number, maxHeight: number, gro
3
3
  height: number;
4
4
  diffHeight: number;
5
5
  };
6
- export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, _el: any, event: any): {
6
+ export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, wrapper: any, event: any): {
7
7
  targetStartIndex: number;
8
8
  targetEndIndex: number;
9
9
  elScrollTop: any;
@@ -20,6 +20,7 @@ export declare class VisibleRender {
20
20
  install(): void;
21
21
  uninstall(): void;
22
22
  setBinding(binding: any): void;
23
+ private getEvent;
23
24
  }
24
25
  declare const _default: {
25
26
  mounted(el: any, binding: any): void;
@@ -15,11 +15,84 @@
15
15
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
16
16
  border-radius: 4px;
17
17
  }
18
+ .bk-scrollbar-wrapper {
19
+ position: relative;
20
+ overflow: hidden;
21
+ }
22
+ .bk-scrollbar-wrapper .bk-scroll-content-el {
23
+ display: inline-flex;
24
+ flex-direction: column;
25
+ }
26
+ .bk-scrollbar-wrapper .bk-scrollbar-track {
27
+ z-index: 1;
28
+ position: absolute;
29
+ right: 0;
30
+ bottom: 0;
31
+ pointer-events: none;
32
+ overflow: hidden;
33
+ }
34
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
35
+ background-color: #F0F1F5;
36
+ cursor: pointer;
37
+ }
38
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
39
+ background-color: #979BA5;
40
+ }
41
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
42
+ top: 0;
43
+ width: 11px;
44
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
45
+ }
46
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
47
+ left: 0;
48
+ height: 11px;
49
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
50
+ }
51
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
52
+ right: auto;
53
+ left: 0;
54
+ top: 0;
55
+ bottom: 0;
56
+ min-height: 0;
57
+ min-width: 10px;
58
+ width: auto;
59
+ }
60
+ .bk-scrollbar-wrapper .bk-scrollbar-dragging {
61
+ pointer-events: none;
62
+ -webkit-touch-callout: none;
63
+ -webkit-user-select: none;
64
+ -khtml-user-select: none;
65
+ -moz-user-select: none;
66
+ -ms-user-select: none;
67
+ user-select: none;
68
+ }
69
+ .bk-scrollbar-wrapper .bk-scrollbar {
70
+ position: absolute;
71
+ left: 0;
72
+ right: 0;
73
+ min-height: 10px;
74
+ }
75
+ .bk-scrollbar-wrapper .bk-scrollbar::before {
76
+ position: absolute;
77
+ content: '';
78
+ background: #DcDEE5;
79
+ border-radius: 7px;
80
+ left: 2px;
81
+ right: 2px;
82
+ top: 2px;
83
+ bottom: 2px;
84
+ opacity: 0;
85
+ transition: opacity 0.2s 0.5s linear;
86
+ }
87
+ .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
88
+ opacity: 0.5;
89
+ transition-delay: 0s;
90
+ transition-duration: 0s;
91
+ }
18
92
  .bk-virtual-render {
19
93
  position: relative;
20
94
  }
21
- .bk-virtual-render .bk-virtual-content,
22
- .bk-virtual-render.bk-virtual-content {
95
+ .bk-virtual-render .bk-virtual-content {
23
96
  position: absolute;
24
97
  top: 0;
25
98
  bottom: 0;
@@ -129,6 +129,7 @@ declare const _default: import("vue").DefineComponent<{
129
129
  } & {
130
130
  default: boolean;
131
131
  };
132
+ scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
132
133
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
133
134
  default: boolean;
134
135
  } & {
@@ -264,6 +265,7 @@ declare const _default: import("vue").DefineComponent<{
264
265
  } & {
265
266
  default: boolean;
266
267
  };
268
+ scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
267
269
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
268
270
  default: boolean;
269
271
  } & {
@@ -1,11 +1,11 @@
1
1
  @import '../styles/themes/themes.less';
2
2
  @import '../styles/mixins/scroll.less';
3
+ @import './bk-scrollbar.less';
3
4
 
4
5
  .@{bk-prefix}-virtual-render {
5
6
  position: relative;
6
7
 
7
- .@{bk-prefix}-virtual-content,
8
- &.@{bk-prefix}-virtual-content {
8
+ .@{bk-prefix}-virtual-content {
9
9
  position: absolute;
10
10
  top: 0;
11
11
  bottom: 0;
@@ -144,11 +144,84 @@
144
144
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
145
145
  border-radius: 4px;
146
146
  }
147
+ .bk-scrollbar-wrapper {
148
+ position: relative;
149
+ overflow: hidden;
150
+ }
151
+ .bk-scrollbar-wrapper .bk-scroll-content-el {
152
+ display: inline-flex;
153
+ flex-direction: column;
154
+ }
155
+ .bk-scrollbar-wrapper .bk-scrollbar-track {
156
+ z-index: 1;
157
+ position: absolute;
158
+ right: 0;
159
+ bottom: 0;
160
+ pointer-events: none;
161
+ overflow: hidden;
162
+ }
163
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
164
+ background-color: #F0F1F5;
165
+ cursor: pointer;
166
+ }
167
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
168
+ background-color: #979BA5;
169
+ }
170
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
171
+ top: 0;
172
+ width: 11px;
173
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
174
+ }
175
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
176
+ left: 0;
177
+ height: 11px;
178
+ transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
179
+ }
180
+ .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
181
+ right: auto;
182
+ left: 0;
183
+ top: 0;
184
+ bottom: 0;
185
+ min-height: 0;
186
+ min-width: 10px;
187
+ width: auto;
188
+ }
189
+ .bk-scrollbar-wrapper .bk-scrollbar-dragging {
190
+ pointer-events: none;
191
+ -webkit-touch-callout: none;
192
+ -webkit-user-select: none;
193
+ -khtml-user-select: none;
194
+ -moz-user-select: none;
195
+ -ms-user-select: none;
196
+ user-select: none;
197
+ }
198
+ .bk-scrollbar-wrapper .bk-scrollbar {
199
+ position: absolute;
200
+ left: 0;
201
+ right: 0;
202
+ min-height: 10px;
203
+ }
204
+ .bk-scrollbar-wrapper .bk-scrollbar::before {
205
+ position: absolute;
206
+ content: '';
207
+ background: #DcDEE5;
208
+ border-radius: 7px;
209
+ left: 2px;
210
+ right: 2px;
211
+ top: 2px;
212
+ bottom: 2px;
213
+ opacity: 0;
214
+ transition: opacity 0.2s 0.5s linear;
215
+ }
216
+ .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
217
+ opacity: 0.5;
218
+ transition-delay: 0s;
219
+ transition-duration: 0s;
220
+ }
147
221
  .bk-virtual-render {
148
222
  position: relative;
149
223
  }
150
- .bk-virtual-render .bk-virtual-content,
151
- .bk-virtual-render.bk-virtual-content {
224
+ .bk-virtual-render .bk-virtual-content {
152
225
  position: absolute;
153
226
  top: 0;
154
227
  bottom: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "1.0.3-beta.60",
3
+ "version": "1.0.3-beta.60.scrollbar.3",
4
4
  "workspaces": {
5
5
  "packages": [
6
6
  "packages/!(**.bak)*",
@@ -154,9 +154,12 @@
154
154
  "@floating-ui/dom": "~1.5.0",
155
155
  "@popperjs/core": "~2.11.8",
156
156
  "date-fns": "~2.30.0",
157
+ "install": "~0.13.0",
157
158
  "js-calendar": "~1.2.3",
158
159
  "json-formatter-js": "~2.3.4",
159
160
  "lodash": "~4.17.21",
161
+ "lodash-es": "~4.17.21",
162
+ "npm": "~10.5.2",
160
163
  "tinycolor2": "~1.6.0",
161
164
  "vue-types": "~4.1.1"
162
165
  }