Input
A text input built on Base UI. Works automatically with Base UI Field for labels, validation, and messages.
tsx
import { Input } from "@/registry/seam/ui/input"
export default function InputDemo() {
return <Input type="email" placeholder="Email" className="max-w-xs" />
}bunx --bun @seamui/cli@latest add inputNotes
- Stays still by design — text entry is calm; the focus ring is the feedback, and depth animation is reserved for pressable and floating surfaces.
- Pair with seamui's Field for labels, descriptions, and shaking error messages; invalid state flows in via
data-[invalid](see the Invalid example). - File inputs center their row through a line-height tied to the default
h-10; if you resize one, override it with the same[&[type=file]]:leading-*variant.
Press feedback, reduced motion, and haptics follow the global policy — see Motion and Haptics.