Elements

Components / Forms

Input

A text input built on Base UI with focus, disabled, and invalid states. Pair it with a Field for labels, descriptions, and errors.

Installation

bash
npx shadcn add https://raw.githubusercontent.com/levi-putna/elements/main/registry/input/registry.json

Basic

Input
tsx
import { Input } from "@/components/ui/input"

<Input type="email" placeholder="you@example.com" />

States

Input · default · disabled · invalid
tsx
<Input placeholder="Default" />
<Input placeholder="Disabled" disabled />
<Input placeholder="Invalid" aria-invalid />

Input props

PropTypeDefaultDescription
typestring"text"Native input type (text, email, password, number, …).
disabledboolean-Dims the input and blocks interaction.
aria-invalidboolean-Applies the destructive border and ring for error states.