diff --git a/types/react/index.d.ts b/types/react/index.d.ts index fbcfc451de..ee1bcefe91 100644 --- a/types/react/index.d.ts +++ b/types/react/index.d.ts @@ -4,6 +4,18 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 +type NativeAnimationEvent = AnimationEvent; +type NativeClipboardEvent = ClipboardEvent; +type NativeCompositionEvent = CompositionEvent; +type NativeDragEvent = DragEvent; +type NativeFocusEvent = FocusEvent; +type NativeKeyboardEvent = KeyboardEvent; +type NativeMouseEvent = MouseEvent; +type NativeTouchEvent = TouchEvent; +type NativeTransitionEvent = TransitionEvent; +type NativeUIEvent = UIEvent; +type NativeWheelEvent = WheelEvent; + export = React; export as namespace React; @@ -295,17 +307,21 @@ declare namespace React { interface ClipboardEvent extends SyntheticEvent { clipboardData: DataTransfer; + nativeEvent: NativeClipboardEvent; } interface CompositionEvent extends SyntheticEvent { data: string; + nativeEvent: NativeCompositionEvent; } interface DragEvent extends MouseEvent { dataTransfer: DataTransfer; + nativeEvent: NativeDragEvent; } interface FocusEvent extends SyntheticEvent { + nativeEvent: NativeFocusEvent; relatedTarget: EventTarget; } @@ -326,6 +342,7 @@ declare namespace React { locale: string; location: number; metaKey: boolean; + nativeEvent: NativeKeyboardEvent; repeat: boolean; shiftKey: boolean; which: number; @@ -340,6 +357,7 @@ declare namespace React { ctrlKey: boolean; getModifierState(key: string): boolean; metaKey: boolean; + nativeEvent: NativeMouseEvent; pageX: number; pageY: number; relatedTarget: EventTarget; @@ -354,6 +372,7 @@ declare namespace React { ctrlKey: boolean; getModifierState(key: string): boolean; metaKey: boolean; + nativeEvent: NativeTouchEvent; shiftKey: boolean; targetTouches: TouchList; touches: TouchList; @@ -361,6 +380,7 @@ declare namespace React { interface UIEvent extends SyntheticEvent { detail: number; + nativeEvent: NativeUIEvent; view: AbstractView; } @@ -369,18 +389,21 @@ declare namespace React { deltaX: number; deltaY: number; deltaZ: number; + nativeEvent: NativeWheelEvent; } interface AnimationEvent extends SyntheticEvent { animationName: string; - pseudoElement: string; elapsedTime: number; + nativeEvent: NativeAnimationEvent; + pseudoElement: string; } interface TransitionEvent extends SyntheticEvent { + elapsedTime: number; + nativeEvent: NativeTransitionEvent; propertyName: string; pseudoElement: string; - elapsedTime: number; } //