virtua 0.52.0 → 0.52.1

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/lib/core/index.js CHANGED
@@ -336,49 +336,51 @@ e), p = 5, h = 6, w = 1, b = 4, S = 8, v = e => o(e.$getTotalSize(), e.$getViewp
336
336
  let m = 0, L = !e.$isMeasurable(t) && null, R = t + 1, O = !1;
337
337
  for (let e = 0; e < F; e++) {
338
338
  const r = U[e], i = r < v, c = r >= I, a = c || r >= z && r <= k, $ = G.get(u + r);
339
- if ($ ? $.rowIndex !== t || $.colIndex !== r : !(l && a || n || f || i)) continue;
340
- const b = $ ? W($, h) : t + 1, S = $ ? D($, w) : r + 1, x = b - t > 1, y = S - r > 1, M = x || y, _ = M ? b - t : void 0, q = M ? S - r : void 0;
341
- let A, C;
342
- R = o(R, b);
343
- const E = i ? s.$getItemOffset(r) : null, P = c ? s.$getTotalSize() - s.$getItemOffset(S - 1) - s.$getItemSize(S - 1) : null;
344
- !1 !== L || x || (A = t, L = !0), !1 !== N[e] || y || (C = r, N[e] = !0);
345
- const B = n ? "columnheader" : r === T && (i || f) ? "rowheader" : "cell", J = "cell" !== B && p && p.rowIndex === t && p.colIndex === r ? p.order : void 0;
346
- let V;
347
- if (g) {
348
- for (;m < g.length && g[m].$col < r; ) m++;
349
- m < g.length && (V = g[m]);
350
- }
351
- if (!V || V.$col !== r || V.$rowSpan !== _ || V.$colSpan !== q || V.$start !== E || V.$end !== P || V.$measureRow !== A || V.$measureCol !== C || V.$role !== B || V.$sort !== J) {
352
- const e = {
353
- contain: "layout style",
354
- display: "grid",
355
- gridArea: M ? "1/l" + r + "/l" + b + "/l" + S : "1/l" + r
356
- };
357
- x && (e.height = "0px", e.minHeight = "100%", e.zIndex = 1), y && (e.width = "0px",
358
- e.minWidth = "100%"), (i || c) && (i ? e.insetInlineStart = E + "px" : e.insetInlineEnd = P + "px",
359
- e.position = "sticky", e.zIndex = 2), V = {
360
- $col: r,
361
- $rowSpan: _,
362
- $colSpan: q,
363
- $measureRow: A,
364
- $measureCol: C,
365
- $role: B,
366
- $sort: J,
367
- $style: e,
368
- $start: E,
369
- $end: P
370
- }, O = !0;
339
+ if ($ ? $.rowIndex === t && $.colIndex === r : l && a || n || f || i) {
340
+ const l = $ ? W($, h) : t + 1, a = $ ? D($, w) : r + 1, u = l - t > 1, b = a - r > 1, S = u || b, v = S ? l - t : void 0, I = S ? a - r : void 0;
341
+ let x, y;
342
+ R = o(R, l);
343
+ const z = i ? s.$getItemOffset(r) : null, k = c ? s.$getTotalSize() - s.$getItemOffset(a - 1) - s.$getItemSize(a - 1) : null;
344
+ !1 !== L || u || (x = t, L = !0), !1 !== N[e] || b || (y = r, N[e] = !0);
345
+ const M = n ? "columnheader" : r === T && (i || f) ? "rowheader" : "cell", _ = "cell" !== M && p && p.rowIndex === t && p.colIndex === r ? p.order : void 0;
346
+ let q;
347
+ if (g) {
348
+ for (;m < g.length && g[m].$col < r; ) m++;
349
+ m < g.length && (q = g[m]);
350
+ }
351
+ if (!q || q.$col !== r || q.$rowSpan !== v || q.$colSpan !== I || q.$start !== z || q.$end !== k || q.$measureRow !== x || q.$measureCol !== y || q.$role !== M || q.$sort !== _) {
352
+ const e = {
353
+ contain: "layout style",
354
+ display: "grid",
355
+ gridArea: S ? "1/l" + r + "/l" + l + "/l" + a : "1/l" + r
356
+ };
357
+ u && (e.height = "0px", e.minHeight = "100%", e.zIndex = 1), b && (e.width = "0px",
358
+ e.minWidth = "100%"), (i || c) && (i ? e.insetInlineStart = z + "px" : e.insetInlineEnd = k + "px",
359
+ e.position = "sticky", e.zIndex = 2), q = {
360
+ $col: r,
361
+ $rowSpan: v,
362
+ $colSpan: I,
363
+ $measureRow: x,
364
+ $measureCol: y,
365
+ $role: M,
366
+ $sort: _,
367
+ $style: e,
368
+ $start: z,
369
+ $end: k
370
+ }, O = !0;
371
+ }
372
+ d.push(q);
371
373
  }
372
- d.push(V);
373
374
  }
374
- if (Q.push(L), !d.length) continue;
375
- const _ = $ && !O && $.$cells.length === d.length && $.$top === a ? $ : {
376
- $row: t,
377
- $cells: d,
378
- $style: J(t, R, a, "top", 3),
379
- $top: a
380
- };
381
- se.set(t, _), ne.push(_);
375
+ if (Q.push(L), d.length) {
376
+ const e = $ && !O && $.$cells.length === d.length && $.$top === a ? $ : {
377
+ $row: t,
378
+ $cells: d,
379
+ $style: J(t, R, a, "top", 3),
380
+ $top: a
381
+ };
382
+ se.set(t, e), ne.push(e);
383
+ }
382
384
  }
383
385
  return R.set(e, se), {
384
386
  $rowTemplate: E(e, j, Q, i(H), "max-content", h),