import * as React from 'react'; import classNames from 'classnames'; import { ForwardRefPrimitive, Primitive, FlexContainerStyleProps, BaseViewProps, BaseInputProps, BaseFieldProps, } from '../types'; import { classNameModifier } from '../shared/utils'; import { ComponentClassNames } from '../shared/constants'; import { Flex } from '../Flex'; import { FieldDescription } from './FieldDescription'; import { FieldErrorMessage } from './FieldErrorMessage'; import { Label } from '../Label'; interface FieldPrimitiveProps extends BaseFieldProps, BaseInputProps, FlexContainerStyleProps, BaseViewProps {} const FieldPrimitive: Primitive = (props, ref) => { const { className, size, testId, children, label, labelHidden, errorMessage, hasError, descriptiveText, ...rest } = props; return ( {label ? : null} {children} {errorMessage ? ( ) : null} ); }; export const Field: ForwardRefPrimitive = React.forwardRef(FieldPrimitive); Field.displayName = 'Field';