import * as React from 'react'; // @ts-ignore import * as PropTypes from 'prop-types'; // @ts-ignore import _omit from 'lodash/omit'; import { formikField, reduxFormField } from '../adaptors/fields'; import { Omit } from '../types'; import Textarea, { LocalTextareaProps, TextareaProps, textareaDefaultProps, textareaPropTypes } from './Textarea'; import FieldWrapper, { LocalFieldWrapperProps, fieldWrapperDefaultProps, fieldWrapperPropTypes } from '../FieldWrapper/FieldWrapper'; export type LocalTextareaFieldProps = Omit & LocalTextareaProps & { textareaProps?: LocalTextareaProps; }; export type TextareaFieldProps = LocalTextareaFieldProps & TextareaProps; export type TextareaFieldComponents = { Formik: React.FunctionComponent; ReduxForm: React.FunctionComponent; }; export const TextareaField: React.FunctionComponent & TextareaFieldComponents = ({ a11yId, a11yLabel, autoComplete, autoFocus, defaultValue, description, disabled, hint, isFullWidth, isLoading, isOptional, isRequired, label, name, maxLength, minLength, pattern, placeholder, readOnly, rows, spellCheck, size, state, textareaProps, textareaRef, validationText, value, onBlur, onChange, onFocus, ...props }) => ( {({ elementProps }) => (