13 words · about 5 seconds read aloud
Alphabet soup
4 of 10 letters, fished out of the soup
Markup where the component goes, CSS in your stylesheet, script before </body>. In Vue, Svelte or Angular, call initFieldSoup(el) on the mounted element instead.
Paste into Claude, ChatGPT or Cursor after filling in {{USER_STACK}}, {{USER_STYLING}} and {{USER_CONSTRAINTS}}. Neutral keeps the greys you see here; Match my project asks the model to map them onto your own colour tokens.
Install with shadcn
Needs a free account token. Get a token
npx shadcn@latest add @movin/input-soupAbout this component
A name spelled in alphabet soup: the letters you need swim out of the broth and line up across the bowl, a letter that is not there drops in with a ripple, and deleting lets it drift away.
- Dependencies
- None
- Difficulty
- Advanced
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers3
- State change
- Continuous
- Spring
Techniques3
- requestAnimationFrame
- Spring
- State machine
Accessibility
Keyboard and screen readers
One native input named "Name"; the bowl is aria-hidden and the count, or the reason for a refusal, is announced.
Reduced motion
Everything changes at once, without the motion.
Use it in anything you build, commercial and client work included. Licence
More inputs
See all$12.50 · Enter to ring it up
11 of 16 letters, home port Falmouth