@king-one/antdv 1.0.16 → 1.0.18

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 (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cdn/index.cdn.js +18 -18
  3. package/dist/cdn/index.cdn.js.map +1 -1
  4. package/dist/cdn/index.cdn.mjs +20 -20
  5. package/dist/cdn/index.cdn.mjs.map +1 -1
  6. package/dist/cdn/index.css +1 -1
  7. package/dist/es/components/scroll-bar/index.d.ts +10 -1
  8. package/dist/es/components/scroll-bar/src/scroll-bar.d.ts +10 -1
  9. package/dist/es/components/scroll-bar/src/scroll-bar.mjs +175 -39
  10. package/dist/es/components/scroll-bar/src/scroll-bar.mjs.map +1 -1
  11. package/dist/es/components/scroll-bar/src/types.d.ts +1 -0
  12. package/dist/es/components/scroll-bar/src/types.mjs +2 -1
  13. package/dist/es/components/scroll-bar/src/types.mjs.map +1 -1
  14. package/dist/es/components/virtual-list/index.d.ts +33 -3
  15. package/dist/es/components/virtual-list/src/types.d.ts +1 -0
  16. package/dist/es/components/virtual-list/src/types.mjs +1 -0
  17. package/dist/es/components/virtual-list/src/types.mjs.map +1 -1
  18. package/dist/es/components/virtual-list/src/virtual-list.vue.d.ts +33 -3
  19. package/dist/es/components/virtual-list/src/virtual-list.vue2.mjs +35 -40
  20. package/dist/es/components/virtual-list/src/virtual-list.vue2.mjs.map +1 -1
  21. package/dist/lib/components/scroll-bar/index.d.ts +10 -1
  22. package/dist/lib/components/scroll-bar/src/scroll-bar.d.ts +10 -1
  23. package/dist/lib/components/scroll-bar/src/scroll-bar.js +175 -39
  24. package/dist/lib/components/scroll-bar/src/scroll-bar.js.map +1 -1
  25. package/dist/lib/components/scroll-bar/src/types.d.ts +1 -0
  26. package/dist/lib/components/scroll-bar/src/types.js +2 -1
  27. package/dist/lib/components/scroll-bar/src/types.js.map +1 -1
  28. package/dist/lib/components/virtual-list/index.d.ts +33 -3
  29. package/dist/lib/components/virtual-list/src/types.d.ts +1 -0
  30. package/dist/lib/components/virtual-list/src/types.js +1 -0
  31. package/dist/lib/components/virtual-list/src/types.js.map +1 -1
  32. package/dist/lib/components/virtual-list/src/virtual-list.vue.d.ts +33 -3
  33. package/dist/lib/components/virtual-list/src/virtual-list.vue2.js +35 -40
  34. package/dist/lib/components/virtual-list/src/virtual-list.vue2.js.map +1 -1
  35. package/dist/theme-chalk/index.css +1 -1
  36. package/dist/theme-chalk/scroll-bar.css +1 -1
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- :root{--king-color-white:#ffffff;--king-color-primary:#409eff;--king-color-success:#67c23a;--king-color-warning:#e6a23c;--king-color-danger:#f56c6c;--king-color-error:#f56c6c;--king-color-info:#909399;--king-transition-duration:0.3s}.king-button--primary{--king-button-text-color:var(--king-color-primary)}.king-button--success{--king-button-text-color:var(--king-color-success)}.king-button--warning{--king-button-text-color:var(--king-color-warning)}.king-button--danger{--king-button-text-color:var(--king-color-danger)}.king-button--error{--king-button-text-color:var(--king-color-error)}.king-button--info{--king-button-text-color:var(--king-color-info)}.king-button{color:var(--king-button-text-color)}.king-scrollbar{overflow:hidden;position:relative;z-index:auto;height:100%;width:100%}.king-scrollbar .king-scrollbar-container{width:100%;overflow:scroll;height:100%;min-height:inherit;max-height:inherit;scrollbar-width:none}.king-scrollbar .king-scrollbar-rail{position:absolute;right:0;width:5px;top:2px;bottom:2px;right:4px}.king-scrollbar .king-scrollbar-rail__scrollbar{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;width:100%;cursor:pointer}
1
+ :root{--king-color-white:#ffffff;--king-color-primary:#409eff;--king-color-success:#67c23a;--king-color-warning:#e6a23c;--king-color-danger:#f56c6c;--king-color-error:#f56c6c;--king-color-info:#909399;--king-transition-duration:0.3s}.king-button--primary{--king-button-text-color:var(--king-color-primary)}.king-button--success{--king-button-text-color:var(--king-color-success)}.king-button--warning{--king-button-text-color:var(--king-color-warning)}.king-button--danger{--king-button-text-color:var(--king-color-danger)}.king-button--error{--king-button-text-color:var(--king-color-error)}.king-button--info{--king-button-text-color:var(--king-color-info)}.king-button{color:var(--king-button-text-color)}.king-scrollbar{overflow:hidden;position:relative;z-index:auto;height:100%;width:100%}.king-scrollbar .king-scrollbar-container{width:100%;overflow:scroll;height:100%;min-height:inherit;max-height:inherit;scrollbar-width:none}.king-scrollbar .king-scrollbar-content{width:-moz-fit-content;width:fit-content}.king-scrollbar .king-scrollbar-rail{position:absolute}.king-scrollbar .king-scrollbar-rail--vertical{right:0;width:5px;top:2px;bottom:2px;right:4px}.king-scrollbar .king-scrollbar-rail--horizontal{bottom:2px;height:5px;left:2px;right:2px}.king-scrollbar .king-scrollbar-rail__scrollbar--vertical{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;width:100%;cursor:pointer}.king-scrollbar .king-scrollbar-rail__scrollbar--horizontal{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;height:100%;cursor:pointer}.v-vl-items{width:-moz-fit-content;width:fit-content}
@@ -4,23 +4,32 @@ export declare const KScrollBar: import("../utils/install").SFCWithInstall<impor
4
4
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
5
5
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
6
6
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
7
+ readonly xScrollable: BooleanConstructor;
7
8
  }, {
8
9
  sync: () => void;
9
10
  handleContentResize: () => void;
10
11
  handleContainerResize: () => void;
11
12
  contentRef: import("vue").Ref<HTMLElement | null>;
12
13
  yRailRef: import("vue").Ref<HTMLElement | null>;
14
+ xRailRef: import("vue").Ref<HTMLElement | null>;
13
15
  containerRef: import("vue").Ref<HTMLElement | null>;
14
16
  contentHeightRef: import("vue").Ref<Nullable<number>>;
15
17
  containerHeightRef: import("vue").Ref<Nullable<number>>;
16
18
  needYBarRef: import("vue").ComputedRef<boolean>;
19
+ needXBarRef: import("vue").ComputedRef<boolean>;
17
20
  yBarSizePxRef: import("vue").ComputedRef<string>;
18
21
  handleYScrollMouseDown: (e: MouseEvent) => void;
22
+ handleXScrollMouseDown: (e: MouseEvent) => void;
19
23
  yBarTopPxRef: import("vue").ComputedRef<string>;
20
24
  handleScroll: (e: Event) => void;
25
+ xBarSizePxRef: import("vue").ComputedRef<string>;
26
+ xBarLeftPxRef: import("vue").ComputedRef<string>;
21
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
22
28
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
23
29
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
24
30
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
25
- }>>, {}, {}>>;
31
+ readonly xScrollable: BooleanConstructor;
32
+ }>>, {
33
+ readonly xScrollable: boolean;
34
+ }, {}>>;
26
35
  export default KScrollBar;
@@ -2,23 +2,32 @@ declare const _default: import("vue").DefineComponent<{
2
2
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
3
3
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
4
4
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
5
+ readonly xScrollable: BooleanConstructor;
5
6
  }, {
6
7
  sync: () => void;
7
8
  handleContentResize: () => void;
8
9
  handleContainerResize: () => void;
9
10
  contentRef: import("vue").Ref<HTMLElement | null>;
10
11
  yRailRef: import("vue").Ref<HTMLElement | null>;
12
+ xRailRef: import("vue").Ref<HTMLElement | null>;
11
13
  containerRef: import("vue").Ref<HTMLElement | null>;
12
14
  contentHeightRef: import("vue").Ref<Nullable<number>>;
13
15
  containerHeightRef: import("vue").Ref<Nullable<number>>;
14
16
  needYBarRef: import("vue").ComputedRef<boolean>;
17
+ needXBarRef: import("vue").ComputedRef<boolean>;
15
18
  yBarSizePxRef: import("vue").ComputedRef<string>;
16
19
  handleYScrollMouseDown: (e: MouseEvent) => void;
20
+ handleXScrollMouseDown: (e: MouseEvent) => void;
17
21
  yBarTopPxRef: import("vue").ComputedRef<string>;
18
22
  handleScroll: (e: Event) => void;
23
+ xBarSizePxRef: import("vue").ComputedRef<string>;
24
+ xBarLeftPxRef: import("vue").ComputedRef<string>;
19
25
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
26
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
21
27
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
22
28
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
23
- }>>, {}, {}>;
29
+ readonly xScrollable: BooleanConstructor;
30
+ }>>, {
31
+ readonly xScrollable: boolean;
32
+ }, {}>;
24
33
  export default _default;
