Desktop optimized

Please maximize your browser window or use a larger screen to explore the component library.

Go to home

Weightless Float Reveal

An ambient, zero-gravity text reveal component. Elements drift upwards into place from randomized depths and rotations, creating an organic, floating effect.

Last Modified:Aug 17, 2026

Install

CLI

weightless-float-reveal
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/weightless-float-reveal.json

Or install a specific demo variant:

weightless-float-headline-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/weightless-float-headline-demo.json

Or install a specific demo variant:

weightless-float-paragraph-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/weightless-float-paragraph-demo.json

Manual

1. Install Dependencies

Dependencies
$pnpm add gsap @gsap/react clsx tailwind-merge

2. Add Source Code

Props

PropTypeDefaultDescription
textstringRequiredThe full string of text to reveal.
asReact.ElementType"h1"The HTML tag to render as.
splitBy"word" | "char""char"Whether to split and animate by word or individual character.
startYMinnumber40Minimum starting Y offset (pixels).
startYMaxnumber80Maximum starting Y offset (pixels).
startRotationMinnumber-8Minimum starting rotation (degrees).
startRotationMaxnumber8Maximum starting rotation (degrees).
durationnumber2.5The duration of the drift. Long durations enhance the floating effect.
delaynumber0Delay before the animation begins (in seconds).
staggernumber0.06Stagger delay between each element revealing.
easestring"power3.out"GSAP easing function for the endless coasting physics.
viewportOncebooleantrueIf true, plays once. If false, seamlessly reverses on scroll away.
triggerStartstring"top 85%"Viewport threshold for when the animation should start.