react-native-gesture-handler 2.22.1 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
- package/android/src/main/jni/cpp-adapter.cpp +19 -12
- package/apple/RNGestureHandler.mm +15 -8
- package/apple/RNGestureHandlerModule.mm +17 -5
- package/lib/commonjs/ActionType.js +3 -3
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js +11 -8
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +2 -10
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/commonjs/PlatformConstants.js +1 -6
- package/lib/commonjs/PlatformConstants.js.map +1 -1
- package/lib/commonjs/PlatformConstants.web.js +1 -3
- package/lib/commonjs/PlatformConstants.web.js.map +1 -1
- package/lib/commonjs/PointerType.js +3 -5
- package/lib/commonjs/PointerType.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +2 -6
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/RNRenderer.js +1 -3
- package/lib/commonjs/RNRenderer.js.map +1 -1
- package/lib/commonjs/RNRenderer.web.js +1 -2
- package/lib/commonjs/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/State.js +4 -3
- 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 +96 -115
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +36 -80
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +26 -37
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.web.js +13 -27
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +2 -6
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +46 -78
- 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 +1 -3
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/Pressable/utils.js +5 -20
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
- package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +61 -59
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +34 -75
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +18 -26
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
- 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 +20 -33
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
- 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 +17 -24
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +7 -12
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/findNodeHandle.js +1 -4
- package/lib/commonjs/findNodeHandle.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +9 -10
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.js +1 -6
- package/lib/commonjs/getReactNativeVersion.js.map +1 -1
- package/lib/commonjs/getReactNativeVersion.web.js +0 -1
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +13 -14
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js +1 -2
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +55 -135
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +17 -27
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
- package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
- package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
- package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
- 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 +5 -14
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
- package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
- 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 +12 -24
- package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
- package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
- package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +44 -84
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
- package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +11 -21
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +6 -26
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +75 -104
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +4 -11
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/jestUtils/index.js +4 -5
- package/lib/commonjs/jestUtils/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js +19 -83
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mocks.js +5 -15
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +3 -12
- package/lib/commonjs/mountRegistry.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
- package/lib/commonjs/typeUtils.js.map +1 -1
- package/lib/commonjs/utils.js +15 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/Gestures.js +5 -23
- package/lib/commonjs/web/Gestures.js.map +1 -1
- package/lib/commonjs/web/constants.js +2 -4
- package/lib/commonjs/web/constants.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
- 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 +12 -53
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +9 -17
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/EventManager.js +7 -41
- 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 +51 -118
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +21 -40
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
- package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +9 -16
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +24 -60
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +3 -18
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
- package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +26 -55
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/Errors.js +0 -3
- package/lib/commonjs/web_hammer/Errors.js.map +1 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/NodeManager.js +9 -16
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/constants.js +13 -26
- package/lib/commonjs/web_hammer/constants.js.map +1 -1
- package/lib/commonjs/web_hammer/utils.js +4 -14
- package/lib/commonjs/web_hammer/utils.js.map +1 -1
- package/lib/module/ActionType.js +3 -1
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js +9 -3
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +2 -5
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
- package/lib/module/PlatformConstants.js +0 -1
- package/lib/module/PlatformConstants.js.map +1 -1
- package/lib/module/PlatformConstants.web.js +0 -1
- package/lib/module/PlatformConstants.web.js.map +1 -1
- package/lib/module/PointerType.js +3 -4
- package/lib/module/PointerType.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +1 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +12 -22
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +18 -17
- 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 +4 -1
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js +3 -1
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +87 -99
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +27 -55
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureButtonsProps.js.map +1 -1
- package/lib/module/components/GestureComponents.js +17 -12
- 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 +1 -2
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +1 -2
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +1 -2
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +1 -2
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +44 -61
- 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 +4 -14
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +57 -44
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js +28 -59
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +14 -13
- 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 +34 -63
- 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 +16 -23
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
- 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 +13 -14
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
- 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 +9 -8
- 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 +13 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +15 -19
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +13 -0
- 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 +13 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +54 -108
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +12 -17
- 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 +9 -4
- 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 +3 -4
- package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
- package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
- 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 +11 -14
- package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
- 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 +2 -6
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/eventReceiver.js +14 -38
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
- package/lib/module/handlers/gestures/flingGesture.js +5 -9
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +44 -73
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureComposition.js +16 -24
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +1 -14
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
- package/lib/module/handlers/gestures/hoverGesture.js +9 -18
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +6 -11
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/manualGesture.js +0 -4
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
- package/lib/module/handlers/gestures/nativeGesture.js +5 -9
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +18 -41
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/handlers/gestures/pinchGesture.js +2 -7
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/handlers/gestures/rotationGesture.js +2 -7
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +10 -19
- 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 +6 -8
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/handlers/utils.js +4 -13
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +3 -2
- package/lib/module/init.js.map +1 -1
- package/lib/module/jestUtils/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js +20 -66
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mocks.js +3 -7
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/mountRegistry.js +3 -10
- 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 +8 -13
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/Gestures.js +2 -1
- 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 +26 -59
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +159 -259
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
- 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 +11 -46
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +22 -129
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +9 -63
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +9 -14
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +17 -27
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/EventManager.js +7 -39
- 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 +50 -111
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +21 -35
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/KeyboardEventManager.js +3 -19
- package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
- package/lib/module/web/tools/LeastSquareSolver.js +30 -65
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +9 -14
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +9 -35
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +23 -54
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +3 -14
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +9 -26
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/web/tools/WheelEventManager.js +3 -10
- package/lib/module/web/tools/WheelEventManager.js.map +1 -1
- package/lib/module/web/utils.js +21 -40
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/Errors.js +0 -1
- package/lib/module/web_hammer/Errors.js.map +1 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js +53 -130
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
- 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 +6 -8
- package/lib/module/web_hammer/NodeManager.js.map +1 -1
- package/lib/module/web_hammer/PanGestureHandler.js +6 -40
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js +13 -34
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/TapGestureHandler.js +31 -45
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
- package/lib/module/web_hammer/constants.js +2 -1
- 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/DrawerLayout.d.ts +27 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
- package/lib/typescript/components/Pressable/index.d.ts +1 -1
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
- package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
- package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
- package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
- package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
- package/package.json +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/components/DrawerLayout.tsx +29 -0
- package/src/components/GestureButtons.tsx +13 -2
- package/src/components/GestureButtonsProps.ts +31 -2
- package/src/components/Pressable/Pressable.tsx +22 -5
- package/src/components/Pressable/PressableProps.tsx +4 -11
- package/src/components/Pressable/index.ts +4 -1
- package/src/components/ReanimatedSwipeable.tsx +97 -66
- package/src/components/Text.tsx +13 -4
- package/src/components/touchables/TouchableHighlight.tsx +5 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +5 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
- package/src/findNodeHandle.web.ts +6 -0
- package/src/handlers/FlingGestureHandler.ts +10 -0
- package/src/handlers/ForceTouchGestureHandler.ts +9 -0
- package/src/handlers/LongPressGestureHandler.ts +10 -0
- package/src/handlers/NativeViewGestureHandler.ts +10 -0
- package/src/handlers/PanGestureHandler.ts +10 -0
- package/src/handlers/PinchGestureHandler.ts +10 -0
- package/src/handlers/RotationGestureHandler.ts +10 -0
- package/src/handlers/TapGestureHandler.ts +10 -0
- package/src/handlers/createHandler.tsx +11 -4
- package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
- package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
- package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
- package/src/handlers/handlersRegistry.ts +7 -3
- package/src/index.ts +4 -1
- package/src/utils.ts +2 -2
- package/src/web/detectors/RotationGestureDetector.ts +22 -22
- package/src/web/detectors/ScaleGestureDetector.ts +24 -24
- package/src/web/handlers/FlingGestureHandler.ts +6 -7
- package/src/web/handlers/GestureHandler.ts +115 -105
- package/src/web/handlers/HoverGestureHandler.ts +2 -2
- package/src/web/handlers/IGestureHandler.ts +12 -13
- package/src/web/handlers/LongPressGestureHandler.ts +7 -7
- package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
- package/src/web/handlers/PanGestureHandler.ts +17 -17
- package/src/web/handlers/PinchGestureHandler.ts +17 -21
- package/src/web/handlers/RotationGestureHandler.ts +12 -12
- package/src/web/handlers/TapGestureHandler.ts +4 -6
- package/src/web/tools/CircularBuffer.ts +15 -15
- package/src/web/tools/GestureHandlerDelegate.ts +1 -1
- package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
- package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
- package/src/web/tools/InteractionManager.ts +16 -16
- package/src/web/tools/NodeManager.ts +2 -2
- package/src/web/tools/PointerTracker.ts +20 -20
- package/src/web/tools/Vector.ts +1 -1
- package/src/web/tools/VelocityTracker.ts +1 -1
@@ -4,133 +4,103 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useAnimatedGesture = useAnimatedGesture;
|
7
|
-
|
8
7
|
var _gesture = require("../gesture");
|
9
|
-
|
10
8
|
var _reanimatedWrapper = require("../reanimatedWrapper");
|
11
|
-
|
12
9
|
var _gestureStateManager = require("../gestureStateManager");
|
13
|
-
|
14
10
|
var _State = require("../../../State");
|
15
|
-
|
16
11
|
var _TouchEventType = require("../../../TouchEventType");
|
17
|
-
|
18
12
|
var _utils = require("../../../utils");
|
19
|
-
|
20
13
|
function getHandler(type, gesture) {
|
21
14
|
'worklet';
|
22
15
|
|
23
16
|
switch (type) {
|
24
17
|
case _gesture.CALLBACK_TYPE.BEGAN:
|
25
18
|
return gesture.onBegin;
|
26
|
-
|
27
19
|
case _gesture.CALLBACK_TYPE.START:
|
28
20
|
return gesture.onStart;
|
29
|
-
|
30
21
|
case _gesture.CALLBACK_TYPE.UPDATE:
|
31
22
|
return gesture.onUpdate;
|
32
|
-
|
33
23
|
case _gesture.CALLBACK_TYPE.CHANGE:
|
34
24
|
return gesture.onChange;
|
35
|
-
|
36
25
|
case _gesture.CALLBACK_TYPE.END:
|
37
26
|
return gesture.onEnd;
|
38
|
-
|
39
27
|
case _gesture.CALLBACK_TYPE.FINALIZE:
|
40
28
|
return gesture.onFinalize;
|
41
|
-
|
42
29
|
case _gesture.CALLBACK_TYPE.TOUCHES_DOWN:
|
43
30
|
return gesture.onTouchesDown;
|
44
|
-
|
45
31
|
case _gesture.CALLBACK_TYPE.TOUCHES_MOVE:
|
46
32
|
return gesture.onTouchesMove;
|
47
|
-
|
48
33
|
case _gesture.CALLBACK_TYPE.TOUCHES_UP:
|
49
34
|
return gesture.onTouchesUp;
|
50
|
-
|
51
35
|
case _gesture.CALLBACK_TYPE.TOUCHES_CANCELLED:
|
52
36
|
return gesture.onTouchesCancelled;
|
53
37
|
}
|
54
38
|
}
|
55
|
-
|
56
39
|
function touchEventTypeToCallbackType(eventType) {
|
57
40
|
'worklet';
|
58
41
|
|
59
42
|
switch (eventType) {
|
60
43
|
case _TouchEventType.TouchEventType.TOUCHES_DOWN:
|
61
44
|
return _gesture.CALLBACK_TYPE.TOUCHES_DOWN;
|
62
|
-
|
63
45
|
case _TouchEventType.TouchEventType.TOUCHES_MOVE:
|
64
46
|
return _gesture.CALLBACK_TYPE.TOUCHES_MOVE;
|
65
|
-
|
66
47
|
case _TouchEventType.TouchEventType.TOUCHES_UP:
|
67
48
|
return _gesture.CALLBACK_TYPE.TOUCHES_UP;
|
68
|
-
|
69
49
|
case _TouchEventType.TouchEventType.TOUCHES_CANCELLED:
|
70
50
|
return _gesture.CALLBACK_TYPE.TOUCHES_CANCELLED;
|
71
51
|
}
|
72
|
-
|
73
52
|
return _gesture.CALLBACK_TYPE.UNDEFINED;
|
74
53
|
}
|
75
|
-
|
76
54
|
function runWorklet(type, gesture, event, ...args) {
|
77
55
|
'worklet';
|
78
56
|
|
79
57
|
const handler = getHandler(type, gesture);
|
80
|
-
|
81
58
|
if (gesture.isWorklet[type]) {
|
82
59
|
// @ts-ignore Logic below makes sure the correct event is send to the
|
83
60
|
// correct handler.
|
84
|
-
handler === null || handler === void 0
|
61
|
+
handler === null || handler === void 0 || handler(event, ...args);
|
85
62
|
} else if (handler) {
|
86
63
|
console.warn((0, _utils.tagMessage)('Animated gesture callback must be a worklet'));
|
87
64
|
}
|
88
65
|
}
|
89
|
-
|
90
66
|
function isStateChangeEvent(event) {
|
91
|
-
'worklet';
|
67
|
+
'worklet';
|
92
68
|
|
69
|
+
// @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point
|
93
70
|
return event.oldState != null;
|
94
71
|
}
|
95
|
-
|
96
72
|
function isTouchEvent(event) {
|
97
73
|
'worklet';
|
98
74
|
|
99
75
|
return event.eventType != null;
|
100
76
|
}
|
101
|
-
|
102
77
|
function useAnimatedGesture(preparedGesture, needsRebuild) {
|
103
78
|
if (!_reanimatedWrapper.Reanimated) {
|
104
79
|
return;
|
105
|
-
}
|
80
|
+
}
|
81
|
+
|
82
|
+
// Hooks are called conditionally, but the condition is whether the
|
106
83
|
// react-native-reanimated is installed, which shouldn't change while running
|
107
84
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
85
|
+
const sharedHandlersCallbacks = _reanimatedWrapper.Reanimated.useSharedValue(null);
|
108
86
|
|
87
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
88
|
+
const lastUpdateEvent = _reanimatedWrapper.Reanimated.useSharedValue([]);
|
109
89
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
const lastUpdateEvent = _reanimatedWrapper.Reanimated.useSharedValue([]); // not every gesture needs a state controller, init them lazily
|
114
|
-
|
115
|
-
|
90
|
+
// not every gesture needs a state controller, init them lazily
|
116
91
|
const stateControllers = [];
|
117
|
-
|
118
92
|
const callback = event => {
|
119
93
|
'worklet';
|
120
94
|
|
121
95
|
const currentCallback = sharedHandlersCallbacks.value;
|
122
|
-
|
123
96
|
if (!currentCallback) {
|
124
97
|
return;
|
125
98
|
}
|
126
|
-
|
127
99
|
for (let i = 0; i < currentCallback.length; i++) {
|
128
100
|
const gesture = currentCallback[i];
|
129
|
-
|
130
101
|
if (event.handlerTag !== gesture.handlerTag) {
|
131
102
|
continue;
|
132
103
|
}
|
133
|
-
|
134
104
|
if (isStateChangeEvent(event)) {
|
135
105
|
if (event.oldState === _State.State.UNDETERMINED && event.state === _State.State.BEGAN) {
|
136
106
|
runWorklet(_gesture.CALLBACK_TYPE.BEGAN, gesture, event);
|
@@ -141,39 +111,33 @@ function useAnimatedGesture(preparedGesture, needsRebuild) {
|
|
141
111
|
if (event.oldState === _State.State.ACTIVE) {
|
142
112
|
runWorklet(_gesture.CALLBACK_TYPE.END, gesture, event, true);
|
143
113
|
}
|
144
|
-
|
145
114
|
runWorklet(_gesture.CALLBACK_TYPE.FINALIZE, gesture, event, true);
|
146
115
|
} else if ((event.state === _State.State.FAILED || event.state === _State.State.CANCELLED) && event.state !== event.oldState) {
|
147
116
|
if (event.oldState === _State.State.ACTIVE) {
|
148
117
|
runWorklet(_gesture.CALLBACK_TYPE.END, gesture, event, false);
|
149
118
|
}
|
150
|
-
|
151
119
|
runWorklet(_gesture.CALLBACK_TYPE.FINALIZE, gesture, event, false);
|
152
120
|
}
|
153
121
|
} else if (isTouchEvent(event)) {
|
154
122
|
if (!stateControllers[i]) {
|
155
123
|
stateControllers[i] = _gestureStateManager.GestureStateManager.create(event.handlerTag);
|
156
124
|
}
|
157
|
-
|
158
125
|
if (event.eventType !== _TouchEventType.TouchEventType.UNDETERMINED) {
|
159
126
|
runWorklet(touchEventTypeToCallbackType(event.eventType), gesture, event, stateControllers[i]);
|
160
127
|
}
|
161
128
|
} else {
|
162
129
|
runWorklet(_gesture.CALLBACK_TYPE.UPDATE, gesture, event);
|
163
|
-
|
164
130
|
if (gesture.onChange && gesture.changeEventCalculator) {
|
165
131
|
var _gesture$changeEventC;
|
166
|
-
|
167
132
|
runWorklet(_gesture.CALLBACK_TYPE.CHANGE, gesture, (_gesture$changeEventC = gesture.changeEventCalculator) === null || _gesture$changeEventC === void 0 ? void 0 : _gesture$changeEventC.call(gesture, event, lastUpdateEvent.value[gesture.handlerTag]));
|
168
133
|
lastUpdateEvent.value[gesture.handlerTag] = event;
|
169
134
|
}
|
170
135
|
}
|
171
136
|
}
|
172
|
-
};
|
173
|
-
|
137
|
+
};
|
174
138
|
|
139
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
175
140
|
const event = _reanimatedWrapper.Reanimated.useEvent(callback, ['onGestureHandlerStateChange', 'onGestureHandlerEvent'], needsRebuild);
|
176
|
-
|
177
141
|
preparedGesture.animatedEventHandler = event;
|
178
142
|
preparedGesture.animatedHandlers = sharedHandlersCallbacks;
|
179
143
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useAnimatedGesture.ts"],"names":["getHandler","type","gesture","CALLBACK_TYPE","BEGAN","onBegin","START","onStart","UPDATE","onUpdate","CHANGE","onChange","END","onEnd","FINALIZE","onFinalize","TOUCHES_DOWN","onTouchesDown","TOUCHES_MOVE","onTouchesMove","TOUCHES_UP","onTouchesUp","TOUCHES_CANCELLED","onTouchesCancelled","touchEventTypeToCallbackType","eventType","TouchEventType","UNDEFINED","runWorklet","event","args","handler","isWorklet","console","warn","isStateChangeEvent","oldState","isTouchEvent","useAnimatedGesture","preparedGesture","needsRebuild","Reanimated","sharedHandlersCallbacks","useSharedValue","lastUpdateEvent","stateControllers","callback","currentCallback","value","i","length","handlerTag","State","UNDETERMINED","state","ACTIVE","undefined","FAILED","CANCELLED","GestureStateManager","create","changeEventCalculator","useEvent","animatedEventHandler","animatedHandlers"],"mappings":"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","sourcesContent":["import { HandlerCallbacks, CALLBACK_TYPE } from '../gesture';\nimport { Reanimated } from '../reanimatedWrapper';\nimport {\n GestureTouchEvent,\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from '../../gestureHandlerCommon';\nimport {\n GestureStateManager,\n GestureStateManagerType,\n} from '../gestureStateManager';\nimport { State } from '../../../State';\nimport { TouchEventType } from '../../../TouchEventType';\nimport { tagMessage } from '../../../utils';\nimport { AttachedGestureState } from './types';\n\nfunction getHandler(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks<Record<string, unknown>>\n) {\n 'worklet';\n switch (type) {\n case CALLBACK_TYPE.BEGAN:\n return gesture.onBegin;\n case CALLBACK_TYPE.START:\n return gesture.onStart;\n case CALLBACK_TYPE.UPDATE:\n return gesture.onUpdate;\n case CALLBACK_TYPE.CHANGE:\n return gesture.onChange;\n case CALLBACK_TYPE.END:\n return gesture.onEnd;\n case CALLBACK_TYPE.FINALIZE:\n return gesture.onFinalize;\n case CALLBACK_TYPE.TOUCHES_DOWN:\n return gesture.onTouchesDown;\n case CALLBACK_TYPE.TOUCHES_MOVE:\n return gesture.onTouchesMove;\n case CALLBACK_TYPE.TOUCHES_UP:\n return gesture.onTouchesUp;\n case CALLBACK_TYPE.TOUCHES_CANCELLED:\n return gesture.onTouchesCancelled;\n }\n}\n\nfunction touchEventTypeToCallbackType(\n eventType: TouchEventType\n): CALLBACK_TYPE {\n 'worklet';\n switch (eventType) {\n case TouchEventType.TOUCHES_DOWN:\n return CALLBACK_TYPE.TOUCHES_DOWN;\n case TouchEventType.TOUCHES_MOVE:\n return CALLBACK_TYPE.TOUCHES_MOVE;\n case TouchEventType.TOUCHES_UP:\n return CALLBACK_TYPE.TOUCHES_UP;\n case TouchEventType.TOUCHES_CANCELLED:\n return CALLBACK_TYPE.TOUCHES_CANCELLED;\n }\n return CALLBACK_TYPE.UNDEFINED;\n}\n\nfunction runWorklet(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks<Record<string, unknown>>,\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,\n ...args: unknown[]\n) {\n 'worklet';\n const handler = getHandler(type, gesture);\n if (gesture.isWorklet[type]) {\n // @ts-ignore Logic below makes sure the correct event is send to the\n // correct handler.\n handler?.(event, ...args);\n } else if (handler) {\n console.warn(tagMessage('Animated gesture callback must be a worklet'));\n }\n}\n\nfunction isStateChangeEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureStateChangeEvent {\n 'worklet';\n // @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point\n return event.oldState != null;\n}\n\nfunction isTouchEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureTouchEvent {\n 'worklet';\n return event.eventType != null;\n}\n\nexport function useAnimatedGesture(\n preparedGesture: AttachedGestureState,\n needsRebuild: boolean\n) {\n if (!Reanimated) {\n return;\n }\n\n // Hooks are called conditionally, but the condition is whether the\n // react-native-reanimated is installed, which shouldn't change while running\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const sharedHandlersCallbacks = Reanimated.useSharedValue<\n HandlerCallbacks<Record<string, unknown>>[] | null\n >(null);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const lastUpdateEvent = Reanimated.useSharedValue<\n (GestureUpdateEvent | undefined)[]\n >([]);\n\n // not every gesture needs a state controller, init them lazily\n const stateControllers: GestureStateManagerType[] = [];\n\n const callback = (\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent\n ) => {\n 'worklet';\n\n const currentCallback = sharedHandlersCallbacks.value;\n if (!currentCallback) {\n return;\n }\n\n for (let i = 0; i < currentCallback.length; i++) {\n const gesture = currentCallback[i];\n\n if (event.handlerTag !== gesture.handlerTag) {\n continue;\n }\n\n if (isStateChangeEvent(event)) {\n if (\n event.oldState === State.UNDETERMINED &&\n event.state === State.BEGAN\n ) {\n runWorklet(CALLBACK_TYPE.BEGAN, gesture, event);\n } else if (\n (event.oldState === State.BEGAN ||\n event.oldState === State.UNDETERMINED) &&\n event.state === State.ACTIVE\n ) {\n runWorklet(CALLBACK_TYPE.START, gesture, event);\n lastUpdateEvent.value[gesture.handlerTag] = undefined;\n } else if (\n event.oldState !== event.state &&\n event.state === State.END\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, true);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, true);\n } else if (\n (event.state === State.FAILED || event.state === State.CANCELLED) &&\n event.state !== event.oldState\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, false);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, false);\n }\n } else if (isTouchEvent(event)) {\n if (!stateControllers[i]) {\n stateControllers[i] = GestureStateManager.create(event.handlerTag);\n }\n\n if (event.eventType !== TouchEventType.UNDETERMINED) {\n runWorklet(\n touchEventTypeToCallbackType(event.eventType),\n gesture,\n event,\n stateControllers[i]\n );\n }\n } else {\n runWorklet(CALLBACK_TYPE.UPDATE, gesture, event);\n\n if (gesture.onChange && gesture.changeEventCalculator) {\n runWorklet(\n CALLBACK_TYPE.CHANGE,\n gesture,\n gesture.changeEventCalculator?.(\n event,\n lastUpdateEvent.value[gesture.handlerTag]\n )\n );\n\n lastUpdateEvent.value[gesture.handlerTag] = event;\n }\n }\n }\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const event = Reanimated.useEvent(\n callback,\n ['onGestureHandlerStateChange', 'onGestureHandlerEvent'],\n needsRebuild\n );\n\n preparedGesture.animatedEventHandler = event;\n preparedGesture.animatedHandlers = sharedHandlersCallbacks;\n}\n"]}
|
1
|
+
{"version":3,"names":["_gesture","require","_reanimatedWrapper","_gestureStateManager","_State","_TouchEventType","_utils","getHandler","type","gesture","CALLBACK_TYPE","BEGAN","onBegin","START","onStart","UPDATE","onUpdate","CHANGE","onChange","END","onEnd","FINALIZE","onFinalize","TOUCHES_DOWN","onTouchesDown","TOUCHES_MOVE","onTouchesMove","TOUCHES_UP","onTouchesUp","TOUCHES_CANCELLED","onTouchesCancelled","touchEventTypeToCallbackType","eventType","TouchEventType","UNDEFINED","runWorklet","event","args","handler","isWorklet","console","warn","tagMessage","isStateChangeEvent","oldState","isTouchEvent","useAnimatedGesture","preparedGesture","needsRebuild","Reanimated","sharedHandlersCallbacks","useSharedValue","lastUpdateEvent","stateControllers","callback","currentCallback","value","i","length","handlerTag","State","UNDETERMINED","state","ACTIVE","undefined","FAILED","CANCELLED","GestureStateManager","create","changeEventCalculator","_gesture$changeEventC","call","useEvent","animatedEventHandler","animatedHandlers"],"sources":["useAnimatedGesture.ts"],"sourcesContent":["import { HandlerCallbacks, CALLBACK_TYPE } from '../gesture';\nimport { Reanimated } from '../reanimatedWrapper';\nimport {\n GestureTouchEvent,\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from '../../gestureHandlerCommon';\nimport {\n GestureStateManager,\n GestureStateManagerType,\n} from '../gestureStateManager';\nimport { State } from '../../../State';\nimport { TouchEventType } from '../../../TouchEventType';\nimport { tagMessage } from '../../../utils';\nimport { AttachedGestureState } from './types';\n\nfunction getHandler(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks<Record<string, unknown>>\n) {\n 'worklet';\n switch (type) {\n case CALLBACK_TYPE.BEGAN:\n return gesture.onBegin;\n case CALLBACK_TYPE.START:\n return gesture.onStart;\n case CALLBACK_TYPE.UPDATE:\n return gesture.onUpdate;\n case CALLBACK_TYPE.CHANGE:\n return gesture.onChange;\n case CALLBACK_TYPE.END:\n return gesture.onEnd;\n case CALLBACK_TYPE.FINALIZE:\n return gesture.onFinalize;\n case CALLBACK_TYPE.TOUCHES_DOWN:\n return gesture.onTouchesDown;\n case CALLBACK_TYPE.TOUCHES_MOVE:\n return gesture.onTouchesMove;\n case CALLBACK_TYPE.TOUCHES_UP:\n return gesture.onTouchesUp;\n case CALLBACK_TYPE.TOUCHES_CANCELLED:\n return gesture.onTouchesCancelled;\n }\n}\n\nfunction touchEventTypeToCallbackType(\n eventType: TouchEventType\n): CALLBACK_TYPE {\n 'worklet';\n switch (eventType) {\n case TouchEventType.TOUCHES_DOWN:\n return CALLBACK_TYPE.TOUCHES_DOWN;\n case TouchEventType.TOUCHES_MOVE:\n return CALLBACK_TYPE.TOUCHES_MOVE;\n case TouchEventType.TOUCHES_UP:\n return CALLBACK_TYPE.TOUCHES_UP;\n case TouchEventType.TOUCHES_CANCELLED:\n return CALLBACK_TYPE.TOUCHES_CANCELLED;\n }\n return CALLBACK_TYPE.UNDEFINED;\n}\n\nfunction runWorklet(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks<Record<string, unknown>>,\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,\n ...args: unknown[]\n) {\n 'worklet';\n const handler = getHandler(type, gesture);\n if (gesture.isWorklet[type]) {\n // @ts-ignore Logic below makes sure the correct event is send to the\n // correct handler.\n handler?.(event, ...args);\n } else if (handler) {\n console.warn(tagMessage('Animated gesture callback must be a worklet'));\n }\n}\n\nfunction isStateChangeEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureStateChangeEvent {\n 'worklet';\n // @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point\n return event.oldState != null;\n}\n\nfunction isTouchEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureTouchEvent {\n 'worklet';\n return event.eventType != null;\n}\n\nexport function useAnimatedGesture(\n preparedGesture: AttachedGestureState,\n needsRebuild: boolean\n) {\n if (!Reanimated) {\n return;\n }\n\n // Hooks are called conditionally, but the condition is whether the\n // react-native-reanimated is installed, which shouldn't change while running\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const sharedHandlersCallbacks = Reanimated.useSharedValue<\n HandlerCallbacks<Record<string, unknown>>[] | null\n >(null);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const lastUpdateEvent = Reanimated.useSharedValue<\n (GestureUpdateEvent | undefined)[]\n >([]);\n\n // not every gesture needs a state controller, init them lazily\n const stateControllers: GestureStateManagerType[] = [];\n\n const callback = (\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent\n ) => {\n 'worklet';\n\n const currentCallback = sharedHandlersCallbacks.value;\n if (!currentCallback) {\n return;\n }\n\n for (let i = 0; i < currentCallback.length; i++) {\n const gesture = currentCallback[i];\n\n if (event.handlerTag !== gesture.handlerTag) {\n continue;\n }\n\n if (isStateChangeEvent(event)) {\n if (\n event.oldState === State.UNDETERMINED &&\n event.state === State.BEGAN\n ) {\n runWorklet(CALLBACK_TYPE.BEGAN, gesture, event);\n } else if (\n (event.oldState === State.BEGAN ||\n event.oldState === State.UNDETERMINED) &&\n event.state === State.ACTIVE\n ) {\n runWorklet(CALLBACK_TYPE.START, gesture, event);\n lastUpdateEvent.value[gesture.handlerTag] = undefined;\n } else if (\n event.oldState !== event.state &&\n event.state === State.END\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, true);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, true);\n } else if (\n (event.state === State.FAILED || event.state === State.CANCELLED) &&\n event.state !== event.oldState\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, false);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, false);\n }\n } else if (isTouchEvent(event)) {\n if (!stateControllers[i]) {\n stateControllers[i] = GestureStateManager.create(event.handlerTag);\n }\n\n if (event.eventType !== TouchEventType.UNDETERMINED) {\n runWorklet(\n touchEventTypeToCallbackType(event.eventType),\n gesture,\n event,\n stateControllers[i]\n );\n }\n } else {\n runWorklet(CALLBACK_TYPE.UPDATE, gesture, event);\n\n if (gesture.onChange && gesture.changeEventCalculator) {\n runWorklet(\n CALLBACK_TYPE.CHANGE,\n gesture,\n gesture.changeEventCalculator?.(\n event,\n lastUpdateEvent.value[gesture.handlerTag]\n )\n );\n\n lastUpdateEvent.value[gesture.handlerTag] = event;\n }\n }\n }\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const event = Reanimated.useEvent(\n callback,\n ['onGestureHandlerStateChange', 'onGestureHandlerEvent'],\n needsRebuild\n );\n\n preparedGesture.animatedEventHandler = event;\n preparedGesture.animatedHandlers = sharedHandlersCallbacks;\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -4,34 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useDetectorUpdater = useDetectorUpdater;
|
7
|
-
|
8
7
|
var _react = require("react");
|
9
|
-
|
10
8
|
var _attachHandlers = require("./attachHandlers");
|
11
|
-
|
12
9
|
var _updateHandlers = require("./updateHandlers");
|
13
|
-
|
14
10
|
var _needsToReattach = require("./needsToReattach");
|
15
|
-
|
16
11
|
var _dropHandlers = require("./dropHandlers");
|
17
|
-
|
18
12
|
var _utils = require("./utils");
|
19
|
-
|
20
13
|
var _findNodeHandle = _interopRequireDefault(require("../../../findNodeHandle"));
|
21
|
-
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
23
|
-
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
24
15
|
// Returns a function that's responsible for updating the attached gestures
|
25
16
|
// If the view has changed, it will reattach the handlers to the new view
|
26
17
|
// If the view remains the same, it will update the handlers with the new config
|
27
18
|
function useDetectorUpdater(state, preparedGesture, gesturesToAttach, gestureConfig, webEventHandlersRef) {
|
28
19
|
const forceRender = (0, _utils.useForceRender)();
|
29
|
-
const updateAttachedGestures = (0, _react.useCallback)(
|
20
|
+
const updateAttachedGestures = (0, _react.useCallback)(
|
21
|
+
// skipConfigUpdate is used to prevent unnecessary updates when only checking if the view has changed
|
30
22
|
skipConfigUpdate => {
|
31
23
|
// If the underlying view has changed we need to reattach handlers to the new view
|
32
24
|
const viewTag = (0, _findNodeHandle.default)(state.viewRef);
|
33
25
|
const didUnderlyingViewChange = viewTag !== state.previousViewTag;
|
34
|
-
|
35
26
|
if (didUnderlyingViewChange || (0, _needsToReattach.needsToReattach)(preparedGesture, gesturesToAttach)) {
|
36
27
|
(0, _utils.validateDetectorChildren)(state.viewRef);
|
37
28
|
(0, _dropHandlers.dropHandlers)(preparedGesture);
|
@@ -42,7 +33,6 @@ function useDetectorUpdater(state, preparedGesture, gesturesToAttach, gestureCon
|
|
42
33
|
webEventHandlersRef,
|
43
34
|
viewTag
|
44
35
|
});
|
45
|
-
|
46
36
|
if (didUnderlyingViewChange) {
|
47
37
|
state.previousViewTag = viewTag;
|
48
38
|
state.forceRebuildReanimatedEvent = true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_react","require","_attachHandlers","_updateHandlers","_needsToReattach","_dropHandlers","_utils","_findNodeHandle","_interopRequireDefault","e","__esModule","default","useDetectorUpdater","state","preparedGesture","gesturesToAttach","gestureConfig","webEventHandlersRef","forceRender","useForceRender","updateAttachedGestures","useCallback","skipConfigUpdate","viewTag","findNodeHandle","viewRef","didUnderlyingViewChange","previousViewTag","needsToReattach","validateDetectorChildren","dropHandlers","attachHandlers","forceRebuildReanimatedEvent","updateHandlers"],"sources":["useDetectorUpdater.ts"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { GestureType } from '../gesture';\nimport { ComposedGesture } from '../gestureComposition';\n\nimport {\n AttachedGestureState,\n GestureDetectorState,\n WebEventHandler,\n} from './types';\nimport { attachHandlers } from './attachHandlers';\nimport { updateHandlers } from './updateHandlers';\nimport { needsToReattach } from './needsToReattach';\nimport { dropHandlers } from './dropHandlers';\nimport { useForceRender, validateDetectorChildren } from './utils';\nimport findNodeHandle from '../../../findNodeHandle';\n\n// Returns a function that's responsible for updating the attached gestures\n// If the view has changed, it will reattach the handlers to the new view\n// If the view remains the same, it will update the handlers with the new config\nexport function useDetectorUpdater(\n state: GestureDetectorState,\n preparedGesture: AttachedGestureState,\n gesturesToAttach: GestureType[],\n gestureConfig: ComposedGesture | GestureType,\n webEventHandlersRef: React.RefObject<WebEventHandler>\n) {\n const forceRender = useForceRender();\n const updateAttachedGestures = useCallback(\n // skipConfigUpdate is used to prevent unnecessary updates when only checking if the view has changed\n (skipConfigUpdate?: boolean) => {\n // If the underlying view has changed we need to reattach handlers to the new view\n const viewTag = findNodeHandle(state.viewRef) as number;\n const didUnderlyingViewChange = viewTag !== state.previousViewTag;\n\n if (\n didUnderlyingViewChange ||\n needsToReattach(preparedGesture, gesturesToAttach)\n ) {\n validateDetectorChildren(state.viewRef);\n dropHandlers(preparedGesture);\n attachHandlers({\n preparedGesture,\n gestureConfig,\n gesturesToAttach,\n webEventHandlersRef,\n viewTag,\n });\n\n if (didUnderlyingViewChange) {\n state.previousViewTag = viewTag;\n state.forceRebuildReanimatedEvent = true;\n forceRender();\n }\n } else if (!skipConfigUpdate) {\n updateHandlers(preparedGesture, gestureConfig, gesturesToAttach);\n }\n },\n [\n forceRender,\n gestureConfig,\n gesturesToAttach,\n preparedGesture,\n state,\n webEventHandlersRef,\n ]\n );\n\n return updateAttachedGestures;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAC,sBAAA,CAAAP,OAAA;AAAqD,SAAAO,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErD;AACA;AACA;AACO,SAASG,kBAAkBA,CAChCC,KAA2B,EAC3BC,eAAqC,EACrCC,gBAA+B,EAC/BC,aAA4C,EAC5CC,mBAAqD,EACrD;EACA,MAAMC,WAAW,GAAG,IAAAC,qBAAc,EAAC,CAAC;EACpC,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW;EACxC;EACCC,gBAA0B,IAAK;IAC9B;IACA,MAAMC,OAAO,GAAG,IAAAC,uBAAc,EAACX,KAAK,CAACY,OAAO,CAAW;IACvD,MAAMC,uBAAuB,GAAGH,OAAO,KAAKV,KAAK,CAACc,eAAe;IAEjE,IACED,uBAAuB,IACvB,IAAAE,gCAAe,EAACd,eAAe,EAAEC,gBAAgB,CAAC,EAClD;MACA,IAAAc,+BAAwB,EAAChB,KAAK,CAACY,OAAO,CAAC;MACvC,IAAAK,0BAAY,EAAChB,eAAe,CAAC;MAC7B,IAAAiB,8BAAc,EAAC;QACbjB,eAAe;QACfE,aAAa;QACbD,gBAAgB;QAChBE,mBAAmB;QACnBM;MACF,CAAC,CAAC;MAEF,IAAIG,uBAAuB,EAAE;QAC3Bb,KAAK,CAACc,eAAe,GAAGJ,OAAO;QAC/BV,KAAK,CAACmB,2BAA2B,GAAG,IAAI;QACxCd,WAAW,CAAC,CAAC;MACf;IACF,CAAC,MAAM,IAAI,CAACI,gBAAgB,EAAE;MAC5B,IAAAW,8BAAc,EAACnB,eAAe,EAAEE,aAAa,EAAED,gBAAgB,CAAC;IAClE;EACF,CAAC,EACD,CACEG,WAAW,EACXF,aAAa,EACbD,gBAAgB,EAChBD,eAAe,EACfD,KAAK,EACLI,mBAAmB,CAEvB,CAAC;EAED,OAAOG,sBAAsB;AAC/B","ignoreList":[]}
|
@@ -4,27 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useMountReactions = useMountReactions;
|
7
|
-
|
8
7
|
var _utils = require("../../utils");
|
9
|
-
|
10
8
|
var _mountRegistry = require("../../../mountRegistry");
|
11
|
-
|
12
9
|
var _react = require("react");
|
13
|
-
|
14
10
|
function shouldUpdateDetector(relation, gesture) {
|
15
11
|
if (relation === undefined) {
|
16
12
|
return false;
|
17
13
|
}
|
18
|
-
|
19
14
|
for (const tag of (0, _utils.transformIntoHandlerTags)(relation)) {
|
20
15
|
if (tag === gesture.handlerTag) {
|
21
16
|
return true;
|
22
17
|
}
|
23
18
|
}
|
24
|
-
|
25
19
|
return false;
|
26
20
|
}
|
27
|
-
|
28
21
|
function useMountReactions(updateDetector, state) {
|
29
22
|
(0, _react.useEffect)(() => {
|
30
23
|
return _mountRegistry.MountRegistry.addMountListener(gesture => {
|
@@ -35,10 +28,10 @@ function useMountReactions(updateDetector, state) {
|
|
35
28
|
const blocksHandlers = attachedGesture.config.blocksHandlers;
|
36
29
|
const requireToFail = attachedGesture.config.requireToFail;
|
37
30
|
const simultaneousWith = attachedGesture.config.simultaneousWith;
|
38
|
-
|
39
31
|
if (shouldUpdateDetector(blocksHandlers, gesture) || shouldUpdateDetector(requireToFail, gesture) || shouldUpdateDetector(simultaneousWith, gesture)) {
|
40
|
-
updateDetector();
|
32
|
+
updateDetector();
|
41
33
|
|
34
|
+
// We can safely return here, if any other gestures should be updated, they will be by the above call
|
42
35
|
return;
|
43
36
|
}
|
44
37
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_utils","require","_mountRegistry","_react","shouldUpdateDetector","relation","gesture","undefined","tag","transformIntoHandlerTags","handlerTag","useMountReactions","updateDetector","state","useEffect","MountRegistry","addMountListener","attachedGesture","attachedGestures","blocksHandlers","config","requireToFail","simultaneousWith"],"sources":["useMountReactions.ts"],"sourcesContent":["import { transformIntoHandlerTags } from '../../utils';\nimport { MountRegistry } from '../../../mountRegistry';\nimport { AttachedGestureState } from './types';\nimport { useEffect } from 'react';\nimport { GestureRef } from '../gesture';\n\nfunction shouldUpdateDetector(\n relation: GestureRef[] | undefined,\n gesture: { handlerTag: number }\n) {\n if (relation === undefined) {\n return false;\n }\n\n for (const tag of transformIntoHandlerTags(relation)) {\n if (tag === gesture.handlerTag) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function useMountReactions(\n updateDetector: () => void,\n state: AttachedGestureState\n) {\n useEffect(() => {\n return MountRegistry.addMountListener((gesture) => {\n // At this point the ref in the gesture config should be updated, so we can check if one of the gestures\n // set in a relation with the gesture got mounted. If so, we need to update the detector to propagate\n // the changes to the native side.\n for (const attachedGesture of state.attachedGestures) {\n const blocksHandlers = attachedGesture.config.blocksHandlers;\n const requireToFail = attachedGesture.config.requireToFail;\n const simultaneousWith = attachedGesture.config.simultaneousWith;\n\n if (\n shouldUpdateDetector(blocksHandlers, gesture) ||\n shouldUpdateDetector(requireToFail, gesture) ||\n shouldUpdateDetector(simultaneousWith, gesture)\n ) {\n updateDetector();\n\n // We can safely return here, if any other gestures should be updated, they will be by the above call\n return;\n }\n }\n });\n }, [updateDetector, state]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAGA,SAASG,oBAAoBA,CAC3BC,QAAkC,EAClCC,OAA+B,EAC/B;EACA,IAAID,QAAQ,KAAKE,SAAS,EAAE;IAC1B,OAAO,KAAK;EACd;EAEA,KAAK,MAAMC,GAAG,IAAI,IAAAC,+BAAwB,EAACJ,QAAQ,CAAC,EAAE;IACpD,IAAIG,GAAG,KAAKF,OAAO,CAACI,UAAU,EAAE;MAC9B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd;AAEO,SAASC,iBAAiBA,CAC/BC,cAA0B,EAC1BC,KAA2B,EAC3B;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOC,4BAAa,CAACC,gBAAgB,CAAEV,OAAO,IAAK;MACjD;MACA;MACA;MACA,KAAK,MAAMW,eAAe,IAAIJ,KAAK,CAACK,gBAAgB,EAAE;QACpD,MAAMC,cAAc,GAAGF,eAAe,CAACG,MAAM,CAACD,cAAc;QAC5D,MAAME,aAAa,GAAGJ,eAAe,CAACG,MAAM,CAACC,aAAa;QAC1D,MAAMC,gBAAgB,GAAGL,eAAe,CAACG,MAAM,CAACE,gBAAgB;QAEhE,IACElB,oBAAoB,CAACe,cAAc,EAAEb,OAAO,CAAC,IAC7CF,oBAAoB,CAACiB,aAAa,EAAEf,OAAO,CAAC,IAC5CF,oBAAoB,CAACkB,gBAAgB,EAAEhB,OAAO,CAAC,EAC/C;UACAM,cAAc,CAAC,CAAC;;UAEhB;UACA;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,cAAc,EAAEC,KAAK,CAAC,CAAC;AAC7B","ignoreList":[]}
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useViewRefHandler = useViewRefHandler;
|
7
|
-
|
8
7
|
var _utils = require("../../../utils");
|
9
|
-
|
10
8
|
var _getShadowNodeFromRef = require("../../../getShadowNodeFromRef");
|
11
|
-
|
12
9
|
var _react = require("react");
|
13
|
-
|
14
10
|
var _findNodeHandle = _interopRequireDefault(require("../../../findNodeHandle"));
|
15
|
-
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
|
-
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
18
12
|
// Ref handler for the Wrap component attached under the GestureDetector.
|
19
13
|
// It's responsible for setting the viewRef on the state and triggering the reattaching of handlers
|
20
14
|
// if the view has changed.
|
@@ -23,23 +17,21 @@ function useViewRefHandler(state, updateAttachedGestures) {
|
|
23
17
|
if (ref === null) {
|
24
18
|
return;
|
25
19
|
}
|
20
|
+
state.viewRef = ref;
|
26
21
|
|
27
|
-
|
28
|
-
|
22
|
+
// if it's the first render, also set the previousViewTag to prevent reattaching gestures when not needed
|
29
23
|
if (state.previousViewTag === -1) {
|
30
24
|
state.previousViewTag = (0, _findNodeHandle.default)(state.viewRef);
|
31
|
-
}
|
32
|
-
// in case the view has changed. If the view doesn't change, the update will be handled by detector.
|
33
|
-
|
25
|
+
}
|
34
26
|
|
27
|
+
// Pass true as `skipConfigUpdate`. Here we only want to trigger the eventual reattaching of handlers
|
28
|
+
// in case the view has changed. If the view doesn't change, the update will be handled by detector.
|
35
29
|
if (!state.firstRender) {
|
36
30
|
updateAttachedGestures(true);
|
37
31
|
}
|
38
|
-
|
39
|
-
if (__DEV__ && (0, _utils.isFabric)() && global.isFormsStackingContext) {
|
32
|
+
if (__DEV__ && (0, _utils.isFabric)() && global.isViewFlatteningDisabled) {
|
40
33
|
const node = (0, _getShadowNodeFromRef.getShadowNodeFromRef)(ref);
|
41
|
-
|
42
|
-
if (global.isFormsStackingContext(node) === false) {
|
34
|
+
if (global.isViewFlatteningDisabled(node) === false) {
|
43
35
|
console.error((0, _utils.tagMessage)('GestureDetector has received a child that may get view-flattened. ' + '\nTo prevent it from misbehaving you need to wrap the child with a `<View collapsable={false}>`.'));
|
44
36
|
}
|
45
37
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["_utils","require","_getShadowNodeFromRef","_react","_findNodeHandle","_interopRequireDefault","e","__esModule","default","useViewRefHandler","state","updateAttachedGestures","refHandler","useCallback","ref","viewRef","previousViewTag","findNodeHandle","firstRender","__DEV__","isFabric","global","isViewFlatteningDisabled","node","getShadowNodeFromRef","console","error","tagMessage"],"sources":["useViewRefHandler.ts"],"sourcesContent":["import { isFabric, tagMessage } from '../../../utils';\nimport { getShadowNodeFromRef } from '../../../getShadowNodeFromRef';\n\nimport { GestureDetectorState } from './types';\nimport React, { useCallback } from 'react';\nimport findNodeHandle from '../../../findNodeHandle';\n\ndeclare const global: {\n isViewFlatteningDisabled: (node: unknown) => boolean | null; // JSI function\n};\n\n// Ref handler for the Wrap component attached under the GestureDetector.\n// It's responsible for setting the viewRef on the state and triggering the reattaching of handlers\n// if the view has changed.\nexport function useViewRefHandler(\n state: GestureDetectorState,\n updateAttachedGestures: (skipConfigUpdate?: boolean) => void\n) {\n const refHandler = useCallback(\n (ref: React.Component | null) => {\n if (ref === null) {\n return;\n }\n\n state.viewRef = ref;\n\n // if it's the first render, also set the previousViewTag to prevent reattaching gestures when not needed\n if (state.previousViewTag === -1) {\n state.previousViewTag = findNodeHandle(state.viewRef) as number;\n }\n\n // Pass true as `skipConfigUpdate`. Here we only want to trigger the eventual reattaching of handlers\n // in case the view has changed. If the view doesn't change, the update will be handled by detector.\n if (!state.firstRender) {\n updateAttachedGestures(true);\n }\n\n if (__DEV__ && isFabric() && global.isViewFlatteningDisabled) {\n const node = getShadowNodeFromRef(ref);\n if (global.isViewFlatteningDisabled(node) === false) {\n console.error(\n tagMessage(\n 'GestureDetector has received a child that may get view-flattened. ' +\n '\\nTo prevent it from misbehaving you need to wrap the child with a `<View collapsable={false}>`.'\n )\n );\n }\n }\n },\n [state, updateAttachedGestures]\n );\n\n return refHandler;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAqD,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMrD;AACA;AACA;AACO,SAASG,iBAAiBA,CAC/BC,KAA2B,EAC3BC,sBAA4D,EAC5D;EACA,MAAMC,UAAU,GAAG,IAAAC,kBAAW,EAC3BC,GAA2B,IAAK;IAC/B,IAAIA,GAAG,KAAK,IAAI,EAAE;MAChB;IACF;IAEAJ,KAAK,CAACK,OAAO,GAAGD,GAAG;;IAEnB;IACA,IAAIJ,KAAK,CAACM,eAAe,KAAK,CAAC,CAAC,EAAE;MAChCN,KAAK,CAACM,eAAe,GAAG,IAAAC,uBAAc,EAACP,KAAK,CAACK,OAAO,CAAW;IACjE;;IAEA;IACA;IACA,IAAI,CAACL,KAAK,CAACQ,WAAW,EAAE;MACtBP,sBAAsB,CAAC,IAAI,CAAC;IAC9B;IAEA,IAAIQ,OAAO,IAAI,IAAAC,eAAQ,EAAC,CAAC,IAAIC,MAAM,CAACC,wBAAwB,EAAE;MAC5D,MAAMC,IAAI,GAAG,IAAAC,0CAAoB,EAACV,GAAG,CAAC;MACtC,IAAIO,MAAM,CAACC,wBAAwB,CAACC,IAAI,CAAC,KAAK,KAAK,EAAE;QACnDE,OAAO,CAACC,KAAK,CACX,IAAAC,iBAAU,EACR,oEAAoE,GAClE,kGACJ,CACF,CAAC;MACH;IACF;EACF,CAAC,EACD,CAACjB,KAAK,EAAEC,sBAAsB,CAChC,CAAC;EAED,OAAOC,UAAU;AACnB","ignoreList":[]}
|
@@ -3,50 +3,30 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.ALLOWED_PROPS = void 0;
|
7
7
|
exports.checkGestureCallbacksForWorklets = checkGestureCallbacksForWorklets;
|
8
|
-
exports.
|
8
|
+
exports.extractGestureRelations = extractGestureRelations;
|
9
9
|
exports.useForceRender = useForceRender;
|
10
10
|
exports.useWebEventHandlers = useWebEventHandlers;
|
11
|
-
exports.
|
12
|
-
|
11
|
+
exports.validateDetectorChildren = validateDetectorChildren;
|
13
12
|
var _reactNative = require("react-native");
|
14
|
-
|
15
13
|
var _utils = require("../../../utils");
|
16
|
-
|
17
14
|
var _gesture = require("../gesture");
|
18
|
-
|
19
15
|
var _FlingGestureHandler = require("../../FlingGestureHandler");
|
20
|
-
|
21
16
|
var _ForceTouchGestureHandler = require("../../ForceTouchGestureHandler");
|
22
|
-
|
23
17
|
var _LongPressGestureHandler = require("../../LongPressGestureHandler");
|
24
|
-
|
25
18
|
var _PanGestureHandler = require("../../PanGestureHandler");
|
26
|
-
|
27
19
|
var _TapGestureHandler = require("../../TapGestureHandler");
|
28
|
-
|
29
20
|
var _hoverGesture = require("../hoverGesture");
|
30
|
-
|
31
21
|
var _NativeViewGestureHandler = require("../../NativeViewGestureHandler");
|
32
|
-
|
33
22
|
var _gestureHandlerCommon = require("../../gestureHandlerCommon");
|
34
|
-
|
35
23
|
var _EnableNewWebImplementation = require("../../../EnableNewWebImplementation");
|
36
|
-
|
37
24
|
var _getReactNativeVersion = require("../../../getReactNativeVersion");
|
38
|
-
|
39
25
|
var _RNRenderer = require("../../../RNRenderer");
|
40
|
-
|
41
26
|
var _react = require("react");
|
42
|
-
|
43
27
|
var _reanimatedWrapper = require("../reanimatedWrapper");
|
44
|
-
|
45
28
|
var _eventReceiver = require("../eventReceiver");
|
46
|
-
|
47
|
-
const ALLOWED_PROPS = [..._gestureHandlerCommon.baseGestureHandlerWithDetectorProps, ..._TapGestureHandler.tapGestureHandlerProps, ..._PanGestureHandler.panGestureHandlerProps, ..._PanGestureHandler.panGestureHandlerCustomNativeProps, ..._LongPressGestureHandler.longPressGestureHandlerProps, ..._ForceTouchGestureHandler.forceTouchGestureHandlerProps, ..._FlingGestureHandler.flingGestureHandlerProps, ..._hoverGesture.hoverGestureHandlerProps, ..._NativeViewGestureHandler.nativeViewGestureHandlerProps];
|
48
|
-
exports.ALLOWED_PROPS = ALLOWED_PROPS;
|
49
|
-
|
29
|
+
const ALLOWED_PROPS = exports.ALLOWED_PROPS = [..._gestureHandlerCommon.baseGestureHandlerWithDetectorProps, ..._TapGestureHandler.tapGestureHandlerProps, ..._PanGestureHandler.panGestureHandlerProps, ..._PanGestureHandler.panGestureHandlerCustomNativeProps, ..._LongPressGestureHandler.longPressGestureHandlerProps, ..._ForceTouchGestureHandler.forceTouchGestureHandlerProps, ..._FlingGestureHandler.flingGestureHandlerProps, ..._hoverGesture.hoverGestureHandlerProps, ..._NativeViewGestureHandler.nativeViewGestureHandlerProps];
|
50
30
|
function convertToHandlerTag(ref) {
|
51
31
|
if (typeof ref === 'number') {
|
52
32
|
return ref;
|
@@ -54,19 +34,15 @@ function convertToHandlerTag(ref) {
|
|
54
34
|
return ref.handlerTag;
|
55
35
|
} else {
|
56
36
|
var _ref$current$handlerT, _ref$current;
|
57
|
-
|
58
37
|
// @ts-ignore in this case it should be a ref either to gesture object or
|
59
38
|
// a gesture handler component, in both cases handlerTag property exists
|
60
39
|
return (_ref$current$handlerT = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.handlerTag) !== null && _ref$current$handlerT !== void 0 ? _ref$current$handlerT : -1;
|
61
40
|
}
|
62
41
|
}
|
63
|
-
|
64
42
|
function extractValidHandlerTags(interactionGroup) {
|
65
43
|
var _interactionGroup$map, _interactionGroup$map2;
|
66
|
-
|
67
|
-
return (_interactionGroup$map = interactionGroup === null || interactionGroup === void 0 ? void 0 : (_interactionGroup$map2 = interactionGroup.map(convertToHandlerTag)) === null || _interactionGroup$map2 === void 0 ? void 0 : _interactionGroup$map2.filter(tag => tag > 0)) !== null && _interactionGroup$map !== void 0 ? _interactionGroup$map : [];
|
44
|
+
return (_interactionGroup$map = interactionGroup === null || interactionGroup === void 0 || (_interactionGroup$map2 = interactionGroup.map(convertToHandlerTag)) === null || _interactionGroup$map2 === void 0 ? void 0 : _interactionGroup$map2.filter(tag => tag > 0)) !== null && _interactionGroup$map !== void 0 ? _interactionGroup$map : [];
|
68
45
|
}
|
69
|
-
|
70
46
|
function extractGestureRelations(gesture) {
|
71
47
|
const requireToFail = extractValidHandlerTags(gesture.config.requireToFail);
|
72
48
|
const simultaneousWith = extractValidHandlerTags(gesture.config.simultaneousWith);
|
@@ -77,40 +53,36 @@ function extractGestureRelations(gesture) {
|
|
77
53
|
blocksHandlers: blocksHandlers
|
78
54
|
};
|
79
55
|
}
|
80
|
-
|
81
56
|
function checkGestureCallbacksForWorklets(gesture) {
|
82
57
|
if (!__DEV__) {
|
83
58
|
return;
|
84
|
-
}
|
59
|
+
}
|
60
|
+
// If a gesture is explicitly marked to run on the JS thread there is no need to check
|
85
61
|
// if callbacks are worklets as the user is aware they will be ran on the JS thread
|
86
|
-
|
87
|
-
|
88
62
|
if (gesture.config.runOnJS) {
|
89
63
|
return;
|
90
64
|
}
|
91
|
-
|
92
65
|
const areSomeNotWorklets = gesture.handlers.isWorklet.includes(false);
|
93
|
-
const areSomeWorklets = gesture.handlers.isWorklet.includes(true);
|
94
|
-
// explicitly marked with `.runOnJS(true)` show an error
|
66
|
+
const areSomeWorklets = gesture.handlers.isWorklet.includes(true);
|
95
67
|
|
68
|
+
// If some of the callbacks are worklets and some are not, and the gesture is not
|
69
|
+
// explicitly marked with `.runOnJS(true)` show an error
|
96
70
|
if (areSomeNotWorklets && areSomeWorklets) {
|
97
71
|
console.error((0, _utils.tagMessage)(`Some of the callbacks in the gesture are worklets and some are not. Either make sure that all calbacks are marked as 'worklet' if you wish to run them on the UI thread or use '.runOnJS(true)' modifier on the gesture explicitly to run all callbacks on the JS thread.`));
|
98
72
|
}
|
99
|
-
|
100
73
|
if (_reanimatedWrapper.Reanimated === undefined) {
|
101
74
|
// If Reanimated is not available, we can't run worklets, so we shouldn't show the warning
|
102
75
|
return;
|
103
76
|
}
|
104
|
-
|
105
|
-
|
77
|
+
const areAllNotWorklets = !areSomeWorklets && areSomeNotWorklets;
|
78
|
+
// If none of the callbacks are worklets and the gesture is not explicitly marked with
|
106
79
|
// `.runOnJS(true)` show a warning
|
107
|
-
|
108
|
-
if (areAllNotWorklets && !(0, _utils.isJestEnv)()) {
|
80
|
+
if (areAllNotWorklets && !(0, _utils.isTestEnv)()) {
|
109
81
|
console.warn((0, _utils.tagMessage)(`None of the callbacks in the gesture are worklets. If you wish to run them on the JS thread use '.runOnJS(true)' modifier on the gesture to make this explicit. Otherwise, mark the callbacks as 'worklet' to run them on the UI thread.`));
|
110
82
|
}
|
111
|
-
}
|
112
|
-
|
83
|
+
}
|
113
84
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
114
86
|
function validateDetectorChildren(ref) {
|
115
87
|
// Finds the first native view under the Wrap component and traverses the fiber tree upwards
|
116
88
|
// to check whether there is more than one native view as a pseudo-direct child of GestureDetector
|
@@ -134,27 +106,28 @@ function validateDetectorChildren(ref) {
|
|
134
106
|
// / \
|
135
107
|
// NativeView NativeView
|
136
108
|
if (__DEV__ && _reactNative.Platform.OS !== 'web') {
|
137
|
-
const REACT_NATIVE_VERSION = (0, _getReactNativeVersion.getReactNativeVersion)();
|
138
|
-
|
139
|
-
const wrapType = REACT_NATIVE_VERSION.minor > 63 || REACT_NATIVE_VERSION.major > 0 ?
|
140
|
-
|
141
|
-
ref.
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
109
|
+
const REACT_NATIVE_VERSION = (0, _getReactNativeVersion.getReactNativeVersion)();
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
111
|
+
const wrapType = REACT_NATIVE_VERSION.minor > 63 || REACT_NATIVE_VERSION.major > 0 ?
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
113
|
+
ref._reactInternals.elementType :
|
114
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
115
|
+
ref._reactInternalFiber.elementType;
|
116
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
117
|
+
let instance = _RNRenderer.RNRenderer.findHostInstance_DEPRECATED(ref)._internalFiberInstanceHandleDEV;
|
118
|
+
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
146
120
|
while (instance && instance.elementType !== wrapType) {
|
147
121
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
148
122
|
if (instance.sibling) {
|
149
123
|
throw new Error('GestureDetector has more than one native view as its children. This can happen if you are using a custom component that renders multiple views, like React.Fragment. You should wrap content of GestureDetector with a <View> or <Animated.View>.');
|
150
|
-
}
|
151
|
-
|
124
|
+
}
|
152
125
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
153
127
|
instance = instance.return;
|
154
128
|
}
|
155
129
|
}
|
156
130
|
}
|
157
|
-
|
158
131
|
function useForceRender() {
|
159
132
|
const [renderState, setRenderState] = (0, _react.useState)(false);
|
160
133
|
const forceRender = (0, _react.useCallback)(() => {
|
@@ -162,7 +135,6 @@ function useForceRender() {
|
|
162
135
|
}, [renderState, setRenderState]);
|
163
136
|
return forceRender;
|
164
137
|
}
|
165
|
-
|
166
138
|
function useWebEventHandlers() {
|
167
139
|
return (0, _react.useRef)({
|
168
140
|
onGestureHandlerEvent: e => {
|