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 input

Notes

  • 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 Base UI Field for accessible labels and error messages; invalid state is exposed via data-[invalid].

Press feedback, reduced motion, and haptics follow the global policy — see Motion and Haptics.