@vtable-guild/vtable-guild 2.6.1 → 2.6.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useChildren.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AASvC,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAChB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,EACxD,UAAU,EAAE,CACV,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KAC7C,KAAK,EAAE,GAAG,SAAS,EACxB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE;;MAiB3C"}
1
+ {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/components/VirtualList/hooks/useChildren.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AASvC,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAChB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,EACxD,UAAU,EAAE,CACV,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KAC7C,KAAK,EAAE,GAAG,SAAS,EACxB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE;;MAwB3C"}
@@ -12,7 +12,14 @@ function N(e, u, r, l, n, c, a, { getKey: f }) {
12
12
  return m(
13
13
  s,
14
14
  { key: p, setRef: (d) => c(t, d) },
15
- b(o) ? o : { default: () => [o] }
15
+ // `renderFunc` 返回的已经是 VNode[],这里**不能再包一层数组**。
16
+ // 包成 [[VNode]] 之后 Vue 的 normalizeSlotValue 会把内层数组转成 Fragment,
17
+ // Item 的 cloneVNode(child, { ref }) 于是把 ref 挂到 Fragment 上——
18
+ // Vue 给 Fragment 的 ref 值是它的起始文本锚点,不是元素节点。
19
+ // useHeights.getElement() 拿到 Text 就返回 null,行高**永远测不到**:
20
+ // heights.id 恒为 0,可视区计算一直走估算分支,scrollHeight 恒等于
21
+ // 行数 × itemHeight。行实际比估算高时,末尾几行落在可滚动范围之外。
22
+ b(o) ? o : { default: () => o ?? [] }
16
23
  );
17
24
  }));
18
25
  }
@@ -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;;;;;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
+ {"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;AA+B/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,CAoGA"}
@@ -1,57 +1,61 @@
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;
1
+ import O from "../utils/CacheMap.mjs";
2
+ import { ref as v, markRaw as y, onUnmounted as z } from "vue";
3
+ function b(e) {
4
+ const s = parseFloat(e);
5
+ return isNaN(s) ? 0 : s;
6
6
  }
7
- function R(n) {
8
- return n instanceof HTMLElement ? n : n?.$el instanceof HTMLElement ? n.$el : null;
7
+ function R(e) {
8
+ return e instanceof HTMLElement ? e : e?.$el instanceof HTMLElement ? e.$el : null;
9
9
  }
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(() => {
10
+ function B(e) {
11
+ const s = e.getBoundingClientRect();
12
+ return Math.abs(s.width - e.offsetWidth) > 1 ? e.offsetHeight : s.height;
13
+ }
14
+ function P(e, s, H, M) {
15
+ const h = v(0), c = v(/* @__PURE__ */ new Map()), u = y(new O()), a = v(0), f = /* @__PURE__ */ new Map(), l = () => M?.() === !0, r = !l() && typeof window < "u" && "ResizeObserver" in window ? new window.ResizeObserver(() => {
12
16
  m();
13
17
  }) : null;
14
18
  function p() {
15
- l.value += 1;
19
+ a.value += 1;
16
20
  }
17
21
  function m(d = !1) {
18
- if (u()) return;
22
+ if (l()) return;
19
23
  p();
20
24
  const o = () => {
21
- let e = !1;
22
- i.value.forEach((w, r) => {
23
- const t = R(w);
24
- if (t && t.offsetParent) {
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);
25
+ let t = !1;
26
+ c.value.forEach((w, i) => {
27
+ const n = R(w);
28
+ if (n && n.offsetParent) {
29
+ const { marginTop: N, marginBottom: T } = getComputedStyle(n), C = b(N), I = b(T), g = B(n) + C + I;
30
+ g > 0 && u.get(i) !== g && (u.set(i, g), t = !0);
27
31
  }
28
- }), e && (g.value += 1);
32
+ }), t && (h.value += 1);
29
33
  };
30
34
  if (d)
31
35
  o();
32
36
  else {
33
- l.value += 1;
34
- const e = l.value;
37
+ a.value += 1;
38
+ const t = a.value;
35
39
  Promise.resolve().then(() => {
36
- e === l.value && o();
40
+ t === a.value && o();
37
41
  });
38
42
  }
39
43
  }
40
- function M(d, o) {
41
- if (u()) return;
42
- const e = n(d);
43
- if (i.value.get(e) === o) return;
44
- const r = f.get(e);
45
- if (r && s && (s.unobserve(r), f.delete(e)), o) {
46
- i.value.set(e, o), m();
47
- const t = R(o);
48
- t && t.nodeType === 1 && s && (s.observe(t), f.set(e, t));
44
+ function E(d, o) {
45
+ if (l()) return;
46
+ const t = e(d);
47
+ if (c.value.get(t) === o) return;
48
+ const i = f.get(t);
49
+ if (i && r && (r.unobserve(i), f.delete(t)), o) {
50
+ c.value.set(t, o), m();
51
+ const n = R(o);
52
+ n && n.nodeType === 1 && r && (r.observe(n), f.set(t, n));
49
53
  } else
50
- i.value.delete(e);
54
+ c.value.delete(t);
51
55
  }
52
- return C(() => {
53
- p(), s?.disconnect?.(), f.clear();
54
- }), [M, m, c, g];
56
+ return z(() => {
57
+ p(), r?.disconnect?.(), f.clear();
58
+ }), [E, m, u, h];
55
59
  }
56
60
  export {
57
61
  P as default