Labs

Components

Interactions

Particle Reveal

Particles scatter from noise and converge into text — inspired by Linear's AI generation animation.

All components
Built with particles.

Installation

Coming soon. Components will be available via the registry once checkout goes live.

Usage

<ParticleReveal text="Generated with AI" duration={1500} scatter={45} />

Props

PropTypeDefaultDescription
text*stringThe string the particles converge into.
durationnumber1000Total animation duration in ms.
delaynumber0Delay before the animation begins, in ms.
scatternumber45How far particles start displaced from their final position, in px. Higher = more chaotic intro.
initialBlurnumber3Starting blur in px. Resolves to 0 alongside the scatter.
seednumber2feTurbulence seed. Change to vary the scatter pattern.
onComplete() => voidFires once the text has fully resolved.
classNamestringClasses applied to the text element (control font, size, color).
styleCSSPropertiesInline style merged onto the text element.

Use cases

  • AI generation feedback

    Reveal generated copy or summaries the way Linear's AI features do.

  • Onboarding moments

    First-run welcome headlines or empty-state copy that benefit from a single delightful beat.

  • Marketing headlines

    Hero headline reveal triggered on scroll-into-view.

  • Loading completion

    Resolve a skeleton or spinner into a final summary line — “Report ready”, “3 issues found”.