UNPKG

@indielayer/ui

Version:

Indielayer UI Components with Tailwind CSS build for Vue 3

32 lines (31 loc) 679 B
function f({ cachedBounds: a, containerScrollOffset: x, containerSize: b, itemCount: d, overscanCount: I }) { const i = d - 1; let t = 0, n = -1, l = 0, r = -1, e = 0; for (; e < i; ) { const s = a.get(e); if (s.scrollOffset + s.size > x) break; e++; } for (t = e, l = Math.max(0, t - I); e < i; ) { const s = a.get(e); if (s.scrollOffset + s.size >= x + b) break; e++; } return n = Math.min(i, e), r = Math.min(d - 1, n + I), t < 0 && (t = 0, n = -1, l = 0, r = -1), { startIndexVisible: t, stopIndexVisible: n, startIndexOverscan: l, stopIndexOverscan: r }; } export { f as getStartStopIndices };