Stagger Reveal Grid

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

Last updated Mar 5, 2026

Component

1
2
3
4
5
6
7
8
9

Installation

pnpm dlx shadcn@latest add "https://pulkitxm.com/components/stagger-reveal-grid.json"

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
classNamestringAdditional 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.
itemClassNamestringClasses 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>;

Made with ❤️ by Pulkit & Cursor :)

© 2026 Pulkit. All rights reserved

DMCA Verified

Last updated: