All components

Text Reveal

Motion

Reveals its children with a soft de-blur + fade as they scroll into view — the 'text develops into focus' effect. Fires once, respects reduced-motion, and is polymorphic via `as` so it can wrap a heading, paragraph, or a single list item.

Text that develops into focus.

Each line de-blurs and fades up as it enters the viewport — fires once, and respects reduced-motion.

Installation

Terminal
npx shadcn@latest add https://ui.saumyarex.xyz/r/text-reveal.json

Props

PropTypeDefaultDescription
as"div" | "li" | "span" | "p" | "h2" | "h3""div"Element to render as, so it can wrap different content.
delaynumber0Stagger this reveal after siblings, in seconds.
childrenReact.ReactNodeThe content that de-blurs into view.

Dependencies

motion