7 lines
736 B
TypeScript
7 lines
736 B
TypeScript
'use client'
|
|
import { InputHTMLAttributes } from 'react'
|
|
interface InputProps extends InputHTMLAttributes<HTMLInputElement> { label?: string; error?: string }
|
|
export function Input({ label, error, className = '', ...props }: InputProps) {
|
|
return (<div className="space-y-1">{label && <label className="block text-sm font-medium text-slate-700 dark:text-slate-300">{label}</label>}<input className={`w-full px-3 py-2 rounded-lg border bg-white dark:bg-slate-800 text-slate-900 dark:text-slate-100 border-slate-300 dark:border-slate-600 focus:outline-none focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500 transition-colors text-sm ${className}`} {...props} />{error && <p className="text-sm text-red-500">{error}</p>}</div>)
|
|
}
|