Input
A single-line text input with focus and invalid states.
Preview
input-demo
Installation
pnpm dlx shadcn@latest add http://localhost:3000/r/input.jsonSource
import * as React from "react";
import { cn } from "@/lib/utils";
function Input({ className, type, ...props }: React.ComponentProps<"input">) {
return (
<input
data-slot="input"
type={type}
className={cn(
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm inset-shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/20 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20",
className,
)}
{...props}
/>
);
}
export { Input };Props
| Prop | Type | Default | Description |
|---|---|---|---|
type | string | "text" | Native input type. |
className | string | - | Adds custom classes to the input. |