Desktop optimized

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

Go to home

Multi-Color Trail Reveal

A highly advanced scrollytelling component. Sweeps a cascading wave of colors across characters, words, or lines, utilizing strict clip-path physics and DOM pinning.

Last Modified:Aug 17, 2026

Install

CLI

multi-color-trail-reveal
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/multi-color-trail-reveal.json

Or install a specific demo variant:

multi-color-trail-char-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/multi-color-trail-char-demo.json

Or install a specific demo variant:

multi-color-trail-word-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/multi-color-trail-word-demo.json

Or install a specific demo variant:

multi-color-trail-line-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/multi-color-trail-line-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. Use \n for line breaks if splitBy="line".
asReact.ElementType"p"The HTML tag to render as.
splitBy"char" | "word" | "line""char"Granularity of the animation.
edge"hard" | "liquid" | "soft""soft"The type of sweeping color effect.
trailColorsstring[]["text-primary/40", "text-primary/80"]Array of tailwind text colors to create the wave.
finalClassNamestring"text-foreground"The final solid text color after the wave passes.
trailLengthnumberDynamicHow many elements long the color wave is.
momentumnumber | boolean1.2Amount of scroll inertia.
pinbooleantrueWhether to pin the container in place during the scroll reveal.
triggerStartstring"center center"ScrollTrigger start point.