diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index 1d529afcc8..10652f02fc 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -350,19 +350,20 @@ export function createElement

( export type Runnable = (appParameters: any) => void; +type NodeHandle = number; // Similar to React.SyntheticEvent except for nativeEvent interface NativeSyntheticEvent { bubbles: boolean cancelable: boolean - currentTarget: EventTarget + currentTarget: NodeHandle defaultPrevented: boolean eventPhase: number isTrusted: boolean nativeEvent: T preventDefault(): void stopPropagation(): void - target: EventTarget + target: NodeHandle timeStamp: Date type: string } @@ -4386,7 +4387,7 @@ interface TouchableMixin { * to visually distinguish the `VisualRect` so that the user knows that * releasing a touch will result in a "selection" (analog to click). */ - touchableHandleActivePressIn(e: Event): void + touchableHandleActivePressIn(e: GestureResponderEvent): void /** * Invoked when the item is "active" (in that it is still eligible to become @@ -4397,14 +4398,14 @@ interface TouchableMixin { * event will not fire on an `touchEnd/mouseUp` event, only move events while * the user is depressing the mouse/touch. */ - touchableHandleActivePressOut(e: Event): void + touchableHandleActivePressOut(e: GestureResponderEvent): void /** * Invoked when the item is "selected" - meaning the interaction ended by * letting up while the item was either in the state * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`. */ - touchableHandlePress(e: Event): void + touchableHandlePress(e: GestureResponderEvent): void /** * Invoked when the item is long pressed - meaning the interaction ended by @@ -4416,7 +4417,7 @@ interface TouchableMixin { * to return false. As a result, `touchableHandlePress` will be called when * lifting up, even if `touchableHandleLongPress` has also been called. */ - touchableHandleLongPress(e: Event): void + touchableHandleLongPress(e: GestureResponderEvent): void /** * Returns the amount to extend the `HitRect` into the `PressRect`. Positive @@ -5758,6 +5759,9 @@ export interface ScrollViewStyle extends FlexStyle, TransformsStyle { elevation?: number } +export interface ScrollResponderEvent extends NativeSyntheticEvent { +} + interface ScrollResponderMixin extends SubscribableMixin { /** @@ -5803,7 +5807,7 @@ interface ScrollResponderMixin extends SubscribableMixin { * * Invoke this from an `onStartShouldSetResponderCapture` event. */ - scrollResponderHandleStartShouldSetResponderCapture(e: Event): boolean + scrollResponderHandleStartShouldSetResponderCapture(e: ScrollResponderEvent): boolean /** * Invoke this from an `onResponderReject` event. @@ -5839,19 +5843,19 @@ interface ScrollResponderMixin extends SubscribableMixin { * * @param {SyntheticEvent} e Event. */ - scrollResponderHandleTouchEnd(e: Event): void + scrollResponderHandleTouchEnd(e: ScrollResponderEvent): void /** * Invoke this from an `onResponderRelease` event. */ - scrollResponderHandleResponderRelease(e: Event): void + scrollResponderHandleResponderRelease(e: ScrollResponderEvent): void - scrollResponderHandleScroll(e: Event): void + scrollResponderHandleScroll(e: ScrollResponderEvent): void /** * Invoke this from an `onResponderGrant` event. */ - scrollResponderHandleResponderGrant(e: Event): void + scrollResponderHandleResponderGrant(e: ScrollResponderEvent): void /** * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll @@ -5860,22 +5864,22 @@ interface ScrollResponderMixin extends SubscribableMixin { * * Invoke this from an `onScrollBeginDrag` event. */ - scrollResponderHandleScrollBeginDrag(e: Event): void + scrollResponderHandleScrollBeginDrag(e: ScrollResponderEvent): void /** * Invoke this from an `onScrollEndDrag` event. */ - scrollResponderHandleScrollEndDrag(e: Event): void + scrollResponderHandleScrollEndDrag(e: ScrollResponderEvent): void /** * Invoke this from an `onMomentumScrollBegin` event. */ - scrollResponderHandleMomentumScrollBegin(e: Event): void + scrollResponderHandleMomentumScrollBegin(e: ScrollResponderEvent): void /** * Invoke this from an `onMomentumScrollEnd` event. */ - scrollResponderHandleMomentumScrollEnd(e: Event): void + scrollResponderHandleMomentumScrollEnd(e: ScrollResponderEvent): void /** * Invoke this from an `onTouchStart` event. @@ -5888,7 +5892,7 @@ interface ScrollResponderMixin extends SubscribableMixin { * * @param {SyntheticEvent} e Touch Start event. */ - scrollResponderHandleTouchStart(e: Event): void + scrollResponderHandleTouchStart(e: ScrollResponderEvent): void /** * Invoke this from an `onTouchMove` event. @@ -5901,7 +5905,7 @@ interface ScrollResponderMixin extends SubscribableMixin { * * @param {SyntheticEvent} e Touch Start event. */ - scrollResponderHandleTouchMove(e: Event): void + scrollResponderHandleTouchMove(e: ScrollResponderEvent): void /** * A helper function for this class that lets us quickly determine if the @@ -5965,7 +5969,7 @@ interface ScrollResponderMixin extends SubscribableMixin { */ scrollResponderInputMeasureAndScrollToKeyboard(left: number, top: number, width: number, height: number): void - scrollResponderTextInputFocusError(e: Event): void + scrollResponderTextInputFocusError(e: ScrollResponderEvent): void /** * `componentWillMount` is the closest thing to a standard "constructor" for @@ -6003,13 +6007,13 @@ interface ScrollResponderMixin extends SubscribableMixin { * relevant to you. (For example, only if you receive these callbacks after * you had explicitly focused a node etc). */ - scrollResponderKeyboardWillShow(e: Event): void + scrollResponderKeyboardWillShow(e: ScrollResponderEvent): void - scrollResponderKeyboardWillHide(e: Event): void + scrollResponderKeyboardWillHide(e: ScrollResponderEvent): void - scrollResponderKeyboardDidShow(e: Event): void + scrollResponderKeyboardDidShow(e: ScrollResponderEvent): void - scrollResponderKeyboardDidHide(e: Event): void + scrollResponderKeyboardDidHide(e: ScrollResponderEvent): void } export interface ScrollViewPropertiesIOS { @@ -8438,20 +8442,6 @@ export interface ImageStoreStatic { export type fetch = (url: string, options?: Object) => Promise export const fetch: fetch; -// Timers polyfill -export type timedScheduler = (fn: string | (() => any), delay?: number) => number -export type setTimeout = timedScheduler -export type setInterval = timedScheduler -export type setImmediate = (fn: () => any) => number -export type requestAnimationFrame = (fn: (time: number) => any) => number - -export type schedulerCanceller = (id: number) => void -export type clearTimeout = schedulerCanceller -export type clearInterval = schedulerCanceller -export type clearImmediate = schedulerCanceller -export type cancelAnimationFrame = schedulerCanceller - - export interface TabsReducerStatic { JumpToAction(index: number): any; }