Stagger Reveal Grid

Grid that reveals items with wave-like stagger on scroll. Configurable columns and timing.

Component

1
2
3
4
5
6
7
8
9

Installation

 

Usage

Import

Add the StaggerRevealGrid import.

import { StaggerRevealGrid } from "@/components/stagger-reveal-grid";

Use

Use with columns and children.

<StaggerRevealGrid columns={3}>
  {/* items */}
</StaggerRevealGrid>;

Guidelines

  • Use columns to set grid columns. stagger and duration control reveal timing.
  • start and end control scroll range (ScrollTrigger).

Props

All props are optional unless marked required. Use these to customize every aspect of the component.

PropTypeDefaultDescription
classNamestring-Additional CSS classes.
columnsnumber3Number of grid columns.
staggernumber0.05Delay between each item reveal (seconds).
durationnumber0.5Reveal animation duration per item.
fromYnumber40Initial Y offset (px) before reveal.
fromScalenumber0.9Initial scale before reveal.
fromOpacitynumber0Initial opacity before reveal.
itemClassNamestring-Classes for each grid item wrapper.
startstring"top 85%"ScrollTrigger start.
easestring"back.out(1.2)"GSAP ease for reveal.

Examples

Basic

3-column grid with numbered items.

1
2
3
4
5
6
7
8
9
import { StaggerRevealGrid } from "@/components/stagger-reveal-grid";

<StaggerRevealGrid columns={3}>
  {[1, 2, 3, 4, 5, 6].map((n) => (
    <div
      key={n}
      className="aspect-square rounded-xl border bg-white/5"
    >
      {n}
    </div>
  ))}
</StaggerRevealGrid>;

Last updated on Mar 5

Made with ❤️ by Pulkit & Cursor :)

© 2026 Pulkit. All rights reserved

DMCA Verified

Last updated: