import { Radio as $Radio } from 'antd' import { FieldProps } from 'formik' import * as React from 'react' import { RadioGroupProps as $RadioGroupProps } from 'antd/lib/radio/interface' import { FormikFieldProps } from '../FieldProps' import Field from '../field' export type RadioGroupProps = FormikFieldProps & $RadioGroupProps export const Radio = ({ name, validate, fast, onChange, ...restProps }: RadioGroupProps) => ( {({ field: { value }, form: { setFieldValue, setFieldTouched }, }: FieldProps) => ( <$Radio name={name} id={name} value={value} onChange={(event) => { setFieldValue(name, event.target.value) setFieldTouched(name, true, false) onChange && onChange(event) }} {...restProps} /> )} ) export default Radio Radio.Group = ({ name, validate, fast, onChange, ...restProps }: RadioGroupProps) => ( {({ field: { value }, form: { setFieldValue, setFieldTouched }, }: FieldProps) => ( <$Radio.Group name={name} value={value} onChange={(event) => { setFieldValue(name, event.target.value) setFieldTouched(name, true, false) onChange && onChange(event) }} {...restProps} /> )} ) Radio.Button = $Radio.Button