@@ -25,11 +25,13 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
25
25
  const contentRef = ref(null);
26
26
  const containerRef = ref(null);
27
27
  const yRailRef = ref(null);
28
+ const xRailRef = ref(null);
28
29
  const contentHeightRef = ref(null);
29
30
  const contentWidthRef = ref(null);
30
31
  const containerHeightRef = ref(null);
31
32
  const containerWidthRef = ref(null);
32
33
  const yRailSizeRef = ref(null);
34
+ const xRailSizeRef = ref(null);
33
35
  const mergedContentRef = computed(() => {
34
36
  var _a;
35
37
  return ((_a = props.content) == null ? void 0 : _a.call(props)) || contentRef.value;
@@ -39,6 +41,16 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
39
41
  return ((_a = props.container) == null ? void 0 : _a.call(props)) || containerRef.value;
40
42
  });
41
43
  const containerScrollTopRef = ref(0);
44
+ const containerScrollLeftRef = ref(0);
45
+ const needYBarRef = computed(() => {
46
+ const {
47
+ value: containerHeight
48
+ } = containerHeightRef;
49
+ const {
50
+ value: contentHeight
51
+ } = contentHeightRef;
52
+ return containerHeight !== null && contentHeight !== null && contentHeight > containerHeight;
53
+ });
42
54
  const yBarSizeRef = computed(() => {
43
55
  const {
44
56
  value: containerHeight
@@ -55,6 +67,9 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
55
67
  return Math.min(containerHeight, yRailSize * containerHeight / contentHeight + 5 * 1.5);
56
68
  }
57
69
  });
