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
GSAP component for Vue

Capsule Hero in Vue.

A full-screen hero where two giant letters split apart to reveal a video framed inside a rounded capsule window. Click the capsule to expand the video to fill the whole screen, click again to shrink it back.

Install

Install Capsule Hero in your Vue project

Capsule Hero ships as a copy-paste Vue 3 single-file component. The only dependency is GSAP - Vue's reactivity and lifecycle hooks replace the React useGSAP adapter, so no extra package is needed.

BASH
Integrate

Where it goes in your Vue app

Capsule Hero is a leaf-level interactive component. Drop it into any page, layout, or other component. It works in Vue 3 + Vite, Nuxt 3, and any standalone Vue setup.

In Nuxt, no special handling is needed - the component is client-safe and self-cleaning. If you want to ensure it never runs on the server (rare), wrap your usage in <ClientOnly>.

The component uses the <script setup> composition API and TypeScript-friendly defineProps.

Gotchas

Same slaved-glyph geometry as the vanilla source

The clipGeo object is the single source of truth: every tween writes it, applyClip() pushes the CSS vars and slaves the glyph positions to the live clip edge. Do not replace it with independent glyph tweens - the non-overlap guarantee lives there.

Fonts gate + kept splits

The entrance waits for document.fonts.ready because glyph widths drive the geometry, and the SplitText splits stay in the DOM until unmount (reverting reflows the negative letter-spacing and the letters jump).
FAQ

Common questions

Does Capsule Hero work in Nuxt 3?
Yes. Drop it into any page or component. The component is client-safe; Nuxt handles the SSR boundary automatically. If you want explicit client-only rendering, wrap in .
Does Capsule Hero work with Vue 2?
No - the component uses the Vue 3 Composition API and