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
@@ -10,3 +10,4 @@ export default abstract class NodeManager {
|
|
10
10
|
[x: number]: import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/NativeViewGestureHandler").default | import("../handlers/ManualGestureHandler").default | import("../handlers/HoverGestureHandler").default;
|
11
11
|
};
|
12
12
|
}
|
13
|
+
//# sourceMappingURL=NodeManager.d.ts.map
|
@@ -12,3 +12,4 @@ export declare function tryExtractStylusData(event: PointerEvent): StylusData |
|
|
12
12
|
export declare const RNSVGElements: Set<string>;
|
13
13
|
export declare function isRNSVGElement(viewRef: SVGRef | GestureHandlerRef): boolean;
|
14
14
|
export declare function isRNSVGNode(node: any): boolean;
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
@@ -7,3 +7,4 @@ export declare const VEC_LEN_SQ: ({ x, y }?: {
|
|
7
7
|
}) => number;
|
8
8
|
export declare const TEST_MAX_IF_NOT_NAN: (value: number, max: number) => boolean;
|
9
9
|
export declare function fireAfterInterval(method: () => void, interval?: number | boolean): number | null;
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-gesture-handler",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.28.0",
|
4
4
|
"description": "Declarative API exposing native platform touch and gesture system to React Native",
|
5
5
|
"scripts": {
|
6
6
|
"test": "jest",
|
@@ -46,6 +46,7 @@
|
|
46
46
|
"android/svg",
|
47
47
|
"android/nosvg",
|
48
48
|
"apple/",
|
49
|
+
"scripts/",
|
49
50
|
"Swipeable/",
|
50
51
|
"ReanimatedSwipeable/",
|
51
52
|
"jest-utils/",
|
@@ -78,7 +79,7 @@
|
|
78
79
|
"@babel/core": "^7.25.2",
|
79
80
|
"@babel/preset-env": "^7.25.3",
|
80
81
|
"@babel/preset-typescript": "^7.12.7",
|
81
|
-
"@react-native/babel-preset": "0.
|
82
|
+
"@react-native/babel-preset": "0.81.0-rc.5",
|
82
83
|
"@testing-library/react-native": "^12.5.1",
|
83
84
|
"@types/hoist-non-react-statics": "^3.3.1",
|
84
85
|
"@types/invariant": "^2.2.37",
|
@@ -101,7 +102,7 @@
|
|
101
102
|
"madge": "^6.1.0",
|
102
103
|
"prettier": "3.3.3",
|
103
104
|
"react": "19.1.0",
|
104
|
-
"react-native": "0.
|
105
|
+
"react-native": "0.81.0-rc.5",
|
105
106
|
"react-native-builder-bob": "^0.39.0",
|
106
107
|
"react-native-reanimated": "^3.18.0",
|
107
108
|
"react-test-renderer": "19.1.0",
|
@@ -0,0 +1,25 @@
|
|
1
|
+
def try_to_parse_react_native_package_json(node_modules_dir)
|
2
|
+
react_native_package_json_path = File.join(node_modules_dir, 'react-native/package.json')
|
3
|
+
|
4
|
+
if !File.exist?(react_native_package_json_path)
|
5
|
+
return nil
|
6
|
+
end
|
7
|
+
|
8
|
+
return JSON.parse(File.read(react_native_package_json_path))
|
9
|
+
end
|
10
|
+
|
11
|
+
def get_react_native_minor_version()
|
12
|
+
react_native_node_modules_dir = File.join(File.dirname(`cd "#{Pod::Config.instance.installation_root.to_s}" && node --print "require.resolve('react-native/package.json')"`), '..')
|
13
|
+
react_native_json = try_to_parse_react_native_package_json(react_native_node_modules_dir)
|
14
|
+
|
15
|
+
if react_native_json == nil
|
16
|
+
node_modules_dir = ENV["REACT_NATIVE_NODE_MODULES_DIR"]
|
17
|
+
react_native_json = try_to_parse_react_native_package_json(node_modules_dir)
|
18
|
+
end
|
19
|
+
|
20
|
+
if react_native_json == nil
|
21
|
+
raise '[react-native-gesture-handler] Unable to recognize your `react-native` version. Please set environmental variable with `react-native` location: `export REACT_NATIVE_NODE_MODULES_DIR="<path to react-native>" && pod install`.'
|
22
|
+
end
|
23
|
+
|
24
|
+
return react_native_json['version'].split('.')[1].to_i
|
25
|
+
end
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
2
2
|
import {
|
3
3
|
AccessibilityProps,
|
4
4
|
ColorValue,
|
5
|
+
LayoutChangeEvent,
|
5
6
|
StyleProp,
|
6
7
|
ViewStyle,
|
7
8
|
} from 'react-native';
|
@@ -56,26 +57,35 @@ export interface RawButtonProps
|
|
56
57
|
*/
|
57
58
|
style?: StyleProp<ViewStyle>;
|
58
59
|
|
60
|
+
/**
|
61
|
+
* Invoked on mount and layout changes.
|
62
|
+
*/
|
63
|
+
onLayout?: (event: LayoutChangeEvent) => void;
|
64
|
+
|
59
65
|
/**
|
60
66
|
* Used for testing-library compatibility, not passed to the native component.
|
67
|
+
* @deprecated test-only props are deprecated and will be removed in the future.
|
61
68
|
*/
|
62
69
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
63
70
|
testOnly_onPress?: Function | null;
|
64
71
|
|
65
72
|
/**
|
66
73
|
* Used for testing-library compatibility, not passed to the native component.
|
74
|
+
* @deprecated test-only props are deprecated and will be removed in the future.
|
67
75
|
*/
|
68
76
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
69
77
|
testOnly_onPressIn?: Function | null;
|
70
78
|
|
71
79
|
/**
|
72
80
|
* Used for testing-library compatibility, not passed to the native component.
|
81
|
+
* @deprecated test-only props are deprecated and will be removed in the future.
|
73
82
|
*/
|
74
83
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
75
84
|
testOnly_onPressOut?: Function | null;
|
76
85
|
|
77
86
|
/**
|
78
87
|
* Used for testing-library compatibility, not passed to the native component.
|
88
|
+
* @deprecated test-only props are deprecated and will be removed in the future.
|
79
89
|
*/
|
80
90
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
81
91
|
testOnly_onLongPress?: Function | null;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, {
|
2
2
|
useCallback,
|
3
|
-
|
3
|
+
useEffect,
|
4
4
|
useMemo,
|
5
5
|
useRef,
|
6
6
|
useState,
|
@@ -14,9 +14,9 @@ import {
|
|
14
14
|
} from './PressableProps';
|
15
15
|
import {
|
16
16
|
Insets,
|
17
|
+
LayoutChangeEvent,
|
17
18
|
Platform,
|
18
19
|
StyleProp,
|
19
|
-
View,
|
20
20
|
ViewStyle,
|
21
21
|
processColor,
|
22
22
|
} from 'react-native';
|
@@ -35,10 +35,8 @@ import {
|
|
35
35
|
RelationPropName,
|
36
36
|
RelationPropType,
|
37
37
|
} from '../utils';
|
38
|
-
import {
|
39
|
-
|
40
|
-
StateMachineEvent,
|
41
|
-
} from './stateDefinitions';
|
38
|
+
import { getStatesConfig, StateMachineEvent } from './stateDefinitions';
|
39
|
+
import { PressableStateMachine } from './StateMachine';
|
42
40
|
|
43
41
|
const DEFAULT_LONG_PRESS_DURATION = 500;
|
44
42
|
const IS_TEST_ENV = isTestEnv();
|
@@ -47,7 +45,6 @@ let IS_FABRIC: null | boolean = null;
|
|
47
45
|
|
48
46
|
const Pressable = (props: PressableProps) => {
|
49
47
|
const {
|
50
|
-
ref,
|
51
48
|
testOnly_pressed,
|
52
49
|
hitSlop,
|
53
50
|
pressRetentionOffset,
|
@@ -61,6 +58,7 @@ const Pressable = (props: PressableProps) => {
|
|
61
58
|
onPressIn,
|
62
59
|
onPressOut,
|
63
60
|
onLongPress,
|
61
|
+
onLayout,
|
64
62
|
style,
|
65
63
|
children,
|
66
64
|
android_disableSound,
|
@@ -70,7 +68,6 @@ const Pressable = (props: PressableProps) => {
|
|
70
68
|
simultaneousWithExternalGesture,
|
71
69
|
requireExternalGestureToFail,
|
72
70
|
blocksExternalGesture,
|
73
|
-
dimensionsAfterResize,
|
74
71
|
...remainingProps
|
75
72
|
} = props;
|
76
73
|
|
@@ -80,9 +77,6 @@ const Pressable = (props: PressableProps) => {
|
|
80
77
|
blocksExternalGesture,
|
81
78
|
};
|
82
79
|
|
83
|
-
// used only if `ref` is undefined
|
84
|
-
const fallbackRef = useRef<View>(null);
|
85
|
-
|
86
80
|
const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);
|
87
81
|
|
88
82
|
const longPressTimeoutRef = useRef<number | null>(null);
|
@@ -110,21 +104,6 @@ const Pressable = (props: PressableProps) => {
|
|
110
104
|
normalizedPressRetentionOffset
|
111
105
|
);
|
112
106
|
|
113
|
-
useLayoutEffect(() => {
|
114
|
-
if (dimensionsAfterResize) {
|
115
|
-
dimensions.current = dimensionsAfterResize;
|
116
|
-
} else {
|
117
|
-
requestAnimationFrame(() => {
|
118
|
-
(ref ?? fallbackRef).current?.measure((_x, _y, width, height) => {
|
119
|
-
dimensions.current = {
|
120
|
-
width,
|
121
|
-
height,
|
122
|
-
};
|
123
|
-
});
|
124
|
-
});
|
125
|
-
}
|
126
|
-
}, [dimensionsAfterResize, ref]);
|
127
|
-
|
128
107
|
const cancelLongPress = useCallback(() => {
|
129
108
|
if (longPressTimeoutRef.current) {
|
130
109
|
clearTimeout(longPressTimeoutRef.current);
|
@@ -222,10 +201,12 @@ const Pressable = (props: PressableProps) => {
|
|
222
201
|
[handleFinalize, innerHandlePressIn, onPress, onPressOut]
|
223
202
|
);
|
224
203
|
|
225
|
-
const stateMachine = useMemo(
|
226
|
-
|
227
|
-
|
228
|
-
|
204
|
+
const stateMachine = useMemo(() => new PressableStateMachine(), []);
|
205
|
+
|
206
|
+
useEffect(() => {
|
207
|
+
const configuration = getStatesConfig(handlePressIn, handlePressOut);
|
208
|
+
stateMachine.setStates(configuration);
|
209
|
+
}, [handlePressIn, handlePressOut, stateMachine]);
|
229
210
|
|
230
211
|
const hoverInTimeout = useRef<number | null>(null);
|
231
212
|
const hoverOutTimeout = useRef<number | null>(null);
|
@@ -376,11 +357,19 @@ const Pressable = (props: PressableProps) => {
|
|
376
357
|
: processColor(unprocessedRippleColor);
|
377
358
|
}, [android_ripple]);
|
378
359
|
|
360
|
+
const setDimensions = useCallback(
|
361
|
+
(event: LayoutChangeEvent) => {
|
362
|
+
onLayout?.(event);
|
363
|
+
dimensions.current = event.nativeEvent.layout;
|
364
|
+
},
|
365
|
+
[onLayout]
|
366
|
+
);
|
367
|
+
|
379
368
|
return (
|
380
369
|
<GestureDetector gesture={gesture}>
|
381
370
|
<NativeButton
|
382
371
|
{...remainingProps}
|
383
|
-
|
372
|
+
onLayout={setDimensions}
|
384
373
|
accessible={accessible !== false}
|
385
374
|
hitSlop={appliedHitSlop}
|
386
375
|
enabled={isPressableEnabled}
|
@@ -66,7 +66,7 @@ export interface PressableProps
|
|
66
66
|
/**
|
67
67
|
* A reference to the pressable element.
|
68
68
|
*/
|
69
|
-
ref?: React.
|
69
|
+
ref?: React.Ref<View>;
|
70
70
|
|
71
71
|
/**
|
72
72
|
* Either children or a render prop that receives a boolean reflecting whether
|
@@ -168,9 +168,7 @@ export interface PressableProps
|
|
168
168
|
blocksExternalGesture?: RelationPropType;
|
169
169
|
|
170
170
|
/**
|
171
|
-
*
|
172
|
-
* This property does not affect Pressable's physical appearance.
|
173
|
-
* Required when the Pressable is resized **and** uses pressRetentionOffset.
|
171
|
+
* @deprecated This property is no longer used, and will be removed in the future.
|
174
172
|
*/
|
175
173
|
dimensionsAfterResize?: PressableDimensions;
|
176
174
|
}
|
@@ -1,27 +1,35 @@
|
|
1
1
|
import { PressableEvent } from './PressableProps';
|
2
2
|
|
3
|
-
interface StateDefinition {
|
3
|
+
export interface StateDefinition {
|
4
4
|
eventName: string;
|
5
5
|
callback?: (event: PressableEvent) => void;
|
6
6
|
}
|
7
7
|
|
8
8
|
class PressableStateMachine {
|
9
|
-
private states: StateDefinition[];
|
9
|
+
private states: StateDefinition[] | null;
|
10
10
|
private currentStepIndex: number;
|
11
11
|
private eventPayload: PressableEvent | null;
|
12
12
|
|
13
|
-
constructor(
|
14
|
-
this.states =
|
13
|
+
constructor() {
|
14
|
+
this.states = null;
|
15
15
|
this.currentStepIndex = 0;
|
16
16
|
this.eventPayload = null;
|
17
17
|
}
|
18
18
|
|
19
|
+
public setStates(states: StateDefinition[]) {
|
20
|
+
this.states = states;
|
21
|
+
}
|
22
|
+
|
19
23
|
public reset() {
|
20
24
|
this.currentStepIndex = 0;
|
21
25
|
this.eventPayload = null;
|
22
26
|
}
|
23
27
|
|
24
28
|
public handleEvent(eventName: string, eventPayload?: PressableEvent) {
|
29
|
+
if (!this.states) {
|
30
|
+
return;
|
31
|
+
}
|
32
|
+
|
25
33
|
const step = this.states[this.currentStepIndex];
|
26
34
|
this.eventPayload = eventPayload || this.eventPayload;
|
27
35
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Platform } from 'react-native';
|
2
2
|
import { PressableEvent } from './PressableProps';
|
3
|
-
import {
|
3
|
+
import { StateDefinition } from './StateMachine';
|
4
4
|
|
5
5
|
export enum StateMachineEvent {
|
6
6
|
NATIVE_BEGIN = 'nativeBegin',
|
@@ -9,11 +9,11 @@ export enum StateMachineEvent {
|
|
9
9
|
LONG_PRESS_TOUCHES_DOWN = 'longPressTouchesDown',
|
10
10
|
}
|
11
11
|
|
12
|
-
function
|
12
|
+
function getAndroidStatesConfig(
|
13
13
|
handlePressIn: (event: PressableEvent) => void,
|
14
14
|
handlePressOut: (event: PressableEvent) => void
|
15
15
|
) {
|
16
|
-
return
|
16
|
+
return [
|
17
17
|
{
|
18
18
|
eventName: StateMachineEvent.NATIVE_BEGIN,
|
19
19
|
},
|
@@ -25,14 +25,14 @@ function getAndroidStateMachine(
|
|
25
25
|
eventName: StateMachineEvent.FINALIZE,
|
26
26
|
callback: handlePressOut,
|
27
27
|
},
|
28
|
-
]
|
28
|
+
];
|
29
29
|
}
|
30
30
|
|
31
|
-
function
|
31
|
+
function getIosStatesConfig(
|
32
32
|
handlePressIn: (event: PressableEvent) => void,
|
33
33
|
handlePressOut: (event: PressableEvent) => void
|
34
34
|
) {
|
35
|
-
return
|
35
|
+
return [
|
36
36
|
{
|
37
37
|
eventName: StateMachineEvent.LONG_PRESS_TOUCHES_DOWN,
|
38
38
|
},
|
@@ -44,14 +44,14 @@ function getIosStateMachine(
|
|
44
44
|
eventName: StateMachineEvent.FINALIZE,
|
45
45
|
callback: handlePressOut,
|
46
46
|
},
|
47
|
-
]
|
47
|
+
];
|
48
48
|
}
|
49
49
|
|
50
|
-
function
|
50
|
+
function getWebStatesConfig(
|
51
51
|
handlePressIn: (event: PressableEvent) => void,
|
52
52
|
handlePressOut: (event: PressableEvent) => void
|
53
53
|
) {
|
54
|
-
return
|
54
|
+
return [
|
55
55
|
{
|
56
56
|
eventName: StateMachineEvent.NATIVE_BEGIN,
|
57
57
|
},
|
@@ -66,14 +66,14 @@ function getWebStateMachine(
|
|
66
66
|
eventName: StateMachineEvent.FINALIZE,
|
67
67
|
callback: handlePressOut,
|
68
68
|
},
|
69
|
-
]
|
69
|
+
];
|
70
70
|
}
|
71
71
|
|
72
|
-
function
|
72
|
+
function getMacosStatesConfig(
|
73
73
|
handlePressIn: (event: PressableEvent) => void,
|
74
74
|
handlePressOut: (event: PressableEvent) => void
|
75
75
|
) {
|
76
|
-
return
|
76
|
+
return [
|
77
77
|
{
|
78
78
|
eventName: StateMachineEvent.LONG_PRESS_TOUCHES_DOWN,
|
79
79
|
},
|
@@ -88,14 +88,14 @@ function getMacosStateMachine(
|
|
88
88
|
eventName: StateMachineEvent.FINALIZE,
|
89
89
|
callback: handlePressOut,
|
90
90
|
},
|
91
|
-
]
|
91
|
+
];
|
92
92
|
}
|
93
93
|
|
94
|
-
function
|
94
|
+
function getUniversalStatesConfig(
|
95
95
|
handlePressIn: (event: PressableEvent) => void,
|
96
96
|
handlePressOut: (event: PressableEvent) => void
|
97
97
|
) {
|
98
|
-
return
|
98
|
+
return [
|
99
99
|
{
|
100
100
|
eventName: StateMachineEvent.FINALIZE,
|
101
101
|
callback: (event: PressableEvent) => {
|
@@ -103,23 +103,23 @@ function getUniversalStateMachine(
|
|
103
103
|
handlePressOut(event);
|
104
104
|
},
|
105
105
|
},
|
106
|
-
]
|
106
|
+
];
|
107
107
|
}
|
108
108
|
|
109
|
-
export function
|
109
|
+
export function getStatesConfig(
|
110
110
|
handlePressIn: (event: PressableEvent) => void,
|
111
111
|
handlePressOut: (event: PressableEvent) => void
|
112
|
-
) {
|
112
|
+
): StateDefinition[] {
|
113
113
|
if (Platform.OS === 'android') {
|
114
|
-
return
|
114
|
+
return getAndroidStatesConfig(handlePressIn, handlePressOut);
|
115
115
|
} else if (Platform.OS === 'ios') {
|
116
|
-
return
|
116
|
+
return getIosStatesConfig(handlePressIn, handlePressOut);
|
117
117
|
} else if (Platform.OS === 'web') {
|
118
|
-
return
|
118
|
+
return getWebStatesConfig(handlePressIn, handlePressOut);
|
119
119
|
} else if (Platform.OS === 'macos') {
|
120
|
-
return
|
120
|
+
return getMacosStatesConfig(handlePressIn, handlePressOut);
|
121
121
|
} else {
|
122
122
|
// Unknown platform - using minimal universal setup.
|
123
|
-
return
|
123
|
+
return getUniversalStatesConfig(handlePressIn, handlePressOut);
|
124
124
|
}
|
125
125
|
}
|