react-native-gesture-handler 2.23.0 → 2.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +8 -0
- package/apple/RNGestureHandlerButton.mm +12 -2
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +8 -11
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +10 -2
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +7 -2
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +6 -1
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +3 -1
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +5 -3
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +6 -2
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +37 -11
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +32 -22
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +3 -1
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +2 -1
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +3 -4
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js +3 -3
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +115 -90
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +81 -28
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +37 -26
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +27 -13
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +6 -2
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +12 -4
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +15 -4
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +14 -4
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +13 -4
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +77 -29
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js +3 -1
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +20 -5
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +76 -38
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +45 -18
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +75 -34
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +23 -9
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +14 -5
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +76 -40
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +34 -19
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +32 -16
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -2
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +25 -16
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +13 -9
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +12 -7
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +4 -1
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +14 -5
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +6 -1
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +14 -13
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +2 -1
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +11 -9
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +22 -15
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +11 -9
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +13 -10
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +32 -13
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +9 -7
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +9 -7
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +11 -9
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +134 -50
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +27 -17
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +1 -0
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +2 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +10 -9
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +14 -5
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +20 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +29 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +10 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +36 -11
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +3 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +24 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +48 -12
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +13 -3
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +9 -2
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +14 -6
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +55 -27
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +46 -14
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +19 -8
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +84 -44
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +31 -17
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +27 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +9 -3
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +7 -2
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +25 -11
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +14 -6
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +6 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +12 -5
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +43 -18
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +8 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +9 -2
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +22 -10
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +1 -0
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +21 -6
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +26 -6
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +104 -75
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +11 -4
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +5 -4
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +83 -19
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +15 -5
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +12 -3
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +5 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +7 -2
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +28 -13
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +23 -5
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +4 -2
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +41 -5
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +42 -13
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +49 -6
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +195 -62
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +19 -6
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +47 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +11 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +49 -8
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +123 -8
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +41 -4
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +42 -4
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +67 -6
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +17 -9
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +15 -3
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +41 -7
- package/lib/commonjs/web/tools/EventManager.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +78 -11
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +48 -8
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +22 -5
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +26 -4
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +67 -30
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +14 -7
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +45 -10
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +45 -9
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +18 -3
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +31 -9
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +17 -4
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +55 -26
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +19 -7
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +13 -3
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +3 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +44 -13
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +142 -55
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +19 -5
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +24 -16
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +16 -9
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +49 -8
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +11 -2
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +43 -15
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +13 -2
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +52 -33
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +26 -13
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +14 -4
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +1 -3
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +3 -9
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +5 -2
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +1 -0
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +1 -0
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +4 -3
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +0 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +20 -10
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +17 -18
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/RNRenderer.js.map +1 -1
- package/lib/module/RNRenderer.web.js.map +1 -1
- package/lib/module/State.js +1 -4
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +1 -3
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +99 -80
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +55 -19
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +12 -17
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/GestureComponents.web.js +4 -4
- package/lib/module/components/GestureComponents.web.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +2 -1
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +2 -1
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +2 -1
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +2 -1
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +59 -26
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/PressableProps.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/Pressable/utils.js +14 -4
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +56 -34
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +30 -14
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +59 -28
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +10 -6
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/gestureHandlerRootHOC.js +2 -2
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +63 -34
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +24 -15
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +20 -10
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +2 -2
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +16 -10
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +3 -6
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/findNodeHandle.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +11 -5
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/getReactNativeVersion.js.map +1 -1
- package/lib/module/getReactNativeVersion.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +13 -13
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +0 -6
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +8 -12
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +0 -6
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +0 -6
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +19 -8
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +0 -2
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +0 -2
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +0 -6
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +106 -47
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +17 -12
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +4 -9
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js +4 -3
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +6 -5
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +16 -8
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +1 -0
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +13 -7
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +2 -0
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +14 -11
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +39 -12
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +6 -2
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -5
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +28 -23
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +38 -14
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +9 -5
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +17 -8
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +73 -44
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +24 -16
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +14 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +4 -3
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +18 -9
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +11 -6
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +4 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +9 -5
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +41 -18
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +7 -2
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +5 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +7 -2
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +19 -10
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +5 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +13 -4
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +2 -3
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +66 -20
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +7 -3
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +10 -3
- package/lib/module/mountRegistry.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/module/typeUtils.js.map +1 -1
- package/lib/module/utils.js +11 -6
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +1 -2
- package/lib/module/web/Gestures.js.map +1 -1
- package/lib/module/web/constants.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +38 -5
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +38 -13
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +39 -5
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +181 -61
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +11 -5
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +40 -5
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +6 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +41 -7
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +114 -7
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +33 -3
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +34 -3
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +59 -5
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +14 -9
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +13 -3
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +39 -7
- package/lib/module/web/tools/EventManager.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +71 -10
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +37 -7
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +19 -5
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +19 -3
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +65 -30
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +12 -7
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +35 -9
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +39 -8
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +14 -3
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +25 -8
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +10 -3
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +40 -21
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +13 -4
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +5 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +1 -0
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +35 -10
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +130 -53
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +6 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +11 -2
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/NodeManager.js +8 -6
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +40 -6
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +5 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +34 -13
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +6 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +45 -31
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +1 -2
- package/lib/module/web_hammer/constants.js.map +1 -1
- package/lib/module/web_hammer/utils.js +2 -2
- package/lib/module/web_hammer/utils.js.map +1 -1
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -1
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +2 -2
- package/package.json +1 -1
- package/src/components/touchables/TouchableHighlight.tsx +2 -2
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedback.tsx +1 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +1 -1
- package/src/components/touchables/TouchableOpacity.tsx +2 -2
- package/src/components/touchables/TouchableWithoutFeedback.tsx +2 -2
@@ -3,17 +3,20 @@ import { handlerIDToTag } from './handlersRegistry';
|
|
3
3
|
import { toArray } from '../utils';
|
4
4
|
import RNGestureHandlerModule from '../RNGestureHandlerModule';
|
5
5
|
import { ghQueueMicrotask } from '../ghQueueMicrotask';
|
6
|
+
|
6
7
|
function isConfigParam(param, name) {
|
7
8
|
// param !== Object(param) returns false if `param` is a function
|
8
9
|
// or an object and returns true if `param` is null
|
9
10
|
return param !== undefined && (param !== Object(param) || !('__isNative' in param)) && name !== 'onHandlerStateChange' && name !== 'onGestureEvent';
|
10
11
|
}
|
12
|
+
|
11
13
|
export function filterConfig(props, validProps, defaults = {}) {
|
12
|
-
const filteredConfig = {
|
13
|
-
...defaults
|
14
|
+
const filteredConfig = { ...defaults
|
14
15
|
};
|
16
|
+
|
15
17
|
for (const key of validProps) {
|
16
18
|
let value = props[key];
|
19
|
+
|
17
20
|
if (isConfigParam(value, key)) {
|
18
21
|
if (key === 'simultaneousHandlers' || key === 'waitFor') {
|
19
22
|
value = transformIntoHandlerTags(props[key]);
|
@@ -25,21 +28,26 @@ export function filterConfig(props, validProps, defaults = {}) {
|
|
25
28
|
right: value
|
26
29
|
};
|
27
30
|
}
|
31
|
+
|
28
32
|
filteredConfig[key] = value;
|
29
33
|
}
|
30
34
|
}
|
35
|
+
|
31
36
|
return filteredConfig;
|
32
37
|
}
|
33
38
|
export function transformIntoHandlerTags(handlerIDs) {
|
34
39
|
handlerIDs = toArray(handlerIDs);
|
40
|
+
|
35
41
|
if (Platform.OS === 'web') {
|
36
42
|
return handlerIDs.map(({
|
37
43
|
current
|
38
44
|
}) => current).filter(handle => handle);
|
39
|
-
}
|
40
|
-
|
45
|
+
} // converts handler string IDs into their numeric tags
|
46
|
+
|
47
|
+
|
41
48
|
return handlerIDs.map(handlerID => {
|
42
49
|
var _handlerID$current;
|
50
|
+
|
43
51
|
return handlerIDToTag[handlerID] || ((_handlerID$current = handlerID.current) === null || _handlerID$current === void 0 ? void 0 : _handlerID$current.handlerTag) || -1;
|
44
52
|
}).filter(handlerTag => handlerTag > 0);
|
45
53
|
}
|
@@ -47,6 +55,7 @@ export function findNodeHandle(node) {
|
|
47
55
|
if (Platform.OS === 'web') {
|
48
56
|
return node;
|
49
57
|
}
|
58
|
+
|
50
59
|
return findNodeHandleRN(node);
|
51
60
|
}
|
52
61
|
let flushOperationsScheduled = false;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Platform","findNodeHandle","findNodeHandleRN","handlerIDToTag","toArray","RNGestureHandlerModule","ghQueueMicrotask","isConfigParam","param","name","undefined","Object","filterConfig","props","validProps","defaults","filteredConfig","key","value","transformIntoHandlerTags","top","left","bottom","right","handlerIDs","OS","map","current","filter","handle","handlerID","
|
1
|
+
{"version":3,"sources":["utils.ts"],"names":["Platform","findNodeHandle","findNodeHandleRN","handlerIDToTag","toArray","RNGestureHandlerModule","ghQueueMicrotask","isConfigParam","param","name","undefined","Object","filterConfig","props","validProps","defaults","filteredConfig","key","value","transformIntoHandlerTags","top","left","bottom","right","handlerIDs","OS","map","current","filter","handle","handlerID","handlerTag","node","flushOperationsScheduled","scheduleFlushOperations","flushOperations"],"mappings":"AACA,SAASA,QAAT,EAAmBC,cAAc,IAAIC,gBAArC,QAA6D,cAA7D;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,OAAT,QAAwB,UAAxB;AACA,OAAOC,sBAAP,MAAmC,2BAAnC;AACA,SAASC,gBAAT,QAAiC,qBAAjC;;AAEA,SAASC,aAAT,CAAuBC,KAAvB,EAAuCC,IAAvC,EAAqD;AACnD;AACA;AACA,SACED,KAAK,KAAKE,SAAV,KACCF,KAAK,KAAKG,MAAM,CAACH,KAAD,CAAhB,IACC,EAAE,gBAAiBA,KAAnB,CAFF,KAGAC,IAAI,KAAK,sBAHT,IAIAA,IAAI,KAAK,gBALX;AAOD;;AAED,OAAO,SAASG,YAAT,CACLC,KADK,EAELC,UAFK,EAGLC,QAAiC,GAAG,EAH/B,EAIL;AACA,QAAMC,cAAc,GAAG,EAAE,GAAGD;AAAL,GAAvB;;AACA,OAAK,MAAME,GAAX,IAAkBH,UAAlB,EAA8B;AAC5B,QAAII,KAAK,GAAGL,KAAK,CAACI,GAAD,CAAjB;;AACA,QAAIV,aAAa,CAACW,KAAD,EAAQD,GAAR,CAAjB,EAA+B;AAC7B,UAAIA,GAAG,KAAK,sBAAR,IAAkCA,GAAG,KAAK,SAA9C,EAAyD;AACvDC,QAAAA,KAAK,GAAGC,wBAAwB,CAACN,KAAK,CAACI,GAAD,CAAN,CAAhC;AACD,OAFD,MAEO,IAAIA,GAAG,KAAK,SAAR,IAAqB,OAAOC,KAAP,KAAiB,QAA1C,EAAoD;AACzDA,QAAAA,KAAK,GAAG;AAAEE,UAAAA,GAAG,EAAEF,KAAP;AAAcG,UAAAA,IAAI,EAAEH,KAApB;AAA2BI,UAAAA,MAAM,EAAEJ,KAAnC;AAA0CK,UAAAA,KAAK,EAAEL;AAAjD,SAAR;AACD;;AACDF,MAAAA,cAAc,CAACC,GAAD,CAAd,GAAsBC,KAAtB;AACD;AACF;;AACD,SAAOF,cAAP;AACD;AAED,OAAO,SAASG,wBAAT,CAAkCK,UAAlC,EAAmD;AACxDA,EAAAA,UAAU,GAAGpB,OAAO,CAACoB,UAAD,CAApB;;AAEA,MAAIxB,QAAQ,CAACyB,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAOD,UAAU,CACdE,GADI,CACA,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAmCA,OADnC,EAEJC,MAFI,CAEIC,MAAD,IAAiBA,MAFpB,CAAP;AAGD,GAPuD,CAQxD;;;AACA,SAAOL,UAAU,CACdE,GADI,CAEFI,SAAD;AAAA;;AAAA,WACE3B,cAAc,CAAC2B,SAAD,CAAd,2BAA6BA,SAAS,CAACH,OAAvC,uDAA6B,mBAAmBI,UAAhD,KAA8D,CAAC,CADjE;AAAA,GAFG,EAKJH,MALI,CAKIG,UAAD,IAAwBA,UAAU,GAAG,CALxC,CAAP;AAMD;AAED,OAAO,SAAS9B,cAAT,CACL+B,IADK,EAEkE;AACvE,MAAIhC,QAAQ,CAACyB,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAOO,IAAP;AACD;;AACD,SAAO9B,gBAAgB,CAAC8B,IAAD,CAAvB;AACD;AACD,IAAIC,wBAAwB,GAAG,KAA/B;AAEA,OAAO,SAASC,uBAAT,GAAmC;AACxC,MAAI,CAACD,wBAAL,EAA+B;AAC7BA,IAAAA,wBAAwB,GAAG,IAA3B;AACA3B,IAAAA,gBAAgB,CAAC,MAAM;AACrBD,MAAAA,sBAAsB,CAAC8B,eAAvB;AAEAF,MAAAA,wBAAwB,GAAG,KAA3B;AACD,KAJe,CAAhB;AAKD;AACF","sourcesContent":["import * as React from 'react';\nimport { Platform, findNodeHandle as findNodeHandleRN } from 'react-native';\nimport { handlerIDToTag } from './handlersRegistry';\nimport { toArray } from '../utils';\nimport RNGestureHandlerModule from '../RNGestureHandlerModule';\nimport { ghQueueMicrotask } from '../ghQueueMicrotask';\n\nfunction isConfigParam(param: unknown, name: string) {\n // param !== Object(param) returns false if `param` is a function\n // or an object and returns true if `param` is null\n return (\n param !== undefined &&\n (param !== Object(param) ||\n !('__isNative' in (param as Record<string, unknown>))) &&\n name !== 'onHandlerStateChange' &&\n name !== 'onGestureEvent'\n );\n}\n\nexport function filterConfig(\n props: Record<string, unknown>,\n validProps: string[],\n defaults: Record<string, unknown> = {}\n) {\n const filteredConfig = { ...defaults };\n for (const key of validProps) {\n let value = props[key];\n if (isConfigParam(value, key)) {\n if (key === 'simultaneousHandlers' || key === 'waitFor') {\n value = transformIntoHandlerTags(props[key]);\n } else if (key === 'hitSlop' && typeof value !== 'object') {\n value = { top: value, left: value, bottom: value, right: value };\n }\n filteredConfig[key] = value;\n }\n }\n return filteredConfig;\n}\n\nexport function transformIntoHandlerTags(handlerIDs: any) {\n handlerIDs = toArray(handlerIDs);\n\n if (Platform.OS === 'web') {\n return handlerIDs\n .map(({ current }: { current: any }) => current)\n .filter((handle: any) => handle);\n }\n // converts handler string IDs into their numeric tags\n return handlerIDs\n .map(\n (handlerID: any) =>\n handlerIDToTag[handlerID] || handlerID.current?.handlerTag || -1\n )\n .filter((handlerTag: number) => handlerTag > 0);\n}\n\nexport function findNodeHandle(\n node: null | number | React.Component<any, any> | React.ComponentClass<any>\n): null | number | React.Component<any, any> | React.ComponentClass<any> {\n if (Platform.OS === 'web') {\n return node;\n }\n return findNodeHandleRN(node);\n}\nlet flushOperationsScheduled = false;\n\nexport function scheduleFlushOperations() {\n if (!flushOperationsScheduled) {\n flushOperationsScheduled = true;\n ghQueueMicrotask(() => {\n RNGestureHandlerModule.flushOperations();\n\n flushOperationsScheduled = false;\n });\n }\n}\n"]}
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["initialize","Directions","State","PointerType","default","gestureHandlerRootHOC","GestureHandlerRootView","MouseButton","TapGestureHandler","ForceTouchGestureHandler","LongPressGestureHandler","PanGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","createNativeWrapper","GestureDetector","GestureObjects","Gesture","NativeViewGestureHandler","RawButton","BaseButton","RectButton","BorderlessButton","PureNativeButton","TouchableHighlight","TouchableNativeFeedback","TouchableOpacity","TouchableWithoutFeedback","ScrollView","Switch","TextInput","DrawerLayoutAndroid","FlatList","RefreshControl","Text","HoverEffect","Swipeable","Pressable","DrawerLayout","enableExperimentalWebImplementation","enableLegacyWebImplementation"],"
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["initialize","Directions","State","PointerType","default","gestureHandlerRootHOC","GestureHandlerRootView","MouseButton","TapGestureHandler","ForceTouchGestureHandler","LongPressGestureHandler","PanGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","createNativeWrapper","GestureDetector","GestureObjects","Gesture","NativeViewGestureHandler","RawButton","BaseButton","RectButton","BorderlessButton","PureNativeButton","TouchableHighlight","TouchableNativeFeedback","TouchableOpacity","TouchableWithoutFeedback","ScrollView","Switch","TextInput","DrawerLayoutAndroid","FlatList","RefreshControl","Text","HoverEffect","Swipeable","Pressable","DrawerLayout","enableExperimentalWebImplementation","enableLegacyWebImplementation"],"mappings":"AAAA,SAASA,UAAT,QAA2B,QAA3B;AAEA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,KAAT,QAAsB,SAAtB;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,SAASC,OAAO,IAAIC,qBAApB,QAAiD,oCAAjD;AACA,SAASD,OAAO,IAAIE,sBAApB,QAAkD,qCAAlD;AAeA,SAASC,WAAT,QAA4B,iCAA5B;AAsBA,SAASC,iBAAT,QAAkC,8BAAlC;AACA,SAASC,wBAAT,QAAyC,qCAAzC;AACA,SAASC,uBAAT,QAAwC,oCAAxC;AACA,SAASC,iBAAT,QAAkC,8BAAlC;AACA,SAASC,mBAAT,QAAoC,gCAApC;AACA,SAASC,sBAAT,QAAuC,mCAAvC;AACA,SAASC,mBAAT,QAAoC,gCAApC;AACA,SAASV,OAAO,IAAIW,mBAApB,QAA+C,gCAA/C;AAEA,SAASC,eAAT,QAAgC,qCAAhC;AACA,SAASC,cAAc,IAAIC,OAA3B,QAA0C,oCAA1C;AAkBA,SAASC,wBAAT,QAAyC,qCAAzC;AAOA,SACEC,SADF,EAEEC,UAFF,EAGEC,UAHF,EAIEC,gBAJF,EAKEC,gBALF,QAMO,6BANP;AAYA,SACEC,kBADF,EAEEC,uBAFF,EAGEC,gBAHF,EAIEC,wBAJF,QAKO,yBALP;AAMA,SACEC,UADF,EAEEC,MAFF,EAGEC,SAHF,EAIEC,mBAJF,EAKEC,QALF,EAMEC,cANF,QAOO,gCAPP;AAQA,SAASC,IAAT,QAAqB,mBAArB;AACA,SAASC,WAAT,QAA4B,kCAA5B;AAyCA,SAAShC,OAAO,IAAIiC,SAApB,QAAqC,wBAArC;AAKA,SAASjC,OAAO,IAAIkC,SAApB,QAAqC,wBAArC;AAUA,SAASlC,OAAO,IAAImC,YAApB,QAAwC,2BAAxC;AAEA,SACEC,mCADF,EAEEC,6BAFF,QAGO,8BAHP;AAKAzC,UAAU","sourcesContent":["import { initialize } from './init';\n\nexport { Directions } from './Directions';\nexport { State } from './State';\nexport { PointerType } from './PointerType';\nexport { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';\nexport { default as GestureHandlerRootView } from './components/GestureHandlerRootView';\nexport type {\n // Event types\n GestureEvent,\n HandlerStateChangeEvent,\n // Event payloads types\n GestureEventPayload,\n HandlerStateChangeEventPayload,\n // Pointer events\n GestureTouchEvent,\n TouchData,\n // New api event types\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from './handlers/gestureHandlerCommon';\nexport { MouseButton } from './handlers/gestureHandlerCommon';\nexport type { GestureType } from './handlers/gestures/gesture';\nexport type {\n TapGestureHandlerEventPayload,\n ForceTouchGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n PanGestureHandlerEventPayload,\n PinchGestureHandlerEventPayload,\n RotationGestureHandlerEventPayload,\n NativeViewGestureHandlerPayload,\n FlingGestureHandlerEventPayload,\n} from './handlers/GestureHandlerEventPayload';\nexport type { TapGestureHandlerProps } from './handlers/TapGestureHandler';\nexport type { ForceTouchGestureHandlerProps } from './handlers/ForceTouchGestureHandler';\nexport type { ForceTouchGestureChangeEventPayload } from './handlers/gestures/forceTouchGesture';\nexport type { LongPressGestureHandlerProps } from './handlers/LongPressGestureHandler';\nexport type { PanGestureHandlerProps } from './handlers/PanGestureHandler';\nexport type { PanGestureChangeEventPayload } from './handlers/gestures/panGesture';\nexport type { PinchGestureHandlerProps } from './handlers/PinchGestureHandler';\nexport type { PinchGestureChangeEventPayload } from './handlers/gestures/pinchGesture';\nexport type { RotationGestureHandlerProps } from './handlers/RotationGestureHandler';\nexport type { FlingGestureHandlerProps } from './handlers/FlingGestureHandler';\nexport { TapGestureHandler } from './handlers/TapGestureHandler';\nexport { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';\nexport { LongPressGestureHandler } from './handlers/LongPressGestureHandler';\nexport { PanGestureHandler } from './handlers/PanGestureHandler';\nexport { PinchGestureHandler } from './handlers/PinchGestureHandler';\nexport { RotationGestureHandler } from './handlers/RotationGestureHandler';\nexport { FlingGestureHandler } from './handlers/FlingGestureHandler';\nexport { default as createNativeWrapper } from './handlers/createNativeWrapper';\nexport type { NativeViewGestureHandlerProps } from './handlers/NativeViewGestureHandler';\nexport { GestureDetector } from './handlers/gestures/GestureDetector';\nexport { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';\nexport type { TapGestureType as TapGesture } from './handlers/gestures/tapGesture';\nexport type { PanGestureType as PanGesture } from './handlers/gestures/panGesture';\nexport type { FlingGestureType as FlingGesture } from './handlers/gestures/flingGesture';\nexport type { LongPressGestureType as LongPressGesture } from './handlers/gestures/longPressGesture';\nexport type { PinchGestureType as PinchGesture } from './handlers/gestures/pinchGesture';\nexport type { RotationGestureType as RotationGesture } from './handlers/gestures/rotationGesture';\nexport type { ForceTouchGestureType as ForceTouchGesture } from './handlers/gestures/forceTouchGesture';\nexport type { NativeGestureType as NativeGesture } from './handlers/gestures/nativeGesture';\nexport type { ManualGestureType as ManualGesture } from './handlers/gestures/manualGesture';\nexport type { HoverGestureType as HoverGesture } from './handlers/gestures/hoverGesture';\nexport type {\n ComposedGestureType as ComposedGesture,\n RaceGestureType as RaceGesture,\n SimultaneousGestureType as SimultaneousGesture,\n ExclusiveGestureType as ExclusiveGesture,\n} from './handlers/gestures/gestureComposition';\nexport type { GestureStateManagerType as GestureStateManager } from './handlers/gestures/gestureStateManager';\nexport { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';\nexport type {\n RawButtonProps,\n BaseButtonProps,\n RectButtonProps,\n BorderlessButtonProps,\n} from './components/GestureButtonsProps';\nexport {\n RawButton,\n BaseButton,\n RectButton,\n BorderlessButton,\n PureNativeButton,\n} from './components/GestureButtons';\nexport type {\n TouchableHighlightProps,\n TouchableOpacityProps,\n TouchableWithoutFeedbackProps,\n} from './components/touchables';\nexport {\n TouchableHighlight,\n TouchableNativeFeedback,\n TouchableOpacity,\n TouchableWithoutFeedback,\n} from './components/touchables';\nexport {\n ScrollView,\n Switch,\n TextInput,\n DrawerLayoutAndroid,\n FlatList,\n RefreshControl,\n} from './components/GestureComponents';\nexport { Text } from './components/Text';\nexport { HoverEffect } from './handlers/gestures/hoverGesture';\nexport type {\n // Events\n GestureHandlerGestureEvent,\n GestureHandlerStateChangeEvent,\n // Event payloads\n GestureHandlerGestureEventNativeEvent,\n GestureHandlerStateChangeNativeEvent,\n NativeViewGestureHandlerGestureEvent,\n NativeViewGestureHandlerStateChangeEvent,\n TapGestureHandlerGestureEvent,\n TapGestureHandlerStateChangeEvent,\n ForceTouchGestureHandlerGestureEvent,\n ForceTouchGestureHandlerStateChangeEvent,\n LongPressGestureHandlerGestureEvent,\n LongPressGestureHandlerStateChangeEvent,\n PanGestureHandlerGestureEvent,\n PanGestureHandlerStateChangeEvent,\n PinchGestureHandlerGestureEvent,\n PinchGestureHandlerStateChangeEvent,\n RotationGestureHandlerGestureEvent,\n RotationGestureHandlerStateChangeEvent,\n FlingGestureHandlerGestureEvent,\n FlingGestureHandlerStateChangeEvent,\n // Handlers props\n NativeViewGestureHandlerProperties,\n TapGestureHandlerProperties,\n LongPressGestureHandlerProperties,\n PanGestureHandlerProperties,\n PinchGestureHandlerProperties,\n RotationGestureHandlerProperties,\n FlingGestureHandlerProperties,\n ForceTouchGestureHandlerProperties,\n // Buttons props\n RawButtonProperties,\n BaseButtonProperties,\n RectButtonProperties,\n BorderlessButtonProperties,\n} from './handlers/gestureHandlerTypesCompat';\n\nexport type { SwipeableProps } from './components/Swipeable';\nexport { default as Swipeable } from './components/Swipeable';\nexport type {\n PressableProps,\n PressableStateCallbackType,\n} from './components/Pressable';\nexport { default as Pressable } from './components/Pressable';\n\nexport type {\n DrawerLayoutProps,\n DrawerPosition,\n DrawerState,\n DrawerType,\n DrawerLockMode,\n DrawerKeyboardDismissMode,\n} from './components/DrawerLayout';\nexport { default as DrawerLayout } from './components/DrawerLayout';\n\nexport {\n enableExperimentalWebImplementation,\n enableLegacyWebImplementation,\n} from './EnableNewWebImplementation';\n\ninitialize();\n"]}
|
package/lib/module/init.js
CHANGED
@@ -4,10 +4,9 @@ import { isFabric } from './utils';
|
|
4
4
|
let fabricInitialized = false;
|
5
5
|
export function initialize() {
|
6
6
|
startListening();
|
7
|
-
}
|
8
|
-
|
9
|
-
// Since isFabric() may give wrong results before the first render, we call this
|
7
|
+
} // Since isFabric() may give wrong results before the first render, we call this
|
10
8
|
// method during render of GestureHandlerRootView
|
9
|
+
|
11
10
|
export function maybeInitializeFabric() {
|
12
11
|
if (isFabric() && !fabricInitialized) {
|
13
12
|
RNGestureHandlerModule.install();
|
package/lib/module/init.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["startListening","RNGestureHandlerModule","isFabric","fabricInitialized","initialize","maybeInitializeFabric","install"],"
|
1
|
+
{"version":3,"sources":["init.ts"],"names":["startListening","RNGestureHandlerModule","isFabric","fabricInitialized","initialize","maybeInitializeFabric","install"],"mappings":"AAAA,SAASA,cAAT,QAA+B,mCAA/B;AACA,OAAOC,sBAAP,MAAmC,0BAAnC;AACA,SAASC,QAAT,QAAyB,SAAzB;AAEA,IAAIC,iBAAiB,GAAG,KAAxB;AAEA,OAAO,SAASC,UAAT,GAAsB;AAC3BJ,EAAAA,cAAc;AACf,C,CAED;AACA;;AACA,OAAO,SAASK,qBAAT,GAAiC;AACtC,MAAIH,QAAQ,MAAM,CAACC,iBAAnB,EAAsC;AACpCF,IAAAA,sBAAsB,CAACK,OAAvB;AACAH,IAAAA,iBAAiB,GAAG,IAApB;AACD;AACF","sourcesContent":["import { startListening } from './handlers/gestures/eventReceiver';\nimport RNGestureHandlerModule from './RNGestureHandlerModule';\nimport { isFabric } from './utils';\n\nlet fabricInitialized = false;\n\nexport function initialize() {\n startListening();\n}\n\n// Since isFabric() may give wrong results before the first render, we call this\n// method during render of GestureHandlerRootView\nexport function maybeInitializeFabric() {\n if (isFabric() && !fabricInitialized) {\n RNGestureHandlerModule.install();\n fabricInitialized = true;\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getByGestureTestId","fireGestureHandler"],"
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["getByGestureTestId","fireGestureHandler"],"mappings":"AAAA,SAASA,kBAAT,EAA6BC,kBAA7B,QAAuD,aAAvD","sourcesContent":["export { getByGestureTestId, fireGestureHandler } from './jestUtils';\n"]}
|
@@ -11,18 +11,17 @@ import { pinchHandlerName } from '../handlers/PinchGestureHandler';
|
|
11
11
|
import { rotationHandlerName } from '../handlers/RotationGestureHandler';
|
12
12
|
import { tapHandlerName } from '../handlers/TapGestureHandler';
|
13
13
|
import { State } from '../State';
|
14
|
-
import { hasProperty, withPrevAndCurrent } from '../utils';
|
14
|
+
import { hasProperty, withPrevAndCurrent } from '../utils'; // Load fireEvent conditionally, so RNGH may be used in setups without testing-library
|
15
15
|
|
16
|
-
|
17
|
-
let fireEvent = (_element, _name, ..._data) => {
|
18
|
-
// NOOP
|
16
|
+
let fireEvent = (_element, _name, ..._data) => {// NOOP
|
19
17
|
};
|
18
|
+
|
20
19
|
try {
|
21
20
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
22
21
|
fireEvent = require('@testing-library/react-native').fireEvent;
|
23
|
-
} catch (_e) {
|
24
|
-
// Do nothing if not available
|
22
|
+
} catch (_e) {// Do nothing if not available
|
25
23
|
}
|
24
|
+
|
26
25
|
const handlersDefaultEvents = {
|
27
26
|
[flingHandlerName]: {
|
28
27
|
x: 0,
|
@@ -85,23 +84,29 @@ const handlersDefaultEvents = {
|
|
85
84
|
numberOfPointers: 1
|
86
85
|
}
|
87
86
|
};
|
87
|
+
|
88
88
|
function isGesture(componentOrGesture) {
|
89
89
|
return componentOrGesture instanceof BaseGesture;
|
90
90
|
}
|
91
|
+
|
91
92
|
function wrapWithNativeEvent(event) {
|
92
93
|
return {
|
93
94
|
nativeEvent: event
|
94
95
|
};
|
95
96
|
}
|
97
|
+
|
96
98
|
function fillOldStateChanges(previousEvent, currentEvent) {
|
97
99
|
const isFirstEvent = previousEvent === null;
|
100
|
+
|
98
101
|
if (isFirstEvent) {
|
99
102
|
return {
|
100
103
|
oldState: State.UNDETERMINED,
|
101
104
|
...currentEvent
|
102
105
|
};
|
103
106
|
}
|
107
|
+
|
104
108
|
const isGestureStateEvent = previousEvent.state !== currentEvent.state;
|
109
|
+
|
105
110
|
if (isGestureStateEvent) {
|
106
111
|
return {
|
107
112
|
oldState: previousEvent === null || previousEvent === void 0 ? void 0 : previousEvent.state,
|
@@ -111,127 +116,158 @@ function fillOldStateChanges(previousEvent, currentEvent) {
|
|
111
116
|
return currentEvent;
|
112
117
|
}
|
113
118
|
}
|
119
|
+
|
114
120
|
function validateStateTransitions(previousEvent, currentEvent) {
|
115
121
|
function stringify(event) {
|
116
122
|
return JSON.stringify(event, null, 2);
|
117
123
|
}
|
124
|
+
|
118
125
|
function errorMsgWithBothEvents(description) {
|
119
126
|
return `${description}, invalid event: ${stringify(currentEvent)}, previous event: ${stringify(previousEvent)}`;
|
120
127
|
}
|
128
|
+
|
121
129
|
function errorMsgWithCurrentEvent(description) {
|
122
130
|
return `${description}, invalid event: ${stringify(currentEvent)}`;
|
123
131
|
}
|
132
|
+
|
124
133
|
invariant(hasProperty(currentEvent, 'state'), errorMsgWithCurrentEvent('every event must have state'));
|
125
134
|
const isFirstEvent = previousEvent === null;
|
135
|
+
|
126
136
|
if (isFirstEvent) {
|
127
137
|
invariant(currentEvent.state === State.BEGAN, errorMsgWithCurrentEvent('first event must have BEGAN state'));
|
128
138
|
}
|
139
|
+
|
129
140
|
if (previousEvent !== null) {
|
130
141
|
if (previousEvent.state !== currentEvent.state) {
|
131
142
|
invariant(hasProperty(currentEvent, 'oldState'), errorMsgWithCurrentEvent('when state changes, oldState field should be present'));
|
132
143
|
invariant(currentEvent.oldState === previousEvent.state, errorMsgWithBothEvents("when state changes, oldState should be the same as previous event' state"));
|
133
144
|
}
|
134
145
|
}
|
146
|
+
|
135
147
|
return currentEvent;
|
136
148
|
}
|
149
|
+
|
137
150
|
function fillMissingDefaultsFor({
|
138
151
|
handlerType,
|
139
152
|
handlerTag
|
140
153
|
}) {
|
141
154
|
return event => {
|
142
|
-
return {
|
143
|
-
...handlersDefaultEvents[handlerType],
|
155
|
+
return { ...handlersDefaultEvents[handlerType],
|
144
156
|
...event,
|
145
157
|
handlerTag
|
146
158
|
};
|
147
159
|
};
|
148
160
|
}
|
161
|
+
|
149
162
|
function isDiscreteHandler(handlerType) {
|
150
163
|
return handlerType === 'TapGestureHandler' || handlerType === 'LongPressGestureHandler';
|
151
164
|
}
|
165
|
+
|
152
166
|
function fillMissingStatesTransitions(events, isDiscreteHandler) {
|
153
167
|
var _events2, _events$;
|
168
|
+
|
154
169
|
const _events = [...events];
|
155
170
|
const lastEvent = (_events2 = _events[_events.length - 1]) !== null && _events2 !== void 0 ? _events2 : null;
|
156
171
|
const firstEvent = (_events$ = _events[0]) !== null && _events$ !== void 0 ? _events$ : null;
|
157
172
|
const shouldDuplicateFirstEvent = !isDiscreteHandler && !hasState(State.BEGAN)(firstEvent);
|
173
|
+
|
158
174
|
if (shouldDuplicateFirstEvent) {
|
159
|
-
const duplicated = {
|
160
|
-
...firstEvent,
|
175
|
+
const duplicated = { ...firstEvent,
|
161
176
|
state: State.BEGAN
|
162
|
-
};
|
163
|
-
|
177
|
+
}; // @ts-ignore badly typed, property may exist and we don't want to copy it
|
178
|
+
|
164
179
|
delete duplicated.oldState;
|
180
|
+
|
165
181
|
_events.unshift(duplicated);
|
166
182
|
}
|
183
|
+
|
167
184
|
const shouldDuplicateLastEvent = !hasState(State.END)(lastEvent) || !hasState(State.FAILED)(lastEvent) || !hasState(State.CANCELLED)(lastEvent);
|
185
|
+
|
168
186
|
if (shouldDuplicateLastEvent) {
|
169
|
-
const duplicated = {
|
170
|
-
...lastEvent,
|
187
|
+
const duplicated = { ...lastEvent,
|
171
188
|
state: State.END
|
172
|
-
};
|
173
|
-
|
189
|
+
}; // @ts-ignore badly typed, property may exist and we don't want to copy it
|
190
|
+
|
174
191
|
delete duplicated.oldState;
|
192
|
+
|
175
193
|
_events.push(duplicated);
|
176
194
|
}
|
195
|
+
|
177
196
|
function isWithoutState(event) {
|
178
197
|
return event !== null && !hasProperty(event, 'state');
|
179
198
|
}
|
199
|
+
|
180
200
|
function hasState(state) {
|
181
201
|
return event => event !== null && event.state === state;
|
182
202
|
}
|
203
|
+
|
183
204
|
function noEventsLeft(event) {
|
184
205
|
return event === null;
|
185
206
|
}
|
207
|
+
|
186
208
|
function trueFn() {
|
187
209
|
return true;
|
188
210
|
}
|
211
|
+
|
189
212
|
function fillEventsForCurrentState({
|
190
213
|
shouldConsumeEvent = trueFn,
|
191
214
|
shouldTransitionToNextState = trueFn
|
192
215
|
}) {
|
193
216
|
function peekCurrentEvent() {
|
194
217
|
var _events$2;
|
218
|
+
|
195
219
|
return (_events$2 = _events[0]) !== null && _events$2 !== void 0 ? _events$2 : null;
|
196
220
|
}
|
221
|
+
|
197
222
|
function peekNextEvent() {
|
198
223
|
var _events$3;
|
224
|
+
|
199
225
|
return (_events$3 = _events[1]) !== null && _events$3 !== void 0 ? _events$3 : null;
|
200
226
|
}
|
227
|
+
|
201
228
|
function consumeCurrentEvent() {
|
202
229
|
_events.shift();
|
203
230
|
}
|
231
|
+
|
204
232
|
const currentEvent = peekCurrentEvent();
|
205
233
|
const nextEvent = peekNextEvent();
|
206
234
|
const currentRequiredState = REQUIRED_EVENTS[currentStateIdx];
|
207
235
|
let eventData = {};
|
208
236
|
const shouldUseEvent = shouldConsumeEvent(currentEvent);
|
237
|
+
|
209
238
|
if (shouldUseEvent) {
|
210
239
|
eventData = currentEvent;
|
211
240
|
consumeCurrentEvent();
|
212
241
|
}
|
242
|
+
|
213
243
|
transformedEvents.push({
|
214
244
|
state: currentRequiredState,
|
215
245
|
...eventData
|
216
246
|
});
|
247
|
+
|
217
248
|
if (shouldTransitionToNextState(nextEvent)) {
|
218
249
|
currentStateIdx++;
|
219
250
|
}
|
220
251
|
}
|
252
|
+
|
221
253
|
const REQUIRED_EVENTS = [State.BEGAN, State.ACTIVE, State.END];
|
222
254
|
let currentStateIdx = 0;
|
223
255
|
const transformedEvents = [];
|
224
256
|
let hasAllStates;
|
225
257
|
let iterations = 0;
|
258
|
+
|
226
259
|
do {
|
227
260
|
const nextRequiredState = REQUIRED_EVENTS[currentStateIdx];
|
261
|
+
|
228
262
|
if (nextRequiredState === State.BEGAN) {
|
229
263
|
fillEventsForCurrentState({
|
230
264
|
shouldConsumeEvent: e => isWithoutState(e) || hasState(State.BEGAN)(e)
|
231
265
|
});
|
232
266
|
} else if (nextRequiredState === State.ACTIVE) {
|
233
267
|
const shouldConsumeEvent = e => isWithoutState(e) || hasState(State.ACTIVE)(e);
|
268
|
+
|
234
269
|
const shouldTransitionToNextState = nextEvent => noEventsLeft(nextEvent) || hasState(State.END)(nextEvent) || hasState(State.FAILED)(nextEvent) || hasState(State.CANCELLED)(nextEvent);
|
270
|
+
|
235
271
|
fillEventsForCurrentState({
|
236
272
|
shouldConsumeEvent,
|
237
273
|
shouldTransitionToNextState
|
@@ -239,11 +275,14 @@ function fillMissingStatesTransitions(events, isDiscreteHandler) {
|
|
239
275
|
} else if (nextRequiredState === State.END) {
|
240
276
|
fillEventsForCurrentState({});
|
241
277
|
}
|
278
|
+
|
242
279
|
hasAllStates = currentStateIdx === REQUIRED_EVENTS.length;
|
243
280
|
invariant(iterations++ <= 500, 'exceeded max number of iterations, please report a bug in RNGH repository with your test case');
|
244
281
|
} while (!hasAllStates);
|
282
|
+
|
245
283
|
return transformedEvents;
|
246
284
|
}
|
285
|
+
|
247
286
|
function getHandlerData(componentOrGesture) {
|
248
287
|
if (isGesture(componentOrGesture)) {
|
249
288
|
const gesture = componentOrGesture;
|
@@ -256,6 +295,7 @@ function getHandlerData(componentOrGesture) {
|
|
256
295
|
enabled: gesture.config.enabled
|
257
296
|
};
|
258
297
|
}
|
298
|
+
|
259
299
|
const gestureHandlerComponent = componentOrGesture;
|
260
300
|
return {
|
261
301
|
emitEvent: (eventName, args) => {
|
@@ -267,8 +307,6 @@ function getHandlerData(componentOrGesture) {
|
|
267
307
|
};
|
268
308
|
}
|
269
309
|
|
270
|
-
// prettier-ignore
|
271
|
-
|
272
310
|
export function fireGestureHandler(componentOrGesture, eventList = []) {
|
273
311
|
const {
|
274
312
|
emitEvent,
|
@@ -276,37 +314,45 @@ export function fireGestureHandler(componentOrGesture, eventList = []) {
|
|
276
314
|
handlerTag,
|
277
315
|
enabled
|
278
316
|
} = getHandlerData(componentOrGesture);
|
317
|
+
|
279
318
|
if (enabled === false) {
|
280
319
|
return;
|
281
320
|
}
|
321
|
+
|
282
322
|
let _ = fillMissingStatesTransitions(eventList, isDiscreteHandler(handlerType));
|
323
|
+
|
283
324
|
_ = _.map(fillMissingDefaultsFor({
|
284
325
|
handlerTag,
|
285
326
|
handlerType
|
286
327
|
}));
|
287
328
|
_ = withPrevAndCurrent(_, fillOldStateChanges);
|
288
|
-
_ = withPrevAndCurrent(_, validateStateTransitions);
|
289
|
-
|
329
|
+
_ = withPrevAndCurrent(_, validateStateTransitions); // @ts-ignore TODO
|
330
|
+
|
290
331
|
_ = _.map(wrapWithNativeEvent);
|
291
332
|
const events = _;
|
292
333
|
const firstEvent = events.shift();
|
293
334
|
emitEvent('onGestureHandlerStateChange', firstEvent);
|
294
335
|
let lastSentEvent = firstEvent;
|
336
|
+
|
295
337
|
for (const event of events) {
|
296
338
|
const hasChangedState = lastSentEvent.nativeEvent.state !== event.nativeEvent.state;
|
339
|
+
|
297
340
|
if (hasChangedState) {
|
298
341
|
emitEvent('onGestureHandlerStateChange', event);
|
299
342
|
} else {
|
300
343
|
emitEvent('onGestureHandlerEvent', event);
|
301
344
|
}
|
345
|
+
|
302
346
|
lastSentEvent = event;
|
303
347
|
}
|
304
348
|
}
|
305
349
|
export function getByGestureTestId(testID) {
|
306
350
|
const handler = findHandlerByTestID(testID);
|
351
|
+
|
307
352
|
if (handler === null) {
|
308
353
|
throw new Error(`Handler with id: '${testID}' cannot be found`);
|
309
354
|
}
|
355
|
+
|
310
356
|
return handler;
|
311
357
|
}
|
312
358
|
//# sourceMappingURL=jestUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["invariant","DeviceEventEmitter","flingHandlerName","forceTouchHandlerName","BaseGesture","findHandlerByTestID","longPressHandlerName","nativeViewHandlerName","panHandlerName","pinchHandlerName","rotationHandlerName","tapHandlerName","State","hasProperty","withPrevAndCurrent","fireEvent","_element","_name","_data","require","_e","handlersDefaultEvents","x","y","absoluteX","absoluteY","numberOfPointers","force","duration","pointerInside","translationX","translationY","velocityX","velocityY","stylusData","undefined","focalX","focalY","scale","velocity","anchorX","anchorY","rotation","isGesture","componentOrGesture","wrapWithNativeEvent","event","nativeEvent","fillOldStateChanges","previousEvent","currentEvent","isFirstEvent","oldState","UNDETERMINED","isGestureStateEvent","state","validateStateTransitions","stringify","JSON","errorMsgWithBothEvents","description","errorMsgWithCurrentEvent","BEGAN","fillMissingDefaultsFor","handlerType","handlerTag","isDiscreteHandler","fillMissingStatesTransitions","events","_events2","_events$","_events","lastEvent","length","firstEvent","shouldDuplicateFirstEvent","hasState","duplicated","unshift","shouldDuplicateLastEvent","END","FAILED","CANCELLED","push","isWithoutState","noEventsLeft","trueFn","fillEventsForCurrentState","shouldConsumeEvent","shouldTransitionToNextState","peekCurrentEvent","_events$2","peekNextEvent","_events$3","consumeCurrentEvent","shift","nextEvent","currentRequiredState","REQUIRED_EVENTS","currentStateIdx","eventData","shouldUseEvent","transformedEvents","ACTIVE","hasAllStates","iterations","nextRequiredState","e","getHandlerData","gesture","emitEvent","eventName","args","emit","handlerName","enabled","config","gestureHandlerComponent","props","fireGestureHandler","eventList","_","map","lastSentEvent","hasChangedState","getByGestureTestId","testID","handler","Error"],"sources":["jestUtils.ts"],"sourcesContent":["import invariant from 'invariant';\nimport { DeviceEventEmitter } from 'react-native';\nimport { ReactTestInstance } from 'react-test-renderer';\nimport {\n FlingGestureHandler,\n flingHandlerName,\n} from '../handlers/FlingGestureHandler';\nimport {\n ForceTouchGestureHandler,\n forceTouchHandlerName,\n} from '../handlers/ForceTouchGestureHandler';\nimport {\n BaseGestureHandlerProps,\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport { FlingGesture } from '../handlers/gestures/flingGesture';\nimport { ForceTouchGesture } from '../handlers/gestures/forceTouchGesture';\nimport { BaseGesture, GestureType } from '../handlers/gestures/gesture';\nimport { LongPressGesture } from '../handlers/gestures/longPressGesture';\nimport { NativeGesture } from '../handlers/gestures/nativeGesture';\nimport { PanGesture } from '../handlers/gestures/panGesture';\nimport { PinchGesture } from '../handlers/gestures/pinchGesture';\nimport { RotationGesture } from '../handlers/gestures/rotationGesture';\nimport { TapGesture } from '../handlers/gestures/tapGesture';\nimport { findHandlerByTestID } from '../handlers/handlersRegistry';\nimport {\n LongPressGestureHandler,\n longPressHandlerName,\n} from '../handlers/LongPressGestureHandler';\nimport type {\n FlingGestureHandlerEventPayload,\n ForceTouchGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n NativeViewGestureHandlerPayload,\n PanGestureHandlerEventPayload,\n PinchGestureHandlerEventPayload,\n RotationGestureHandlerEventPayload,\n TapGestureHandlerEventPayload,\n} from '../handlers/GestureHandlerEventPayload';\nimport {\n NativeViewGestureHandler,\n nativeViewHandlerName,\n} from '../handlers/NativeViewGestureHandler';\nimport {\n PanGestureHandler,\n panHandlerName,\n} from '../handlers/PanGestureHandler';\nimport {\n PinchGestureHandler,\n pinchHandlerName,\n} from '../handlers/PinchGestureHandler';\nimport {\n RotationGestureHandler,\n rotationHandlerName,\n} from '../handlers/RotationGestureHandler';\nimport {\n TapGestureHandler,\n tapHandlerName,\n} from '../handlers/TapGestureHandler';\nimport { State } from '../State';\nimport { hasProperty, withPrevAndCurrent } from '../utils';\n\n// Load fireEvent conditionally, so RNGH may be used in setups without testing-library\nlet fireEvent = (\n _element: ReactTestInstance,\n _name: string,\n ..._data: any[]\n) => {\n // NOOP\n};\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n fireEvent = require('@testing-library/react-native').fireEvent;\n} catch (_e) {\n // Do nothing if not available\n}\n\ntype GestureHandlerTestEvent<\n TEventPayload extends Record<string, unknown> = Record<string, unknown>,\n> = (\n | GestureEvent<TEventPayload>\n | HandlerStateChangeEvent<TEventPayload>\n)['nativeEvent'];\n\ntype HandlerNames = keyof DefaultEventsMapping;\n\ntype WithNumberOfPointers<T> = {\n [P in keyof T]: T[P] & { numberOfPointers: number };\n};\ntype DefaultEventsMapping = WithNumberOfPointers<{\n [flingHandlerName]: FlingGestureHandlerEventPayload;\n [forceTouchHandlerName]: ForceTouchGestureHandlerEventPayload;\n [longPressHandlerName]: LongPressGestureHandlerEventPayload;\n [nativeViewHandlerName]: NativeViewGestureHandlerPayload;\n [panHandlerName]: PanGestureHandlerEventPayload;\n [pinchHandlerName]: PinchGestureHandlerEventPayload;\n [rotationHandlerName]: RotationGestureHandlerEventPayload;\n [tapHandlerName]: TapGestureHandlerEventPayload;\n}>;\n\nconst handlersDefaultEvents: DefaultEventsMapping = {\n [flingHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n numberOfPointers: 1,\n },\n [forceTouchHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n force: 1,\n numberOfPointers: 1,\n },\n [longPressHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n duration: 100,\n numberOfPointers: 1,\n },\n [nativeViewHandlerName]: {\n pointerInside: true,\n numberOfPointers: 1,\n },\n [panHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n translationX: 100,\n translationY: 0,\n velocityX: 3,\n velocityY: 0,\n numberOfPointers: 1,\n stylusData: undefined,\n },\n [pinchHandlerName]: {\n focalX: 0,\n focalY: 0,\n scale: 2,\n velocity: 1,\n numberOfPointers: 2,\n },\n [rotationHandlerName]: {\n anchorX: 0,\n anchorY: 0,\n rotation: 3.14,\n velocity: 2,\n numberOfPointers: 2,\n },\n [tapHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n numberOfPointers: 1,\n },\n};\n\nfunction isGesture(\n componentOrGesture: ReactTestInstance | GestureType\n): componentOrGesture is GestureType {\n return componentOrGesture instanceof BaseGesture;\n}\n\ninterface WrappedGestureHandlerTestEvent {\n nativeEvent: GestureHandlerTestEvent;\n}\nfunction wrapWithNativeEvent(\n event: GestureHandlerTestEvent\n): WrappedGestureHandlerTestEvent {\n return { nativeEvent: event };\n}\n\nfunction fillOldStateChanges(\n previousEvent: GestureHandlerTestEvent | null,\n currentEvent: Omit<GestureHandlerTestEvent, 'oldState'>\n): GestureHandlerTestEvent {\n const isFirstEvent = previousEvent === null;\n if (isFirstEvent) {\n return {\n oldState: State.UNDETERMINED,\n ...currentEvent,\n } as GestureHandlerTestEvent;\n }\n\n const isGestureStateEvent = previousEvent.state !== currentEvent.state;\n if (isGestureStateEvent) {\n return {\n oldState: previousEvent?.state,\n ...currentEvent,\n } as GestureHandlerTestEvent;\n } else {\n return currentEvent as GestureHandlerTestEvent;\n }\n}\n\ntype EventWithStates = Partial<\n Pick<GestureHandlerTestEvent, 'oldState' | 'state'>\n>;\nfunction validateStateTransitions(\n previousEvent: EventWithStates | null,\n currentEvent: EventWithStates\n) {\n function stringify(event: Record<string, unknown> | null) {\n return JSON.stringify(event, null, 2);\n }\n function errorMsgWithBothEvents(description: string) {\n return `${description}, invalid event: ${stringify(\n currentEvent\n )}, previous event: ${stringify(previousEvent)}`;\n }\n\n function errorMsgWithCurrentEvent(description: string) {\n return `${description}, invalid event: ${stringify(currentEvent)}`;\n }\n\n invariant(\n hasProperty(currentEvent, 'state'),\n errorMsgWithCurrentEvent('every event must have state')\n );\n\n const isFirstEvent = previousEvent === null;\n if (isFirstEvent) {\n invariant(\n currentEvent.state === State.BEGAN,\n errorMsgWithCurrentEvent('first event must have BEGAN state')\n );\n }\n\n if (previousEvent !== null) {\n if (previousEvent.state !== currentEvent.state) {\n invariant(\n hasProperty(currentEvent, 'oldState'),\n errorMsgWithCurrentEvent(\n 'when state changes, oldState field should be present'\n )\n );\n invariant(\n currentEvent.oldState === previousEvent.state,\n errorMsgWithBothEvents(\n \"when state changes, oldState should be the same as previous event' state\"\n )\n );\n }\n }\n\n return currentEvent;\n}\n\ntype EventWithoutStates = Omit<GestureHandlerTestEvent, 'oldState' | 'state'>;\ninterface HandlerInfo {\n handlerType: HandlerNames;\n handlerTag: number;\n}\nfunction fillMissingDefaultsFor({\n handlerType,\n handlerTag,\n}: HandlerInfo): (\n event: Partial<GestureHandlerTestEvent>\n) => EventWithoutStates {\n return (event) => {\n return {\n ...handlersDefaultEvents[handlerType],\n ...event,\n handlerTag,\n };\n };\n}\n\nfunction isDiscreteHandler(handlerType: HandlerNames) {\n return (\n handlerType === 'TapGestureHandler' ||\n handlerType === 'LongPressGestureHandler'\n );\n}\n\nfunction fillMissingStatesTransitions(\n events: EventWithoutStates[],\n isDiscreteHandler: boolean\n): EventWithoutStates[] {\n type Event = EventWithoutStates | null;\n const _events = [...events];\n const lastEvent = _events[_events.length - 1] ?? null;\n const firstEvent = _events[0] ?? null;\n\n const shouldDuplicateFirstEvent =\n !isDiscreteHandler && !hasState(State.BEGAN)(firstEvent);\n if (shouldDuplicateFirstEvent) {\n const duplicated = { ...firstEvent, state: State.BEGAN };\n // @ts-ignore badly typed, property may exist and we don't want to copy it\n delete duplicated.oldState;\n _events.unshift(duplicated);\n }\n\n const shouldDuplicateLastEvent =\n !hasState(State.END)(lastEvent) ||\n !hasState(State.FAILED)(lastEvent) ||\n !hasState(State.CANCELLED)(lastEvent);\n\n if (shouldDuplicateLastEvent) {\n const duplicated = { ...lastEvent, state: State.END };\n // @ts-ignore badly typed, property may exist and we don't want to copy it\n delete duplicated.oldState;\n _events.push(duplicated);\n }\n\n function isWithoutState(event: Event) {\n return event !== null && !hasProperty(event, 'state');\n }\n function hasState(state: State) {\n return (event: Event) => event !== null && event.state === state;\n }\n function noEventsLeft(event: Event) {\n return event === null;\n }\n\n function trueFn() {\n return true;\n }\n interface Args {\n shouldConsumeEvent?: (event: Event) => boolean;\n shouldTransitionToNextState?: (nextEvent: Event) => boolean;\n }\n function fillEventsForCurrentState({\n shouldConsumeEvent = trueFn,\n shouldTransitionToNextState = trueFn,\n }: Args) {\n function peekCurrentEvent(): Event {\n return _events[0] ?? null;\n }\n function peekNextEvent(): Event {\n return _events[1] ?? null;\n }\n function consumeCurrentEvent() {\n _events.shift();\n }\n const currentEvent = peekCurrentEvent();\n const nextEvent = peekNextEvent();\n const currentRequiredState = REQUIRED_EVENTS[currentStateIdx];\n\n let eventData = {};\n const shouldUseEvent = shouldConsumeEvent(currentEvent);\n if (shouldUseEvent) {\n eventData = currentEvent!;\n consumeCurrentEvent();\n }\n transformedEvents.push({ state: currentRequiredState, ...eventData });\n if (shouldTransitionToNextState(nextEvent)) {\n currentStateIdx++;\n }\n }\n\n const REQUIRED_EVENTS = [State.BEGAN, State.ACTIVE, State.END];\n\n let currentStateIdx = 0;\n const transformedEvents: EventWithoutStates[] = [];\n let hasAllStates;\n let iterations = 0;\n do {\n const nextRequiredState = REQUIRED_EVENTS[currentStateIdx];\n if (nextRequiredState === State.BEGAN) {\n fillEventsForCurrentState({\n shouldConsumeEvent: (e: Event) =>\n isWithoutState(e) || hasState(State.BEGAN)(e),\n });\n } else if (nextRequiredState === State.ACTIVE) {\n const shouldConsumeEvent = (e: Event) =>\n isWithoutState(e) || hasState(State.ACTIVE)(e);\n const shouldTransitionToNextState = (nextEvent: Event) =>\n noEventsLeft(nextEvent) ||\n hasState(State.END)(nextEvent) ||\n hasState(State.FAILED)(nextEvent) ||\n hasState(State.CANCELLED)(nextEvent);\n\n fillEventsForCurrentState({\n shouldConsumeEvent,\n shouldTransitionToNextState,\n });\n } else if (nextRequiredState === State.END) {\n fillEventsForCurrentState({});\n }\n hasAllStates = currentStateIdx === REQUIRED_EVENTS.length;\n\n invariant(\n iterations++ <= 500,\n 'exceeded max number of iterations, please report a bug in RNGH repository with your test case'\n );\n } while (!hasAllStates);\n\n return transformedEvents;\n}\n\ntype EventEmitter = (\n eventName: string,\n args: { nativeEvent: GestureHandlerTestEvent }\n) => void;\ninterface HandlerData {\n emitEvent: EventEmitter;\n handlerType: HandlerNames;\n handlerTag: number;\n enabled: boolean | undefined;\n}\nfunction getHandlerData(\n componentOrGesture: ReactTestInstance | GestureType\n): HandlerData {\n if (isGesture(componentOrGesture)) {\n const gesture = componentOrGesture;\n return {\n emitEvent: (eventName, args) => {\n DeviceEventEmitter.emit(eventName, args.nativeEvent);\n },\n handlerType: gesture.handlerName as HandlerNames,\n handlerTag: gesture.handlerTag,\n enabled: gesture.config.enabled,\n };\n }\n const gestureHandlerComponent = componentOrGesture;\n return {\n emitEvent: (eventName, args) => {\n fireEvent(gestureHandlerComponent, eventName, args);\n },\n handlerType: gestureHandlerComponent.props.handlerType as HandlerNames,\n handlerTag: gestureHandlerComponent.props.handlerTag as number,\n enabled: gestureHandlerComponent.props.enabled,\n };\n}\ntype AllGestures =\n | TapGesture\n | PanGesture\n | LongPressGesture\n | RotationGesture\n | PinchGesture\n | FlingGesture\n | ForceTouchGesture\n | NativeGesture;\n\ntype AllHandlers =\n | TapGestureHandler\n | PanGestureHandler\n | LongPressGestureHandler\n | RotationGestureHandler\n | PinchGestureHandler\n | FlingGestureHandler\n | ForceTouchGestureHandler\n | NativeViewGestureHandler;\n\n// prettier-ignore\ntype ClassComponentConstructor<P> = new (props: P) => React.Component<P, any, any>;\n\ntype ExtractPayloadFromProps<T> =\n T extends BaseGestureHandlerProps<infer TPayload> ? TPayload : never;\n\ntype ExtractConfig<T> =\n T extends BaseGesture<infer TGesturePayload>\n ? TGesturePayload\n : T extends ClassComponentConstructor<infer THandlerProps>\n ? ExtractPayloadFromProps<THandlerProps>\n : Record<string, unknown>;\n\nexport function fireGestureHandler<THandler extends AllGestures | AllHandlers>(\n componentOrGesture: ReactTestInstance | GestureType,\n eventList: Partial<GestureHandlerTestEvent<ExtractConfig<THandler>>>[] = []\n): void {\n const { emitEvent, handlerType, handlerTag, enabled } =\n getHandlerData(componentOrGesture);\n\n if (enabled === false) {\n return;\n }\n\n let _ = fillMissingStatesTransitions(\n eventList,\n isDiscreteHandler(handlerType)\n );\n _ = _.map(fillMissingDefaultsFor({ handlerTag, handlerType }));\n _ = withPrevAndCurrent(_, fillOldStateChanges);\n _ = withPrevAndCurrent(_, validateStateTransitions);\n // @ts-ignore TODO\n _ = _.map(wrapWithNativeEvent);\n\n const events = _ as unknown as WrappedGestureHandlerTestEvent[];\n\n const firstEvent = events.shift()!;\n\n emitEvent('onGestureHandlerStateChange', firstEvent);\n let lastSentEvent = firstEvent;\n for (const event of events) {\n const hasChangedState =\n lastSentEvent.nativeEvent.state !== event.nativeEvent.state;\n\n if (hasChangedState) {\n emitEvent('onGestureHandlerStateChange', event);\n } else {\n emitEvent('onGestureHandlerEvent', event);\n }\n lastSentEvent = event;\n }\n}\n\nexport function getByGestureTestId(testID: string) {\n const handler = findHandlerByTestID(testID);\n if (handler === null) {\n throw new Error(`Handler with id: '${testID}' cannot be found`);\n }\n return handler;\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"sources":["jestUtils.ts"],"names":["invariant","DeviceEventEmitter","flingHandlerName","forceTouchHandlerName","BaseGesture","findHandlerByTestID","longPressHandlerName","nativeViewHandlerName","panHandlerName","pinchHandlerName","rotationHandlerName","tapHandlerName","State","hasProperty","withPrevAndCurrent","fireEvent","_element","_name","_data","require","_e","handlersDefaultEvents","x","y","absoluteX","absoluteY","numberOfPointers","force","duration","pointerInside","translationX","translationY","velocityX","velocityY","stylusData","undefined","focalX","focalY","scale","velocity","anchorX","anchorY","rotation","isGesture","componentOrGesture","wrapWithNativeEvent","event","nativeEvent","fillOldStateChanges","previousEvent","currentEvent","isFirstEvent","oldState","UNDETERMINED","isGestureStateEvent","state","validateStateTransitions","stringify","JSON","errorMsgWithBothEvents","description","errorMsgWithCurrentEvent","BEGAN","fillMissingDefaultsFor","handlerType","handlerTag","isDiscreteHandler","fillMissingStatesTransitions","events","_events","lastEvent","length","firstEvent","shouldDuplicateFirstEvent","hasState","duplicated","unshift","shouldDuplicateLastEvent","END","FAILED","CANCELLED","push","isWithoutState","noEventsLeft","trueFn","fillEventsForCurrentState","shouldConsumeEvent","shouldTransitionToNextState","peekCurrentEvent","peekNextEvent","consumeCurrentEvent","shift","nextEvent","currentRequiredState","REQUIRED_EVENTS","currentStateIdx","eventData","shouldUseEvent","transformedEvents","ACTIVE","hasAllStates","iterations","nextRequiredState","e","getHandlerData","gesture","emitEvent","eventName","args","emit","handlerName","enabled","config","gestureHandlerComponent","props","fireGestureHandler","eventList","_","map","lastSentEvent","hasChangedState","getByGestureTestId","testID","handler","Error"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport { DeviceEventEmitter } from 'react-native';\nimport { ReactTestInstance } from 'react-test-renderer';\nimport {\n FlingGestureHandler,\n flingHandlerName,\n} from '../handlers/FlingGestureHandler';\nimport {\n ForceTouchGestureHandler,\n forceTouchHandlerName,\n} from '../handlers/ForceTouchGestureHandler';\nimport {\n BaseGestureHandlerProps,\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport { FlingGesture } from '../handlers/gestures/flingGesture';\nimport { ForceTouchGesture } from '../handlers/gestures/forceTouchGesture';\nimport { BaseGesture, GestureType } from '../handlers/gestures/gesture';\nimport { LongPressGesture } from '../handlers/gestures/longPressGesture';\nimport { NativeGesture } from '../handlers/gestures/nativeGesture';\nimport { PanGesture } from '../handlers/gestures/panGesture';\nimport { PinchGesture } from '../handlers/gestures/pinchGesture';\nimport { RotationGesture } from '../handlers/gestures/rotationGesture';\nimport { TapGesture } from '../handlers/gestures/tapGesture';\nimport { findHandlerByTestID } from '../handlers/handlersRegistry';\nimport {\n LongPressGestureHandler,\n longPressHandlerName,\n} from '../handlers/LongPressGestureHandler';\nimport type {\n FlingGestureHandlerEventPayload,\n ForceTouchGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n NativeViewGestureHandlerPayload,\n PanGestureHandlerEventPayload,\n PinchGestureHandlerEventPayload,\n RotationGestureHandlerEventPayload,\n TapGestureHandlerEventPayload,\n} from '../handlers/GestureHandlerEventPayload';\nimport {\n NativeViewGestureHandler,\n nativeViewHandlerName,\n} from '../handlers/NativeViewGestureHandler';\nimport {\n PanGestureHandler,\n panHandlerName,\n} from '../handlers/PanGestureHandler';\nimport {\n PinchGestureHandler,\n pinchHandlerName,\n} from '../handlers/PinchGestureHandler';\nimport {\n RotationGestureHandler,\n rotationHandlerName,\n} from '../handlers/RotationGestureHandler';\nimport {\n TapGestureHandler,\n tapHandlerName,\n} from '../handlers/TapGestureHandler';\nimport { State } from '../State';\nimport { hasProperty, withPrevAndCurrent } from '../utils';\n\n// Load fireEvent conditionally, so RNGH may be used in setups without testing-library\nlet fireEvent = (\n _element: ReactTestInstance,\n _name: string,\n ..._data: any[]\n) => {\n // NOOP\n};\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n fireEvent = require('@testing-library/react-native').fireEvent;\n} catch (_e) {\n // Do nothing if not available\n}\n\ntype GestureHandlerTestEvent<\n TEventPayload extends Record<string, unknown> = Record<string, unknown>,\n> = (\n | GestureEvent<TEventPayload>\n | HandlerStateChangeEvent<TEventPayload>\n)['nativeEvent'];\n\ntype HandlerNames = keyof DefaultEventsMapping;\n\ntype WithNumberOfPointers<T> = {\n [P in keyof T]: T[P] & { numberOfPointers: number };\n};\ntype DefaultEventsMapping = WithNumberOfPointers<{\n [flingHandlerName]: FlingGestureHandlerEventPayload;\n [forceTouchHandlerName]: ForceTouchGestureHandlerEventPayload;\n [longPressHandlerName]: LongPressGestureHandlerEventPayload;\n [nativeViewHandlerName]: NativeViewGestureHandlerPayload;\n [panHandlerName]: PanGestureHandlerEventPayload;\n [pinchHandlerName]: PinchGestureHandlerEventPayload;\n [rotationHandlerName]: RotationGestureHandlerEventPayload;\n [tapHandlerName]: TapGestureHandlerEventPayload;\n}>;\n\nconst handlersDefaultEvents: DefaultEventsMapping = {\n [flingHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n numberOfPointers: 1,\n },\n [forceTouchHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n force: 1,\n numberOfPointers: 1,\n },\n [longPressHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n duration: 100,\n numberOfPointers: 1,\n },\n [nativeViewHandlerName]: {\n pointerInside: true,\n numberOfPointers: 1,\n },\n [panHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n translationX: 100,\n translationY: 0,\n velocityX: 3,\n velocityY: 0,\n numberOfPointers: 1,\n stylusData: undefined,\n },\n [pinchHandlerName]: {\n focalX: 0,\n focalY: 0,\n scale: 2,\n velocity: 1,\n numberOfPointers: 2,\n },\n [rotationHandlerName]: {\n anchorX: 0,\n anchorY: 0,\n rotation: 3.14,\n velocity: 2,\n numberOfPointers: 2,\n },\n [tapHandlerName]: {\n x: 0,\n y: 0,\n absoluteX: 0,\n absoluteY: 0,\n numberOfPointers: 1,\n },\n};\n\nfunction isGesture(\n componentOrGesture: ReactTestInstance | GestureType\n): componentOrGesture is GestureType {\n return componentOrGesture instanceof BaseGesture;\n}\n\ninterface WrappedGestureHandlerTestEvent {\n nativeEvent: GestureHandlerTestEvent;\n}\nfunction wrapWithNativeEvent(\n event: GestureHandlerTestEvent\n): WrappedGestureHandlerTestEvent {\n return { nativeEvent: event };\n}\n\nfunction fillOldStateChanges(\n previousEvent: GestureHandlerTestEvent | null,\n currentEvent: Omit<GestureHandlerTestEvent, 'oldState'>\n): GestureHandlerTestEvent {\n const isFirstEvent = previousEvent === null;\n if (isFirstEvent) {\n return {\n oldState: State.UNDETERMINED,\n ...currentEvent,\n } as GestureHandlerTestEvent;\n }\n\n const isGestureStateEvent = previousEvent.state !== currentEvent.state;\n if (isGestureStateEvent) {\n return {\n oldState: previousEvent?.state,\n ...currentEvent,\n } as GestureHandlerTestEvent;\n } else {\n return currentEvent as GestureHandlerTestEvent;\n }\n}\n\ntype EventWithStates = Partial<\n Pick<GestureHandlerTestEvent, 'oldState' | 'state'>\n>;\nfunction validateStateTransitions(\n previousEvent: EventWithStates | null,\n currentEvent: EventWithStates\n) {\n function stringify(event: Record<string, unknown> | null) {\n return JSON.stringify(event, null, 2);\n }\n function errorMsgWithBothEvents(description: string) {\n return `${description}, invalid event: ${stringify(\n currentEvent\n )}, previous event: ${stringify(previousEvent)}`;\n }\n\n function errorMsgWithCurrentEvent(description: string) {\n return `${description}, invalid event: ${stringify(currentEvent)}`;\n }\n\n invariant(\n hasProperty(currentEvent, 'state'),\n errorMsgWithCurrentEvent('every event must have state')\n );\n\n const isFirstEvent = previousEvent === null;\n if (isFirstEvent) {\n invariant(\n currentEvent.state === State.BEGAN,\n errorMsgWithCurrentEvent('first event must have BEGAN state')\n );\n }\n\n if (previousEvent !== null) {\n if (previousEvent.state !== currentEvent.state) {\n invariant(\n hasProperty(currentEvent, 'oldState'),\n errorMsgWithCurrentEvent(\n 'when state changes, oldState field should be present'\n )\n );\n invariant(\n currentEvent.oldState === previousEvent.state,\n errorMsgWithBothEvents(\n \"when state changes, oldState should be the same as previous event' state\"\n )\n );\n }\n }\n\n return currentEvent;\n}\n\ntype EventWithoutStates = Omit<GestureHandlerTestEvent, 'oldState' | 'state'>;\ninterface HandlerInfo {\n handlerType: HandlerNames;\n handlerTag: number;\n}\nfunction fillMissingDefaultsFor({\n handlerType,\n handlerTag,\n}: HandlerInfo): (\n event: Partial<GestureHandlerTestEvent>\n) => EventWithoutStates {\n return (event) => {\n return {\n ...handlersDefaultEvents[handlerType],\n ...event,\n handlerTag,\n };\n };\n}\n\nfunction isDiscreteHandler(handlerType: HandlerNames) {\n return (\n handlerType === 'TapGestureHandler' ||\n handlerType === 'LongPressGestureHandler'\n );\n}\n\nfunction fillMissingStatesTransitions(\n events: EventWithoutStates[],\n isDiscreteHandler: boolean\n): EventWithoutStates[] {\n type Event = EventWithoutStates | null;\n const _events = [...events];\n const lastEvent = _events[_events.length - 1] ?? null;\n const firstEvent = _events[0] ?? null;\n\n const shouldDuplicateFirstEvent =\n !isDiscreteHandler && !hasState(State.BEGAN)(firstEvent);\n if (shouldDuplicateFirstEvent) {\n const duplicated = { ...firstEvent, state: State.BEGAN };\n // @ts-ignore badly typed, property may exist and we don't want to copy it\n delete duplicated.oldState;\n _events.unshift(duplicated);\n }\n\n const shouldDuplicateLastEvent =\n !hasState(State.END)(lastEvent) ||\n !hasState(State.FAILED)(lastEvent) ||\n !hasState(State.CANCELLED)(lastEvent);\n\n if (shouldDuplicateLastEvent) {\n const duplicated = { ...lastEvent, state: State.END };\n // @ts-ignore badly typed, property may exist and we don't want to copy it\n delete duplicated.oldState;\n _events.push(duplicated);\n }\n\n function isWithoutState(event: Event) {\n return event !== null && !hasProperty(event, 'state');\n }\n function hasState(state: State) {\n return (event: Event) => event !== null && event.state === state;\n }\n function noEventsLeft(event: Event) {\n return event === null;\n }\n\n function trueFn() {\n return true;\n }\n interface Args {\n shouldConsumeEvent?: (event: Event) => boolean;\n shouldTransitionToNextState?: (nextEvent: Event) => boolean;\n }\n function fillEventsForCurrentState({\n shouldConsumeEvent = trueFn,\n shouldTransitionToNextState = trueFn,\n }: Args) {\n function peekCurrentEvent(): Event {\n return _events[0] ?? null;\n }\n function peekNextEvent(): Event {\n return _events[1] ?? null;\n }\n function consumeCurrentEvent() {\n _events.shift();\n }\n const currentEvent = peekCurrentEvent();\n const nextEvent = peekNextEvent();\n const currentRequiredState = REQUIRED_EVENTS[currentStateIdx];\n\n let eventData = {};\n const shouldUseEvent = shouldConsumeEvent(currentEvent);\n if (shouldUseEvent) {\n eventData = currentEvent!;\n consumeCurrentEvent();\n }\n transformedEvents.push({ state: currentRequiredState, ...eventData });\n if (shouldTransitionToNextState(nextEvent)) {\n currentStateIdx++;\n }\n }\n\n const REQUIRED_EVENTS = [State.BEGAN, State.ACTIVE, State.END];\n\n let currentStateIdx = 0;\n const transformedEvents: EventWithoutStates[] = [];\n let hasAllStates;\n let iterations = 0;\n do {\n const nextRequiredState = REQUIRED_EVENTS[currentStateIdx];\n if (nextRequiredState === State.BEGAN) {\n fillEventsForCurrentState({\n shouldConsumeEvent: (e: Event) =>\n isWithoutState(e) || hasState(State.BEGAN)(e),\n });\n } else if (nextRequiredState === State.ACTIVE) {\n const shouldConsumeEvent = (e: Event) =>\n isWithoutState(e) || hasState(State.ACTIVE)(e);\n const shouldTransitionToNextState = (nextEvent: Event) =>\n noEventsLeft(nextEvent) ||\n hasState(State.END)(nextEvent) ||\n hasState(State.FAILED)(nextEvent) ||\n hasState(State.CANCELLED)(nextEvent);\n\n fillEventsForCurrentState({\n shouldConsumeEvent,\n shouldTransitionToNextState,\n });\n } else if (nextRequiredState === State.END) {\n fillEventsForCurrentState({});\n }\n hasAllStates = currentStateIdx === REQUIRED_EVENTS.length;\n\n invariant(\n iterations++ <= 500,\n 'exceeded max number of iterations, please report a bug in RNGH repository with your test case'\n );\n } while (!hasAllStates);\n\n return transformedEvents;\n}\n\ntype EventEmitter = (\n eventName: string,\n args: { nativeEvent: GestureHandlerTestEvent }\n) => void;\ninterface HandlerData {\n emitEvent: EventEmitter;\n handlerType: HandlerNames;\n handlerTag: number;\n enabled: boolean | undefined;\n}\nfunction getHandlerData(\n componentOrGesture: ReactTestInstance | GestureType\n): HandlerData {\n if (isGesture(componentOrGesture)) {\n const gesture = componentOrGesture;\n return {\n emitEvent: (eventName, args) => {\n DeviceEventEmitter.emit(eventName, args.nativeEvent);\n },\n handlerType: gesture.handlerName as HandlerNames,\n handlerTag: gesture.handlerTag,\n enabled: gesture.config.enabled,\n };\n }\n const gestureHandlerComponent = componentOrGesture;\n return {\n emitEvent: (eventName, args) => {\n fireEvent(gestureHandlerComponent, eventName, args);\n },\n handlerType: gestureHandlerComponent.props.handlerType as HandlerNames,\n handlerTag: gestureHandlerComponent.props.handlerTag as number,\n enabled: gestureHandlerComponent.props.enabled,\n };\n}\ntype AllGestures =\n | TapGesture\n | PanGesture\n | LongPressGesture\n | RotationGesture\n | PinchGesture\n | FlingGesture\n | ForceTouchGesture\n | NativeGesture;\n\ntype AllHandlers =\n | TapGestureHandler\n | PanGestureHandler\n | LongPressGestureHandler\n | RotationGestureHandler\n | PinchGestureHandler\n | FlingGestureHandler\n | ForceTouchGestureHandler\n | NativeViewGestureHandler;\n\n// prettier-ignore\ntype ClassComponentConstructor<P> = new (props: P) => React.Component<P, any, any>;\n\ntype ExtractPayloadFromProps<T> =\n T extends BaseGestureHandlerProps<infer TPayload> ? TPayload : never;\n\ntype ExtractConfig<T> =\n T extends BaseGesture<infer TGesturePayload>\n ? TGesturePayload\n : T extends ClassComponentConstructor<infer THandlerProps>\n ? ExtractPayloadFromProps<THandlerProps>\n : Record<string, unknown>;\n\nexport function fireGestureHandler<THandler extends AllGestures | AllHandlers>(\n componentOrGesture: ReactTestInstance | GestureType,\n eventList: Partial<GestureHandlerTestEvent<ExtractConfig<THandler>>>[] = []\n): void {\n const { emitEvent, handlerType, handlerTag, enabled } =\n getHandlerData(componentOrGesture);\n\n if (enabled === false) {\n return;\n }\n\n let _ = fillMissingStatesTransitions(\n eventList,\n isDiscreteHandler(handlerType)\n );\n _ = _.map(fillMissingDefaultsFor({ handlerTag, handlerType }));\n _ = withPrevAndCurrent(_, fillOldStateChanges);\n _ = withPrevAndCurrent(_, validateStateTransitions);\n // @ts-ignore TODO\n _ = _.map(wrapWithNativeEvent);\n\n const events = _ as unknown as WrappedGestureHandlerTestEvent[];\n\n const firstEvent = events.shift()!;\n\n emitEvent('onGestureHandlerStateChange', firstEvent);\n let lastSentEvent = firstEvent;\n for (const event of events) {\n const hasChangedState =\n lastSentEvent.nativeEvent.state !== event.nativeEvent.state;\n\n if (hasChangedState) {\n emitEvent('onGestureHandlerStateChange', event);\n } else {\n emitEvent('onGestureHandlerEvent', event);\n }\n lastSentEvent = event;\n }\n}\n\nexport function getByGestureTestId(testID: string) {\n const handler = findHandlerByTestID(testID);\n if (handler === null) {\n throw new Error(`Handler with id: '${testID}' cannot be found`);\n }\n return handler;\n}\n"]}
|
package/lib/module/mocks.js
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
function _extends() {
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
2
|
+
|
2
3
|
import React from 'react';
|
3
4
|
import { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, ScrollView, FlatList, Switch, TextInput, DrawerLayoutAndroid, View } from 'react-native';
|
4
5
|
import { State } from './State';
|
5
6
|
import { Directions } from './Directions';
|
6
|
-
|
7
|
-
|
7
|
+
|
8
|
+
const NOOP = () => {// Do nothing
|
8
9
|
};
|
10
|
+
|
9
11
|
const PanGestureHandler = View;
|
10
12
|
const attachGestureHandler = NOOP;
|
11
13
|
const createGestureHandler = NOOP;
|
@@ -20,12 +22,14 @@ const LongPressGestureHandler = View;
|
|
20
22
|
const PinchGestureHandler = View;
|
21
23
|
const RotationGestureHandler = View;
|
22
24
|
const FlingGestureHandler = View;
|
25
|
+
|
23
26
|
const RawButton = ({
|
24
27
|
enabled,
|
25
28
|
...rest
|
26
29
|
}) => /*#__PURE__*/React.createElement(TouchableNativeFeedback, _extends({
|
27
30
|
disabled: !enabled
|
28
31
|
}, rest), /*#__PURE__*/React.createElement(View, null));
|
32
|
+
|
29
33
|
const BaseButton = RawButton;
|
30
34
|
const RectButton = RawButton;
|
31
35
|
const BorderlessButton = TouchableNativeFeedback;
|