Installation
npx shadcn@latest add @iconiq/reveal-textProps
RevealText
12 props
Staggered text reveal that animates each word or character upward with blur and opacity, with optional viewport-triggered playback and reduced-motion fallbacks.
text
string | string[]Required
Copy to reveal. Pass one string or multiple lines; each line renders on its own block row.
as
React.ElementTypeDefault
"span"Root element type for the reveal container while preserving the same split and stagger behavior.
className
stringMerged onto the root container for typography, spacing, and layout overrides.
split
"word" | "char"Default
"word"Controls whether the animation staggers by word or by individual character.
stagger
numberDefault
0.09Delay in seconds added between each word or character in the sequence.
delay
numberDefault
0Base delay in seconds before the first unit begins animating.
blur
numberDefault
12Starting blur amount in pixels for each unit before it settles into focus.
yOffset
string | numberDefault
"40%"Starting vertical offset for each unit. Accepts Motion-friendly values such as percentages or pixel lengths.
spring
{ stiffness?: number; damping?: number; mass?: number }Optional spring overrides for the vertical settle motion on each unit.
once
booleanDefault
trueWhen whileInView is enabled, controls whether the in-view trigger should fire only once.
whileInView
booleanDefault
falseWhen true, the reveal waits until the root enters the viewport before animating.
children
React.ReactNodeOptional content rendered after the animated text lines inside the root container.
Notes
Reduced-motion users receive a shorter opacity-only reveal while preserving readable timing.
Duplicate words or characters on the same line receive stable keys so repeated units still animate independently.