import React, {ComponentPropsWithoutRef, forwardRef, Ref} from 'react'; import type {TextFieldProps} from './text-field'; import {Field} from '../field'; import {getInputFieldClassNames} from '../get-input-field-class-names'; interface Props extends TextFieldProps { labelProps?: ComponentPropsWithoutRef<'label'>; inputProps: | ComponentPropsWithoutRef<'input'> | ComponentPropsWithoutRef<'textarea'>; descriptionProps?: ComponentPropsWithoutRef<'div'>; errorMessageProps?: ComponentPropsWithoutRef<'div'>; inputRef?: Ref; isLoading?: boolean; rows?: number; } export const TextFieldBase = forwardRef((props, ref) => { const { label, startAdornment, endAdornment, startAppend, endAppend, errorMessage, description, labelProps, inputProps, inputRef, descriptionProps, errorMessageProps, inputWrapperClassName, className, inputClassName, disabled, inputElementType, rows, } = props; const isTextArea = inputElementType === 'textarea'; const ElementType: React.ElementType = isTextArea ? 'textarea' : 'input'; const fieldClassNames = getInputFieldClassNames(props); return ( ); });