import { Input as $Input } from "antd";
import { Field, FieldProps } from "formik";
import * as React from "react";
import { InputProps as $InputProps, PasswordProps as $PasswordProps, TextAreaProps as $TextAreaProps } from "antd/lib/input";
import { FormikFieldProps } from "../FieldProps";
export type InputProps = FormikFieldProps & $InputProps;
export const Input = ({ name, validate, onChange: $onChange, onBlur: $onBlur, ...restProps }: InputProps) => (
{({ field: { value, onChange, onBlur } }: FieldProps) => (
<$Input
name={name}
value={value}
onChange={event => {
onChange(event)
$onChange && $onChange(event)
}}
onBlur={event => {
onBlur(event)
$onBlur && $onBlur(event)
}}
{...restProps}
/>
)}
);
export default Input
export type PasswordProps = FormikFieldProps & $PasswordProps;
Input.Password = ({ name, validate, onChange: $onChange, onBlur: $onBlur, ...restProps }: PasswordProps) => (
{({ field: { value, onChange, onBlur } }: FieldProps) => (
<$Input.Password
name={name}
value={value}
onChange={event => {
onChange(event)
$onChange && $onChange(event)
}}
onBlur={event => {
onBlur(event)
$onBlur && $onBlur(event)
}}
{...restProps}
/>
)}
);
export type TextAreaProps = FormikFieldProps & $TextAreaProps;
Input.TextArea = ({ name, validate, onChange: $onChange, onBlur: $onBlur, ...restProps }: TextAreaProps) => (
{({ field: { value, onChange, onBlur } }: FieldProps) => (
<$Input.TextArea
name={name}
value={value}
onChange={event => {
onChange(event)
$onChange && $onChange(event)
}}
onBlur={event => {
onBlur(event)
$onBlur && $onBlur(event)
}}
{...restProps}
/>
)}
);