InfiniteSideScroll Tests
go homestandard marquee
marqueeSpeed=1, left-to-right, drag to interrupt
reversed marquee
marqueeSpeed=1, right-to-left
snap mode (no marquee)
default — drag or scroll horizontally to snap to nearest item
no snap
disableSnap — drag freely without snapping
with arrow buttons
ArrowButton — single button auto-flipped for back and forward
disabled drag
disableDrag + marqueeSpeed=1 — cannot be dragged or scrolled manually
centerMode off
centerMode=false — first item starts from the left instead of center
scroll velocity
scrollVelocity=0.5 — scrubs with vertical page scroll speed
onChange callback
current index: 0
items change size
all items toggle between 300×200 and 150×120 every 2 s — loop should recalculate seamlessly
mixed-size items change size
odd items are large, even items are small — sizes swap every 2 s
gap calculation tests
each test uses a marquee so the loop seam is always visible — check that the spacing between the last and first items matches the rest
flex gap
gap: 60px on .track (flex container)
margin-left on items
no flex gap — spacing comes entirely from margin-left: 60px on each item
margin-right on items
no flex gap — spacing comes entirely from margin-right: 60px on each item
grid gap
.track overridden to display: grid with column gap: 60px