A shadcn/ui-compatible input with a smooth Motion-powered caret.
Made by AxylA shadcn/ui-style input with a smooth spring caret.
Use the native type prop for common field variants:
Base UI Input animates a mirror caret through right-to-left text.
Set dir="rtl" on the input or an ancestor. The animated mirror caret follows the browser's bidirectional text layout, so clicks and selections remain aligned.
The component keeps native input behavior while rendering a Motion-powered caret for text, search, url, tel, and password. email, number, date, time, file, and other input types keep the browser's native caret. Pass className to override the default shadcn/ui styles. Animated caret movement respects text selection, horizontal scrolling, and prefers-reduced-motion.
Input supports all native <input> props, including name, value, defaultValue, placeholder, disabled, validation attributes, event handlers, and ref.
| Prop | Type | Default |
|---|---|---|
type? | string | "text" |
className? | string | - |
Associate the input with a visible label using htmlFor and id. Use aria-invalid when the current value fails validation.
Built by Axyl. A motion-first component registry for React.
Last updated: 9/21/2026