samlax12's picture
Upload 55 files
e85fa50 verified
raw
history blame contribute delete
953 Bytes
import React, { forwardRef } from 'react';
interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
label?: string;
error?: string;
className?: string;
fullWidth?: boolean;
}
const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
({ label, error, className = '', fullWidth = true, ...props }, ref) => {
return (
<div className={`mb-4 ${fullWidth ? 'w-full' : ''} ${className}`}>
{label && (
<label className="block text-sm font-medium mb-1 text-gray-700">
{label}
</label>
)}
<textarea
ref={ref}
className={`
ios-textarea
${error ? 'border-red-500' : ''}
`}
{...props}
/>
{error && <p className="mt-1 text-sm text-red-600">{error}</p>}
</div>
);
}
);
TextArea.displayName = 'TextArea';
export default TextArea;