Optionalselectorelements to reveal (default "[data-reveal]").
Optionalrevealedclass added on reveal (default "reveal-in").
Optionalrootquery root (default document).
Optionalobserverinjectable IntersectionObserver ctor (default global; absent → reveal-all fallback).
Optionalstaggerset --i (index, capped) on each element for the CSS stagger (default true).
Optionalstaggermax stagger index before wrapping (default 12).
revealOnScroll — staggered scroll-triggered reveal for lists as a framework-agnostic primitive (saastarter parity: "list items fade/slide in as they enter the viewport, staggered"). One IntersectionObserver toggles the reveal class on
[data-reveal]elements as they enter view; the look (initial hidden + transition + the--istagger delay) is @suluk/theme base CSS. Degrades gracefully: with no IntersectionObserver (SSR/old) it reveals everything immediately, and reduced-motion is handled by the CSS, so content is NEVER stuck hidden.