21 lines
708 B
TypeScript
21 lines
708 B
TypeScript
|
|
import * as React from "react";
|
||
|
|
import { cn } from "../lib/cn";
|
||
|
|
|
||
|
|
export const Input = React.forwardRef<HTMLInputElement, React.InputHTMLAttributes<HTMLInputElement>>(
|
||
|
|
({ className, type, ...props }, ref) => (
|
||
|
|
<input
|
||
|
|
type={type}
|
||
|
|
ref={ref}
|
||
|
|
className={cn(
|
||
|
|
"flex h-10 w-full rounded border border-border bg-bg/40 px-3 py-2 text-sm text-text",
|
||
|
|
"placeholder:text-muted transition-shadow duration-base ease-out",
|
||
|
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:border-brand/60",
|
||
|
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
||
|
|
className
|
||
|
|
)}
|
||
|
|
{...props}
|
||
|
|
/>
|
||
|
|
)
|
||
|
|
);
|
||
|
|
Input.displayName = "Input";
|