import React, {ChangeEvent, FocusEvent} from 'react'; import _ from 'lodash'; import {TextField} from '@material-ui/core'; import classnames from 'classnames'; import PhoneInput from './PhoneInput'; import {TField} from '../types'; const Field = ({ className, name, type = 'text', label, placeholder, field = { value: '', error: true }, required, disabled, onChange, onBlur }: TField): JSX.Element => { const {value, error} = field; const handleChange = (event: ChangeEvent): void => { const value = _.isObject(event) ? _.get(event, 'target.value') : event; _.isFunction(onChange) && onChange(name, value); }; const handleBlur = (event: FocusEvent): void => { const value = _.isObject(event) ? _.get(event, 'target.value') : event; const type = _.isObject(event) && _.get(event, 'target.type'); _.isFunction(onBlur) && onBlur(); if (type === 'email') { event.target.value = ''; } _.isFunction(onChange) && onChange(name, _.trim(value)); }; return ( ); }; export default Field;