The library

Curated, not a catalog dump.

Every signature component, built for a real site. Filter, preview live, copy in React or Vue.

Browse the library

Landmark Kits

Depth, not breadth.

A deep, stand-alone collection built around one system. The first Kit is Reveal - preloaders and hero sections, one mixable system, WebGL and GSAP. React, Vue, HTML / CSS / JS. Not for Webflow.

See the Reveal Kit

Concepts, patterns, tools

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

Wipe Slider

A full-screen hero slider where every change of slide wipes the background open from the direction you're heading, while the title and copy mask out and back in and the counter rolls to the next percentage.

Guides

One of 61 GSAP components in React, Vue and HTML.

The full source for Wipe Slider is locked.

On mobile

Take the free components with you.

Text Reveal
Text Reveal
Accordion
Accordion
Dual Scramble
Dual Scramble
Multi-Level Drawer Menu
Multi-Level Drawer Menu

In React, Vue and HTML, in your inbox, ready when you're back at your desk.

A Good Fella original.
The craft

How it's built.

The whole thing is built around one idea: every visible piece has to agree on which direction you're going. When you press next, the background clips open starting from the right edge and sweeps left, the outgoing title characters lift up and off in the same direction, and the incoming ones rise in from below on a slight delay so they never collide with the exit. Pressing prev mirrors every single one of those directions. If even one piece animates direction-agnostic, the whole transition reads as broken, even though nothing is technically wrong with it.

The background wipe itself never animates a clip-path string directly - browsers collapse inset() shorthand the moment two sides match, and GSAP can't interpolate a collapsed value against an expanded one, so the mask just freezes and then snaps at the end. Instead the CSS holds a static inset() template that reads two custom properties, one per side, and the tween only ever touches those numbers. The image inside gets the same treatment on scale, going from a slight 1.1x zoom down to 1 as the wipe finishes, so the reveal always feels like it's settling into focus rather than just appearing.

Nothing here is scroll-driven on purpose. This is meant to sit as the very first thing on a page, so it responds only to what the visitor actually does: click an arrow, tap the keyboard, or swipe. An isAnimating flag blocks a second transition from starting mid-wipe, which matters more than it sounds like it should - a slider that queues up three rapid clicks and plays them back-to-back never looks controlled.

Required

What you'll need.

Install

  • GSAP
  • SplitText

Attributes, tips, use cases and full code are part of access.

The preview and provenance stay public. Tune-it docs, the data-anm-* attribute table, real-world use cases and the copy-ready code unlock the moment you sign in.