virtua 0.53.0 → 0.53.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/index.cjs CHANGED
@@ -1026,9 +1026,9 @@ e.memo)(({oe: o, ne: n, re: r, se: s, Le: l, qe: i, le: c}) => {
1026
1026
  style: a,
1027
1027
  children: o
1028
1028
  });
1029
- }), ce = /*#__PURE__*/ /*#__PURE__*/ (0, e.forwardRef)(({children: n, data: r, lanes: i, gap: c, itemSize: f, bufferSize: u, cache: d, onScroll: h, onScrollEnd: g, style: $, ...p}, m) => {
1029
+ }), ce = /*#__PURE__*/ /*#__PURE__*/ (0, e.forwardRef)(({children: n, data: r, lanes: i, gap: c, itemSize: f, bufferSize: u, keepMounted: d, cache: h, onScroll: g, onScrollEnd: $, style: p, ...m}, w) => {
1030
1030
  "use no memo";
1031
- const w = (0, e.useRef)(null), y = K(h), x = K(g), [I, b, k] = F(() => {
1031
+ const y = (0, e.useRef)(null), x = K(g), I = K($), [b, k, T] = F(() => {
1032
1032
  const e = ((e, t, o = 0, n, r) => {
1033
1033
  let i = l(t, 1), c = i, f = o, u = r && r[1] || n || 40, d = -1, h = n ? void 0 : /* @__PURE__ */ new Set, g = !n;
1034
1034
  const $ = r && r[0], p = $ ? v($.slice(0, s(e, $.length)), l(0, e - $.length)) : v([], e), m = [], w = [], S = [], _ = e => {
@@ -1106,76 +1106,83 @@ e.memo)(({oe: o, ne: n, re: r, se: s, Le: l, qe: i, le: c}) => {
1106
1106
  He: () => o,
1107
1107
  Be: e => (y(e), w[e])
1108
1108
  };
1109
- })(r.length, i, c, f, d), t = _(e);
1109
+ })(r.length, i, c, f, h), t = _(e);
1110
1110
  return [ t, e, H(t, !1) ];
1111
1111
  });
1112
- r.length !== I.O() && I.W(5, [ r.length ]), b.Ae(i, c), I.W(9, void 0);
1113
- const [T, R] = (0, e.useReducer)(I.k, void 0, I.k), O = I.C(), M = I.t();
1114
- J(() => (I.A(1, e => {
1115
- e ? (0, o.flushSync)(R) : R();
1116
- }), I.A(4, () => {
1117
- y.current && y.current(I.M());
1118
- }), I.A(8, () => {
1119
- x.current && x.current();
1120
- }), k.K(w[D]), () => {
1121
- I.I(), k.I();
1112
+ r.length !== b.O() && b.W(5, [ r.length ]), k.Ae(i, c), b.W(9, void 0);
1113
+ const [R, O] = (0, e.useReducer)(b.k, void 0, b.k), M = b.C(), E = b.t();
1114
+ J(() => (b.A(1, e => {
1115
+ e ? (0, o.flushSync)(O) : O();
1116
+ }), b.A(4, () => {
1117
+ x.current && x.current(b.M());
1118
+ }), b.A(8, () => {
1119
+ I.current && I.current();
1120
+ }), T.K(y[D]), () => {
1121
+ b.I(), T.I();
1122
1122
  }), []), J(() => {
1123
- k.ee();
1124
- }, [ T ]), (0, e.useImperativeHandle)(m, () => ({
1123
+ T.ee();
1124
+ }, [ R ]), (0, e.useImperativeHandle)(w, () => ({
1125
1125
  get cache() {
1126
- return b.H();
1126
+ return k.H();
1127
1127
  },
1128
1128
  get scrollOffset() {
1129
- return I.M();
1129
+ return b.M();
1130
1130
  },
1131
1131
  get scrollSize() {
1132
- return S(I);
1132
+ return S(b);
1133
1133
  },
1134
1134
  get viewportSize() {
1135
- return I.o();
1135
+ return b.o();
1136
1136
  },
1137
- getItemOffset: I.u,
1138
- getItemSize: I.h,
1139
- scrollToIndex: (e, t) => X(k, I, e, t),
1140
- scrollTo: e => Y(k, e),
1141
- scrollBy: e => V(k, I, e)
1137
+ getItemOffset: b.u,
1138
+ getItemSize: b.h,
1139
+ scrollToIndex: (e, t) => X(T, b, e, t),
1140
+ scrollTo: e => Y(T, e),
1141
+ scrollBy: e => V(T, b, e)
1142
1142
  }), []);
1143
- const E = [], C = b.We(), L = b.He(), q = le(1 / C, L / C - L), [A, W] = I.l(u);
1144
- for (let e = A; e <= W; e++) {
1145
- const o = n(r[e], e), s = b.Be(e);
1146
- E.push(/* @__PURE__ */ /* @__PURE__ */ (0, t.jsx)(ie, {
1147
- ne: k.N,
1143
+ const C = [], L = k.We(), q = k.He(), A = le(1 / L, q / L - q), W = e => {
1144
+ const o = n(r[e], e), s = k.Be(e);
1145
+ /* @__PURE__ */ /* @__PURE__ */
1146
+ return (0, t.jsx)(ie, {
1147
+ ne: T.N,
1148
1148
  re: e,
1149
- se: I.u(e),
1150
- Le: le(s / C, s * L / C),
1151
- qe: q,
1152
- le: I.R(e),
1149
+ se: b.u(e),
1150
+ Le: le(s / L, s * q / L),
1151
+ qe: A,
1152
+ le: b.R(e),
1153
1153
  oe: o
1154
- }, U(o, e)));
1155
- }
1154
+ }, U(o, e));
1155
+ };
1156
+ if (d) {
1157
+ const e = new Set(d);
1158
+ for (let [t, o] = b.l(u); t <= o; t++) e.add(t);
1159
+ a([ ...e ]).forEach(e => {
1160
+ e < r.length && C.push(W(e));
1161
+ });
1162
+ } else for (let [e, t] = b.l(u); e <= t; e++) C.push(W(e));
1156
1163
  /* @__PURE__ */ /* @__PURE__ */
1157
1164
  return (0, t.jsx)("div", {
1158
- ...p,
1165
+ ...m,
1159
1166
  style: {
1160
1167
  display: "block",
1161
1168
  overflowY: "auto",
1162
1169
  contain: "strict",
1163
1170
  width: "100%",
1164
1171
  height: "100%",
1165
- ...$
1172
+ ...p
1166
1173
  },
1167
1174
  children: /* @__PURE__ */ /* @__PURE__ */ (0, t.jsx)("div", {
1168
- ref: w,
1175
+ ref: y,
1169
1176
  style: {
1170
1177
  contain: "size style",
1171
1178
  overflowAnchor: "none",
1172
1179
  flex: "none",
1173
1180
  position: "relative",
1174
1181
  width: "100%",
1175
- height: M,
1176
- pointerEvents: O ? "none" : void 0
1182
+ height: E,
1183
+ pointerEvents: M ? "none" : void 0
1177
1184
  },
1178
- children: E
1185
+ children: C
1179
1186
  })
1180
1187
  });
1181
1188
  });