70
+ const yBarSizePxRef = computed(() => {
71
+ return `${yBarSizeRef.value}px`;
72
+ });
58
73
  const yBarTopRef = computed(() => {
59
74
  const {
60
75
  value: containerHeight
@@ -79,46 +94,16 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
79
94
  const yBarTopPxRef = computed(() => {
80
95
  return `${yBarTopRef.value}px`;
81
96
  });
82
- const needYBarRef = computed(() => {
83
- const {
84
- value: containerHeight
85
- } = containerHeightRef;
86
- const {
87
- value: contentHeight
88
- } = contentHeightRef;
89
- return containerHeight !== null && contentHeight !== null && contentHeight > containerHeight;
90
- });
91
- const yBarSizePxRef = computed(() => {
92
- return `${yBarSizeRef.value}px`;
93
- });
94
- const syncPositionState = () => {
95
- const {
96
- value: content
97
- } = mergedContentRef;
98
- if (content) {
99
- contentHeightRef.value = content.offsetHeight;
100
- contentWidthRef.value = content.offsetWidth;
101
- }
102
- const {
103
- value: container
104
- } = mergedContainerRef;
105
- if (container) {
106
- containerHeightRef.value = container.offsetHeight;
107
- containerWidthRef.value = container.offsetWidth;
108
- }
109
- const {
110
- value: yRailEl
111
- } = yRailRef;
112
- if (yRailEl) {
113
- yRailSizeRef.value = yRailEl.offsetHeight;
114
- }
115
- };
116
97
  let yBarPressed = false;
117
98
  let memoYTop = 0;
118
99
  let memoMouseY = 0;
119
100
  let yBarVanishTimerId;
101
+ let xBarVanishTimerId;
120
102
  const handleYScrollMouseMove = (e) => {
121
103
  if (!yBarPressed) return;
104
+ if (xBarVanishTimerId !== void 0) {
105
+ window.clearTimeout(xBarVanishTimerId);
106
+ }
122
107
  if (yBarVanishTimerId !== void 0) {
123
108
  window.clearTimeout(yBarVanishTimerId);
124
109
  }
@@ -169,14 +154,146 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
169
154
  if (onScroll) onScroll(e);
170
155
  syncScrollState();
171
156
  }
157
+ const needXBarRef = computed(() => {
158
+ const {
159
+ value: containerWidth
160
+ } = containerWidthRef;
161
+ const {
162
+ value: contentWidth
163
+ } = contentWidthRef;
164
+ return containerWidth !== null && contentWidth !== null && contentWidth > containerWidth;
165
+ });
166
+ const xBarSizeRef = computed(() => {
167
+ const {
168
+ value: containerWidth
169
+ } = containerWidthRef;
170
+ const {
171
+ value: contentWidth
172
+ } = contentWidthRef;
173
+ const {
174
+ value: xRailSize
175
+ } = xRailSizeRef;
176
+ if (containerWidth === null || contentWidth === null || xRailSize === null) {
177
+ return 0;
178
+ } else {
179
+ return xRailSize * containerWidth / contentWidth + 5 * 1.5;
180
+ }
181
+ });
182
+ const xBarSizePxRef = computed(() => {
183
+ return `${xBarSizeRef.value}px`;
184
+ });
185
+ const xBarLeftRef = computed(() => {
186
+ const {
187
+ value: containerWidth
188
+ } = containerWidthRef;
189
+ const {
190
+ value: containerScrollLeft
191
+ } = containerScrollLeftRef;
192
+ const {
193
+ value: contentWidth
194
+ } = contentWidthRef;
195
+ const {
196
+ value: xRailSize
197
+ } = xRailSizeRef;
198
+ if (containerWidth === null || contentWidth === null || xRailSize === null) {
199
+ return 0;
200
+ } else {
201
+ const widthDiff = contentWidth - containerWidth;
202
+ if (!widthDiff) return 0;
203
+ return containerScrollLeft / widthDiff * (xRailSize - xBarSizeRef.value);
204
+ }
205
+ });
206
+ const xBarLeftPxRef = computed(() => {
207
+ return `${xBarLeftRef.value}px`;
208
+ });
209
+ let xBarPressed = false;
210
+ let memoXLeft = 0;
211
+ let memoMouseX = 0;
212
+ const handleXScrollMouseMove = (e) => {
213
+ if (!xBarPressed) return;
214
+ if (xBarVanishTimerId !== void 0) {
215
+ window.clearTimeout(xBarVanishTimerId);
216
+ }
217
+ if (yBarVanishTimerId !== void 0) {
218
+ window.clearTimeout(yBarVanishTimerId);
219
+ }
220
+ const {
221
+ value: containerWidth
222
+ } = containerWidthRef;
223
+ const {
224
+ value: contentWidth
225
+ } = contentWidthRef;
226
+ const {
227
+ value: xBarSize
228
+ } = xBarSizeRef;
229
+ if (containerWidth === null || contentWidth === null) return;
230
+ const dX = e.clientX - memoMouseX;
231
+ const dScrollLeft = dX * (contentWidth - containerWidth) / (containerWidth - xBarSize);
232
+ const toScrollLeftUpperBound = contentWidth - containerWidth;
233
+ let toScrollLeft = memoXLeft + dScrollLeft;
234
+ toScrollLeft = Math.min(toScrollLeftUpperBound, toScrollLeft);
235
+ toScrollLeft = Math.max(toScrollLeft, 0);
236
+ const {
237
+ value: container
238
+ } = mergedContainerRef;
239
+ if (container) {
240
+ container.scrollLeft = toScrollLeft;
241
+ }
242
+ };
243
+ const handleXScrollMouseUp = (e) => {
244
+ e.preventDefault();
245
+ e.stopPropagation();
246
+ off("mousemove", window, handleXScrollMouseMove, true);
247
+ off("mouseup", window, handleXScrollMouseUp, true);
248
+ xBarPressed = false;
249
+ sync();
250
+ };
251
+ function handleXScrollMouseDown(e) {
252
+ e.preventDefault();
253
+ e.stopPropagation();
254
+ xBarPressed = true;
255
+ on("mousemove", window, handleXScrollMouseMove, true);
256
+ on("mouseup", window, handleXScrollMouseUp, true);
257
+ memoXLeft = containerScrollLeftRef.value;
258
+ memoMouseX = e.clientX;
259
+ }
172
260
  function syncScrollState() {
173
261
  const {
174
262
  value: container
175
263
  } = mergedContainerRef;
176
264
  if (container) {
177
265
  containerScrollTopRef.value = container.scrollTop;
266
+ containerScrollLeftRef.value = container.scrollLeft;
178
267
  }
179
268
  }
269
+ const syncPositionState = () => {
270
+ const {
271
+ value: content
272
+ } = mergedContentRef;
273
+ if (content) {
274
+ contentHeightRef.value = content.offsetHeight;
275
+ contentWidthRef.value = content.offsetWidth;
276
+ }
277
+ const {
278
+ value: container
279
+ } = mergedContainerRef;
280
+ if (container) {
281
+ containerHeightRef.value = container.offsetHeight;
282
+ containerWidthRef.value = container.offsetWidth;
283
+ }
284
+ const {
285
+ value: yRailEl
286
+ } = yRailRef;
287
+ if (yRailEl) {
288
+ yRailSizeRef.value = yRailEl.offsetHeight;
289
+ }
290
+ const {
291
+ value: xRailEl
292
+ } = xRailRef;
293
+ if (xRailEl) {
294
+ xRailSizeRef.value = xRailEl.offsetWidth;
295
+ }
296
+ };
180
297
  function sync() {
181
298
  syncPositionState();
182
299
  syncScrollState();
@@ -187,27 +304,46 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
187
304
  handleContainerResize,
188
305
  contentRef,
189
306
  yRailRef,
307
+ xRailRef,
190
308
  containerRef,
191
309
  contentHeightRef,
192
310
  containerHeightRef,
193
311
  needYBarRef,
312
+ needXBarRef,
194
313
  yBarSizePxRef,
195
314
  handleYScrollMouseDown,
315
+ handleXScrollMouseDown,
196
316
  yBarTopPxRef,
197
- handleScroll
317
+ handleScroll,
318
+ xBarSizePxRef,
319
+ xBarLeftPxRef
198
320
  };
199
321
  },
200
322
  render() {
201
323
  let _slot;
202
324
  const {
203
- $slots
325
+ $slots,
326
+ xScrollable
204
327
  } = this;
328
+ const createXBar = () => {
329
+ return createVNode("div", {
330
+ "class": `${defaultNamespace}-scrollbar-rail ${defaultNamespace}-scrollbar-rail--horizontal`,
331
+ "ref": "xRailRef"
332
+ }, [this.needXBarRef && createVNode("div", {
333
+ "class": `${defaultNamespace}-scrollbar-rail__scrollbar--horizontal`,
334
+ "style": {
335
+ width: this.xBarSizePxRef,
336
+ left: this.xBarLeftPxRef
337
+ },
338
+ "onMousedown": this.handleXScrollMouseDown
339
+ }, null)]);
340
+ };
205
341
  const createYBar = () => {
206
342
  return createVNode("div", {
207
- "class": `${defaultNamespace}-scrollbar-rail`,
343
+ "class": `${defaultNamespace}-scrollbar-rail ${defaultNamespace}-scrollbar-rail--vertical`,
208
344
  "ref": "yRailRef"
209
345
  }, [this.needYBarRef && createVNode("div", {
210
- "class": `${defaultNamespace}-scrollbar-rail__scrollbar`,
346
+ "class": `${defaultNamespace}-scrollbar-rail__scrollbar--vertical`,
211
347
  "style": {
212
348
  height: this.yBarSizePxRef,
213
349
  top: this.yBarTopPxRef
@@ -233,7 +369,7 @@ var ScrollBar = /* @__PURE__ */ defineComponent({
233
369
  "class": `${defaultNamespace}-scrollbar-content`
234
370
  }, [(_a2 = $slots.default) == null ? void 0 : _a2.call($slots)])];
235
371
  }
236
- })]), createYBar()]);
372
+ })]), createYBar(), xScrollable && createXBar()]);
237
373
  };
