← All presets
AI streamingper-character

Caret Typewriter

Typewriter reveal with a live blinking caret trailing the cursor.

pnpm

Installation

Run the following command:

pnpmdlx shadcn@latest add https://mutype.dev/r/caret-typewriter-blink.json

Props

PropTypeDefaultDescription
specAnimationSpecAnimation spec object (imported from components/mutype/specs/<id>).
textstringThe text to animate.
as"span" | "div" | "h1"–"h4" | "p""span"The HTML element to render.
triggerKeystring | numberRe-runs the animation when the value changes.
duration_multipliernumber1Scales duration_ms and stagger_ms uniformly. >1 slower, <1 faster.
y_travel_multipliernumber1Multiplier on y_px values; useful to dampen lift on small text.
forceReducedMotionbooleanfalseForces the reduced-motion fallback even when the user has not opted in (testing).
onFinished() => voidFires once when the enter phase completes (not on cancel).
classNamestringTailwind / CSS class names. Forwarded to the host element.

Usage notes

Pair with a CSS-animated caret element after the last character (showcase implementation provides one). Tune stagger_ms to match desired chars-per-second feel — 45ms ≈ 22 cps.

Inspired by Terminal UIs, Cursor inline AI suggestions..