Depth, not breadth.

A deep, stand-alone collection built around one system. Two Kits so far: Reveal, preloaders and hero sections as one mixable system, and Menu, ten site navigation menus as one system. React, Vue, HTML / CSS / JS. Not for Webflow.

See the Menu Kit

Learn the vocabulary.

Definitions and examples for the GSAP and animation concepts behind production motion. Free, citable, and cross-linked with the components that use each idea.

Open concepts
GSAP component for React

Horizontal Case Study in React.

A case-study section that turns scrolling down into a sideways walk through a project, laid out like a magazine: an intro, stills of different sizes hanging from one top line, a chapter note and a closing quote. Each panel reveals once as it slides in: the image wipes up into its frame and settles from a soft zoom, and the text rises line by line. The stills then drift a little slower than the strip, while a counter and a hairline keep your place. On phones it stacks into a column with the same reveal.

Install Horizontal Case Study in your React project

Horizontal Case Study ships as a copy-paste React component. The only dependencies are GSAP and the official @gsap/react adapter for the useGSAP hook. Both work in Next.js (App Router and Pages), Vite, Remix, and Create React App.

BASH

Where it goes in your React app

Horizontal Case Study is a leaf-level interactive component, so it needs to render on the client. In a Next.js App Router project, add the 'use client' directive at the top of the file (it's already there in the component you copy).

The component is self-contained: it manages its own refs, useGSAP scope, and cleanup. Mount it inside any Server Component, Client Component, or page. It does not require a provider or wrapper.

If your project uses TypeScript, the component is typed - the props it accepts match the data-anm-* attributes documented on the main detail page.

React-specific gotchas

Always use the useGSAP hook, not useEffect

useGSAP (from @gsap/react) handles cleanup automatically: kills tweens and ScrollTriggers on unmount, and uses gsap.context scoping so selectors only match inside your component. Plain useEffect works but leaks animations on hot-reload and Strict Mode double-invocations.

Refs over className selectors

When passing targets to gsap.to / gsap.from, use refs (elementRef.current) instead of class selectors. Refs survive Strict Mode double-renders and don't accidentally match sibling components that share class names.

Register plugins inside a window guard

gsap.registerPlugin(ScrollTrigger, SplitText, ...) must run client-side only. Wrap in if (typeof window !== 'undefined') or place inside the component body - never at module top level in SSR contexts.
FAQ

Common questions

Does Horizontal Case Study work in Next.js App Router?
Yes. The component includes the 'use client' directive and uses useGSAP for proper cleanup across Server Component re-renders. Drop it into any page or component inside app/.
Does Horizontal Case Study work with Server Components?
The component itself runs on the client (it needs the DOM for GSAP), but the parent page can be a Server Component. Import the component normally; React's "use client" boundary handles the rest. No additional configuration needed.
Does Horizontal Case Study work in React 18 and React 19?
Yes. The component uses useGSAP which is React-version-agnostic. It also handles Strict Mode double-invocation correctly via gsap.context scoping.
Will the animation flash before hydration?
Brief flash is possible on first paint because GSAP needs the client to initialize. The component sets the parked ("starting") state via gsap.set on mount before the first frame, so any visible jump is sub-frame and rarely perceived. For above-the-fold use, pair with a CSS opacity:0 default that the component clears on mount.

Copy the React code

The full React implementation lives on the component page, with the live demo, every format side by side, and the ability to edit and re-run it in the browser.

Open Horizontal Case Study

Annnimate

Horizontal Case Study is one of 120+ GSAP components, each shipping in React, Vue, and HTML/CSS/JS with the same production tuning.