Preset-driven staggered text reveals with blur, fade, slide, and scale animations.
Made by AxylInstallation
Usage
Scroll-triggered headline — set scrollTrigger (built-in useInView):
Animate immediately on mount (default) or toggle with trigger:
Use blurRevealItemVariants() when you need the old blur-reveal tuning (blur, yOffset):
Props
| Prop | Type | Default |
|---|---|---|
children? | string | - |
as? | keyof JSX.IntrinsicElements | "p" |
preset? | "blur" | "fade-in-blur" | "fade" | "slide" | "scale" | "fade" |
per? | "word" | "char" | "line" | "word" |
scrollTrigger? | boolean | false |
once? | boolean | true |
viewportMargin? | string | "0px 0px -10% 0px" |
trigger? | boolean | true |
delay? | number | 0 |
speedReveal? | number | 1 |
speedSegment? | number | 1 |
variants? | { container?: Variants; item?: Variants } | - |
containerTransition? | Transition | - |
segmentTransition? | Transition | - |
className? | string | - |
segmentWrapperClassName? | string | - |
Credits
Inspired by motion-primitives.
Built by Axyl. A motion-first component registry for React.
Last updated: 6/27/2026