Gallery 38 - Horizontal track pinned on vertical scrollPro

A sticky viewport that converts vertical scrolling into a horizontal pan across large frames, with a progress rail; falls back to native horizontal scroll with reduced motion.

About Gallery 38

A sticky viewport that converts vertical scrolling into a horizontal pan across large frames, with a progress rail; falls back to native horizontal scroll with reduced motion.

Gallery 38 is a pro gallery block for React, built on shadcn/ui and Tailwind CSS with motion animations that respect reduced-motion settings. It ships as 97 lines of TypeScript you own: every piece of copy is a prop with a sensible default, so you can drop it in and replace the content without touching the layout.

  • horizontal-scroll
  • sticky
  • pinned
  • scroll-linked

Installation

  1. Add the Chocolate UI registry to your components.json (see the installation guide).
  2. Run the shadcn CLI:
npx shadcn@latest add @chocolate/gallery-38

Dependencies installed automatically: motion.

Uses: reveal, use-reduced-motion, utils.

Usage

import Gallery38 from "@/components/blocks/gallery-38"

export default function Page() {
  return <Gallery38 />
}

FAQ