FX · Text

Departure-board tiles that flip through characters before landing on the text.

Now boarding
Gate 42
bash
npx shadcn@latest add https://www.rad-ui.com/r/split-flap.json
React
import SplitFlap from "@/components/fx/split-flap" <SplitFlap text="Now boarding" />
  • Screen readers get the text once, as written; the tiles are aria-hidden.
  • Server render shows the final text, so it is readable before hydration.
  • prefers-reduced-motion: reduce (or data-rad-fx-motion="reduce" on an ancestor) shows the final tiles with no flipping.
PropTypeDefaultDescription
text
string
—

Final text, shown in uppercase.

as
'p' | 'span' | 'div' | 'h1' | 'h2' | 'h3' | 'h4'
'div'

Element to render.

speed
number
55

Milliseconds per flip.

flips
number
8

Flips before the first tile settles.

stagger
number
2

Extra flips per tile, left to right.

characters
string
A–Z, 0–9

Characters cycled while flipping.

trigger
'inView' | 'mount'
'inView'

When flipping starts.