diff --git a/types/redux-form/lib/Field.d.ts b/types/redux-form/lib/Field.d.ts index 81a3e4a517..b84954657b 100644 --- a/types/redux-form/lib/Field.d.ts +++ b/types/redux-form/lib/Field.d.ts @@ -4,7 +4,10 @@ import { ReactElement, ChangeEvent, DragEvent, - FocusEvent + FocusEvent, + InputHTMLAttributes, + SelectHTMLAttributes, + TextareaHTMLAttributes } from "react"; import { Dispatch } from "redux"; @@ -34,7 +37,7 @@ interface BaseFieldProps

extends Partial { withRef?: boolean; } -export interface GenericField

extends Component { +export interface GenericField

extends Component & P> { dirty: boolean; name: string; pristine: boolean; @@ -42,12 +45,14 @@ export interface GenericField

extends Component { getRenderedComponent(): Component; } -export class Field extends Component implements GenericField { +type GenericFieldHTMLAttributes = InputHTMLAttributes | SelectHTMLAttributes | TextareaHTMLAttributes; + +export class Field

extends Component & P> implements GenericField

{ dirty: boolean; name: string; pristine: boolean; value: any; - getRenderedComponent(): Component; + getRenderedComponent(): Component; } interface WrappedFieldProps { diff --git a/types/redux-form/lib/FieldArray.d.ts b/types/redux-form/lib/FieldArray.d.ts index 5b6e9dc73b..724f1f19c6 100644 --- a/types/redux-form/lib/FieldArray.d.ts +++ b/types/redux-form/lib/FieldArray.d.ts @@ -11,16 +11,16 @@ interface BaseFieldArrayProps

{ rerenderOnEveryChange?: boolean; } -export interface GenericFieldArray extends Component { +export interface GenericFieldArray extends Component & P> { name: string; valid: boolean; getRenderedComponent(): Component & P>; } -export class FieldArray extends Component implements GenericFieldArray { +export class FieldArray

extends Component & P> implements GenericFieldArray { name: string; valid: boolean; - getRenderedComponent(): Component>; + getRenderedComponent(): Component & P>; } interface WrappedFieldArrayProps { diff --git a/types/redux-form/lib/Fields.d.ts b/types/redux-form/lib/Fields.d.ts index 29e06a519a..d3a29dcb13 100644 --- a/types/redux-form/lib/Fields.d.ts +++ b/types/redux-form/lib/Fields.d.ts @@ -10,20 +10,20 @@ interface BaseFieldsProps

{ withRef?: boolean; } -export interface GenericFields

extends Component { +export interface GenericFields

extends Component & P> { dirty: boolean; names: string[]; pristine: boolean; values: { [name: string]: any }; - getRenderedComponent(): Component; + getRenderedComponent(): Component; } -export class Fields extends Component implements GenericFields { +export class Fields

extends Component & P> implements GenericFields

{ dirty: boolean; names: string[]; pristine: boolean; values: { [name: string]: any }; - getRenderedComponent(): Component; + getRenderedComponent(): Component; } interface WrappedFieldsProps { diff --git a/types/redux-form/redux-form-tests.tsx b/types/redux-form/redux-form-tests.tsx index 99bc239778..71ff7206da 100644 --- a/types/redux-form/redux-form-tests.tsx +++ b/types/redux-form/redux-form-tests.tsx @@ -172,6 +172,7 @@ const Test = reduxForm({