import React, { forwardRef } from 'react'; import './Input.css'; const Input = forwardRef(({ type = 'text', label, placeholder, error, success, disabled = false, required = false, icon, iconPosition = 'left', size = 'md', variant = 'default', className = '', helperText, ...props }, ref) => { const baseClasses = 'terra-input'; const sizeClasses = `terra-input--${size}`; const variantClasses = `terra-input--${variant}`; const stateClasses = [ error && 'terra-input--error', success && 'terra-input--success', disabled && 'terra-input--disabled', icon && `terra-input--with-icon-${iconPosition}` ].filter(Boolean).join(' '); const inputClasses = [ baseClasses, sizeClasses, variantClasses, stateClasses, className ].filter(Boolean).join(' '); const inputId = props.id || `input-${Math.random().toString(36).substr(2, 9)}`; return (