238
374
  const createBarNode = this.container ? createChildren() : createVNode(VResizeObserver, {
239
375
  "onResize": this.handleContainerResize
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-bar.mjs","sources":["../../../../../components/scroll-bar/src/scroll-bar.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, ref } from 'vue'\nimport { VResizeObserver } from 'vueuc'\nimport { off, on } from 'evtd'\nimport { defaultNamespace } from '@king-one/antdv/hooks/use-namespace'\nimport { scrollbarProps } from './types'\n\nexport default defineComponent({\n name: 'KScrollbar',\n props: scrollbarProps,\n inheritAttrs: false,\n setup(props) {\n onMounted(() => {\n if (props.container)\n return\n sync()\n })\n const handleContentResize = () => {\n sync()\n }\n const handleContainerResize = () => {\n sync()\n }\n const contentRef = ref<HTMLElement | null>(null)\n const containerRef = ref<HTMLElement | null>(null)\n const yRailRef = ref<HTMLElement | null>(null)\n const contentHeightRef = ref<Nullable<number>>(null)\n const contentWidthRef = ref<Nullable<number>>(null)\n const containerHeightRef = ref<Nullable<number>>(null)\n const containerWidthRef = ref<Nullable<number>>(null)\n const yRailSizeRef = ref<Nullable<number>>(null)\n const mergedContentRef = computed(() => props.content?.() || contentRef.value)\n const mergedContainerRef = computed(() => props.container?.() || containerRef.value)\n const containerScrollTopRef = ref(0)\n const yBarSizeRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n const { value: yRailSize } = yRailSizeRef\n if (containerHeight === null || contentHeight === null || yRailSize === null) {\n return 0\n }\n else {\n return Math.min(containerHeight, (yRailSize * containerHeight) / contentHeight + 5 * 1.5)\n }\n })\n const yBarTopRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: containerScrollTop } = containerScrollTopRef\n const { value: contentHeight } = contentHeightRef\n const { value: yRailSize } = yRailSizeRef\n if (containerHeight === null || contentHeight === null || yRailSize === null) {\n return 0\n }\n else {\n const heightDiff = contentHeight - containerHeight\n if (!heightDiff)\n return 0\n return (containerScrollTop / heightDiff) * (yRailSize - yBarSizeRef.value)\n }\n })\n const yBarTopPxRef = computed(() => {\n return `${yBarTopRef.value}px`\n })\n const needYBarRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n return containerHeight !== null && contentHeight !== null && contentHeight > containerHeight\n })\n\n const yBarSizePxRef = computed(() => {\n return `${yBarSizeRef.value}px`\n })\n const syncPositionState = () => {\n const { value: content } = mergedContentRef\n if (content) {\n contentHeightRef.value = content.offsetHeight\n contentWidthRef.value = content.offsetWidth\n }\n const { value: container } = mergedContainerRef\n if (container) {\n containerHeightRef.value = container.offsetHeight\n containerWidthRef.value = container.offsetWidth\n }\n const { value: yRailEl } = yRailRef\n if (yRailEl) {\n yRailSizeRef.value = yRailEl.offsetHeight\n }\n }\n let yBarPressed = false\n let memoYTop: number = 0\n let memoMouseY: number = 0\n let yBarVanishTimerId: number | undefined\n\n const handleYScrollMouseMove = (e: MouseEvent) => {\n if (!yBarPressed)\n return\n\n if (yBarVanishTimerId !== undefined) {\n window.clearTimeout(yBarVanishTimerId)\n }\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n const { value: yBarSize } = yBarSizeRef\n if (containerHeight === null || contentHeight === null)\n return\n const dY = e.clientY - memoMouseY\n const dScrollTop = (dY * (contentHeight - containerHeight)) / (containerHeight - yBarSize)\n const toScrollTopUpperBound = contentHeight - containerHeight\n let toScrollTop = memoYTop + dScrollTop\n toScrollTop = Math.min(toScrollTopUpperBound, toScrollTop)\n toScrollTop = Math.max(toScrollTop, 0)\n const { value: container } = mergedContainerRef\n if (container) {\n container.scrollTop = toScrollTop\n }\n }\n const handleYScrollMouseUp = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n off('mousemove', window, handleYScrollMouseMove, true)\n off('mouseup', window, handleYScrollMouseUp, true)\n yBarPressed = false\n sync()\n }\n const handleYScrollMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n on('mousemove', window, handleYScrollMouseMove, true)\n on('mouseup', window, handleYScrollMouseUp, true)\n memoYTop = containerScrollTopRef.value\n memoMouseY = e.clientY\n yBarPressed = true\n }\n function handleScroll(e: Event): void {\n const { onScroll } = props\n if (onScroll)\n onScroll(e)\n syncScrollState()\n }\n function syncScrollState(): void {\n // only collect scroll state, do not trigger any dom event\n const { value: container } = mergedContainerRef\n if (container) {\n containerScrollTopRef.value = container.scrollTop\n }\n }\n function sync(): void {\n syncPositionState()\n syncScrollState()\n }\n\n return {\n sync,\n handleContentResize,\n handleContainerResize,\n contentRef,\n yRailRef,\n containerRef,\n contentHeightRef,\n containerHeightRef,\n needYBarRef,\n yBarSizePxRef,\n handleYScrollMouseDown,\n yBarTopPxRef,\n handleScroll\n }\n },\n render() {\n const { $slots } = this\n const createYBar = () => {\n return (\n <div class={`${defaultNamespace}-scrollbar-rail`} ref=\"yRailRef\">\n {this.needYBarRef && (\n <div\n class={`${defaultNamespace}-scrollbar-rail__scrollbar`}\n style={{\n height: this.yBarSizePxRef,\n top: this.yBarTopPxRef\n }}\n onMousedown={this.handleYScrollMouseDown}\n >\n </div>\n )}\n </div>\n )\n }\n\n const createChildren = () => {\n return (\n <div class={`${defaultNamespace}-scrollbar`} {...this.$attrs}>\n {this.container\n ? (\n $slots.default?.()\n )\n : (\n <div class={`${defaultNamespace}-scrollbar-container`} onScroll={this.handleScroll} ref=\"containerRef\">\n <VResizeObserver onResize={this.handleContentResize}>\n <div ref=\"contentRef\" class={`${defaultNamespace}-scrollbar-content`}>\n {$slots.default?.()}\n </div>\n </VResizeObserver>\n </div>\n )}\n\n {createYBar()}\n </div>\n )\n }\n const createBarNode = this.container ? createChildren() : <VResizeObserver onResize={this.handleContainerResize}>{createChildren()}</VResizeObserver>\n return createBarNode\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","scrollbarProps","inheritAttrs","setup","onMounted","container","sync","handleContentResize","handleContainerResize","contentRef","ref","containerRef","yRailRef","contentHeightRef","contentWidthRef","containerHeightRef","containerWidthRef","yRailSizeRef","mergedContentRef","computed","content","value","mergedContainerRef","containerScrollTopRef","yBarSizeRef","containerHeight","contentHeight","yRailSize","Math","min","yBarTopRef","containerScrollTop","heightDiff","yBarTopPxRef","needYBarRef","yBarSizePxRef","syncPositionState","offsetHeight","offsetWidth","yRailEl","yBarPressed","memoYTop","memoMouseY","yBarVanishTimerId","handleYScrollMouseMove","e","undefined","window","clearTimeout","yBarSize","dY","clientY","dScrollTop","toScrollTopUpperBound","toScrollTop","max","scrollTop","handleYScrollMouseUp","preventDefault","stopPropagation","off","handleYScrollMouseDown","on","handleScroll","onScroll","syncScrollState","render","_slot","$slots","createYBar","_createVNode","defaultNamespace","height","top","createChildren","_mergeProps","$attrs","default","VResizeObserver","createBarNode"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-bar.mjs","sources":["../../../../../components/scroll-bar/src/scroll-bar.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, ref } from 'vue'\nimport { VResizeObserver } from 'vueuc'\nimport { off, on } from 'evtd'\nimport { defaultNamespace } from '@king-one/antdv/hooks/use-namespace'\nimport { scrollbarProps } from './types'\n\nexport default defineComponent({\n name: 'KScrollbar',\n props: scrollbarProps,\n inheritAttrs: false,\n setup(props) {\n onMounted(() => {\n if (props.container)\n return\n sync()\n })\n const handleContentResize = () => {\n sync()\n }\n const handleContainerResize = () => {\n sync()\n }\n const contentRef = ref<HTMLElement | null>(null)\n const containerRef = ref<HTMLElement | null>(null)\n const yRailRef = ref<HTMLElement | null>(null)\n const xRailRef = ref<HTMLElement | null>(null)\n const contentHeightRef = ref<Nullable<number>>(null)\n const contentWidthRef = ref<Nullable<number>>(null)\n const containerHeightRef = ref<Nullable<number>>(null)\n const containerWidthRef = ref<Nullable<number>>(null)\n const yRailSizeRef = ref<Nullable<number>>(null)\n const xRailSizeRef = ref<Nullable<number>>(null)\n const mergedContentRef = computed(() => props.content?.() || contentRef.value)\n const mergedContainerRef = computed(() => props.container?.() || containerRef.value)\n const containerScrollTopRef = ref(0)\n const containerScrollLeftRef = ref(0)\n\n /** 竖向滚动条相关逻辑 */\n const needYBarRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n return containerHeight !== null && contentHeight !== null && contentHeight > containerHeight\n })\n /** 竖向滚动条的大小(高度) */\n const yBarSizeRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n const { value: yRailSize } = yRailSizeRef\n if (containerHeight === null || contentHeight === null || yRailSize === null) {\n return 0\n }\n else {\n return Math.min(containerHeight, (yRailSize * containerHeight) / contentHeight + 5 * 1.5)\n }\n })\n\n const yBarSizePxRef = computed(() => {\n return `${yBarSizeRef.value}px`\n })\n /** 竖向滚动条的top */\n const yBarTopRef = computed(() => {\n const { value: containerHeight } = containerHeightRef\n const { value: containerScrollTop } = containerScrollTopRef\n const { value: contentHeight } = contentHeightRef\n const { value: yRailSize } = yRailSizeRef\n if (containerHeight === null || contentHeight === null || yRailSize === null) {\n return 0\n }\n else {\n const heightDiff = contentHeight - containerHeight\n if (!heightDiff)\n return 0\n return (containerScrollTop / heightDiff) * (yRailSize - yBarSizeRef.value)\n }\n })\n const yBarTopPxRef = computed(() => {\n return `${yBarTopRef.value}px`\n })\n\n /** 竖向滚动条的拖拽 */\n let yBarPressed = false\n let memoYTop: number = 0\n let memoMouseY: number = 0\n let yBarVanishTimerId: number | undefined\n let xBarVanishTimerId: number | undefined\n const handleYScrollMouseMove = (e: MouseEvent) => {\n if (!yBarPressed)\n return\n\n if (xBarVanishTimerId !== undefined) {\n window.clearTimeout(xBarVanishTimerId)\n }\n if (yBarVanishTimerId !== undefined) {\n window.clearTimeout(yBarVanishTimerId)\n }\n const { value: containerHeight } = containerHeightRef\n const { value: contentHeight } = contentHeightRef\n const { value: yBarSize } = yBarSizeRef\n if (containerHeight === null || contentHeight === null)\n return\n const dY = e.clientY - memoMouseY\n const dScrollTop = (dY * (contentHeight - containerHeight)) / (containerHeight - yBarSize)\n const toScrollTopUpperBound = contentHeight - containerHeight\n let toScrollTop = memoYTop + dScrollTop\n toScrollTop = Math.min(toScrollTopUpperBound, toScrollTop)\n toScrollTop = Math.max(toScrollTop, 0)\n const { value: container } = mergedContainerRef\n if (container) {\n container.scrollTop = toScrollTop\n }\n }\n const handleYScrollMouseUp = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n off('mousemove', window, handleYScrollMouseMove, true)\n off('mouseup', window, handleYScrollMouseUp, true)\n yBarPressed = false\n sync()\n }\n const handleYScrollMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n on('mousemove', window, handleYScrollMouseMove, true)\n on('mouseup', window, handleYScrollMouseUp, true)\n memoYTop = containerScrollTopRef.value\n memoMouseY = e.clientY\n yBarPressed = true\n }\n\n function handleScroll(e: Event): void {\n const { onScroll } = props\n if (onScroll)\n onScroll(e)\n syncScrollState()\n }\n /** =======================================华丽的分割线==================================== */\n\n const needXBarRef = computed(() => {\n const { value: containerWidth } = containerWidthRef\n const { value: contentWidth } = contentWidthRef\n return containerWidth !== null && contentWidth !== null && contentWidth > containerWidth\n })\n // 横向滚动条的大小(width)\n const xBarSizeRef = computed(() => {\n const { value: containerWidth } = containerWidthRef\n const { value: contentWidth } = contentWidthRef\n const { value: xRailSize } = xRailSizeRef\n if (containerWidth === null || contentWidth === null || xRailSize === null) {\n return 0\n }\n else {\n return (xRailSize * containerWidth) / contentWidth + 5 * 1.5\n }\n })\n const xBarSizePxRef = computed(() => {\n return `${xBarSizeRef.value}px`\n })\n // 横向滚动条的Left\n const xBarLeftRef = computed(() => {\n const { value: containerWidth } = containerWidthRef\n const { value: containerScrollLeft } = containerScrollLeftRef\n const { value: contentWidth } = contentWidthRef\n const { value: xRailSize } = xRailSizeRef\n if (containerWidth === null || contentWidth === null || xRailSize === null) {\n return 0\n }\n else {\n const widthDiff = contentWidth - containerWidth\n if (!widthDiff)\n return 0\n return (containerScrollLeft / widthDiff) * (xRailSize - xBarSizeRef.value)\n }\n })\n const xBarLeftPxRef = computed(() => {\n return `${xBarLeftRef.value}px`\n })\n /** 竖向滚动条的拖拽 */\n let xBarPressed = false\n let memoXLeft: number = 0\n let memoMouseX: number = 0\n const handleXScrollMouseMove = (e: MouseEvent) => {\n if (!xBarPressed)\n return\n if (xBarVanishTimerId !== undefined) {\n window.clearTimeout(xBarVanishTimerId)\n }\n if (yBarVanishTimerId !== undefined) {\n window.clearTimeout(yBarVanishTimerId)\n }\n const { value: containerWidth } = containerWidthRef\n const { value: contentWidth } = contentWidthRef\n const { value: xBarSize } = xBarSizeRef\n if (containerWidth === null || contentWidth === null)\n return\n const dX = e.clientX - memoMouseX\n\n const dScrollLeft = (dX * (contentWidth - containerWidth)) / (containerWidth - xBarSize)\n const toScrollLeftUpperBound = contentWidth - containerWidth\n let toScrollLeft = memoXLeft + dScrollLeft\n toScrollLeft = Math.min(toScrollLeftUpperBound, toScrollLeft)\n toScrollLeft = Math.max(toScrollLeft, 0)\n const { value: container } = mergedContainerRef\n if (container) {\n container.scrollLeft = toScrollLeft\n }\n }\n const handleXScrollMouseUp = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n off('mousemove', window, handleXScrollMouseMove, true)\n off('mouseup', window, handleXScrollMouseUp, true)\n xBarPressed = false\n sync()\n }\n function handleXScrollMouseDown(e: MouseEvent): void {\n e.preventDefault()\n e.stopPropagation()\n xBarPressed = true\n on('mousemove', window, handleXScrollMouseMove, true)\n on('mouseup', window, handleXScrollMouseUp, true)\n memoXLeft = containerScrollLeftRef.value\n memoMouseX = e.clientX\n }\n\n /** */\n function syncScrollState(): void {\n // only collect scroll state, do not trigger any dom event\n const { value: container } = mergedContainerRef\n if (container) {\n containerScrollTopRef.value = container.scrollTop\n containerScrollLeftRef.value = container.scrollLeft\n }\n }\n const syncPositionState = () => {\n const { value: content } = mergedContentRef\n if (content) {\n contentHeightRef.value = content.offsetHeight\n contentWidthRef.value = content.offsetWidth\n }\n const { value: container } = mergedContainerRef\n if (container) {\n containerHeightRef.value = container.offsetHeight\n containerWidthRef.value = container.offsetWidth\n }\n const { value: yRailEl } = yRailRef\n if (yRailEl) {\n yRailSizeRef.value = yRailEl.offsetHeight\n }\n const { value: xRailEl } = xRailRef\n if (xRailEl) {\n xRailSizeRef.value = xRailEl.offsetWidth\n }\n }\n\n function sync(): void {\n syncPositionState()\n syncScrollState()\n }\n\n return {\n sync,\n handleContentResize,\n handleContainerResize,\n contentRef,\n yRailRef,\n xRailRef,\n containerRef,\n contentHeightRef,\n containerHeightRef,\n needYBarRef,\n needXBarRef,\n yBarSizePxRef,\n handleYScrollMouseDown,\n handleXScrollMouseDown,\n yBarTopPxRef,\n handleScroll,\n xBarSizePxRef,\n xBarLeftPxRef\n }\n },\n render() {\n const { $slots, xScrollable } = this\n const createXBar = () => {\n return (\n <div class={`${defaultNamespace}-scrollbar-rail ${defaultNamespace}-scrollbar-rail--horizontal`} ref=\"xRailRef\">\n {this.needXBarRef && (\n <div\n class={`${defaultNamespace}-scrollbar-rail__scrollbar--horizontal`}\n style={{\n width: this.xBarSizePxRef,\n left: this.xBarLeftPxRef\n }}\n onMousedown={this.handleXScrollMouseDown}\n >\n </div>\n )}\n </div>\n )\n }\n const createYBar = () => {\n return (\n <div class={`${defaultNamespace}-scrollbar-rail ${defaultNamespace}-scrollbar-rail--vertical`} ref=\"yRailRef\">\n {this.needYBarRef && (\n <div\n class={`${defaultNamespace}-scrollbar-rail__scrollbar--vertical`}\n style={{\n height: this.yBarSizePxRef,\n top: this.yBarTopPxRef\n }}\n onMousedown={this.handleYScrollMouseDown}\n >\n </div>\n )}\n </div>\n )\n }\n\n const createChildren = () => {\n return (\n <div class={`${defaultNamespace}-scrollbar`} {...this.$attrs}>\n {this.container\n ? (\n $slots.default?.()\n )\n : (\n <div class={`${defaultNamespace}-scrollbar-container`} onScroll={this.handleScroll} ref=\"containerRef\">\n <VResizeObserver onResize={this.handleContentResize}>\n <div ref=\"contentRef\" class={`${defaultNamespace}-scrollbar-content`}>\n {$slots.default?.()}\n </div>\n </VResizeObserver>\n </div>\n )}\n\n {createYBar()}\n {xScrollable && createXBar()}\n </div>\n )\n }\n const createBarNode = this.container ? createChildren() : <VResizeObserver onResize={this.handleContainerResize}>{createChildren()}</VResizeObserver>\n return createBarNode\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","scrollbarProps","inheritAttrs","setup","onMounted","container","sync","handleContentResize","handleContainerResize","contentRef","ref","containerRef","yRailRef","xRailRef","contentHeightRef","contentWidthRef","containerHeightRef","containerWidthRef","yRailSizeRef","xRailSizeRef","mergedContentRef","computed","content","value","mergedContainerRef","containerScrollTopRef","containerScrollLeftRef","needYBarRef","containerHeight","contentHeight","yBarSizeRef","yRailSize","Math","min","yBarSizePxRef","yBarTopRef","containerScrollTop","heightDiff","yBarTopPxRef","yBarPressed","memoYTop","memoMouseY","yBarVanishTimerId","xBarVanishTimerId","handleYScrollMouseMove","e","undefined","window","clearTimeout","yBarSize","dY","clientY","dScrollTop","toScrollTopUpperBound","toScrollTop","max","scrollTop","handleYScrollMouseUp","preventDefault","stopPropagation","off","handleYScrollMouseDown","on","handleScroll","onScroll","syncScrollState","needXBarRef","containerWidth","contentWidth","xBarSizeRef","xRailSize","xBarSizePxRef","xBarLeftRef","containerScrollLeft","widthDiff","xBarLeftPxRef","xBarPressed","memoXLeft","memoMouseX","handleXScrollMouseMove","xBarSize","dX","clientX","dScrollLeft","toScrollLeftUpperBound","toScrollLeft","scrollLeft","handleXScrollMouseUp","handleXScrollMouseDown","syncPositionState","offsetHeight","offsetWidth","yRailEl","xRailEl","render","_slot","$slots","xScrollable","createXBar","_createVNode","defaultNamespace","width","left","createYBar","height","top","createChildren","_mergeProps","$attrs","default","VResizeObserver","createBarNode"],"mappings":"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"}
@@ -3,4 +3,5 @@ export declare const scrollbarProps: {
3
3
  readonly container: PropType<() => HTMLElement | null | undefined>;
4
4
  readonly content: PropType<() => HTMLElement | null | undefined>;
5
5
  readonly onScroll: PropType<(e: Event) => void>;
6
+ readonly xScrollable: BooleanConstructor;
6
7
  };
@@ -1,7 +1,8 @@
1
1
  const scrollbarProps = {
2
2
  container: Function,
3
3
  content: Function,
4
- onScroll: Function
4
+ onScroll: Function,
5
+ xScrollable: Boolean
5
6
  };
6
7
 
7
8
  export { scrollbarProps };
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../components/scroll-bar/src/types.ts"],"sourcesContent":["import type { PropType } from 'vue'\n\nexport const scrollbarProps = {\n container: Function as PropType<() => HTMLElement | null | undefined>,\n content: Function as PropType<() => HTMLElement | null | undefined>,\n onScroll: Function as PropType<(e: Event) => void>\n} as const\n"],"names":[],"mappings":"AAEO,MAAM,cAAiB,GAAA;AAAA,EAC5B,SAAW,EAAA,QAAA;AAAA,EACX,OAAS,EAAA,QAAA;AAAA,EACT,QAAU,EAAA,QAAA;AACZ;;;;"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../../components/scroll-bar/src/types.ts"],"sourcesContent":["import type { PropType } from 'vue'\n\nexport const scrollbarProps = {\n container: Function as PropType<() => HTMLElement | null | undefined>,\n content: Function as PropType<() => HTMLElement | null | undefined>,\n onScroll: Function as PropType<(e: Event) => void>,\n xScrollable: Boolean\n} as const\n"],"names":[],"mappings":"AAEO,MAAM,cAAiB,GAAA;AAAA,EAC5B,SAAW,EAAA,QAAA;AAAA,EACX,OAAS,EAAA,QAAA;AAAA,EACT,QAAU,EAAA,QAAA;AAAA,EACV,WAAa,EAAA,OAAA;AACf;;;;"}
@@ -21,6 +21,7 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
21
21
  readonly type: StringConstructor;
