@vtable-guild/vtable-guild 2.4.0 → 2.5.0
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.
- package/css/style.css +9 -0
- package/css/tailwind3-utilities.css +9 -0
- package/dist/core/src/components/VirtualList/VirtualList.d.ts +21 -0
- package/dist/core/src/components/VirtualList/VirtualList.d.ts.map +1 -1
- package/dist/core/src/components/VirtualList/VirtualList.mjs +201 -216
- package/dist/core/src/components/VirtualList/hooks/useHeights.d.ts +7 -1
- package/dist/core/src/components/VirtualList/hooks/useHeights.d.ts.map +1 -1
- package/dist/core/src/components/VirtualList/hooks/useHeights.mjs +29 -27
- package/dist/core/src/components/VirtualList/hooks/useScrollTo.d.ts +3 -1
- package/dist/core/src/components/VirtualList/hooks/useScrollTo.d.ts.map +1 -1
- package/dist/core/src/components/VirtualList/hooks/useScrollTo.mjs +57 -50
- package/dist/core/src/components/VirtualList/index.d.ts +1 -0
- package/dist/core/src/components/VirtualList/index.d.ts.map +1 -1
- package/dist/core/src/components/VirtualList/utils/PrefixSums.d.ts +50 -0
- package/dist/core/src/components/VirtualList/utils/PrefixSums.d.ts.map +1 -0
- package/dist/core/src/components/VirtualList/utils/PrefixSums.mjs +54 -0
- package/dist/core/src/components/VirtualList/utils/PrefixSums.test.d.ts +2 -0
- package/dist/core/src/components/VirtualList/utils/PrefixSums.test.d.ts.map +1 -0
- package/dist/core/src/composables/useTheme.d.ts +1 -1
- package/dist/core/src/composables/useTheme.mjs +5 -5
- package/dist/core/src/index.d.ts +5 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/plugin/index.d.ts +1 -1
- package/dist/core/src/utils/props.d.ts +1 -1
- package/dist/core/src/utils/tv.d.ts +2 -2
- package/dist/core/src/utils/types.d.ts +2 -2
- package/dist/css/style.css +9 -0
- package/dist/css/tailwind3-utilities.css +9 -0
- package/dist/index.full.mjs +3614 -3292
- package/dist/index.mjs +32 -30
- package/dist/table/src/components/ColGroup.d.ts.map +1 -1
- package/dist/table/src/components/ColGroup.mjs +11 -8
- package/dist/table/src/components/Table.d.ts +62 -0
- package/dist/table/src/components/Table.d.ts.map +1 -1
- package/dist/table/src/components/Table.mjs +353 -298
- package/dist/table/src/components/TableBody.d.ts.map +1 -1
- package/dist/table/src/components/TableBody.mjs +22 -22
- package/dist/table/src/components/TableCell.d.ts +23 -0
- package/dist/table/src/components/TableCell.d.ts.map +1 -1
- package/dist/table/src/components/TableCell.mjs +50 -39
- package/dist/table/src/components/TableHeaderCell.d.ts.map +1 -1
- package/dist/table/src/components/TableHeaderCell.mjs +172 -169
- package/dist/table/src/components/VTable.vue.mjs +10 -8
- package/dist/table/src/components/VirtualTableBody.d.ts +40 -0
- package/dist/table/src/components/VirtualTableBody.d.ts.map +1 -1
- package/dist/table/src/components/VirtualTableBody.mjs +157 -67
- package/dist/table/src/composables/index.d.ts +4 -0
- package/dist/table/src/composables/index.d.ts.map +1 -1
- package/dist/table/src/composables/useColumnMetrics.d.ts +39 -0
- package/dist/table/src/composables/useColumnMetrics.d.ts.map +1 -0
- package/dist/table/src/composables/useColumnMetrics.mjs +88 -0
- package/dist/table/src/composables/useColumnWindow.d.ts +90 -0
- package/dist/table/src/composables/useColumnWindow.d.ts.map +1 -0
- package/dist/table/src/composables/useColumnWindow.mjs +62 -0
- package/dist/table/src/composables/useColumnWindow.test.d.ts +2 -0
- package/dist/table/src/composables/useColumnWindow.test.d.ts.map +1 -0
- package/dist/table/src/composables/useColumns.d.ts +8 -0
- package/dist/table/src/composables/useColumns.d.ts.map +1 -1
- package/dist/table/src/composables/useColumns.mjs +46 -43
- package/dist/table/src/composables/useSelection.d.ts.map +1 -1
- package/dist/table/src/composables/useSelection.mjs +93 -94
- package/dist/table/src/composables/useVirtual.d.ts +10 -0
- package/dist/table/src/composables/useVirtual.d.ts.map +1 -1
- package/dist/table/src/composables/useVirtual.mjs +15 -11
- package/dist/table/src/index.d.ts +2 -0
- package/dist/table/src/index.d.ts.map +1 -1
- package/dist/table/src/types/table.d.ts +25 -0
- package/dist/table/src/types/table.d.ts.map +1 -1
- package/dist/theme/src/presets/antdv/table.d.ts +3 -0
- package/dist/theme/src/presets/antdv/table.d.ts.map +1 -1
- package/dist/theme/src/presets/antdv/table.mjs +4 -1
- package/package.json +10 -3
- package/dist/core/src/components/VirtualList/hooks/useDiffItem.d.ts +0 -4
- package/dist/core/src/components/VirtualList/hooks/useDiffItem.d.ts.map +0 -1
- package/dist/core/src/components/VirtualList/hooks/useDiffItem.mjs +0 -16
- package/dist/core/src/components/VirtualList/utils/algorithmUtil.d.ts +0 -7
- package/dist/core/src/components/VirtualList/utils/algorithmUtil.d.ts.map +0 -1
- package/dist/core/src/components/VirtualList/utils/algorithmUtil.mjs +0 -22
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { default as CacheMap } from '../utils/CacheMap';
|
|
2
2
|
import { Key } from '../interface';
|
|
3
3
|
import { ref } from 'vue';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @param disabled 定高快路径开关。返回 true 时**完全不测量**:
|
|
6
|
+
* 不注册 ResizeObserver、不读 offsetHeight/getComputedStyle、不写 CacheMap。
|
|
7
|
+
* 于是 `heights.id` 恒为 0,VirtualList 的可视区计算永远走 O(1) 的估算分支,
|
|
8
|
+
* 不再每次滚动重建整表前缀和。代价是行高必须真的等于声明值(调用方负责校验)。
|
|
9
|
+
*/
|
|
10
|
+
export default function useHeights(getKey: (item: any) => Key, onItemAdd?: (item: any) => void, onItemRemove?: (item: any) => void, disabled?: () => boolean): [
|
|
5
11
|
setInstanceRef: (item: any, instance: HTMLElement | null) => void,
|
|
6
12
|
collectHeight: (sync?: boolean) => void,
|
|
7
13
|
heights: CacheMap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeights.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useHeights.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAwB,GAAG,EAAE,MAAM,KAAK,CAAA;AAa/C,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAC/B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"useHeights.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useHeights.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAwB,GAAG,EAAE,MAAM,KAAK,CAAA;AAa/C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAC/B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAClC,QAAQ,CAAC,EAAE,MAAM,OAAO,GACvB;IACD,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI;IACjE,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI;IACvC,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5C,CA8FA"}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ref as
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
return isNaN(
|
|
1
|
+
import y from "../utils/CacheMap.mjs";
|
|
2
|
+
import { ref as v, markRaw as z, onUnmounted as C } from "vue";
|
|
3
|
+
function b(n) {
|
|
4
|
+
const a = parseFloat(n);
|
|
5
|
+
return isNaN(a) ? 0 : a;
|
|
6
6
|
}
|
|
7
7
|
function R(n) {
|
|
8
8
|
return n instanceof HTMLElement ? n : n?.$el instanceof HTMLElement ? n.$el : null;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
12
|
-
|
|
10
|
+
function P(n, a, k, H) {
|
|
11
|
+
const g = v(0), i = v(/* @__PURE__ */ new Map()), c = z(new y()), l = v(0), f = /* @__PURE__ */ new Map(), u = () => H?.() === !0, s = !u() && typeof window < "u" && "ResizeObserver" in window ? new window.ResizeObserver(() => {
|
|
12
|
+
m();
|
|
13
13
|
}) : null;
|
|
14
|
-
function
|
|
14
|
+
function p() {
|
|
15
15
|
l.value += 1;
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
|
|
17
|
+
function m(d = !1) {
|
|
18
|
+
if (u()) return;
|
|
19
|
+
p();
|
|
19
20
|
const o = () => {
|
|
20
21
|
let e = !1;
|
|
21
|
-
i.value.forEach((
|
|
22
|
-
const t = R(
|
|
22
|
+
i.value.forEach((w, r) => {
|
|
23
|
+
const t = R(w);
|
|
23
24
|
if (t && t.offsetParent) {
|
|
24
|
-
const { offsetHeight:
|
|
25
|
-
|
|
25
|
+
const { offsetHeight: E } = t, { marginTop: N, marginBottom: T } = getComputedStyle(t), I = b(N), O = b(T), h = E + I + O;
|
|
26
|
+
c.get(r) !== h && (c.set(r, h), e = !0);
|
|
26
27
|
}
|
|
27
|
-
}), e && (
|
|
28
|
+
}), e && (g.value += 1);
|
|
28
29
|
};
|
|
29
|
-
if (
|
|
30
|
+
if (d)
|
|
30
31
|
o();
|
|
31
32
|
else {
|
|
32
33
|
l.value += 1;
|
|
@@ -36,21 +37,22 @@ function B(n, c, z) {
|
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
40
|
+
function M(d, o) {
|
|
41
|
+
if (u()) return;
|
|
42
|
+
const e = n(d);
|
|
41
43
|
if (i.value.get(e) === o) return;
|
|
42
|
-
const r =
|
|
43
|
-
if (r && s && (s.unobserve(r),
|
|
44
|
-
i.value.set(e, o),
|
|
44
|
+
const r = f.get(e);
|
|
45
|
+
if (r && s && (s.unobserve(r), f.delete(e)), o) {
|
|
46
|
+
i.value.set(e, o), m();
|
|
45
47
|
const t = R(o);
|
|
46
|
-
t && t.nodeType === 1 && s && (s.observe(t),
|
|
48
|
+
t && t.nodeType === 1 && s && (s.observe(t), f.set(e, t));
|
|
47
49
|
} else
|
|
48
50
|
i.value.delete(e);
|
|
49
51
|
}
|
|
50
|
-
return
|
|
51
|
-
|
|
52
|
-
}), [
|
|
52
|
+
return C(() => {
|
|
53
|
+
p(), s?.disconnect?.(), f.clear();
|
|
54
|
+
}), [M, m, c, g];
|
|
53
55
|
}
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
P as default
|
|
56
58
|
};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ComputedRef, Ref } from 'vue';
|
|
2
2
|
import { default as CacheMap } from '../utils/CacheMap';
|
|
3
3
|
import { Key } from '../interface';
|
|
4
|
-
export default function useScrollTo(containerRef: Ref<HTMLElement | undefined>, data: Ref<any[]>, heights: CacheMap, itemHeight: ComputedRef<number | undefined>, getKey: (item: any) => Key, collectHeight: () => void, syncScrollTop: (top: number) => void, triggerFlash: () => void
|
|
4
|
+
export default function useScrollTo(containerRef: Ref<HTMLElement | undefined>, data: Ref<any[]>, heights: CacheMap, itemHeight: ComputedRef<number | undefined>, getKey: (item: any) => Key, collectHeight: () => void, syncScrollTop: (top: number) => void, triggerFlash: () => void,
|
|
5
|
+
/** 定高快路径:高度不测量,总高与任意行的位置都可以直接算出来,无需逐行累加。 */
|
|
6
|
+
fixedHeight?: () => boolean): [scrollTo: (arg?: number | ScrollConfig | null) => void, getTotalHeight: () => number];
|
|
5
7
|
export interface ScrollConfig {
|
|
6
8
|
index?: number;
|
|
7
9
|
key?: Key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollTo.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useScrollTo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAIvC,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,YAAY,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,EAC1C,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAChB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAC1B,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EACpC,YAAY,EAAE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"useScrollTo.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useScrollTo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAIvC,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,YAAY,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,EAC1C,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAChB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAC1B,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EACpC,YAAY,EAAE,MAAM,IAAI;AACxB,4CAA4C;AAC5C,WAAW,CAAC,EAAE,MAAM,OAAO,GAC1B,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,KAAK,IAAI,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC,CA2IxF;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
|
|
@@ -1,88 +1,95 @@
|
|
|
1
|
-
import { shallowRef as
|
|
2
|
-
const
|
|
3
|
-
function
|
|
4
|
-
const t =
|
|
1
|
+
import { shallowRef as S, watch as j } from "vue";
|
|
2
|
+
const C = 10;
|
|
3
|
+
function L(g, n, T, h, m, y, A, M, B) {
|
|
4
|
+
const t = S(null), H = () => B?.() === !0, I = () => {
|
|
5
|
+
if (H()) return n.value.length * (h.value ?? 0);
|
|
5
6
|
let e = 0;
|
|
6
|
-
for (let
|
|
7
|
-
const
|
|
8
|
-
e +=
|
|
7
|
+
for (let l = 0; l < n.value.length; l += 1) {
|
|
8
|
+
const a = m(n.value[l]), o = T.get(a);
|
|
9
|
+
e += o === void 0 ? h.value ?? 0 : o;
|
|
9
10
|
}
|
|
10
11
|
return e;
|
|
11
12
|
};
|
|
12
|
-
return
|
|
13
|
+
return j(
|
|
13
14
|
t,
|
|
14
15
|
() => {
|
|
15
|
-
if (t.value && t.value.times <
|
|
16
|
-
if (!
|
|
16
|
+
if (t.value && t.value.times < C) {
|
|
17
|
+
if (!g.value) {
|
|
17
18
|
t.value = { ...t.value };
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
const { targetAlign: e, originAlign:
|
|
22
|
-
let
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
let
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
y();
|
|
22
|
+
const { targetAlign: e, originAlign: l, index: a, offset: o } = t.value, u = g.value.clientHeight;
|
|
23
|
+
let d = !1, k = e ?? null, c = null;
|
|
24
|
+
if (u) {
|
|
25
|
+
const w = e || l;
|
|
26
|
+
let f = 0, v = 0;
|
|
27
|
+
const b = Math.min(n.value.length - 1, a);
|
|
28
|
+
if (H()) {
|
|
29
|
+
const i = h.value ?? 0;
|
|
30
|
+
f = b * i, v = f + i;
|
|
31
|
+
} else {
|
|
32
|
+
let i = 0;
|
|
33
|
+
for (let s = 0; s <= b; s += 1) {
|
|
34
|
+
const x = m(n.value[s]);
|
|
35
|
+
f = i;
|
|
36
|
+
const r = T.get(x);
|
|
37
|
+
v = f + (r === void 0 ? h.value ?? 0 : r), i = v;
|
|
38
|
+
}
|
|
39
|
+
let p = w === "top" ? o : u - o;
|
|
40
|
+
for (let s = b; s >= 0; s -= 1) {
|
|
41
|
+
const x = m(n.value[s]), r = T.get(x);
|
|
42
|
+
if (r === void 0) {
|
|
43
|
+
d = !0;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
if (p -= r, p <= 0) break;
|
|
39
47
|
}
|
|
40
|
-
if (H -= a, H <= 0) break;
|
|
41
48
|
}
|
|
42
|
-
switch (
|
|
49
|
+
switch (w) {
|
|
43
50
|
case "top":
|
|
44
|
-
|
|
51
|
+
c = f - o;
|
|
45
52
|
break;
|
|
46
53
|
case "bottom":
|
|
47
|
-
|
|
54
|
+
c = v - u + o;
|
|
48
55
|
break;
|
|
49
56
|
default: {
|
|
50
|
-
const { scrollTop:
|
|
51
|
-
|
|
57
|
+
const { scrollTop: i } = g.value, p = i + u;
|
|
58
|
+
f < i ? k = "top" : v > p && (k = "bottom");
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
|
-
|
|
61
|
+
c !== null && A(c), c !== t.value.lastTop && (d = !0);
|
|
55
62
|
}
|
|
56
|
-
|
|
63
|
+
d && (t.value = {
|
|
57
64
|
...t.value,
|
|
58
65
|
times: t.value.times + 1,
|
|
59
|
-
targetAlign:
|
|
60
|
-
lastTop:
|
|
66
|
+
targetAlign: k,
|
|
67
|
+
lastTop: c
|
|
61
68
|
});
|
|
62
69
|
}
|
|
63
70
|
},
|
|
64
71
|
{ immediate: !0, flush: "post" }
|
|
65
72
|
), [(e) => {
|
|
66
73
|
if (e == null) {
|
|
67
|
-
|
|
74
|
+
M();
|
|
68
75
|
return;
|
|
69
76
|
}
|
|
70
77
|
if (typeof e == "number")
|
|
71
|
-
|
|
78
|
+
A(e);
|
|
72
79
|
else if (e && typeof e == "object") {
|
|
73
|
-
let
|
|
74
|
-
const { align:
|
|
75
|
-
"index" in e ?
|
|
76
|
-
const { offset:
|
|
80
|
+
let l;
|
|
81
|
+
const { align: a } = e;
|
|
82
|
+
"index" in e ? l = e.index : l = n.value.findIndex((u) => m(u) === e.key);
|
|
83
|
+
const { offset: o = 0 } = e;
|
|
77
84
|
t.value = {
|
|
78
85
|
times: 0,
|
|
79
|
-
index:
|
|
80
|
-
offset:
|
|
81
|
-
originAlign:
|
|
86
|
+
index: l,
|
|
87
|
+
offset: o,
|
|
88
|
+
originAlign: a
|
|
82
89
|
};
|
|
83
90
|
}
|
|
84
|
-
},
|
|
91
|
+
}, I];
|
|
85
92
|
}
|
|
86
93
|
export {
|
|
87
|
-
|
|
94
|
+
L as default
|
|
88
95
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as VirtualList } from './VirtualList';
|
|
2
|
+
export { PrefixSums } from './utils/PrefixSums';
|
|
2
3
|
export type { ListProps, ListRef, ScrollInfo, ScrollTo } from './VirtualList';
|
|
3
4
|
export type { ScrollConfig } from './hooks/useScrollTo';
|
|
4
5
|
export type { ExtraRenderInfo, GetKey, GetSize, Key, RenderFunc, SharedConfig } from './interface';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../core/src/components/VirtualList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAClG,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../core/src/components/VirtualList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAClG,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 可视区定位用的位置表:前缀和 + 二分查找,增量维护。
|
|
3
|
+
*
|
|
4
|
+
* 取代原先「每次可视区计算都 `new Array(dataLength)` 重建整表前缀和」的写法。
|
|
5
|
+
* 那个写法的 watch 依赖里含 `offsetTop`,也就是**每个滚动事件**都要
|
|
6
|
+
* 走一遍 O(总行数) 的循环加分配;10 万行时这是每帧几毫秒的固定开销,
|
|
7
|
+
* 且随数据量线性增长——正是「行数越多滚动越贵」的来源。
|
|
8
|
+
*
|
|
9
|
+
* 这里的模型与 TanStack Virtual 一致:位置表是**持久化**的数据结构,
|
|
10
|
+
* 只在真正失效时按「最早脏下标」增量重建;滚动本身只做二分查找。
|
|
11
|
+
*
|
|
12
|
+
* - 滚动(offsetTop 变化):O(log n),不重建
|
|
13
|
+
* - 尺寸实测变化:O(n − dirtyFrom),且只波及脏点之后的部分
|
|
14
|
+
* - 数据变化:O(n),整表重建(语义要求)
|
|
15
|
+
*
|
|
16
|
+
* 存储用 `Float64Array` 而非普通数组:避免 10 万个装箱数字与随之而来的 GC 压力。
|
|
17
|
+
*
|
|
18
|
+
* 命名刻意与「高度」解耦:纵向虚拟化用它存行高,横向虚拟化(`virtualColumn`)
|
|
19
|
+
* 用同一个类存列宽,两条轴的算法完全一致,只是尺寸的含义不同。
|
|
20
|
+
*/
|
|
21
|
+
export declare class PrefixSums {
|
|
22
|
+
/** prefix[i] = 第 0..i 项尺寸之和(即第 i 项的结束偏移)。 */
|
|
23
|
+
private prefix;
|
|
24
|
+
/** 已经算好的项数。 */
|
|
25
|
+
private length;
|
|
26
|
+
/** 需要从这个下标开始重算;等于 length 表示整表干净。 */
|
|
27
|
+
private dirtyFrom;
|
|
28
|
+
/** 数据本身变了(顺序/长度/内容),整表作废。 */
|
|
29
|
+
markAllDirty(): void;
|
|
30
|
+
/**
|
|
31
|
+
* 某个下标起的尺寸可能变了。
|
|
32
|
+
*
|
|
33
|
+
* 调用方传当前渲染窗口的起点即可:只有渲染出来的项才会被 ResizeObserver 测量,
|
|
34
|
+
* 因此任何尺寸变更都发生在窗口内,`[0, start)` 的前缀必然仍然有效。
|
|
35
|
+
*/
|
|
36
|
+
markDirtyFrom(index: number): void;
|
|
37
|
+
/** 惰性同步到最新状态。count 变化会自动触发整表重建。 */
|
|
38
|
+
sync(count: number, getItemSize: (index: number) => number | undefined, fallbackSize: number): void;
|
|
39
|
+
/** 全部项的尺寸之和。 */
|
|
40
|
+
get total(): number;
|
|
41
|
+
/** 第 index 项的起始偏移。 */
|
|
42
|
+
offsetOf(index: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* 首个结束偏移 >= target 的项下标;不存在时返回 length。
|
|
45
|
+
*
|
|
46
|
+
* 前缀和单调不减(尺寸非负),所以可以二分。
|
|
47
|
+
*/
|
|
48
|
+
findIndex(target: number): number;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=PrefixSums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefixSums.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/utils/PrefixSums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAU;IACrB,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAsB;IACpC,eAAe;IACf,OAAO,CAAC,MAAM,CAAI;IAClB,oCAAoC;IACpC,OAAO,CAAC,SAAS,CAAI;IAErB,6BAA6B;IAC7B,YAAY,IAAI,IAAI;IAIpB;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC,mCAAmC;IACnC,IAAI,CACF,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAClD,YAAY,EAAE,MAAM,GACnB,IAAI;IAqBP,gBAAgB;IAChB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK/B;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAiBlC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
class n {
|
|
2
|
+
/** prefix[i] = 第 0..i 项尺寸之和(即第 i 项的结束偏移)。 */
|
|
3
|
+
prefix = new Float64Array(0);
|
|
4
|
+
/** 已经算好的项数。 */
|
|
5
|
+
length = 0;
|
|
6
|
+
/** 需要从这个下标开始重算;等于 length 表示整表干净。 */
|
|
7
|
+
dirtyFrom = 0;
|
|
8
|
+
/** 数据本身变了(顺序/长度/内容),整表作废。 */
|
|
9
|
+
markAllDirty() {
|
|
10
|
+
this.dirtyFrom = 0;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 某个下标起的尺寸可能变了。
|
|
14
|
+
*
|
|
15
|
+
* 调用方传当前渲染窗口的起点即可:只有渲染出来的项才会被 ResizeObserver 测量,
|
|
16
|
+
* 因此任何尺寸变更都发生在窗口内,`[0, start)` 的前缀必然仍然有效。
|
|
17
|
+
*/
|
|
18
|
+
markDirtyFrom(t) {
|
|
19
|
+
t < this.dirtyFrom && (this.dirtyFrom = Math.max(0, t));
|
|
20
|
+
}
|
|
21
|
+
/** 惰性同步到最新状态。count 变化会自动触发整表重建。 */
|
|
22
|
+
sync(t, h, e) {
|
|
23
|
+
if (t !== this.length && (t > this.prefix.length && (this.prefix = new Float64Array(Math.max(t, this.prefix.length * 2))), this.length = t, this.dirtyFrom = 0), this.dirtyFrom >= this.length) return;
|
|
24
|
+
const r = this.dirtyFrom;
|
|
25
|
+
let i = r === 0 ? 0 : this.prefix[r - 1];
|
|
26
|
+
for (let s = r; s < this.length; s += 1)
|
|
27
|
+
i += h(s) ?? e, this.prefix[s] = i;
|
|
28
|
+
this.dirtyFrom = this.length;
|
|
29
|
+
}
|
|
30
|
+
/** 全部项的尺寸之和。 */
|
|
31
|
+
get total() {
|
|
32
|
+
return this.length === 0 ? 0 : this.prefix[this.length - 1];
|
|
33
|
+
}
|
|
34
|
+
/** 第 index 项的起始偏移。 */
|
|
35
|
+
offsetOf(t) {
|
|
36
|
+
return t <= 0 ? 0 : this.prefix[Math.min(t, this.length) - 1];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 首个结束偏移 >= target 的项下标;不存在时返回 length。
|
|
40
|
+
*
|
|
41
|
+
* 前缀和单调不减(尺寸非负),所以可以二分。
|
|
42
|
+
*/
|
|
43
|
+
findIndex(t) {
|
|
44
|
+
let h = 0, e = this.length - 1, r = this.length;
|
|
45
|
+
for (; h <= e; ) {
|
|
46
|
+
const i = h + e >>> 1;
|
|
47
|
+
this.prefix[i] >= t ? (r = i, e = i - 1) : h = i + 1;
|
|
48
|
+
}
|
|
49
|
+
return r;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
n as PrefixSums
|
|
54
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefixSums.test.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/utils/PrefixSums.test.ts"],"names":[],"mappings":""}
|
|
@@ -20,7 +20,7 @@ import { ThemeConfig } from '../index';
|
|
|
20
20
|
* import { tableTheme } from '@vtable-guild/theme'
|
|
21
21
|
*
|
|
22
22
|
* const props = defineProps<{
|
|
23
|
-
* size?: '
|
|
23
|
+
* size?: 'small' | 'middle' | 'large'
|
|
24
24
|
* bordered?: boolean
|
|
25
25
|
* ui?: Partial<Record<string, string>>
|
|
26
26
|
* class?: string
|
|
@@ -31,14 +31,14 @@ function x(t, o) {
|
|
|
31
31
|
// → cn('px-4 text-left', 'px-6') → 'text-left px-6'
|
|
32
32
|
slots: S(t.slots ?? {}, o.slots),
|
|
33
33
|
// ---- variants: 深合并 ----
|
|
34
|
-
// 示例:base.variants.size.
|
|
35
|
-
// override.variants.size.
|
|
34
|
+
// 示例:base.variants.size.small = { th: 'px-2' },
|
|
35
|
+
// override.variants.size.small = { th: 'px-3' }
|
|
36
36
|
// → { th: cn('px-2', 'px-3') } → { th: 'px-3' }
|
|
37
37
|
variants: T(t.variants, o.variants),
|
|
38
38
|
// ---- defaultVariants: 浅合并 ----
|
|
39
|
-
// 示例:base = { size: '
|
|
40
|
-
// override = { size: '
|
|
41
|
-
// → { size: '
|
|
39
|
+
// 示例:base = { size: 'large', bordered: false },
|
|
40
|
+
// override = { size: 'small' }
|
|
41
|
+
// → { size: 'small', bordered: false }
|
|
42
42
|
defaultVariants: {
|
|
43
43
|
...t.defaultVariants,
|
|
44
44
|
...o.defaultVariants
|
package/dist/core/src/index.d.ts
CHANGED
|
@@ -37,6 +37,11 @@ export { default as Input } from './components/Input';
|
|
|
37
37
|
export { default as Scrollbar } from './components/Scrollbar';
|
|
38
38
|
export { default as VTableGuildConfigProvider } from './components/VTableGuildConfigProvider';
|
|
39
39
|
export { VirtualList } from './components/VirtualList';
|
|
40
|
+
/**
|
|
41
|
+
* 前缀和 + 二分的位置表。纵向虚拟化用它存行高,横向虚拟化用它存列宽——
|
|
42
|
+
* 两条轴共用同一份实现,见 @vtable-guild/table 的 useColumnWindow。
|
|
43
|
+
*/
|
|
44
|
+
export { PrefixSums } from './components/VirtualList';
|
|
40
45
|
export type { ListProps, ListRef, ScrollConfig as VirtualScrollConfig, ScrollInfo as VirtualScrollInfo, ExtraRenderInfo, ScrollBarDirectionType, } from './components/VirtualList';
|
|
41
46
|
export { createVTableGuild, VTABLE_GUILD_INJECTION_KEY, syncDocumentPresetAttr, } from './plugin/index';
|
|
42
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,GACZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAA;AAGtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oCAAoC,EACpC,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,4BAA4B;CAAG;AAEhD,MAAM,MAAM,yBAAyB,GAAG;KACrC,CAAC,IAAI,MAAM,4BAA4B,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC;CAC5E,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,yBAAyB,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,eAAe,CAAA;IAC5B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,yBAAyB,CAAA;IAChC,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;CAChD;AAGD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,YAAY,EACV,SAAS,EACT,OAAO,EACP,YAAY,IAAI,mBAAmB,EACnC,UAAU,IAAI,iBAAiB,EAC/B,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,GACZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAA;AAGtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,oCAAoC,EACpC,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,4BAA4B;CAAG;AAEhD,MAAM,MAAM,yBAAyB,GAAG;KACrC,CAAC,IAAI,MAAM,4BAA4B,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC;CAC5E,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,yBAAyB,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,eAAe,CAAA;IAC5B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,yBAAyB,CAAA;IAChC,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;CAChD;AAGD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EACV,SAAS,EACT,OAAO,EACP,YAAY,IAAI,mBAAmB,EACnC,UAAU,IAAI,iBAAiB,EAC/B,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,gBAAgB,CAAA"}
|
|
@@ -14,8 +14,8 @@ import { cn as cnBase, TV } from 'tailwind-variants';
|
|
|
14
14
|
* },
|
|
15
15
|
* variants: {
|
|
16
16
|
* size: {
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* small: { cell: 'px-2 py-1.5 text-xs' },
|
|
18
|
+
* large: { cell: 'px-4 py-3 text-sm' },
|
|
19
19
|
* },
|
|
20
20
|
* },
|
|
21
21
|
* })
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* ```ts
|
|
6
6
|
* export const tableTheme = {
|
|
7
7
|
* slots: { root: '...', table: '...' },
|
|
8
|
-
* variants: { size: {
|
|
9
|
-
* defaultVariants: { size: '
|
|
8
|
+
* variants: { size: { small: {...}, large: {...} } },
|
|
9
|
+
* defaultVariants: { size: 'large' },
|
|
10
10
|
* } as const satisfies ThemeConfig
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
package/dist/css/style.css
CHANGED
|
@@ -2020,6 +2020,15 @@
|
|
|
2020
2020
|
.disabled\:vtg-text-\[color\:var\(--color-text-disabled\2c \#a8abb2\)\]:disabled {
|
|
2021
2021
|
color: var(--color-text-disabled,#a8abb2)
|
|
2022
2022
|
}
|
|
2023
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-hover-bg\)\] {
|
|
2024
|
+
background-color: var(--vtg-table-row-hover-bg)
|
|
2025
|
+
}
|
|
2026
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-selected-bg\)\] {
|
|
2027
|
+
background-color: var(--vtg-table-row-selected-bg)
|
|
2028
|
+
}
|
|
2029
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-selected-hover-bg\)\] {
|
|
2030
|
+
background-color: var(--vtg-table-row-selected-hover-bg)
|
|
2031
|
+
}
|
|
2023
2032
|
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-striped-bg\)\] {
|
|
2024
2033
|
background-color: var(--vtg-table-row-striped-bg)
|
|
2025
2034
|
}
|
|
@@ -1519,6 +1519,15 @@
|
|
|
1519
1519
|
.disabled\:vtg-text-\[color\:var\(--color-text-disabled\2c \#a8abb2\)\]:disabled {
|
|
1520
1520
|
color: var(--color-text-disabled,#a8abb2)
|
|
1521
1521
|
}
|
|
1522
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-hover-bg\)\] {
|
|
1523
|
+
background-color: var(--vtg-table-row-hover-bg)
|
|
1524
|
+
}
|
|
1525
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-selected-bg\)\] {
|
|
1526
|
+
background-color: var(--vtg-table-row-selected-bg)
|
|
1527
|
+
}
|
|
1528
|
+
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-selected-hover-bg\)\] {
|
|
1529
|
+
background-color: var(--vtg-table-row-selected-hover-bg)
|
|
1530
|
+
}
|
|
1522
1531
|
.vtg-group\/row:nth-child(even) .group-even\/row\:vtg-bg-\[color\:var\(--vtg-table-row-striped-bg\)\] {
|
|
1523
1532
|
background-color: var(--vtg-table-row-striped-bg)
|
|
1524
1533
|
}
|