react-native-gesture-handler 2.27.1 → 2.28.0
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 +3 -2
- package/ReanimatedSwipeable/package.json +4 -4
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +14 -8
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +10 -5
- package/android/src/main/jni/CMakeLists.txt +5 -0
- package/android/src/main/jni/cpp-adapter.cpp +6 -0
- package/apple/RNGestureHandler.h +4 -0
- package/apple/RNGestureHandler.mm +41 -6
- package/apple/RNGestureHandlerModule.mm +5 -0
- package/jestSetup.js +22 -3
- package/lib/commonjs/components/Pressable/Pressable.js +12 -21
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/StateMachine.js +8 -2
- package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -1
- package/lib/commonjs/components/Pressable/stateDefinitions.js +22 -23
- package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -1
- package/lib/commonjs/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +30 -39
- package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
- package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +12 -0
- package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
- package/lib/commonjs/components/ReanimatedSwipeable/index.js +21 -0
- package/lib/commonjs/components/ReanimatedSwipeable/index.js.map +1 -0
- package/lib/commonjs/components/gestureHandlerRootHOC.js +4 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +1 -1
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/mocks/Pressable.js +13 -0
- package/lib/commonjs/mocks/Pressable.js.map +1 -0
- package/lib/commonjs/{mocks.js → mocks/mocks.js} +8 -11
- package/lib/commonjs/mocks/mocks.js.map +1 -0
- package/lib/commonjs/web/handlers/GestureHandler.js +5 -2
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -5
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +34 -8
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +14 -23
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/StateMachine.js +8 -2
- package/lib/module/components/Pressable/StateMachine.js.map +1 -1
- package/lib/module/components/Pressable/stateDefinitions.js +21 -22
- package/lib/module/components/Pressable/stateDefinitions.js.map +1 -1
- package/lib/module/components/{ReanimatedSwipeable.js → ReanimatedSwipeable/ReanimatedSwipeable.js} +24 -33
- package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -0
- package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +8 -0
- package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js.map +1 -0
- package/lib/module/components/ReanimatedSwipeable/index.js +5 -0
- package/lib/module/components/ReanimatedSwipeable/index.js.map +1 -0
- package/lib/module/components/gestureHandlerRootHOC.js +5 -0
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/handlers/createHandler.js +1 -1
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/mocks/Pressable.js +4 -0
- package/lib/module/mocks/Pressable.js.map +1 -0
- package/lib/module/{mocks.js → mocks/mocks.js} +7 -11
- package/lib/module/mocks/mocks.js.map +1 -0
- package/lib/module/web/handlers/GestureHandler.js +5 -2
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -5
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +34 -8
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/typescript/ActionType.d.ts +1 -0
- package/lib/typescript/Directions.d.ts +1 -0
- package/lib/typescript/EnableNewWebImplementation.d.ts +1 -0
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +1 -0
- package/lib/typescript/PlatformConstants.d.ts +1 -0
- package/lib/typescript/PlatformConstants.web.d.ts +1 -0
- package/lib/typescript/PointerType.d.ts +1 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +1 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -0
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +1 -0
- package/lib/typescript/RNRenderer.d.ts +1 -0
- package/lib/typescript/RNRenderer.web.d.ts +1 -0
- package/lib/typescript/State.d.ts +1 -0
- package/lib/typescript/TouchEventType.d.ts +1 -0
- package/lib/typescript/components/DrawerLayout.d.ts +1 -0
- package/lib/typescript/components/GestureButtons.d.ts +1 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +10 -1
- package/lib/typescript/components/GestureButtonsProps.d.ts.map +1 -1
- package/lib/typescript/components/GestureComponents.d.ts +1 -0
- package/lib/typescript/components/GestureComponents.web.d.ts +1 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +1 -0
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +1 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +1 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +1 -0
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +1 -0
- package/lib/typescript/components/Pressable/Pressable.d.ts +1 -0
- package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -4
- package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/StateMachine.d.ts +4 -2
- package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/index.d.ts +1 -0
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts +3 -2
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/utils.d.ts +1 -0
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +1 -0
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -0
- package/lib/typescript/components/{ReanimatedSwipeable.d.ts → ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts} +10 -7
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -0
- package/lib/typescript/components/ReanimatedSwipeable/index.d.ts +3 -0
- package/lib/typescript/components/ReanimatedSwipeable/index.d.ts.map +1 -0
- package/lib/typescript/components/Swipeable.d.ts +1 -0
- package/lib/typescript/components/Text.d.ts +1 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +5 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts.map +1 -1
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +1 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +1 -0
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +1 -0
- package/lib/typescript/components/touchables/index.d.ts +1 -0
- package/lib/typescript/components/utils.d.ts +1 -0
- package/lib/typescript/findNodeHandle.d.ts +1 -0
- package/lib/typescript/findNodeHandle.web.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
- package/lib/typescript/ghQueueMicrotask.d.ts +1 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +1 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +1 -0
- package/lib/typescript/handlers/createHandler.d.ts +1 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +1 -0
- package/lib/typescript/handlers/customDirectEventTypes.d.ts +1 -0
- package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +1 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +1 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +1 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +1 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +1 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +1 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +1 -0
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +1 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +1 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +1 -0
- package/lib/typescript/handlers/getNextHandlerTag.d.ts +1 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/handlers/utils.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/init.d.ts +1 -0
- package/lib/typescript/jestUtils/index.d.ts +1 -0
- package/lib/typescript/jestUtils/jestUtils.d.ts +1 -0
- package/lib/typescript/mocks/Pressable.d.ts +2 -0
- package/lib/typescript/mocks/Pressable.d.ts.map +1 -0
- package/lib/typescript/{mocks.d.ts → mocks/mocks.d.ts} +5 -4
- package/lib/typescript/mocks/mocks.d.ts.map +1 -0
- package/lib/typescript/mountRegistry.d.ts +1 -0
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +1 -0
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +1 -0
- package/lib/typescript/typeUtils.d.ts +1 -0
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/Gestures.d.ts +1 -0
- package/lib/typescript/web/constants.d.ts +1 -0
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +1 -0
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +1 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -0
- package/lib/typescript/web/interfaces.d.ts +1 -0
- package/lib/typescript/web/tools/CircularBuffer.d.ts +1 -0
- package/lib/typescript/web/tools/EventManager.d.ts +1 -0
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -0
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +1 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +1 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts.map +1 -1
- package/lib/typescript/web/tools/InteractionManager.d.ts +1 -0
- package/lib/typescript/web/tools/KeyboardEventManager.d.ts +7 -3
- package/lib/typescript/web/tools/KeyboardEventManager.d.ts.map +1 -1
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +1 -0
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +1 -0
- package/lib/typescript/web/tools/PointerTracker.d.ts +1 -0
- package/lib/typescript/web/tools/Vector.d.ts +1 -0
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -0
- package/lib/typescript/web/tools/WheelEventManager.d.ts +1 -0
- package/lib/typescript/web/utils.d.ts +1 -0
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/Errors.d.ts +1 -0
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/GestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/NodeManager.d.ts +1 -0
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +1 -0
- package/lib/typescript/web_hammer/constants.d.ts +1 -0
- package/lib/typescript/web_hammer/utils.d.ts +1 -0
- package/package.json +4 -3
- package/scripts/gesture_handler_utils.rb +25 -0
- package/src/components/GestureButtonsProps.ts +10 -0
- package/src/components/Pressable/Pressable.tsx +20 -31
- package/src/components/Pressable/PressableProps.tsx +2 -4
- package/src/components/Pressable/StateMachine.tsx +12 -4
- package/src/components/Pressable/stateDefinitions.ts +23 -23
- package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +603 -0
- package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +199 -0
- package/src/components/ReanimatedSwipeable/index.ts +6 -0
- package/src/components/gestureHandlerRootHOC.tsx +4 -0
- package/src/handlers/createHandler.tsx +1 -1
- package/src/handlers/gestures/GestureDetector/index.tsx +1 -1
- package/src/mocks/Pressable.tsx +1 -0
- package/src/{mocks.tsx → mocks/mocks.tsx} +7 -11
- package/src/web/handlers/GestureHandler.ts +8 -3
- package/src/web/tools/GestureHandlerWebDelegate.ts +0 -5
- package/src/web/tools/KeyboardEventManager.ts +50 -8
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +0 -1
- package/lib/commonjs/mocks.js.map +0 -1
- package/lib/module/components/ReanimatedSwipeable.js.map +0 -1
- package/lib/module/mocks.js.map +0 -1
- package/lib/typescript/ActionType.js +0 -6
- package/lib/typescript/Directions.js +0 -18
- package/lib/typescript/EnableNewWebImplementation.js +0 -30
- package/lib/typescript/GestureHandlerRootViewContext.js +0 -2
- package/lib/typescript/PlatformConstants.js +0 -3
- package/lib/typescript/PlatformConstants.web.js +0 -5
- package/lib/typescript/PointerType.js +0 -8
- package/lib/typescript/RNGestureHandlerModule.js +0 -4
- package/lib/typescript/RNGestureHandlerModule.web.js +0 -92
- package/lib/typescript/RNGestureHandlerModule.windows.js +0 -47
- package/lib/typescript/RNRenderer.js +0 -3
- package/lib/typescript/RNRenderer.web.js +0 -3
- package/lib/typescript/State.js +0 -9
- package/lib/typescript/TouchEventType.js +0 -7
- package/lib/typescript/components/DrawerLayout.js +0 -417
- package/lib/typescript/components/GestureButtons.js +0 -165
- package/lib/typescript/components/GestureButtonsProps.js +0 -1
- package/lib/typescript/components/GestureComponents.js +0 -67
- package/lib/typescript/components/GestureComponents.web.js +0 -21
- package/lib/typescript/components/GestureHandlerButton.js +0 -2
- package/lib/typescript/components/GestureHandlerButton.web.js +0 -3
- package/lib/typescript/components/GestureHandlerRootView.android.js +0 -17
- package/lib/typescript/components/GestureHandlerRootView.js +0 -16
- package/lib/typescript/components/GestureHandlerRootView.web.js +0 -11
- package/lib/typescript/components/Pressable/Pressable.js +0 -231
- package/lib/typescript/components/Pressable/PressableProps.js +0 -1
- package/lib/typescript/components/Pressable/StateMachine.js +0 -34
- package/lib/typescript/components/Pressable/index.js +0 -1
- package/lib/typescript/components/Pressable/stateDefinitions.js +0 -104
- package/lib/typescript/components/Pressable/utils.js +0 -80
- package/lib/typescript/components/ReanimatedDrawerLayout.js +0 -364
- package/lib/typescript/components/ReanimatedSwipeable.d.ts.map +0 -1
- package/lib/typescript/components/ReanimatedSwipeable.js +0 -400
- package/lib/typescript/components/Swipeable.js +0 -287
- package/lib/typescript/components/Text.js +0 -38
- package/lib/typescript/components/gestureHandlerRootHOC.js +0 -18
- package/lib/typescript/components/touchables/ExtraButtonProps.js +0 -1
- package/lib/typescript/components/touchables/GenericTouchable.js +0 -221
- package/lib/typescript/components/touchables/GenericTouchableProps.js +0 -1
- package/lib/typescript/components/touchables/TouchableHighlight.js +0 -75
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +0 -65
- package/lib/typescript/components/touchables/TouchableNativeFeedback.js +0 -6
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +0 -1
- package/lib/typescript/components/touchables/TouchableOpacity.js +0 -51
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +0 -10
- package/lib/typescript/components/touchables/index.js +0 -4
- package/lib/typescript/components/utils.js +0 -11
- package/lib/typescript/findNodeHandle.js +0 -2
- package/lib/typescript/findNodeHandle.web.js +0 -31
- package/lib/typescript/getShadowNodeFromRef.js +0 -45
- package/lib/typescript/getShadowNodeFromRef.web.js +0 -7
- package/lib/typescript/ghQueueMicrotask.js +0 -7
- package/lib/typescript/handlers/FlingGestureHandler.js +0 -19
- package/lib/typescript/handlers/ForceTouchGestureHandler.js +0 -37
- package/lib/typescript/handlers/GestureHandlerEventPayload.js +0 -1
- package/lib/typescript/handlers/LongPressGestureHandler.js +0 -22
- package/lib/typescript/handlers/NativeViewGestureHandler.js +0 -20
- package/lib/typescript/handlers/PanGestureHandler.js +0 -128
- package/lib/typescript/handlers/PinchGestureHandler.js +0 -12
- package/lib/typescript/handlers/PressabilityDebugView.js +0 -2
- package/lib/typescript/handlers/PressabilityDebugView.web.js +0 -4
- package/lib/typescript/handlers/RotationGestureHandler.js +0 -12
- package/lib/typescript/handlers/TapGestureHandler.js +0 -26
- package/lib/typescript/handlers/createHandler.js +0 -375
- package/lib/typescript/handlers/createNativeWrapper.js +0 -67
- package/lib/typescript/handlers/customDirectEventTypes.js +0 -2
- package/lib/typescript/handlers/customDirectEventTypes.web.js +0 -4
- package/lib/typescript/handlers/gestureHandlerCommon.js +0 -42
- package/lib/typescript/handlers/gestureHandlerTypesCompat.js +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +0 -22
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +0 -24
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +0 -55
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +0 -12
- package/lib/typescript/handlers/gestures/GestureDetector/index.js +0 -114
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
- package/lib/typescript/handlers/gestures/GestureDetector/types.js +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +0 -54
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -137
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -48
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +0 -35
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -32
- package/lib/typescript/handlers/gestures/GestureDetector/utils.js +0 -140
- package/lib/typescript/handlers/gestures/eventReceiver.js +0 -105
- package/lib/typescript/handlers/gestures/flingGesture.js +0 -27
- package/lib/typescript/handlers/gestures/forceTouchGesture.js +0 -57
- package/lib/typescript/handlers/gestures/gesture.js +0 -303
- package/lib/typescript/handlers/gestures/gestureComposition.js +0 -78
- package/lib/typescript/handlers/gestures/gestureObjects.js +0 -125
- package/lib/typescript/handlers/gestures/gestureStateManager.js +0 -60
- package/lib/typescript/handlers/gestures/gestureStateManager.web.js +0 -19
- package/lib/typescript/handlers/gestures/hoverGesture.js +0 -45
- package/lib/typescript/handlers/gestures/longPressGesture.js +0 -35
- package/lib/typescript/handlers/gestures/manualGesture.js +0 -16
- package/lib/typescript/handlers/gestures/nativeGesture.js +0 -24
- package/lib/typescript/handlers/gestures/panGesture.js +0 -181
- package/lib/typescript/handlers/gestures/pinchGesture.js +0 -27
- package/lib/typescript/handlers/gestures/reanimatedWrapper.js +0 -23
- package/lib/typescript/handlers/gestures/rotationGesture.js +0 -27
- package/lib/typescript/handlers/gestures/tapGesture.js +0 -72
- package/lib/typescript/handlers/getNextHandlerTag.js +0 -4
- package/lib/typescript/handlers/handlersRegistry.js +0 -36
- package/lib/typescript/handlers/utils.js +0 -58
- package/lib/typescript/index.js +0 -28
- package/lib/typescript/init.js +0 -15
- package/lib/typescript/jestUtils/index.js +0 -1
- package/lib/typescript/jestUtils/jestUtils.js +0 -290
- package/lib/typescript/mocks.d.ts.map +0 -1
- package/lib/typescript/mocks.js +0 -59
- package/lib/typescript/mountRegistry.js +0 -29
- package/lib/typescript/specs/NativeRNGestureHandlerModule.js +0 -2
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +0 -2
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +0 -2
- package/lib/typescript/typeUtils.js +0 -1
- package/lib/typescript/utils.js +0 -80
- package/lib/typescript/web/Gestures.js +0 -38
- package/lib/typescript/web/constants.js +0 -2
- package/lib/typescript/web/detectors/RotationGestureDetector.js +0 -122
- package/lib/typescript/web/detectors/ScaleGestureDetector.js +0 -117
- package/lib/typescript/web/handlers/FlingGestureHandler.js +0 -133
- package/lib/typescript/web/handlers/GestureHandler.js +0 -656
- package/lib/typescript/web/handlers/HoverGestureHandler.js +0 -37
- package/lib/typescript/web/handlers/IGestureHandler.js +0 -1
- package/lib/typescript/web/handlers/LongPressGestureHandler.js +0 -136
- package/lib/typescript/web/handlers/ManualGestureHandler.js +0 -29
- package/lib/typescript/web/handlers/NativeViewGestureHandler.js +0 -133
- package/lib/typescript/web/handlers/PanGestureHandler.js +0 -420
- package/lib/typescript/web/handlers/PinchGestureHandler.js +0 -117
- package/lib/typescript/web/handlers/RotationGestureHandler.js +0 -122
- package/lib/typescript/web/handlers/TapGestureHandler.js +0 -202
- package/lib/typescript/web/interfaces.js +0 -25
- package/lib/typescript/web/tools/CircularBuffer.js +0 -37
- package/lib/typescript/web/tools/EventManager.js +0 -85
- package/lib/typescript/web/tools/GestureHandlerDelegate.js +0 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +0 -273
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +0 -169
- package/lib/typescript/web/tools/InteractionManager.js +0 -91
- package/lib/typescript/web/tools/KeyboardEventManager.js +0 -73
- package/lib/typescript/web/tools/LeastSquareSolver.js +0 -147
- package/lib/typescript/web/tools/NodeManager.js +0 -28
- package/lib/typescript/web/tools/PointerEventManager.js +0 -179
- package/lib/typescript/web/tools/PointerTracker.js +0 -161
- package/lib/typescript/web/tools/Vector.js +0 -43
- package/lib/typescript/web/tools/VelocityTracker.js +0 -76
- package/lib/typescript/web/tools/WheelEventManager.js +0 -40
- package/lib/typescript/web/utils.js +0 -233
- package/lib/typescript/web_hammer/DiscreteGestureHandler.js +0 -48
- package/lib/typescript/web_hammer/DraggingGestureHandler.js +0 -25
- package/lib/typescript/web_hammer/Errors.js +0 -5
- package/lib/typescript/web_hammer/FlingGestureHandler.js +0 -119
- package/lib/typescript/web_hammer/GestureHandler.js +0 -469
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +0 -26
- package/lib/typescript/web_hammer/LongPressGestureHandler.js +0 -46
- package/lib/typescript/web_hammer/NativeViewGestureHandler.js +0 -40
- package/lib/typescript/web_hammer/NodeManager.js +0 -28
- package/lib/typescript/web_hammer/PanGestureHandler.js +0 -151
- package/lib/typescript/web_hammer/PinchGestureHandler.js +0 -19
- package/lib/typescript/web_hammer/PressGestureHandler.js +0 -133
- package/lib/typescript/web_hammer/RotationGestureHandler.js +0 -20
- package/lib/typescript/web_hammer/TapGestureHandler.js +0 -142
- package/lib/typescript/web_hammer/constants.js +0 -42
- package/lib/typescript/web_hammer/utils.js +0 -15
- package/src/components/ReanimatedSwipeable.tsx +0 -811
@@ -1,72 +0,0 @@
|
|
1
|
-
import { BaseGesture } from './gesture';
|
2
|
-
export class TapGesture extends BaseGesture {
|
3
|
-
config = {};
|
4
|
-
constructor() {
|
5
|
-
super();
|
6
|
-
this.handlerName = 'TapGestureHandler';
|
7
|
-
this.shouldCancelWhenOutside(true);
|
8
|
-
}
|
9
|
-
/**
|
10
|
-
* Minimum number of pointers (fingers) required to be placed before the gesture activates.
|
11
|
-
* Should be a positive integer. The default value is 1.
|
12
|
-
* @param minPointers
|
13
|
-
*/
|
14
|
-
minPointers(minPointers) {
|
15
|
-
this.config.minPointers = minPointers;
|
16
|
-
return this;
|
17
|
-
}
|
18
|
-
/**
|
19
|
-
* Number of tap gestures required to activate the gesture.
|
20
|
-
* The default value is 1.
|
21
|
-
* @param count
|
22
|
-
*/
|
23
|
-
numberOfTaps(count) {
|
24
|
-
this.config.numberOfTaps = count;
|
25
|
-
return this;
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a tap gesture.
|
29
|
-
* @param maxDist
|
30
|
-
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdistancevalue-number
|
31
|
-
*/
|
32
|
-
maxDistance(maxDist) {
|
33
|
-
this.config.maxDist = maxDist;
|
34
|
-
return this;
|
35
|
-
}
|
36
|
-
/**
|
37
|
-
* Maximum time, expressed in milliseconds, that defines how fast a finger must be released after a touch.
|
38
|
-
* The default value is 500.
|
39
|
-
* @param duration
|
40
|
-
*/
|
41
|
-
maxDuration(duration) {
|
42
|
-
this.config.maxDurationMs = duration;
|
43
|
-
return this;
|
44
|
-
}
|
45
|
-
/**
|
46
|
-
* Maximum time, expressed in milliseconds, that can pass before the next tap — if many taps are required.
|
47
|
-
* The default value is 500.
|
48
|
-
* @param delay
|
49
|
-
*/
|
50
|
-
maxDelay(delay) {
|
51
|
-
this.config.maxDelayMs = delay;
|
52
|
-
return this;
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the X axis during a tap gesture.
|
56
|
-
* @param delta
|
57
|
-
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltaxvalue-number
|
58
|
-
*/
|
59
|
-
maxDeltaX(delta) {
|
60
|
-
this.config.maxDeltaX = delta;
|
61
|
-
return this;
|
62
|
-
}
|
63
|
-
/**
|
64
|
-
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the Y axis during a tap gesture.
|
65
|
-
* @param delta
|
66
|
-
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltayvalue-number
|
67
|
-
*/
|
68
|
-
maxDeltaY(delta) {
|
69
|
-
this.config.maxDeltaY = delta;
|
70
|
-
return this;
|
71
|
-
}
|
72
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { isTestEnv } from '../utils';
|
2
|
-
export const handlerIDToTag = {};
|
3
|
-
const gestures = new Map();
|
4
|
-
const oldHandlers = new Map();
|
5
|
-
const testIDs = new Map();
|
6
|
-
export function registerHandler(handlerTag, handler, testID) {
|
7
|
-
gestures.set(handlerTag, handler);
|
8
|
-
if (isTestEnv() && testID) {
|
9
|
-
testIDs.set(testID, handlerTag);
|
10
|
-
}
|
11
|
-
}
|
12
|
-
export function registerOldGestureHandler(handlerTag, handler) {
|
13
|
-
oldHandlers.set(handlerTag, handler);
|
14
|
-
}
|
15
|
-
export function unregisterOldGestureHandler(handlerTag) {
|
16
|
-
oldHandlers.delete(handlerTag);
|
17
|
-
}
|
18
|
-
export function unregisterHandler(handlerTag, testID) {
|
19
|
-
gestures.delete(handlerTag);
|
20
|
-
if (isTestEnv() && testID) {
|
21
|
-
testIDs.delete(testID);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
export function findHandler(handlerTag) {
|
25
|
-
return gestures.get(handlerTag);
|
26
|
-
}
|
27
|
-
export function findOldGestureHandler(handlerTag) {
|
28
|
-
return oldHandlers.get(handlerTag);
|
29
|
-
}
|
30
|
-
export function findHandlerByTestID(testID) {
|
31
|
-
const handlerTag = testIDs.get(testID);
|
32
|
-
if (handlerTag !== undefined) {
|
33
|
-
return findHandler(handlerTag) ?? null;
|
34
|
-
}
|
35
|
-
return null;
|
36
|
-
}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
import { Platform, findNodeHandle as findNodeHandleRN } from 'react-native';
|
2
|
-
import { handlerIDToTag } from './handlersRegistry';
|
3
|
-
import { toArray } from '../utils';
|
4
|
-
import RNGestureHandlerModule from '../RNGestureHandlerModule';
|
5
|
-
import { ghQueueMicrotask } from '../ghQueueMicrotask';
|
6
|
-
function isConfigParam(param, name) {
|
7
|
-
// param !== Object(param) returns false if `param` is a function
|
8
|
-
// or an object and returns true if `param` is null
|
9
|
-
return (param !== undefined &&
|
10
|
-
(param !== Object(param) ||
|
11
|
-
!('__isNative' in param)) &&
|
12
|
-
name !== 'onHandlerStateChange' &&
|
13
|
-
name !== 'onGestureEvent');
|
14
|
-
}
|
15
|
-
export function filterConfig(props, validProps, defaults = {}) {
|
16
|
-
const filteredConfig = { ...defaults };
|
17
|
-
for (const key of validProps) {
|
18
|
-
let value = props[key];
|
19
|
-
if (isConfigParam(value, key)) {
|
20
|
-
if (key === 'simultaneousHandlers' || key === 'waitFor') {
|
21
|
-
value = transformIntoHandlerTags(props[key]);
|
22
|
-
}
|
23
|
-
else if (key === 'hitSlop' && typeof value !== 'object') {
|
24
|
-
value = { top: value, left: value, bottom: value, right: value };
|
25
|
-
}
|
26
|
-
filteredConfig[key] = value;
|
27
|
-
}
|
28
|
-
}
|
29
|
-
return filteredConfig;
|
30
|
-
}
|
31
|
-
export function transformIntoHandlerTags(handlerIDs) {
|
32
|
-
handlerIDs = toArray(handlerIDs);
|
33
|
-
if (Platform.OS === 'web') {
|
34
|
-
return handlerIDs
|
35
|
-
.map(({ current }) => current)
|
36
|
-
.filter((handle) => handle);
|
37
|
-
}
|
38
|
-
// converts handler string IDs into their numeric tags
|
39
|
-
return handlerIDs
|
40
|
-
.map((handlerID) => handlerIDToTag[handlerID] || handlerID.current?.handlerTag || -1)
|
41
|
-
.filter((handlerTag) => handlerTag > 0);
|
42
|
-
}
|
43
|
-
export function findNodeHandle(node) {
|
44
|
-
if (Platform.OS === 'web') {
|
45
|
-
return node;
|
46
|
-
}
|
47
|
-
return findNodeHandleRN(node) ?? null;
|
48
|
-
}
|
49
|
-
let flushOperationsScheduled = false;
|
50
|
-
export function scheduleFlushOperations() {
|
51
|
-
if (!flushOperationsScheduled) {
|
52
|
-
flushOperationsScheduled = true;
|
53
|
-
ghQueueMicrotask(() => {
|
54
|
-
RNGestureHandlerModule.flushOperations();
|
55
|
-
flushOperationsScheduled = false;
|
56
|
-
});
|
57
|
-
}
|
58
|
-
}
|
package/lib/typescript/index.js
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
import { initialize } from './init';
|
2
|
-
export { Directions } from './Directions';
|
3
|
-
export { State } from './State';
|
4
|
-
export { PointerType } from './PointerType';
|
5
|
-
export { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';
|
6
|
-
export { default as GestureHandlerRootView } from './components/GestureHandlerRootView';
|
7
|
-
export { MouseButton } from './handlers/gestureHandlerCommon';
|
8
|
-
export { TapGestureHandler } from './handlers/TapGestureHandler';
|
9
|
-
export { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';
|
10
|
-
export { LongPressGestureHandler } from './handlers/LongPressGestureHandler';
|
11
|
-
export { PanGestureHandler } from './handlers/PanGestureHandler';
|
12
|
-
export { PinchGestureHandler } from './handlers/PinchGestureHandler';
|
13
|
-
export { RotationGestureHandler } from './handlers/RotationGestureHandler';
|
14
|
-
export { FlingGestureHandler } from './handlers/FlingGestureHandler';
|
15
|
-
export { default as createNativeWrapper } from './handlers/createNativeWrapper';
|
16
|
-
export { GestureDetector } from './handlers/gestures/GestureDetector';
|
17
|
-
export { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';
|
18
|
-
export { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';
|
19
|
-
export { RawButton, BaseButton, RectButton, BorderlessButton, PureNativeButton, } from './components/GestureButtons';
|
20
|
-
export { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, } from './components/touchables';
|
21
|
-
export { ScrollView, Switch, TextInput, DrawerLayoutAndroid, FlatList, RefreshControl, } from './components/GestureComponents';
|
22
|
-
export { Text } from './components/Text';
|
23
|
-
export { HoverEffect } from './handlers/gestures/hoverGesture';
|
24
|
-
export { default as Swipeable } from './components/Swipeable';
|
25
|
-
export { default as Pressable } from './components/Pressable';
|
26
|
-
export { default as DrawerLayout } from './components/DrawerLayout';
|
27
|
-
export { enableExperimentalWebImplementation, enableLegacyWebImplementation, } from './EnableNewWebImplementation';
|
28
|
-
initialize();
|
package/lib/typescript/init.js
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
import { startListening } from './handlers/gestures/eventReceiver';
|
2
|
-
import RNGestureHandlerModule from './RNGestureHandlerModule';
|
3
|
-
import { isFabric } from './utils';
|
4
|
-
let fabricInitialized = false;
|
5
|
-
export function initialize() {
|
6
|
-
startListening();
|
7
|
-
}
|
8
|
-
// Since isFabric() may give wrong results before the first render, we call this
|
9
|
-
// method during render of GestureHandlerRootView
|
10
|
-
export function maybeInitializeFabric() {
|
11
|
-
if (isFabric() && !fabricInitialized) {
|
12
|
-
RNGestureHandlerModule.install();
|
13
|
-
fabricInitialized = true;
|
14
|
-
}
|
15
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export { getByGestureTestId, fireGestureHandler } from './jestUtils';
|
@@ -1,290 +0,0 @@
|
|
1
|
-
import invariant from 'invariant';
|
2
|
-
import { DeviceEventEmitter } from 'react-native';
|
3
|
-
import { flingHandlerName, } from '../handlers/FlingGestureHandler';
|
4
|
-
import { forceTouchHandlerName, } from '../handlers/ForceTouchGestureHandler';
|
5
|
-
import { BaseGesture } from '../handlers/gestures/gesture';
|
6
|
-
import { findHandlerByTestID } from '../handlers/handlersRegistry';
|
7
|
-
import { longPressHandlerName, } from '../handlers/LongPressGestureHandler';
|
8
|
-
import { nativeViewHandlerName, } from '../handlers/NativeViewGestureHandler';
|
9
|
-
import { panHandlerName, } from '../handlers/PanGestureHandler';
|
10
|
-
import { pinchHandlerName, } from '../handlers/PinchGestureHandler';
|
11
|
-
import { rotationHandlerName, } from '../handlers/RotationGestureHandler';
|
12
|
-
import { tapHandlerName, } from '../handlers/TapGestureHandler';
|
13
|
-
import { State } from '../State';
|
14
|
-
import { hasProperty, withPrevAndCurrent } from '../utils';
|
15
|
-
// Load fireEvent conditionally, so RNGH may be used in setups without testing-library
|
16
|
-
let fireEvent = (_element, _name, ..._data) => {
|
17
|
-
// NOOP
|
18
|
-
};
|
19
|
-
try {
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
21
|
-
fireEvent = require('@testing-library/react-native').fireEvent;
|
22
|
-
}
|
23
|
-
catch (_e) {
|
24
|
-
// Do nothing if not available
|
25
|
-
}
|
26
|
-
const handlersDefaultEvents = {
|
27
|
-
[flingHandlerName]: {
|
28
|
-
x: 0,
|
29
|
-
y: 0,
|
30
|
-
absoluteX: 0,
|
31
|
-
absoluteY: 0,
|
32
|
-
numberOfPointers: 1,
|
33
|
-
},
|
34
|
-
[forceTouchHandlerName]: {
|
35
|
-
x: 0,
|
36
|
-
y: 0,
|
37
|
-
absoluteX: 0,
|
38
|
-
absoluteY: 0,
|
39
|
-
force: 1,
|
40
|
-
numberOfPointers: 1,
|
41
|
-
},
|
42
|
-
[longPressHandlerName]: {
|
43
|
-
x: 0,
|
44
|
-
y: 0,
|
45
|
-
absoluteX: 0,
|
46
|
-
absoluteY: 0,
|
47
|
-
duration: 100,
|
48
|
-
numberOfPointers: 1,
|
49
|
-
},
|
50
|
-
[nativeViewHandlerName]: {
|
51
|
-
pointerInside: true,
|
52
|
-
numberOfPointers: 1,
|
53
|
-
},
|
54
|
-
[panHandlerName]: {
|
55
|
-
x: 0,
|
56
|
-
y: 0,
|
57
|
-
absoluteX: 0,
|
58
|
-
absoluteY: 0,
|
59
|
-
translationX: 100,
|
60
|
-
translationY: 0,
|
61
|
-
velocityX: 3,
|
62
|
-
velocityY: 0,
|
63
|
-
numberOfPointers: 1,
|
64
|
-
stylusData: undefined,
|
65
|
-
},
|
66
|
-
[pinchHandlerName]: {
|
67
|
-
focalX: 0,
|
68
|
-
focalY: 0,
|
69
|
-
scale: 2,
|
70
|
-
velocity: 1,
|
71
|
-
numberOfPointers: 2,
|
72
|
-
},
|
73
|
-
[rotationHandlerName]: {
|
74
|
-
anchorX: 0,
|
75
|
-
anchorY: 0,
|
76
|
-
rotation: 3.14,
|
77
|
-
velocity: 2,
|
78
|
-
numberOfPointers: 2,
|
79
|
-
},
|
80
|
-
[tapHandlerName]: {
|
81
|
-
x: 0,
|
82
|
-
y: 0,
|
83
|
-
absoluteX: 0,
|
84
|
-
absoluteY: 0,
|
85
|
-
numberOfPointers: 1,
|
86
|
-
},
|
87
|
-
};
|
88
|
-
function isGesture(componentOrGesture) {
|
89
|
-
return componentOrGesture instanceof BaseGesture;
|
90
|
-
}
|
91
|
-
function wrapWithNativeEvent(event) {
|
92
|
-
return { nativeEvent: event };
|
93
|
-
}
|
94
|
-
function fillOldStateChanges(previousEvent, currentEvent) {
|
95
|
-
const isFirstEvent = previousEvent === null;
|
96
|
-
if (isFirstEvent) {
|
97
|
-
return {
|
98
|
-
oldState: State.UNDETERMINED,
|
99
|
-
...currentEvent,
|
100
|
-
};
|
101
|
-
}
|
102
|
-
const isGestureStateEvent = previousEvent.state !== currentEvent.state;
|
103
|
-
if (isGestureStateEvent) {
|
104
|
-
return {
|
105
|
-
oldState: previousEvent?.state,
|
106
|
-
...currentEvent,
|
107
|
-
};
|
108
|
-
}
|
109
|
-
else {
|
110
|
-
return currentEvent;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
function validateStateTransitions(previousEvent, currentEvent) {
|
114
|
-
function stringify(event) {
|
115
|
-
return JSON.stringify(event, null, 2);
|
116
|
-
}
|
117
|
-
function errorMsgWithBothEvents(description) {
|
118
|
-
return `${description}, invalid event: ${stringify(currentEvent)}, previous event: ${stringify(previousEvent)}`;
|
119
|
-
}
|
120
|
-
function errorMsgWithCurrentEvent(description) {
|
121
|
-
return `${description}, invalid event: ${stringify(currentEvent)}`;
|
122
|
-
}
|
123
|
-
invariant(hasProperty(currentEvent, 'state'), errorMsgWithCurrentEvent('every event must have state'));
|
124
|
-
const isFirstEvent = previousEvent === null;
|
125
|
-
if (isFirstEvent) {
|
126
|
-
invariant(currentEvent.state === State.BEGAN, errorMsgWithCurrentEvent('first event must have BEGAN state'));
|
127
|
-
}
|
128
|
-
if (previousEvent !== null) {
|
129
|
-
if (previousEvent.state !== currentEvent.state) {
|
130
|
-
invariant(hasProperty(currentEvent, 'oldState'), errorMsgWithCurrentEvent('when state changes, oldState field should be present'));
|
131
|
-
invariant(currentEvent.oldState === previousEvent.state, errorMsgWithBothEvents("when state changes, oldState should be the same as previous event' state"));
|
132
|
-
}
|
133
|
-
}
|
134
|
-
return currentEvent;
|
135
|
-
}
|
136
|
-
function fillMissingDefaultsFor({ handlerType, handlerTag, }) {
|
137
|
-
return (event) => {
|
138
|
-
return {
|
139
|
-
...handlersDefaultEvents[handlerType],
|
140
|
-
...event,
|
141
|
-
handlerTag,
|
142
|
-
};
|
143
|
-
};
|
144
|
-
}
|
145
|
-
function isDiscreteHandler(handlerType) {
|
146
|
-
return (handlerType === 'TapGestureHandler' ||
|
147
|
-
handlerType === 'LongPressGestureHandler');
|
148
|
-
}
|
149
|
-
function fillMissingStatesTransitions(events, isDiscreteHandler) {
|
150
|
-
const _events = [...events];
|
151
|
-
const lastEvent = _events[_events.length - 1] ?? null;
|
152
|
-
const firstEvent = _events[0] ?? null;
|
153
|
-
const shouldDuplicateFirstEvent = !isDiscreteHandler && !hasState(State.BEGAN)(firstEvent);
|
154
|
-
if (shouldDuplicateFirstEvent) {
|
155
|
-
const duplicated = { ...firstEvent, state: State.BEGAN };
|
156
|
-
// @ts-ignore badly typed, property may exist and we don't want to copy it
|
157
|
-
delete duplicated.oldState;
|
158
|
-
_events.unshift(duplicated);
|
159
|
-
}
|
160
|
-
const shouldDuplicateLastEvent = !hasState(State.END)(lastEvent) ||
|
161
|
-
!hasState(State.FAILED)(lastEvent) ||
|
162
|
-
!hasState(State.CANCELLED)(lastEvent);
|
163
|
-
if (shouldDuplicateLastEvent) {
|
164
|
-
const duplicated = { ...lastEvent, state: State.END };
|
165
|
-
// @ts-ignore badly typed, property may exist and we don't want to copy it
|
166
|
-
delete duplicated.oldState;
|
167
|
-
_events.push(duplicated);
|
168
|
-
}
|
169
|
-
function isWithoutState(event) {
|
170
|
-
return event !== null && !hasProperty(event, 'state');
|
171
|
-
}
|
172
|
-
function hasState(state) {
|
173
|
-
return (event) => event !== null && event.state === state;
|
174
|
-
}
|
175
|
-
function noEventsLeft(event) {
|
176
|
-
return event === null;
|
177
|
-
}
|
178
|
-
function trueFn() {
|
179
|
-
return true;
|
180
|
-
}
|
181
|
-
function fillEventsForCurrentState({ shouldConsumeEvent = trueFn, shouldTransitionToNextState = trueFn, }) {
|
182
|
-
function peekCurrentEvent() {
|
183
|
-
return _events[0] ?? null;
|
184
|
-
}
|
185
|
-
function peekNextEvent() {
|
186
|
-
return _events[1] ?? null;
|
187
|
-
}
|
188
|
-
function consumeCurrentEvent() {
|
189
|
-
_events.shift();
|
190
|
-
}
|
191
|
-
const currentEvent = peekCurrentEvent();
|
192
|
-
const nextEvent = peekNextEvent();
|
193
|
-
const currentRequiredState = REQUIRED_EVENTS[currentStateIdx];
|
194
|
-
let eventData = {};
|
195
|
-
const shouldUseEvent = shouldConsumeEvent(currentEvent);
|
196
|
-
if (shouldUseEvent) {
|
197
|
-
eventData = currentEvent;
|
198
|
-
consumeCurrentEvent();
|
199
|
-
}
|
200
|
-
transformedEvents.push({ state: currentRequiredState, ...eventData });
|
201
|
-
if (shouldTransitionToNextState(nextEvent)) {
|
202
|
-
currentStateIdx++;
|
203
|
-
}
|
204
|
-
}
|
205
|
-
const REQUIRED_EVENTS = [State.BEGAN, State.ACTIVE, State.END];
|
206
|
-
let currentStateIdx = 0;
|
207
|
-
const transformedEvents = [];
|
208
|
-
let hasAllStates;
|
209
|
-
let iterations = 0;
|
210
|
-
do {
|
211
|
-
const nextRequiredState = REQUIRED_EVENTS[currentStateIdx];
|
212
|
-
if (nextRequiredState === State.BEGAN) {
|
213
|
-
fillEventsForCurrentState({
|
214
|
-
shouldConsumeEvent: (e) => isWithoutState(e) || hasState(State.BEGAN)(e),
|
215
|
-
});
|
216
|
-
}
|
217
|
-
else if (nextRequiredState === State.ACTIVE) {
|
218
|
-
const shouldConsumeEvent = (e) => isWithoutState(e) || hasState(State.ACTIVE)(e);
|
219
|
-
const shouldTransitionToNextState = (nextEvent) => noEventsLeft(nextEvent) ||
|
220
|
-
hasState(State.END)(nextEvent) ||
|
221
|
-
hasState(State.FAILED)(nextEvent) ||
|
222
|
-
hasState(State.CANCELLED)(nextEvent);
|
223
|
-
fillEventsForCurrentState({
|
224
|
-
shouldConsumeEvent,
|
225
|
-
shouldTransitionToNextState,
|
226
|
-
});
|
227
|
-
}
|
228
|
-
else if (nextRequiredState === State.END) {
|
229
|
-
fillEventsForCurrentState({});
|
230
|
-
}
|
231
|
-
hasAllStates = currentStateIdx === REQUIRED_EVENTS.length;
|
232
|
-
invariant(iterations++ <= 500, 'exceeded max number of iterations, please report a bug in RNGH repository with your test case');
|
233
|
-
} while (!hasAllStates);
|
234
|
-
return transformedEvents;
|
235
|
-
}
|
236
|
-
function getHandlerData(componentOrGesture) {
|
237
|
-
if (isGesture(componentOrGesture)) {
|
238
|
-
const gesture = componentOrGesture;
|
239
|
-
return {
|
240
|
-
emitEvent: (eventName, args) => {
|
241
|
-
DeviceEventEmitter.emit(eventName, args.nativeEvent);
|
242
|
-
},
|
243
|
-
handlerType: gesture.handlerName,
|
244
|
-
handlerTag: gesture.handlerTag,
|
245
|
-
enabled: gesture.config.enabled,
|
246
|
-
};
|
247
|
-
}
|
248
|
-
const gestureHandlerComponent = componentOrGesture;
|
249
|
-
return {
|
250
|
-
emitEvent: (eventName, args) => {
|
251
|
-
fireEvent(gestureHandlerComponent, eventName, args);
|
252
|
-
},
|
253
|
-
handlerType: gestureHandlerComponent.props.handlerType,
|
254
|
-
handlerTag: gestureHandlerComponent.props.handlerTag,
|
255
|
-
enabled: gestureHandlerComponent.props.enabled,
|
256
|
-
};
|
257
|
-
}
|
258
|
-
export function fireGestureHandler(componentOrGesture, eventList = []) {
|
259
|
-
const { emitEvent, handlerType, handlerTag, enabled } = getHandlerData(componentOrGesture);
|
260
|
-
if (enabled === false) {
|
261
|
-
return;
|
262
|
-
}
|
263
|
-
let _ = fillMissingStatesTransitions(eventList, isDiscreteHandler(handlerType));
|
264
|
-
_ = _.map(fillMissingDefaultsFor({ handlerTag, handlerType }));
|
265
|
-
_ = withPrevAndCurrent(_, fillOldStateChanges);
|
266
|
-
_ = withPrevAndCurrent(_, validateStateTransitions);
|
267
|
-
// @ts-ignore TODO
|
268
|
-
_ = _.map(wrapWithNativeEvent);
|
269
|
-
const events = _;
|
270
|
-
const firstEvent = events.shift();
|
271
|
-
emitEvent('onGestureHandlerStateChange', firstEvent);
|
272
|
-
let lastSentEvent = firstEvent;
|
273
|
-
for (const event of events) {
|
274
|
-
const hasChangedState = lastSentEvent.nativeEvent.state !== event.nativeEvent.state;
|
275
|
-
if (hasChangedState) {
|
276
|
-
emitEvent('onGestureHandlerStateChange', event);
|
277
|
-
}
|
278
|
-
else {
|
279
|
-
emitEvent('onGestureHandlerEvent', event);
|
280
|
-
}
|
281
|
-
lastSentEvent = event;
|
282
|
-
}
|
283
|
-
}
|
284
|
-
export function getByGestureTestId(testID) {
|
285
|
-
const handler = findHandlerByTestID(testID);
|
286
|
-
if (handler === null) {
|
287
|
-
throw new Error(`Handler with id: '${testID}' cannot be found`);
|
288
|
-
}
|
289
|
-
return handler;
|
290
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,uBAAuB,EAEvB,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,IAAI,EACL,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;+CAqBmB,GAAG;gDAAH,GAAG;gDAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;AAS5C,wBA+BW"}
|
package/lib/typescript/mocks.js
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, ScrollView, FlatList, Switch, TextInput, DrawerLayoutAndroid, View, } from 'react-native';
|
3
|
-
import { State } from './State';
|
4
|
-
import { Directions } from './Directions';
|
5
|
-
const NOOP = () => {
|
6
|
-
// Do nothing
|
7
|
-
};
|
8
|
-
const PanGestureHandler = View;
|
9
|
-
const attachGestureHandler = NOOP;
|
10
|
-
const createGestureHandler = NOOP;
|
11
|
-
const dropGestureHandler = NOOP;
|
12
|
-
const updateGestureHandler = NOOP;
|
13
|
-
const flushOperations = NOOP;
|
14
|
-
const install = NOOP;
|
15
|
-
const NativeViewGestureHandler = View;
|
16
|
-
const TapGestureHandler = View;
|
17
|
-
const ForceTouchGestureHandler = View;
|
18
|
-
const LongPressGestureHandler = View;
|
19
|
-
const PinchGestureHandler = View;
|
20
|
-
const RotationGestureHandler = View;
|
21
|
-
const FlingGestureHandler = View;
|
22
|
-
const RawButton = ({ enabled, ...rest }) => (<TouchableNativeFeedback disabled={!enabled} {...rest}>
|
23
|
-
<View />
|
24
|
-
</TouchableNativeFeedback>);
|
25
|
-
const BaseButton = RawButton;
|
26
|
-
const RectButton = RawButton;
|
27
|
-
const BorderlessButton = TouchableNativeFeedback;
|
28
|
-
export default {
|
29
|
-
TouchableHighlight,
|
30
|
-
TouchableNativeFeedback,
|
31
|
-
TouchableOpacity,
|
32
|
-
TouchableWithoutFeedback,
|
33
|
-
ScrollView,
|
34
|
-
FlatList,
|
35
|
-
Switch,
|
36
|
-
TextInput,
|
37
|
-
DrawerLayoutAndroid,
|
38
|
-
NativeViewGestureHandler,
|
39
|
-
TapGestureHandler,
|
40
|
-
ForceTouchGestureHandler,
|
41
|
-
LongPressGestureHandler,
|
42
|
-
PinchGestureHandler,
|
43
|
-
RotationGestureHandler,
|
44
|
-
FlingGestureHandler,
|
45
|
-
RawButton,
|
46
|
-
BaseButton,
|
47
|
-
RectButton,
|
48
|
-
BorderlessButton,
|
49
|
-
PanGestureHandler,
|
50
|
-
attachGestureHandler,
|
51
|
-
createGestureHandler,
|
52
|
-
dropGestureHandler,
|
53
|
-
updateGestureHandler,
|
54
|
-
flushOperations,
|
55
|
-
install,
|
56
|
-
// Probably can be removed
|
57
|
-
Directions,
|
58
|
-
State,
|
59
|
-
};
|
@@ -1,29 +0,0 @@
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
2
|
-
export class MountRegistry {
|
3
|
-
static mountListeners = new Set();
|
4
|
-
static unmountListeners = new Set();
|
5
|
-
static addMountListener(listener) {
|
6
|
-
this.mountListeners.add(listener);
|
7
|
-
return () => {
|
8
|
-
this.mountListeners.delete(listener);
|
9
|
-
};
|
10
|
-
}
|
11
|
-
static addUnmountListener(listener) {
|
12
|
-
this.unmountListeners.add(listener);
|
13
|
-
return () => {
|
14
|
-
this.unmountListeners.delete(listener);
|
15
|
-
};
|
16
|
-
}
|
17
|
-
static gestureHandlerWillMount(handler) {
|
18
|
-
this.mountListeners.forEach((listener) => listener(handler));
|
19
|
-
}
|
20
|
-
static gestureHandlerWillUnmount(handler) {
|
21
|
-
this.unmountListeners.forEach((listener) => listener(handler));
|
22
|
-
}
|
23
|
-
static gestureWillMount(gesture) {
|
24
|
-
this.mountListeners.forEach((listener) => listener(gesture));
|
25
|
-
}
|
26
|
-
static gestureWillUnmount(gesture) {
|
27
|
-
this.unmountListeners.forEach((listener) => listener(gesture));
|
28
|
-
}
|
29
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|