import React, { FC } from 'react' import type { FieldRenderProps } from 'react-final-form' import { required as requiredValidator } from 'redux-form-validators' import { composeValidators, Field } from '../lib/Field' import { TextFieldBase, TextFieldHTMLElement, TextFieldProps, } from '../lib/TextFieldBase' export const TextField: FC = ({ required, validate, ...props }) => { const validators = [] if (validate) { validators.push(validate) } if (required) { validators.push(requiredValidator()) } return ( , TextFieldHTMLElement > component={ TextFieldBase as React.ComponentType< FieldRenderProps > } validate={composeValidators(validators)} {...props} /> ) } export default TextField