22
22
  readonly default: "key";
23
23
  };
24
+ readonly xScrollable: BooleanConstructor;
24
25
  readonly onScroll: import("vue").PropType<(params: import("./src/types").InterScrollParams) => void>;
25
26
  readonly onWheel: import("vue").PropType<(event: WheelEvent) => void>;
26
27
  readonly onResize: import("vue").PropType<(entry: ResizeObserverEntry) => void>;
@@ -32,6 +33,7 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
32
33
  readonly paddingTop: string | number;
33
34
  readonly paddingBottom: string | number;
34
35
  readonly keyField: string;
36
+ readonly xScrollable: boolean;
35
37
  readonly onScroll?: ((params: import("./src/types").InterScrollParams) => void) | undefined;
36
38
  readonly onWheel?: ((event: WheelEvent) => void) | undefined;
37
39
  readonly onResize?: ((entry: ResizeObserverEntry) => void) | undefined;
@@ -49,25 +51,34 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
49
51
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
50
52
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
51
53
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
54
+ readonly xScrollable: BooleanConstructor;
52
55
  }>>, {
53
56
  sync: () => void;
54
57
  handleContentResize: () => void;
55
58
  handleContainerResize: () => void;
56
59
  contentRef: import("vue").Ref<HTMLElement | null>;
57
60
  yRailRef: import("vue").Ref<HTMLElement | null>;
61
+ xRailRef: import("vue").Ref<HTMLElement | null>;
58
62
  containerRef: import("vue").Ref<HTMLElement | null>;
59
63
  contentHeightRef: import("vue").Ref<Nullable<number>>;
60
64
  containerHeightRef: import("vue").Ref<Nullable<number>>;
61
65
  needYBarRef: import("vue").ComputedRef<boolean>;
66
+ needXBarRef: import("vue").ComputedRef<boolean>;
62
67
  yBarSizePxRef: import("vue").ComputedRef<string>;
63
68
  handleYScrollMouseDown: (e: MouseEvent) => void;
69
+ handleXScrollMouseDown: (e: MouseEvent) => void;
64
70
  yBarTopPxRef: import("vue").ComputedRef<string>;
65
71
  handleScroll: (e: Event) => void;
72
+ xBarSizePxRef: import("vue").ComputedRef<string>;
73
+ xBarLeftPxRef: import("vue").ComputedRef<string>;
66
74
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
67
75
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
68
76
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
69
77
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
70
- }>>, {}, true, {}, {}, {
78
+ readonly xScrollable: BooleanConstructor;
79
+ }>>, {
80
+ readonly xScrollable: boolean;
81
+ }, true, {}, {}, {
71
82
  P: {};
72
83
  B: {};
73
84
  D: {};
@@ -78,21 +89,29 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
78
89
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
79
90
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
80
91
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
92
+ readonly xScrollable: BooleanConstructor;
81
93
  }>>, {
82
94
  sync: () => void;
83
95
  handleContentResize: () => void;
84
96
  handleContainerResize: () => void;
85
97
  contentRef: import("vue").Ref<HTMLElement | null>;
86
98
  yRailRef: import("vue").Ref<HTMLElement | null>;
99
+ xRailRef: import("vue").Ref<HTMLElement | null>;
87
100
  containerRef: import("vue").Ref<HTMLElement | null>;
88
101
  contentHeightRef: import("vue").Ref<Nullable<number>>;
89
102
  containerHeightRef: import("vue").Ref<Nullable<number>>;
90
103
  needYBarRef: import("vue").ComputedRef<boolean>;
104
+ needXBarRef: import("vue").ComputedRef<boolean>;
91
105
  yBarSizePxRef: import("vue").ComputedRef<string>;
92
106
  handleYScrollMouseDown: (e: MouseEvent) => void;
107
+ handleXScrollMouseDown: (e: MouseEvent) => void;
93
108
  yBarTopPxRef: import("vue").ComputedRef<string>;
94
109
  handleScroll: (e: Event) => void;
95
- }, {}, {}, {}, {}> | null>;
110
+ xBarSizePxRef: import("vue").ComputedRef<string>;
111
+ xBarLeftPxRef: import("vue").ComputedRef<string>;
112
+ }, {}, {}, {}, {
113
+ readonly xScrollable: boolean;
114
+ }> | null>;
96
115
  getScrollContainer: () => HTMLElement | null | undefined;
