Skip to content

Commit 5611643

Browse files
authored
[react] support 'InputEvent' type for 'onBeforeInput' event (DefinitelyTyped#72802)
1 parent 58fe2ba commit 5611643

File tree

16 files changed

+64
-8
lines changed

16 files changed

+64
-8
lines changed

types/react/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface ClipboardEvent extends Event {}
1313
interface CompositionEvent extends Event {}
1414
interface DragEvent extends Event {}
1515
interface FocusEvent extends Event {}
16+
interface InputEvent extends Event {}
1617
interface KeyboardEvent extends Event {}
1718
interface MouseEvent extends Event {}
1819
interface TouchEvent extends Event {}

types/react/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ type NativeClipboardEvent = ClipboardEvent;
1111
type NativeCompositionEvent = CompositionEvent;
1212
type NativeDragEvent = DragEvent;
1313
type NativeFocusEvent = FocusEvent;
14+
type NativeInputEvent = InputEvent;
1415
type NativeKeyboardEvent = KeyboardEvent;
1516
type NativeMouseEvent = MouseEvent;
1617
type NativeTouchEvent = TouchEvent;
@@ -2003,6 +2004,10 @@ declare namespace React {
20032004
target: EventTarget & T;
20042005
}
20052006

2007+
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
2008+
data: string;
2009+
}
2010+
20062011
export type ModifierKey =
20072012
| "Alt"
20082013
| "AltGraph"
@@ -2123,6 +2128,7 @@ declare namespace React {
21232128
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
21242129
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
21252130
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
2131+
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
21262132
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
21272133
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
21282134
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
@@ -2181,7 +2187,7 @@ declare namespace React {
21812187
// Form Events
21822188
onChange?: FormEventHandler<T> | undefined;
21832189
onChangeCapture?: FormEventHandler<T> | undefined;
2184-
onBeforeInput?: FormEventHandler<T> | undefined;
2190+
onBeforeInput?: InputEventHandler<T> | undefined;
21852191
onBeforeInputCapture?: FormEventHandler<T> | undefined;
21862192
onInput?: FormEventHandler<T> | undefined;
21872193
onInputCapture?: FormEventHandler<T> | undefined;

types/react/ts5.0/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface ClipboardEvent extends Event {}
1313
interface CompositionEvent extends Event {}
1414
interface DragEvent extends Event {}
1515
interface FocusEvent extends Event {}
16+
interface InputEvent extends Event {}
1617
interface KeyboardEvent extends Event {}
1718
interface MouseEvent extends Event {}
1819
interface TouchEvent extends Event {}

types/react/ts5.0/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ type NativeClipboardEvent = ClipboardEvent;
1111
type NativeCompositionEvent = CompositionEvent;
1212
type NativeDragEvent = DragEvent;
1313
type NativeFocusEvent = FocusEvent;
14+
type NativeInputEvent = InputEvent;
1415
type NativeKeyboardEvent = KeyboardEvent;
1516
type NativeMouseEvent = MouseEvent;
1617
type NativeTouchEvent = TouchEvent;
@@ -2002,6 +2003,10 @@ declare namespace React {
20022003
target: EventTarget & T;
20032004
}
20042005

2006+
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
2007+
data: string;
2008+
}
2009+
20052010
export type ModifierKey =
20062011
| "Alt"
20072012
| "AltGraph"
@@ -2122,6 +2127,7 @@ declare namespace React {
21222127
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
21232128
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
21242129
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
2130+
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
21252131
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
21262132
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
21272133
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
@@ -2180,7 +2186,7 @@ declare namespace React {
21802186
// Form Events
21812187
onChange?: FormEventHandler<T> | undefined;
21822188
onChangeCapture?: FormEventHandler<T> | undefined;
2183-
onBeforeInput?: FormEventHandler<T> | undefined;
2189+
onBeforeInput?: InputEventHandler<T> | undefined;
21842190
onBeforeInputCapture?: FormEventHandler<T> | undefined;
21852191
onInput?: FormEventHandler<T> | undefined;
21862192
onInputCapture?: FormEventHandler<T> | undefined;

types/react/ts5.0/v18/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface ClipboardEvent extends Event {}
1313
interface CompositionEvent extends Event {}
1414
interface DragEvent extends Event {}
1515
interface FocusEvent extends Event {}
16+
interface InputEvent extends Event {}
1617
interface KeyboardEvent extends Event {}
1718
interface MouseEvent extends Event {}
1819
interface TouchEvent extends Event {}

types/react/ts5.0/v18/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type NativeClipboardEvent = ClipboardEvent;
1212
type NativeCompositionEvent = CompositionEvent;
1313
type NativeDragEvent = DragEvent;
1414
type NativeFocusEvent = FocusEvent;
15+
type NativeInputEvent = InputEvent;
1516
type NativeKeyboardEvent = KeyboardEvent;
1617
type NativeMouseEvent = MouseEvent;
1718
type NativeTouchEvent = TouchEvent;
@@ -2242,6 +2243,10 @@ declare namespace React {
22422243
target: EventTarget & T;
22432244
}
22442245

2246+
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
2247+
data: string;
2248+
}
2249+
22452250
export type ModifierKey =
22462251
| "Alt"
22472252
| "AltGraph"
@@ -2357,6 +2362,7 @@ declare namespace React {
23572362
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
23582363
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
23592364
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
2365+
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
23602366
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
23612367
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
23622368
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
@@ -2414,7 +2420,7 @@ declare namespace React {
24142420
// Form Events
24152421
onChange?: FormEventHandler<T> | undefined;
24162422
onChangeCapture?: FormEventHandler<T> | undefined;
2417-
onBeforeInput?: FormEventHandler<T> | undefined;
2423+
onBeforeInput?: InputEventHandler<T> | undefined;
24182424
onBeforeInputCapture?: FormEventHandler<T> | undefined;
24192425
onInput?: FormEventHandler<T> | undefined;
24202426
onInputCapture?: FormEventHandler<T> | undefined;

types/react/ts5.0/v18/ts5.0/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface ClipboardEvent extends Event {}
1313
interface CompositionEvent extends Event {}
1414
interface DragEvent extends Event {}
1515
interface FocusEvent extends Event {}
16+
interface InputEvent extends Event {}
1617
interface KeyboardEvent extends Event {}
1718
interface MouseEvent extends Event {}
1819
interface TouchEvent extends Event {}

types/react/ts5.0/v18/ts5.0/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type NativeClipboardEvent = ClipboardEvent;
1212
type NativeCompositionEvent = CompositionEvent;
1313
type NativeDragEvent = DragEvent;
1414
type NativeFocusEvent = FocusEvent;
15+
type NativeInputEvent = InputEvent;
1516
type NativeKeyboardEvent = KeyboardEvent;
1617
type NativeMouseEvent = MouseEvent;
1718
type NativeTouchEvent = TouchEvent;
@@ -2243,6 +2244,10 @@ declare namespace React {
22432244
target: EventTarget & T;
22442245
}
22452246

2247+
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
2248+
data: string;
2249+
}
2250+
22462251
export type ModifierKey =
22472252
| "Alt"
22482253
| "AltGraph"
@@ -2358,6 +2363,7 @@ declare namespace React {
23582363
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
23592364
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
23602365
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
2366+
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
23612367
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
23622368
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
23632369
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
@@ -2415,7 +2421,7 @@ declare namespace React {
24152421
// Form Events
24162422
onChange?: FormEventHandler<T> | undefined;
24172423
onChangeCapture?: FormEventHandler<T> | undefined;
2418-
onBeforeInput?: FormEventHandler<T> | undefined;
2424+
onBeforeInput?: InputEventHandler<T> | undefined;
24192425
onBeforeInputCapture?: FormEventHandler<T> | undefined;
24202426
onInput?: FormEventHandler<T> | undefined;
24212427
onInputCapture?: FormEventHandler<T> | undefined;

types/react/v16/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface ClipboardEvent extends Event {}
1313
interface CompositionEvent extends Event {}
1414
interface DragEvent extends Event {}
1515
interface FocusEvent extends Event {}
16+
interface InputEvent extends Event {}
1617
interface KeyboardEvent extends Event {}
1718
interface MouseEvent extends Event {}
1819
interface TouchEvent extends Event {}

types/react/v16/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type NativeClipboardEvent = ClipboardEvent;
1313
type NativeCompositionEvent = CompositionEvent;
1414
type NativeDragEvent = DragEvent;
1515
type NativeFocusEvent = FocusEvent;
16+
type NativeInputEvent = InputEvent;
1617
type NativeKeyboardEvent = KeyboardEvent;
1718
type NativeMouseEvent = MouseEvent;
1819
type NativeTouchEvent = TouchEvent;
@@ -1202,6 +1203,10 @@ declare namespace React {
12021203
target: EventTarget & T;
12031204
}
12041205

1206+
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
1207+
data: string;
1208+
}
1209+
12051210
export type ModifierKey =
12061211
| "Alt"
12071212
| "AltGraph"
@@ -1316,6 +1321,7 @@ declare namespace React {
13161321
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
13171322
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
13181323
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
1324+
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
13191325
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
13201326
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
13211327
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
@@ -1393,7 +1399,7 @@ declare namespace React {
13931399
// Form Events
13941400
onChange?: FormEventHandler<T> | undefined;
13951401
onChangeCapture?: FormEventHandler<T> | undefined;
1396-
onBeforeInput?: FormEventHandler<T> | undefined;
1402+
onBeforeInput?: InputEventHandler<T> | undefined;
13971403
onBeforeInputCapture?: FormEventHandler<T> | undefined;
13981404
onInput?: FormEventHandler<T> | undefined;
13991405
onInputCapture?: FormEventHandler<T> | undefined;

0 commit comments

Comments
 (0)