A text input component with multiple design styles. Includes label, error state, and icon support.
Classic input with label on top. Works great for standard forms.
Please enter a valid email
Modern floating label that animates on focus. Popular in Material Design.
Minimal underline-only design. Perfect for clean, modern interfaces.
import { Input } from "@/components/ui/input";
import { Mail } from "lucide-react";
export default function Example() {
return (
<form className="space-y-4">
<Input label="Email" placeholder="you@example.com" />
<Input label="With Icon" icon={<Mail className="h-4 w-4" />} />
<Input label="With Error" error="This field is required" />
</form>
);
}