Components

Letter Reveal

Headline type that writes itself in on scroll, one letter at a time, with a synthesised tick as each lands. Letters take no space until they arrive, so a centred line opens outward from the middle. Arrival order, raggedness, spacing behaviour and the tick are all tunable, plus an onReveal hook per letter.

Install

npx @crafterui/cli@latest components add letter-reveal

For AI

Open .md

Usage

"use client"

import { LetterReveal } from "@/registry/crafterui/ui/letter-reveal"

export default function LetterRevealDemo() {
  return (
    // No surface override: the component paints bg-background/text-foreground, and
    // its caption and hairline read from the same tokens. Forcing a black panel
    // here left those near-invisible under the light theme.
    <LetterReveal lines={["Craft is in the detail.", "Scroll to hear it land."]} />
  )
}