@virtuoso.dev/message-list
Advanced tools
Comparing version 1.9.5 to 1.9.6
@@ -0,1 +1,8 @@ | ||
## [1.9.6](https://github.com/virtuoso-dev/message-list/compare/v1.9.5...v1.9.6) (2024-11-09) | ||
### Bug Fixes | ||
* restore gemini use case regression ([ae6d32e](https://github.com/virtuoso-dev/message-list/commit/ae6d32e0f5da3357eab59880ea642bca0b38af26)) | ||
## [1.9.5](https://github.com/virtuoso-dev/message-list/compare/v1.9.4...v1.9.5) (2024-11-08) | ||
@@ -2,0 +9,0 @@ |
@@ -17,3 +17,3 @@ import { jsxs as tn, jsx as T, Fragment as fo } from "react/jsx-runtime"; | ||
} | ||
function Me() { | ||
function Re() { | ||
return Te; | ||
@@ -32,6 +32,6 @@ } | ||
const [i, r] = sn(o); | ||
return tt(R(e, { k: i, l: rn(o), v: r })); | ||
return tt(M(e, { k: i, l: rn(o), v: r })); | ||
} | ||
} else | ||
return t < n ? tt(R(e, { l: Tt(o, t) })) : tt(R(e, { r: Tt(s, t) })); | ||
return t < n ? tt(M(e, { l: Tt(o, t) })) : tt(M(e, { r: Tt(s, t) })); | ||
} | ||
@@ -50,3 +50,3 @@ function ce(e, t, n = "k") { | ||
function F(e, t, n) { | ||
return k(e) ? on(t, n, 1) : t === e.k ? R(e, { k: t, v: n }) : t < e.k ? Gt(R(e, { l: F(e.l, t, n) })) : Gt(R(e, { r: F(e.r, t, n) })); | ||
return k(e) ? on(t, n, 1) : t === e.k ? M(e, { k: t, v: n }) : t < e.k ? Gt(M(e, { l: F(e.l, t, n) })) : Gt(M(e, { r: F(e.r, t, n) })); | ||
} | ||
@@ -63,3 +63,3 @@ function $t(e, t, n) { | ||
return Te; | ||
let s = Me(); | ||
let s = Re(); | ||
for (const { k: i, v: r } of me(e)) | ||
@@ -70,3 +70,3 @@ i > t && i <= n ? s = F(s, ...o(i, r)) : s = F(s, i, r); | ||
function mo(e, t, n) { | ||
let o = Me(), s = -1; | ||
let o = Re(), s = -1; | ||
for (const { start: i, end: r, value: l } of Io(e)) | ||
@@ -83,5 +83,5 @@ i < t ? (o = F(o, i, l), s = l) : i > t + n ? o = F(o, i - n, l) : r >= t + n && s !== l && (o = F(o, t, l)); | ||
function rn(e) { | ||
return k(e.r) ? e.l : tt(R(e, { r: rn(e.r) })); | ||
return k(e.r) ? e.l : tt(M(e, { r: rn(e.r) })); | ||
} | ||
function R(e, t) { | ||
function M(e, t) { | ||
return on(t.k ?? e.k, t.v ?? e.v, t.lvl ?? e.lvl, t.l ?? e.l, t.r ?? e.r); | ||
@@ -101,8 +101,8 @@ } | ||
if (xt(t)) | ||
return an(R(e, { lvl: o - 1 })); | ||
return an(M(e, { lvl: o - 1 })); | ||
if (!k(t) && !k(t.r)) | ||
return R(t.r, { | ||
l: R(t, { r: t.r.l }), | ||
return M(t.r, { | ||
l: M(t, { r: t.r.l }), | ||
lvl: o, | ||
r: R(e, { | ||
r: M(e, { | ||
l: t.r.r, | ||
@@ -115,7 +115,7 @@ lvl: o - 1 | ||
if (xt(e)) | ||
return Et(R(e, { lvl: o - 1 })); | ||
return Et(M(e, { lvl: o - 1 })); | ||
if (!k(n) && !k(n.l)) { | ||
const s = n.l, i = xt(s) ? n.lvl - 1 : n.lvl; | ||
return R(s, { | ||
l: R(e, { | ||
return M(s, { | ||
l: M(e, { | ||
lvl: o - 1, | ||
@@ -125,3 +125,3 @@ r: s.l | ||
lvl: s.lvl + 1, | ||
r: Et(R(n, { l: s.r, lvl: i })) | ||
r: Et(M(n, { l: s.r, lvl: i })) | ||
}); | ||
@@ -158,7 +158,7 @@ } else | ||
const { r: t, lvl: n } = e; | ||
return !k(t) && !k(t.r) && t.lvl === n && t.r.lvl === n ? R(t, { l: R(e, { r: t.l }), lvl: n + 1 }) : e; | ||
return !k(t) && !k(t.r) && t.lvl === n && t.r.lvl === n ? M(t, { l: M(e, { r: t.l }), lvl: n + 1 }) : e; | ||
} | ||
function an(e) { | ||
const { l: t } = e; | ||
return !k(t) && t.lvl === e.lvl ? R(t, { r: R(e, { l: t.r }) }) : e; | ||
return !k(t) && t.lvl === e.lvl ? M(t, { r: M(e, { l: t.r }) }) : e; | ||
} | ||
@@ -187,3 +187,3 @@ function ko(e) { | ||
} | ||
const ht = [Me(), 0]; | ||
const ht = [Re(), 0]; | ||
function So(e, [t, n]) { | ||
@@ -193,3 +193,3 @@ if (n.length > 0 && k(e) && t.length === 2) { | ||
return [ | ||
n.reduce((i, r) => F(F(i, r, o), r + 1, s), Me()), | ||
n.reduce((i, r) => F(F(i, r, o), r + 1, s), Re()), | ||
0 | ||
@@ -285,3 +285,3 @@ ]; | ||
} | ||
const bn = "up", St = "down", Ro = "none", Mo = { | ||
const bn = "up", St = "down", Mo = "none", Ro = { | ||
atBottom: !1, | ||
@@ -361,3 +361,3 @@ notAtBottomBecause: "NOT_SHOWING_LAST_ITEM", | ||
}; | ||
}, Mo) | ||
}, Ro) | ||
), | ||
@@ -434,3 +434,3 @@ nt | ||
); | ||
}), Rt = u(St, (e) => { | ||
}), Mt = u(St, (e) => { | ||
e.link( | ||
@@ -445,4 +445,4 @@ e.pipe( | ||
), | ||
Rt | ||
), e.link(e.pipe($, be(100), V(Ro)), Rt); | ||
Mt | ||
), e.link(e.pipe($, be(100), V(Mo)), Mt); | ||
}), Jt = u(0, (e) => { | ||
@@ -501,6 +501,6 @@ e.link(e.pipe(Ne, d(dn), V(0)), Jt), e.link( | ||
} | ||
const Be = u(null), Ho = u(!1), ot = u(!0), Mt = S((e) => { | ||
const Be = u(null), Ho = u(!1), ot = u(!0), Rt = S((e) => { | ||
e.link( | ||
e.pipe( | ||
Mt, | ||
Rt, | ||
f(() => !0) | ||
@@ -511,3 +511,3 @@ ), | ||
e.pipe( | ||
Mt, | ||
Rt, | ||
f(() => null) | ||
@@ -566,3 +566,3 @@ ), | ||
); | ||
e.link(ne, Be), e.link(t, Re), e.link( | ||
e.link(ne, Be), e.link(t, Me), e.link( | ||
e.pipe( | ||
@@ -641,3 +641,3 @@ ne, | ||
}); | ||
let i = Me(); | ||
let i = Re(); | ||
return s.forEach(({ k: r, v: l }) => { | ||
@@ -736,5 +736,5 @@ i = F(i, r, l); | ||
return t; | ||
const Q = [], ee = r - 1, N = 0, M = Eo(i, U, X, N); | ||
const Q = [], ee = r - 1, N = 0, R = Eo(i, U, X, N); | ||
let A = 0, pe = 0, Ze = !1; | ||
for (const z of M) { | ||
for (const z of R) { | ||
const { | ||
@@ -790,3 +790,3 @@ value: { offset: Se, height: ie } | ||
d(([t]) => t !== 0), | ||
I($, Rt, Ye), | ||
I($, Mt, Ye), | ||
d(([, t, n, o]) => !o && t !== 0 && n === bn), | ||
@@ -801,3 +801,3 @@ f(([[t]]) => t) | ||
([t, n, o, s]) => { | ||
o || s || (n > 0 && t < n ? (e.pub(q, !0), e.pub(Re, { top: 0, behavior: "instant" }), setTimeout(() => { | ||
o || s || (n > 0 && t < n ? (e.pub(q, !0), e.pub(Me, { top: 0, behavior: "instant" }), setTimeout(() => { | ||
e.pubIn({ | ||
@@ -811,3 +811,3 @@ [q]: !1, | ||
}), setTimeout(() => { | ||
e.pub(Re, { top: 0, behavior: "instant" }), e.pub(q, !1); | ||
e.pub(Me, { top: 0, behavior: "instant" }), e.pub(q, !1); | ||
}))); | ||
@@ -972,3 +972,3 @@ } | ||
ge | ||
), e.link(e.pipe(n, V(!0)), Mt), e.link( | ||
), e.link(e.pipe(n, V(!0)), Rt), e.link( | ||
e.pipe( | ||
@@ -1053,3 +1053,3 @@ t, | ||
}), Xt = S((e) => { | ||
e.changeWith(w, Xt, (t, n) => t ? t.slice(n) : []), e.changeWith(ae, Xt, ([t], n) => [me(t).reduce((s, { k: i, v: r }) => F(s, Math.max(0, i - n), r), Me()), 0]); | ||
e.changeWith(w, Xt, (t, n) => t ? t.slice(n) : []), e.changeWith(ae, Xt, ([t], n) => [me(t).reduce((s, { k: i, v: r }) => F(s, Math.max(0, i - n), r), Re()), 0]); | ||
}), Qt = S((e) => { | ||
@@ -1175,6 +1175,6 @@ e.changeWith(w, Qt, (t, n) => t ? t.slice(0, t.length - n) : []), e.link( | ||
e.link(e.pipe(je, V(!1)), Ye); | ||
}, !1), $ = u(0), J = u(0), Ln = u(0), K = u(0), _o = $, rt = u(0), Ke = u(0), Ue = u(0), qe = u(0), Yt = u(0), Dt = u(null), Rn = _t(), Wo = Lo, Po = 50, dt = ke(0, (e) => e.pipe( | ||
}, !1), $ = u(0), J = u(0), Ln = u(0), K = u(0), _o = $, rt = u(0), Ke = u(0), Ue = u(0), qe = u(0), Yt = u(0), Dt = u(null), Mn = _t(), Wo = Lo, Po = 50, dt = ke(0, (e) => e.pipe( | ||
e.combine(Ke, Ue), | ||
f(([t, n]) => t + n) | ||
)), Mn = ke(0, (e) => e.pipe( | ||
)), Rn = ke(0, (e) => e.pipe( | ||
e.combine(qe, Yt), | ||
@@ -1204,3 +1204,3 @@ f(([t, n]) => t + n) | ||
return { prevTotalHeight: n, adjustedMinScrollTop: o }; | ||
const s = n - t.prevTotalHeight, i = o === 0 ? 0 : o + s; | ||
const s = Math.min(n - t.prevTotalHeight, 0), i = o === 0 ? 0 : o + s; | ||
return { prevTotalHeight: n, adjustedMinScrollTop: i }; | ||
@@ -1220,6 +1220,6 @@ }, | ||
); | ||
}), Re = S((e) => { | ||
}), Me = S((e) => { | ||
e.link( | ||
e.pipe( | ||
Re, | ||
Me, | ||
f((t) => t.align === "start" ? t.top ?? 0 : 0) | ||
@@ -1230,3 +1230,3 @@ ), | ||
e.pipe( | ||
Re, | ||
Me, | ||
I($), | ||
@@ -1250,3 +1250,3 @@ d(([t, n]) => t.top !== n), | ||
dt, | ||
Mn, | ||
Rn, | ||
Ue, | ||
@@ -1317,3 +1317,3 @@ An, | ||
e.pipe( | ||
e.combine(Bt, Ie, J, dt, Mn), | ||
e.combine(Bt, Ie, J, dt, Rn), | ||
d(([t]) => t === "bottom" || t === "bottom-smooth"), | ||
@@ -1700,3 +1700,3 @@ f(([, t, n, o, s]) => Math.max(0, n - t - o - s)) | ||
now: /* @__PURE__ */ new Date(), | ||
packageTimestamp: 1731049492519 | ||
packageTimestamp: 1731133488105 | ||
}); | ||
@@ -1714,3 +1714,3 @@ return /* @__PURE__ */ T(eo.Provider, { value: n, children: t }); | ||
a !== i.current && r(); | ||
}), [o]), g.useEffect(() => o.sub(Rn, r), [o]); | ||
}), [o]), g.useEffect(() => o.sub(Mn, r), [o]); | ||
const l = g.useCallback( | ||
@@ -1810,3 +1810,3 @@ (a, p, v) => { | ||
cancelSmoothScroll() { | ||
e.pub(Rn); | ||
e.pub(Mn); | ||
}, | ||
@@ -1879,4 +1879,4 @@ height: (t) => { | ||
const ee = g.useMemo(() => { | ||
const M = new ho(); | ||
return M.register(Ae), M.register(Ye), M.register(st), M.register(nt), M.register(pt), M.register(le), M.register(We), M.pubIn({ | ||
const R = new ho(); | ||
return R.register(Ae), R.register(Ye), R.register(st), R.register(nt), R.register(pt), R.register(le), R.register(We), R.pubIn({ | ||
[w]: e.slice(), | ||
@@ -1898,3 +1898,3 @@ [ze]: n, | ||
[Bt]: s | ||
}), M.singletonSub(Ot, i), M.singletonSub(at, r), M; | ||
}), R.singletonSub(Ot, i), R.singletonSub(at, r), R; | ||
}, []); | ||
@@ -1911,8 +1911,8 @@ g.useImperativeHandle(Q, () => to(ee), [ee]), g.useEffect(() => { | ||
}, [N]), g.useEffect(() => { | ||
const M = (A) => { | ||
const R = (A) => { | ||
var pe; | ||
(pe = A.message) != null && pe.includes("ResizeObserver loop") && (A.preventDefault(), A.stopPropagation(), A.stopImmediatePropagation()); | ||
}; | ||
return window.addEventListener("error", M, { capture: !0 }), () => { | ||
window.removeEventListener("error", M); | ||
return window.addEventListener("error", R, { capture: !0 }), () => { | ||
window.removeEventListener("error", R); | ||
}; | ||
@@ -2023,3 +2023,3 @@ }, []), typeof window < "u" && N.watermarkMessage ? /* @__PURE__ */ T( | ||
}); | ||
}), [P, U] = et(b), [X, Q] = et(b), [ee, N] = et(b), [M, A] = et(b), pe = g.useCallback( | ||
}), [P, U] = et(b), [X, Q] = et(b), [ee, N] = et(b), [R, A] = et(b), pe = g.useCallback( | ||
(h) => { | ||
@@ -2085,3 +2085,3 @@ if (o) { | ||
}; | ||
}, [n]), g.useLayoutEffect(() => n.sub(Re, Se), [Se, n]), g.useLayoutEffect(() => n.sub(se, ie), [ie, n]); | ||
}, [n]), g.useLayoutEffect(() => n.sub(Me, Se), [Se, n]), g.useLayoutEffect(() => n.sub(se, ie), [ie, n]); | ||
const Kt = g.useCallback(() => { | ||
@@ -2118,3 +2118,3 @@ var Y; | ||
children: [ | ||
i && /* @__PURE__ */ T(l, { ref: M, style: Qe, children: /* @__PURE__ */ T(i, { context: fe }) }), | ||
i && /* @__PURE__ */ T(l, { ref: R, style: Qe, children: /* @__PURE__ */ T(i, { context: fe }) }), | ||
s && /* @__PURE__ */ T(r, { ref: ee, style: Qe, children: /* @__PURE__ */ T(s, { context: fe }) }), | ||
@@ -2121,0 +2121,0 @@ co > 0 ? /* @__PURE__ */ T( |
@@ -23,3 +23,3 @@ { | ||
}, | ||
"version": "1.9.5", | ||
"version": "1.9.6", | ||
"type": "module", | ||
@@ -26,0 +26,0 @@ "module": "dist/index.js", |
101018