Typewriter
Types, pauses and deletes a rotating list of words with a natural rhythm and a blinking caret.
Motion
Build interfaces that feel
fast., alive., inevitable., yours.
Playground
Tweak the props, the preview and the code follow.
Make it fast, alive, inevitable, yours
Props
70
35
1600
import { Typewriter } from "@/components/ui/typewriter"
<Typewriter
words={["fast","alive","inevitable","yours"]}
/>Installation
npx @plumsydev/plum-ui add typewriterUsage
import { Typewriter } from "@/components/ui/typewriter"<Typewriter words={["fast.", "alive.", "yours."]} />Examples
Terminal
A block caret and faster typing for command-line vibes.
zsh
❯ pnpm dlx plum-ui add dock, git commit -m "feat: add dock", pnpm dev --turbo
Animated placeholder
Suggestions type themselves until the user focuses the field.
API Reference
Typewriter
| Prop | Type | Default |
|---|---|---|
words*Words to cycle through. | string[] | — |
typeSpeedMilliseconds per typed character (slightly randomized). | number | 70 |
deleteSpeedMilliseconds per deleted character. | number | 35 |
pauseMilliseconds to hold a finished word. | number | 1600 |
loopStart over after the last word. | boolean | true |
cursorShow the caret. | boolean | true |
cursorClassNameClasses for the caret. | string | — |
Notes
- The caret stays solid while typing and blinks while waiting, like a real text field.
- Screen readers read the full list once; the typing itself is hidden.
- With reduced motion, words crossfade instead of being typed.