Component

PhotoRow

Explicit-height horizontal flex row for the gallery. Each child takes a flex ratio. Triggers a left-to-right clip-path reveal on scroll via Framer Motion.

Structure

GalleryRow is the Framer Motion wrapper in apps/web/components/gallery-row.tsx. It sets whileInView="visible" and staggerChildren: 0.3 so each ParallaxCard child reveals left→right.

tsx
import { GalleryRow } from '@/components/gallery-row'
import { ParallaxCard } from '@/components/parallax-card'

// Wide + Narrow row (62 / 38 split)
<GalleryRow height="300px">
  <ParallaxCard flex={62}>...</ParallaxCard>
  <ParallaxCard flex={38}>...</ParallaxCard>
</GalleryRow>

Row layouts used on homepage

R1Wide + Narrow300px62 / 38
R2Three equal260px33 / 33 / 33
R3Full-width420px100
R4Narrow + Wide300px38 / 62
R5Four equal240px25 / 25 / 25 / 25
R6Two equal340px50 / 50
R7Three varied260px45 / 30 / 25
R8Full-width380px100

Props (GalleryRow)

PropTypeDefaultDescription
heightstringCSS height value applied to the row — e.g. "300px".
childrenReactNodeParallaxCard children.