97
116
  getScrollContent: () => HTMLElement | null | undefined;
98
117
  syncScrollbar: () => void | undefined;
@@ -227,25 +246,34 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
227
246
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
228
247
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
229
248
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
249
+ readonly xScrollable: BooleanConstructor;
230
250
  }, {
231
251
  sync: () => void;
232
252
  handleContentResize: () => void;
233
253
  handleContainerResize: () => void;
234
254
  contentRef: import("vue").Ref<HTMLElement | null>;
235
255
  yRailRef: import("vue").Ref<HTMLElement | null>;
256
+ xRailRef: import("vue").Ref<HTMLElement | null>;
236
257
  containerRef: import("vue").Ref<HTMLElement | null>;
237
258
  contentHeightRef: import("vue").Ref<Nullable<number>>;
238
259
  containerHeightRef: import("vue").Ref<Nullable<number>>;
239
260
  needYBarRef: import("vue").ComputedRef<boolean>;
261
+ needXBarRef: import("vue").ComputedRef<boolean>;
240
262
  yBarSizePxRef: import("vue").ComputedRef<string>;
241
263
  handleYScrollMouseDown: (e: MouseEvent) => void;
264
+ handleXScrollMouseDown: (e: MouseEvent) => void;
242
265
  yBarTopPxRef: import("vue").ComputedRef<string>;
243
266
  handleScroll: (e: Event) => void;
267
+ xBarSizePxRef: import("vue").ComputedRef<string>;
268
+ xBarLeftPxRef: import("vue").ComputedRef<string>;
244
269
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
245
270
  readonly container: import("vue").PropType<() => HTMLElement | null | undefined>;
246
271
  readonly content: import("vue").PropType<() => HTMLElement | null | undefined>;
247
272
  readonly onScroll: import("vue").PropType<(e: Event) => void>;
248
- }>>, {}, {}>>;
273
+ readonly xScrollable: BooleanConstructor;
274
+ }>>, {
275
+ readonly xScrollable: boolean;
276
+ }, {}>>;
249
277
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
250
278
  readonly items: {
251
279
  readonly type: import("vue").PropType<import("vueuc").VVirtualListItemData[]>;
@@ -268,6 +296,7 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
268
296
  readonly type: StringConstructor;
269
297
  readonly default: "key";
270
298
  };
299
+ readonly xScrollable: BooleanConstructor;
271
300
  readonly onScroll: import("vue").PropType<(params: import("./src/types").InterScrollParams) => void>;
272
301
  readonly onWheel: import("vue").PropType<(event: WheelEvent) => void>;
273
302
  readonly onResize: import("vue").PropType<(entry: ResizeObserverEntry) => void>;
@@ -277,5 +306,6 @@ export declare const KVirtualList: import("../utils/install").SFCWithInstall<imp
277
306
  readonly paddingTop: string | number;
278
307
  readonly paddingBottom: string | number;
279
308
  readonly keyField: string;
309
+ readonly xScrollable: boolean;
280
310
  }, {}>>;
281
311
  export default KVirtualList;
@@ -26,6 +26,7 @@ export declare const virtualListProps: {
26
26
  readonly type: StringConstructor;
27
27
  readonly default: "key";
28
28
  };
29
+ readonly xScrollable: BooleanConstructor;
29
30
  readonly onScroll: PropType<(params: InterScrollParams) => void>;
30
31
  readonly onWheel: PropType<(event: WheelEvent) => void>;
31
32
  readonly onResize: PropType<(entry: ResizeObserverEntry) => void>;