react-native-gesture-handler 2.26.0 → 2.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/android/src/main/jni/CMakeLists.txt +7 -26
- package/lib/commonjs/components/Pressable/Pressable.js +139 -188
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/StateMachine.js +38 -0
- package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -0
- package/lib/commonjs/components/Pressable/stateDefinitions.js +88 -0
- package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -0
- package/lib/commonjs/components/Pressable/utils.js +1 -1
- package/lib/commonjs/components/Pressable/utils.js.map +1 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +12 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +3 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +3 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +3 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +6 -6
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +24 -33
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +15 -17
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +12 -11
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js +1 -1
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +141 -190
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/StateMachine.js +34 -0
- package/lib/module/components/Pressable/StateMachine.js.map +1 -0
- package/lib/module/components/Pressable/stateDefinitions.js +83 -0
- package/lib/module/components/Pressable/stateDefinitions.js.map +1 -0
- package/lib/module/components/Pressable/utils.js +1 -1
- package/lib/module/components/Pressable/utils.js.map +1 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +13 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureObjects.js +3 -1
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +3 -0
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +3 -0
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +6 -6
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +24 -33
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +15 -17
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +1 -1
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +12 -11
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js +1 -1
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/typescript/ActionType.d.ts +0 -1
- package/lib/typescript/ActionType.js +6 -0
- package/lib/typescript/Directions.d.ts +0 -1
- package/lib/typescript/Directions.js +18 -0
- package/lib/typescript/EnableNewWebImplementation.d.ts +0 -1
- package/lib/typescript/EnableNewWebImplementation.js +30 -0
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -1
- package/lib/typescript/GestureHandlerRootViewContext.js +2 -0
- package/lib/typescript/PlatformConstants.d.ts +0 -1
- package/lib/typescript/PlatformConstants.js +3 -0
- package/lib/typescript/PlatformConstants.web.d.ts +0 -1
- package/lib/typescript/PlatformConstants.web.js +5 -0
- package/lib/typescript/PointerType.d.ts +0 -1
- package/lib/typescript/PointerType.js +8 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.js +4 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.web.js +92 -0
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -1
- package/lib/typescript/RNGestureHandlerModule.windows.js +47 -0
- package/lib/typescript/RNRenderer.d.ts +0 -1
- package/lib/typescript/RNRenderer.js +3 -0
- package/lib/typescript/RNRenderer.web.d.ts +0 -1
- package/lib/typescript/RNRenderer.web.js +3 -0
- package/lib/typescript/State.d.ts +0 -1
- package/lib/typescript/State.js +9 -0
- package/lib/typescript/TouchEventType.d.ts +0 -1
- package/lib/typescript/TouchEventType.js +7 -0
- package/lib/typescript/components/DrawerLayout.d.ts +0 -1
- package/lib/typescript/components/DrawerLayout.js +417 -0
- package/lib/typescript/components/GestureButtons.d.ts +0 -1
- package/lib/typescript/components/GestureButtons.js +165 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +0 -1
- package/lib/typescript/components/GestureButtonsProps.js +1 -0
- package/lib/typescript/components/GestureComponents.d.ts +0 -1
- package/lib/typescript/components/GestureComponents.js +67 -0
- package/lib/typescript/components/GestureComponents.web.d.ts +0 -1
- package/lib/typescript/components/GestureComponents.web.js +21 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerButton.js +2 -0
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerButton.web.js +3 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.android.js +17 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.js +16 -0
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -1
- package/lib/typescript/components/GestureHandlerRootView.web.js +11 -0
- package/lib/typescript/components/Pressable/Pressable.d.ts +1 -3
- package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/Pressable.js +231 -0
- package/lib/typescript/components/Pressable/PressableProps.d.ts +15 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/PressableProps.js +1 -0
- package/lib/typescript/components/Pressable/StateMachine.d.ts +14 -0
- package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -0
- package/lib/typescript/components/Pressable/StateMachine.js +34 -0
- package/lib/typescript/components/Pressable/index.d.ts +0 -1
- package/lib/typescript/components/Pressable/index.js +1 -0
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts +9 -0
- package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -0
- package/lib/typescript/components/Pressable/stateDefinitions.js +104 -0
- package/lib/typescript/components/Pressable/utils.d.ts +3 -7
- package/lib/typescript/components/Pressable/utils.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/utils.js +80 -0
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +0 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.js +364 -0
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +0 -1
- package/lib/typescript/components/ReanimatedSwipeable.js +400 -0
- package/lib/typescript/components/Swipeable.d.ts +0 -1
- package/lib/typescript/components/Swipeable.js +287 -0
- package/lib/typescript/components/Text.d.ts +0 -1
- package/lib/typescript/components/Text.js +38 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -1
- package/lib/typescript/components/gestureHandlerRootHOC.js +18 -0
- package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +0 -1
- package/lib/typescript/components/touchables/ExtraButtonProps.js +1 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -1
- package/lib/typescript/components/touchables/GenericTouchable.js +221 -0
- package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +0 -1
- package/lib/typescript/components/touchables/GenericTouchableProps.js +1 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableHighlight.js +75 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +65 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedback.js +6 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableOpacity.js +51 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -1
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +10 -0
- package/lib/typescript/components/touchables/index.d.ts +0 -1
- package/lib/typescript/components/touchables/index.js +4 -0
- package/lib/typescript/components/utils.d.ts +0 -1
- package/lib/typescript/components/utils.js +11 -0
- package/lib/typescript/findNodeHandle.d.ts +0 -1
- package/lib/typescript/findNodeHandle.js +2 -0
- package/lib/typescript/findNodeHandle.web.d.ts +0 -1
- package/lib/typescript/findNodeHandle.web.js +31 -0
- package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.js +45 -0
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.web.js +7 -0
- package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
- package/lib/typescript/ghQueueMicrotask.js +7 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/FlingGestureHandler.js +19 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/ForceTouchGestureHandler.js +37 -0
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +3 -1
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts.map +1 -1
- package/lib/typescript/handlers/GestureHandlerEventPayload.js +1 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/LongPressGestureHandler.js +22 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/NativeViewGestureHandler.js +20 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/PanGestureHandler.js +128 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/PinchGestureHandler.js +12 -0
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
- package/lib/typescript/handlers/PressabilityDebugView.js +2 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
- package/lib/typescript/handlers/PressabilityDebugView.web.js +4 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/RotationGestureHandler.js +12 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -1
- package/lib/typescript/handlers/TapGestureHandler.js +26 -0
- package/lib/typescript/handlers/createHandler.d.ts +0 -1
- package/lib/typescript/handlers/createHandler.js +375 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -1
- package/lib/typescript/handlers/createNativeWrapper.js +67 -0
- package/lib/typescript/handlers/customDirectEventTypes.d.ts +0 -1
- package/lib/typescript/handlers/customDirectEventTypes.js +2 -0
- package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -1
- package/lib/typescript/handlers/customDirectEventTypes.web.js +4 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -1
- package/lib/typescript/handlers/gestureHandlerCommon.js +42 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +9 -1
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts.map +1 -1
- package/lib/typescript/handlers/gestureHandlerTypesCompat.js +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +22 -0
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +24 -0
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +55 -0
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +12 -0
- package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/index.js +114 -0
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +18 -0
- package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/types.js +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +54 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +137 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +48 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +35 -0
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +32 -0
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/utils.js +140 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -1
- package/lib/typescript/handlers/gestures/eventReceiver.js +105 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/flingGesture.js +27 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +9 -1
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/forceTouchGesture.js +57 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gesture.js +303 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureComposition.js +78 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +3 -2
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/gestureObjects.js +125 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureStateManager.js +60 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -1
- package/lib/typescript/handlers/gestures/gestureStateManager.web.js +19 -0
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/hoverGesture.js +45 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/longPressGesture.js +35 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/manualGesture.js +16 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/nativeGesture.js +24 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/panGesture.js +181 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/pinchGesture.js +27 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -1
- package/lib/typescript/handlers/gestures/reanimatedWrapper.js +23 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/rotationGesture.js +27 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -1
- package/lib/typescript/handlers/gestures/tapGesture.js +72 -0
- package/lib/typescript/handlers/getNextHandlerTag.d.ts +0 -1
- package/lib/typescript/handlers/getNextHandlerTag.js +4 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +0 -1
- package/lib/typescript/handlers/handlersRegistry.js +36 -0
- package/lib/typescript/handlers/utils.d.ts +0 -1
- package/lib/typescript/handlers/utils.js +58 -0
- package/lib/typescript/index.d.ts +0 -1
- package/lib/typescript/index.js +28 -0
- package/lib/typescript/init.d.ts +0 -1
- package/lib/typescript/init.js +15 -0
- package/lib/typescript/jestUtils/index.d.ts +0 -1
- package/lib/typescript/jestUtils/index.js +1 -0
- package/lib/typescript/jestUtils/jestUtils.d.ts +0 -1
- package/lib/typescript/jestUtils/jestUtils.js +290 -0
- package/lib/typescript/mocks.d.ts +0 -1
- package/lib/typescript/mocks.js +59 -0
- package/lib/typescript/mountRegistry.d.ts +0 -1
- package/lib/typescript/mountRegistry.js +29 -0
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +0 -1
- package/lib/typescript/specs/NativeRNGestureHandlerModule.js +2 -0
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -1
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +2 -0
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -1
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +2 -0
- package/lib/typescript/typeUtils.d.ts +0 -1
- package/lib/typescript/typeUtils.js +1 -0
- package/lib/typescript/utils.d.ts +0 -1
- package/lib/typescript/utils.js +80 -0
- package/lib/typescript/web/Gestures.d.ts +0 -1
- package/lib/typescript/web/Gestures.js +38 -0
- package/lib/typescript/web/constants.d.ts +0 -1
- package/lib/typescript/web/constants.js +2 -0
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts.map +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.js +122 -0
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -1
- package/lib/typescript/web/detectors/ScaleGestureDetector.js +117 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/FlingGestureHandler.js +133 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/GestureHandler.js +656 -0
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/HoverGestureHandler.js +37 -0
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/IGestureHandler.js +1 -0
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/LongPressGestureHandler.js +136 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/ManualGestureHandler.js +29 -0
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/NativeViewGestureHandler.js +133 -0
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +2 -1
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/PanGestureHandler.js +420 -0
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/PinchGestureHandler.js +117 -0
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/RotationGestureHandler.js +122 -0
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -1
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts.map +1 -1
- package/lib/typescript/web/handlers/TapGestureHandler.js +202 -0
- package/lib/typescript/web/interfaces.d.ts +0 -1
- package/lib/typescript/web/interfaces.js +25 -0
- package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -1
- package/lib/typescript/web/tools/CircularBuffer.js +37 -0
- package/lib/typescript/web/tools/EventManager.d.ts +0 -1
- package/lib/typescript/web/tools/EventManager.js +85 -0
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerDelegate.js +1 -0
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +273 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -1
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +169 -0
- package/lib/typescript/web/tools/InteractionManager.d.ts +0 -1
- package/lib/typescript/web/tools/InteractionManager.js +91 -0
- package/lib/typescript/web/tools/KeyboardEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/KeyboardEventManager.js +73 -0
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -1
- package/lib/typescript/web/tools/LeastSquareSolver.js +147 -0
- package/lib/typescript/web/tools/NodeManager.d.ts +0 -1
- package/lib/typescript/web/tools/NodeManager.js +28 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/PointerEventManager.js +179 -0
- package/lib/typescript/web/tools/PointerTracker.d.ts +3 -4
- package/lib/typescript/web/tools/PointerTracker.d.ts.map +1 -1
- package/lib/typescript/web/tools/PointerTracker.js +161 -0
- package/lib/typescript/web/tools/Vector.d.ts +1 -2
- package/lib/typescript/web/tools/Vector.js +43 -0
- package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -1
- package/lib/typescript/web/tools/VelocityTracker.js +76 -0
- package/lib/typescript/web/tools/WheelEventManager.d.ts +0 -1
- package/lib/typescript/web/tools/WheelEventManager.js +40 -0
- package/lib/typescript/web/utils.d.ts +0 -1
- package/lib/typescript/web/utils.js +233 -0
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/DiscreteGestureHandler.js +48 -0
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/DraggingGestureHandler.js +25 -0
- package/lib/typescript/web_hammer/Errors.d.ts +0 -1
- package/lib/typescript/web_hammer/Errors.js +5 -0
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/FlingGestureHandler.js +119 -0
- package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/GestureHandler.js +469 -0
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +26 -0
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/LongPressGestureHandler.js +46 -0
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/NativeViewGestureHandler.js +40 -0
- package/lib/typescript/web_hammer/NodeManager.d.ts +0 -1
- package/lib/typescript/web_hammer/NodeManager.js +28 -0
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PanGestureHandler.js +151 -0
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PinchGestureHandler.js +19 -0
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/PressGestureHandler.js +133 -0
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/RotationGestureHandler.js +20 -0
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -1
- package/lib/typescript/web_hammer/TapGestureHandler.js +142 -0
- package/lib/typescript/web_hammer/constants.d.ts +0 -1
- package/lib/typescript/web_hammer/constants.js +42 -0
- package/lib/typescript/web_hammer/utils.d.ts +0 -1
- package/lib/typescript/web_hammer/utils.js +15 -0
- package/package.json +4 -2
- package/src/components/Pressable/Pressable.tsx +357 -445
- package/src/components/Pressable/PressableProps.tsx +15 -0
- package/src/components/Pressable/StateMachine.tsx +49 -0
- package/src/components/Pressable/stateDefinitions.ts +125 -0
- package/src/components/Pressable/utils.ts +11 -7
- package/src/handlers/GestureHandlerEventPayload.ts +3 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +9 -0
- package/src/handlers/gestures/forceTouchGesture.ts +9 -0
- package/src/handlers/gestures/gestureObjects.ts +3 -1
- package/src/web/detectors/RotationGestureDetector.ts +4 -0
- package/src/web/handlers/FlingGestureHandler.ts +4 -0
- package/src/web/handlers/GestureHandler.ts +9 -3
- package/src/web/handlers/PanGestureHandler.ts +25 -36
- package/src/web/handlers/TapGestureHandler.ts +14 -19
- package/src/web/tools/GestureHandlerOrchestrator.ts +1 -0
- package/src/web/tools/PointerEventManager.ts +1 -1
- package/src/web/tools/PointerTracker.ts +17 -15
- package/src/web/tools/Vector.ts +1 -1
@@ -0,0 +1,35 @@
|
|
1
|
+
import { BaseGesture } from './gesture';
|
2
|
+
export class LongPressGesture extends BaseGesture {
|
3
|
+
config = {};
|
4
|
+
constructor() {
|
5
|
+
super();
|
6
|
+
this.handlerName = 'LongPressGestureHandler';
|
7
|
+
this.shouldCancelWhenOutside(true);
|
8
|
+
}
|
9
|
+
/**
|
10
|
+
* Minimum time, expressed in milliseconds, that a finger must remain pressed on the corresponding view.
|
11
|
+
* The default value is 500.
|
12
|
+
* @param duration
|
13
|
+
*/
|
14
|
+
minDuration(duration) {
|
15
|
+
this.config.minDurationMs = duration;
|
16
|
+
return this;
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a long press gesture.
|
20
|
+
* @param distance
|
21
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/long-press-gesture#maxdistancevalue-number
|
22
|
+
*/
|
23
|
+
maxDistance(distance) {
|
24
|
+
this.config.maxDist = distance;
|
25
|
+
return this;
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* Determine exact number of points required to handle the long press gesture.
|
29
|
+
* @param pointers
|
30
|
+
*/
|
31
|
+
numberOfPointers(pointers) {
|
32
|
+
this.config.numberOfPointers = pointers;
|
33
|
+
return this;
|
34
|
+
}
|
35
|
+
}
|
@@ -5,4 +5,3 @@ export declare class ManualGesture extends ContinousBaseGesture<Record<string, n
|
|
5
5
|
onChange(callback: (event: GestureUpdateEvent<Record<string, never>>) => void): this;
|
6
6
|
}
|
7
7
|
export type ManualGestureType = InstanceType<typeof ManualGesture>;
|
8
|
-
//# sourceMappingURL=manualGesture.d.ts.map
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { ContinousBaseGesture } from './gesture';
|
2
|
+
function changeEventCalculator(current, _previous) {
|
3
|
+
'worklet';
|
4
|
+
return current;
|
5
|
+
}
|
6
|
+
export class ManualGesture extends ContinousBaseGesture {
|
7
|
+
constructor() {
|
8
|
+
super();
|
9
|
+
this.handlerName = 'ManualGestureHandler';
|
10
|
+
}
|
11
|
+
onChange(callback) {
|
12
|
+
// @ts-ignore TS being overprotective, Record<string, never> is Record
|
13
|
+
this.handlers.changeEventCalculator = changeEventCalculator;
|
14
|
+
return super.onChange(callback);
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { BaseGesture } from './gesture';
|
2
|
+
export class NativeGesture extends BaseGesture {
|
3
|
+
config = {};
|
4
|
+
constructor() {
|
5
|
+
super();
|
6
|
+
this.handlerName = 'NativeViewGestureHandler';
|
7
|
+
}
|
8
|
+
/**
|
9
|
+
* When true, underlying handler will activate unconditionally when in `BEGAN` or `UNDETERMINED` state.
|
10
|
+
* @param value
|
11
|
+
*/
|
12
|
+
shouldActivateOnStart(value) {
|
13
|
+
this.config.shouldActivateOnStart = value;
|
14
|
+
return this;
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* When true, cancels all other gesture handlers when this `NativeViewGestureHandler` receives an `ACTIVE` state event.
|
18
|
+
* @param value
|
19
|
+
*/
|
20
|
+
disallowInterruption(value) {
|
21
|
+
this.config.disallowInterruption = value;
|
22
|
+
return this;
|
23
|
+
}
|
24
|
+
}
|
@@ -88,4 +88,3 @@ export declare class PanGesture extends ContinousBaseGesture<PanGestureHandlerEv
|
|
88
88
|
onChange(callback: (event: GestureUpdateEvent<PanGestureHandlerEventPayload & PanGestureChangeEventPayload>) => void): this;
|
89
89
|
}
|
90
90
|
export type PanGestureType = InstanceType<typeof PanGesture>;
|
91
|
-
//# sourceMappingURL=panGesture.d.ts.map
|
@@ -0,0 +1,181 @@
|
|
1
|
+
import { ContinousBaseGesture } from './gesture';
|
2
|
+
function changeEventCalculator(current, previous) {
|
3
|
+
'worklet';
|
4
|
+
let changePayload;
|
5
|
+
if (previous === undefined) {
|
6
|
+
changePayload = {
|
7
|
+
changeX: current.translationX,
|
8
|
+
changeY: current.translationY,
|
9
|
+
};
|
10
|
+
}
|
11
|
+
else {
|
12
|
+
changePayload = {
|
13
|
+
changeX: current.translationX - previous.translationX,
|
14
|
+
changeY: current.translationY - previous.translationY,
|
15
|
+
};
|
16
|
+
}
|
17
|
+
return { ...current, ...changePayload };
|
18
|
+
}
|
19
|
+
export class PanGesture extends ContinousBaseGesture {
|
20
|
+
config = {};
|
21
|
+
constructor() {
|
22
|
+
super();
|
23
|
+
this.handlerName = 'PanGestureHandler';
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Range along Y axis (in points) where fingers travels without activation of gesture.
|
27
|
+
* @param offset
|
28
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#activeoffsetyvalue-number--number
|
29
|
+
*/
|
30
|
+
activeOffsetY(offset) {
|
31
|
+
if (Array.isArray(offset)) {
|
32
|
+
this.config.activeOffsetYStart = offset[0];
|
33
|
+
this.config.activeOffsetYEnd = offset[1];
|
34
|
+
}
|
35
|
+
else if (offset < 0) {
|
36
|
+
this.config.activeOffsetYStart = offset;
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
this.config.activeOffsetYEnd = offset;
|
40
|
+
}
|
41
|
+
return this;
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Range along X axis (in points) where fingers travels without activation of gesture.
|
45
|
+
* @param offset
|
46
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#activeoffsetxvalue-number--number
|
47
|
+
*/
|
48
|
+
activeOffsetX(offset) {
|
49
|
+
if (Array.isArray(offset)) {
|
50
|
+
this.config.activeOffsetXStart = offset[0];
|
51
|
+
this.config.activeOffsetXEnd = offset[1];
|
52
|
+
}
|
53
|
+
else if (offset < 0) {
|
54
|
+
this.config.activeOffsetXStart = offset;
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
this.config.activeOffsetXEnd = offset;
|
58
|
+
}
|
59
|
+
return this;
|
60
|
+
}
|
61
|
+
/**
|
62
|
+
* When the finger moves outside this range (in points) along Y axis and gesture hasn't yet activated it will fail recognizing the gesture.
|
63
|
+
* @param offset
|
64
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#failoffsetyvalue-number--number
|
65
|
+
*/
|
66
|
+
failOffsetY(offset) {
|
67
|
+
if (Array.isArray(offset)) {
|
68
|
+
this.config.failOffsetYStart = offset[0];
|
69
|
+
this.config.failOffsetYEnd = offset[1];
|
70
|
+
}
|
71
|
+
else if (offset < 0) {
|
72
|
+
this.config.failOffsetYStart = offset;
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
this.config.failOffsetYEnd = offset;
|
76
|
+
}
|
77
|
+
return this;
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* When the finger moves outside this range (in points) along X axis and gesture hasn't yet activated it will fail recognizing the gesture.
|
81
|
+
* @param offset
|
82
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#failoffsetxvalue-number--number
|
83
|
+
*/
|
84
|
+
failOffsetX(offset) {
|
85
|
+
if (Array.isArray(offset)) {
|
86
|
+
this.config.failOffsetXStart = offset[0];
|
87
|
+
this.config.failOffsetXEnd = offset[1];
|
88
|
+
}
|
89
|
+
else if (offset < 0) {
|
90
|
+
this.config.failOffsetXStart = offset;
|
91
|
+
}
|
92
|
+
else {
|
93
|
+
this.config.failOffsetXEnd = offset;
|
94
|
+
}
|
95
|
+
return this;
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* A number of fingers that is required to be placed before gesture can activate. Should be a higher or equal to 0 integer.
|
99
|
+
* @param minPointers
|
100
|
+
*/
|
101
|
+
minPointers(minPointers) {
|
102
|
+
this.config.minPointers = minPointers;
|
103
|
+
return this;
|
104
|
+
}
|
105
|
+
/**
|
106
|
+
* When the given number of fingers is placed on the screen and gesture hasn't yet activated it will fail recognizing the gesture.
|
107
|
+
* Should be a higher or equal to 0 integer.
|
108
|
+
* @param maxPointers
|
109
|
+
*/
|
110
|
+
maxPointers(maxPointers) {
|
111
|
+
this.config.maxPointers = maxPointers;
|
112
|
+
return this;
|
113
|
+
}
|
114
|
+
/**
|
115
|
+
* Minimum distance the finger (or multiple finger) need to travel before the gesture activates.
|
116
|
+
* Expressed in points.
|
117
|
+
* @param distance
|
118
|
+
*/
|
119
|
+
minDistance(distance) {
|
120
|
+
this.config.minDist = distance;
|
121
|
+
return this;
|
122
|
+
}
|
123
|
+
/**
|
124
|
+
* Minimum velocity the finger has to reach in order to activate handler.
|
125
|
+
* @param velocity
|
126
|
+
*/
|
127
|
+
minVelocity(velocity) {
|
128
|
+
this.config.minVelocity = velocity;
|
129
|
+
return this;
|
130
|
+
}
|
131
|
+
/**
|
132
|
+
* Minimum velocity along X axis the finger has to reach in order to activate handler.
|
133
|
+
* @param velocity
|
134
|
+
*/
|
135
|
+
minVelocityX(velocity) {
|
136
|
+
this.config.minVelocityX = velocity;
|
137
|
+
return this;
|
138
|
+
}
|
139
|
+
/**
|
140
|
+
* Minimum velocity along Y axis the finger has to reach in order to activate handler.
|
141
|
+
* @param velocity
|
142
|
+
*/
|
143
|
+
minVelocityY(velocity) {
|
144
|
+
this.config.minVelocityY = velocity;
|
145
|
+
return this;
|
146
|
+
}
|
147
|
+
/**
|
148
|
+
* #### Android only
|
149
|
+
* Android, by default, will calculate translation values based on the position of the leading pointer (the first one that was placed on the screen).
|
150
|
+
* This modifier allows that behavior to be changed to the one that is default on iOS - the averaged position of all active pointers will be used to calculate the translation values.
|
151
|
+
* @param value
|
152
|
+
*/
|
153
|
+
averageTouches(value) {
|
154
|
+
this.config.avgTouches = value;
|
155
|
+
return this;
|
156
|
+
}
|
157
|
+
/**
|
158
|
+
* #### iOS only
|
159
|
+
* Enables two-finger gestures on supported devices, for example iPads with trackpads.
|
160
|
+
* @param value
|
161
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture/#enabletrackpadtwofingergesturevalue-boolean-ios-only
|
162
|
+
*/
|
163
|
+
enableTrackpadTwoFingerGesture(value) {
|
164
|
+
this.config.enableTrackpadTwoFingerGesture = value;
|
165
|
+
return this;
|
166
|
+
}
|
167
|
+
/**
|
168
|
+
* Duration in milliseconds of the LongPress gesture before Pan is allowed to activate.
|
169
|
+
* @param duration
|
170
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture/#activateafterlongpressduration-number
|
171
|
+
*/
|
172
|
+
activateAfterLongPress(duration) {
|
173
|
+
this.config.activateAfterLongPress = duration;
|
174
|
+
return this;
|
175
|
+
}
|
176
|
+
onChange(callback) {
|
177
|
+
// @ts-ignore TS being overprotective, PanGestureHandlerEventPayload is Record
|
178
|
+
this.handlers.changeEventCalculator = changeEventCalculator;
|
179
|
+
return super.onChange(callback);
|
180
|
+
}
|
181
|
+
}
|
@@ -9,4 +9,3 @@ export declare class PinchGesture extends ContinousBaseGesture<PinchGestureHandl
|
|
9
9
|
onChange(callback: (event: GestureUpdateEvent<PinchGestureHandlerEventPayload & PinchGestureChangeEventPayload>) => void): this;
|
10
10
|
}
|
11
11
|
export type PinchGestureType = InstanceType<typeof PinchGesture>;
|
12
|
-
//# sourceMappingURL=pinchGesture.d.ts.map
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { ContinousBaseGesture } from './gesture';
|
2
|
+
function changeEventCalculator(current, previous) {
|
3
|
+
'worklet';
|
4
|
+
let changePayload;
|
5
|
+
if (previous === undefined) {
|
6
|
+
changePayload = {
|
7
|
+
scaleChange: current.scale,
|
8
|
+
};
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
changePayload = {
|
12
|
+
scaleChange: current.scale / previous.scale,
|
13
|
+
};
|
14
|
+
}
|
15
|
+
return { ...current, ...changePayload };
|
16
|
+
}
|
17
|
+
export class PinchGesture extends ContinousBaseGesture {
|
18
|
+
constructor() {
|
19
|
+
super();
|
20
|
+
this.handlerName = 'PinchGestureHandler';
|
21
|
+
}
|
22
|
+
onChange(callback) {
|
23
|
+
// @ts-ignore TS being overprotective, PinchGestureHandlerEventPayload is Record
|
24
|
+
this.handlers.changeEventCalculator = changeEventCalculator;
|
25
|
+
return super.onChange(callback);
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { tagMessage } from '../../utils';
|
2
|
+
let Reanimated;
|
3
|
+
try {
|
4
|
+
Reanimated = require('react-native-reanimated');
|
5
|
+
}
|
6
|
+
catch (e) {
|
7
|
+
// When 'react-native-reanimated' is not available we want to quietly continue
|
8
|
+
// @ts-ignore TS demands the variable to be initialized
|
9
|
+
Reanimated = undefined;
|
10
|
+
}
|
11
|
+
if (!Reanimated?.useSharedValue) {
|
12
|
+
// @ts-ignore Make sure the loaded module is actually Reanimated, if it's not
|
13
|
+
// reset the module to undefined so we can fallback to the default implementation
|
14
|
+
Reanimated = undefined;
|
15
|
+
}
|
16
|
+
if (Reanimated !== undefined && !Reanimated.setGestureState) {
|
17
|
+
// The loaded module is Reanimated but it doesn't have the setGestureState defined
|
18
|
+
Reanimated.setGestureState = () => {
|
19
|
+
'worklet';
|
20
|
+
console.warn(tagMessage('Please use newer version of react-native-reanimated in order to control state of the gestures.'));
|
21
|
+
};
|
22
|
+
}
|
23
|
+
export { Reanimated };
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { ContinousBaseGesture } from './gesture';
|
2
|
+
function changeEventCalculator(current, previous) {
|
3
|
+
'worklet';
|
4
|
+
let changePayload;
|
5
|
+
if (previous === undefined) {
|
6
|
+
changePayload = {
|
7
|
+
rotationChange: current.rotation,
|
8
|
+
};
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
changePayload = {
|
12
|
+
rotationChange: current.rotation - previous.rotation,
|
13
|
+
};
|
14
|
+
}
|
15
|
+
return { ...current, ...changePayload };
|
16
|
+
}
|
17
|
+
export class RotationGesture extends ContinousBaseGesture {
|
18
|
+
constructor() {
|
19
|
+
super();
|
20
|
+
this.handlerName = 'RotationGestureHandler';
|
21
|
+
}
|
22
|
+
onChange(callback) {
|
23
|
+
// @ts-ignore TS being overprotective, RotationGestureHandlerEventPayload is Record
|
24
|
+
this.handlers.changeEventCalculator = changeEventCalculator;
|
25
|
+
return super.onChange(callback);
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
import { BaseGesture } from './gesture';
|
2
|
+
export class TapGesture extends BaseGesture {
|
3
|
+
config = {};
|
4
|
+
constructor() {
|
5
|
+
super();
|
6
|
+
this.handlerName = 'TapGestureHandler';
|
7
|
+
this.shouldCancelWhenOutside(true);
|
8
|
+
}
|
9
|
+
/**
|
10
|
+
* Minimum number of pointers (fingers) required to be placed before the gesture activates.
|
11
|
+
* Should be a positive integer. The default value is 1.
|
12
|
+
* @param minPointers
|
13
|
+
*/
|
14
|
+
minPointers(minPointers) {
|
15
|
+
this.config.minPointers = minPointers;
|
16
|
+
return this;
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Number of tap gestures required to activate the gesture.
|
20
|
+
* The default value is 1.
|
21
|
+
* @param count
|
22
|
+
*/
|
23
|
+
numberOfTaps(count) {
|
24
|
+
this.config.numberOfTaps = count;
|
25
|
+
return this;
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a tap gesture.
|
29
|
+
* @param maxDist
|
30
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdistancevalue-number
|
31
|
+
*/
|
32
|
+
maxDistance(maxDist) {
|
33
|
+
this.config.maxDist = maxDist;
|
34
|
+
return this;
|
35
|
+
}
|
36
|
+
/**
|
37
|
+
* Maximum time, expressed in milliseconds, that defines how fast a finger must be released after a touch.
|
38
|
+
* The default value is 500.
|
39
|
+
* @param duration
|
40
|
+
*/
|
41
|
+
maxDuration(duration) {
|
42
|
+
this.config.maxDurationMs = duration;
|
43
|
+
return this;
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* Maximum time, expressed in milliseconds, that can pass before the next tap — if many taps are required.
|
47
|
+
* The default value is 500.
|
48
|
+
* @param delay
|
49
|
+
*/
|
50
|
+
maxDelay(delay) {
|
51
|
+
this.config.maxDelayMs = delay;
|
52
|
+
return this;
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the X axis during a tap gesture.
|
56
|
+
* @param delta
|
57
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltaxvalue-number
|
58
|
+
*/
|
59
|
+
maxDeltaX(delta) {
|
60
|
+
this.config.maxDeltaX = delta;
|
61
|
+
return this;
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the Y axis during a tap gesture.
|
65
|
+
* @param delta
|
66
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltayvalue-number
|
67
|
+
*/
|
68
|
+
maxDeltaY(delta) {
|
69
|
+
this.config.maxDeltaY = delta;
|
70
|
+
return this;
|
71
|
+
}
|
72
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { isTestEnv } from '../utils';
|
2
|
+
export const handlerIDToTag = {};
|
3
|
+
const gestures = new Map();
|
4
|
+
const oldHandlers = new Map();
|
5
|
+
const testIDs = new Map();
|
6
|
+
export function registerHandler(handlerTag, handler, testID) {
|
7
|
+
gestures.set(handlerTag, handler);
|
8
|
+
if (isTestEnv() && testID) {
|
9
|
+
testIDs.set(testID, handlerTag);
|
10
|
+
}
|
11
|
+
}
|
12
|
+
export function registerOldGestureHandler(handlerTag, handler) {
|
13
|
+
oldHandlers.set(handlerTag, handler);
|
14
|
+
}
|
15
|
+
export function unregisterOldGestureHandler(handlerTag) {
|
16
|
+
oldHandlers.delete(handlerTag);
|
17
|
+
}
|
18
|
+
export function unregisterHandler(handlerTag, testID) {
|
19
|
+
gestures.delete(handlerTag);
|
20
|
+
if (isTestEnv() && testID) {
|
21
|
+
testIDs.delete(testID);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
export function findHandler(handlerTag) {
|
25
|
+
return gestures.get(handlerTag);
|
26
|
+
}
|
27
|
+
export function findOldGestureHandler(handlerTag) {
|
28
|
+
return oldHandlers.get(handlerTag);
|
29
|
+
}
|
30
|
+
export function findHandlerByTestID(testID) {
|
31
|
+
const handlerTag = testIDs.get(testID);
|
32
|
+
if (handlerTag !== undefined) {
|
33
|
+
return findHandler(handlerTag) ?? null;
|
34
|
+
}
|
35
|
+
return null;
|
36
|
+
}
|
@@ -5,4 +5,3 @@ export declare function filterConfig(props: Record<string, unknown>, validProps:
|
|
5
5
|
export declare function transformIntoHandlerTags(handlerIDs: any): any;
|
6
6
|
export declare function findNodeHandle(node: null | number | React.Component<any, any> | React.ComponentClass<any>): null | number | React.Component<any, any> | React.ComponentClass<any>;
|
7
7
|
export declare function scheduleFlushOperations(): void;
|
8
|
-
//# sourceMappingURL=utils.d.ts.map
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { Platform, findNodeHandle as findNodeHandleRN } from 'react-native';
|
2
|
+
import { handlerIDToTag } from './handlersRegistry';
|
3
|
+
import { toArray } from '../utils';
|
4
|
+
import RNGestureHandlerModule from '../RNGestureHandlerModule';
|
5
|
+
import { ghQueueMicrotask } from '../ghQueueMicrotask';
|
6
|
+
function isConfigParam(param, name) {
|
7
|
+
// param !== Object(param) returns false if `param` is a function
|
8
|
+
// or an object and returns true if `param` is null
|
9
|
+
return (param !== undefined &&
|
10
|
+
(param !== Object(param) ||
|
11
|
+
!('__isNative' in param)) &&
|
12
|
+
name !== 'onHandlerStateChange' &&
|
13
|
+
name !== 'onGestureEvent');
|
14
|
+
}
|
15
|
+
export function filterConfig(props, validProps, defaults = {}) {
|
16
|
+
const filteredConfig = { ...defaults };
|
17
|
+
for (const key of validProps) {
|
18
|
+
let value = props[key];
|
19
|
+
if (isConfigParam(value, key)) {
|
20
|
+
if (key === 'simultaneousHandlers' || key === 'waitFor') {
|
21
|
+
value = transformIntoHandlerTags(props[key]);
|
22
|
+
}
|
23
|
+
else if (key === 'hitSlop' && typeof value !== 'object') {
|
24
|
+
value = { top: value, left: value, bottom: value, right: value };
|
25
|
+
}
|
26
|
+
filteredConfig[key] = value;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
return filteredConfig;
|
30
|
+
}
|
31
|
+
export function transformIntoHandlerTags(handlerIDs) {
|
32
|
+
handlerIDs = toArray(handlerIDs);
|
33
|
+
if (Platform.OS === 'web') {
|
34
|
+
return handlerIDs
|
35
|
+
.map(({ current }) => current)
|
36
|
+
.filter((handle) => handle);
|
37
|
+
}
|
38
|
+
// converts handler string IDs into their numeric tags
|
39
|
+
return handlerIDs
|
40
|
+
.map((handlerID) => handlerIDToTag[handlerID] || handlerID.current?.handlerTag || -1)
|
41
|
+
.filter((handlerTag) => handlerTag > 0);
|
42
|
+
}
|
43
|
+
export function findNodeHandle(node) {
|
44
|
+
if (Platform.OS === 'web') {
|
45
|
+
return node;
|
46
|
+
}
|
47
|
+
return findNodeHandleRN(node) ?? null;
|
48
|
+
}
|
49
|
+
let flushOperationsScheduled = false;
|
50
|
+
export function scheduleFlushOperations() {
|
51
|
+
if (!flushOperationsScheduled) {
|
52
|
+
flushOperationsScheduled = true;
|
53
|
+
ghQueueMicrotask(() => {
|
54
|
+
RNGestureHandlerModule.flushOperations();
|
55
|
+
flushOperationsScheduled = false;
|
56
|
+
});
|
57
|
+
}
|
58
|
+
}
|
@@ -56,4 +56,3 @@ export { default as Pressable } from './components/Pressable';
|
|
56
56
|
export type { DrawerLayoutProps, DrawerPosition, DrawerState, DrawerType, DrawerLockMode, DrawerKeyboardDismissMode, } from './components/DrawerLayout';
|
57
57
|
export { default as DrawerLayout } from './components/DrawerLayout';
|
58
58
|
export { enableExperimentalWebImplementation, enableLegacyWebImplementation, } from './EnableNewWebImplementation';
|
59
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { initialize } from './init';
|
2
|
+
export { Directions } from './Directions';
|
3
|
+
export { State } from './State';
|
4
|
+
export { PointerType } from './PointerType';
|
5
|
+
export { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';
|
6
|
+
export { default as GestureHandlerRootView } from './components/GestureHandlerRootView';
|
7
|
+
export { MouseButton } from './handlers/gestureHandlerCommon';
|
8
|
+
export { TapGestureHandler } from './handlers/TapGestureHandler';
|
9
|
+
export { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';
|
10
|
+
export { LongPressGestureHandler } from './handlers/LongPressGestureHandler';
|
11
|
+
export { PanGestureHandler } from './handlers/PanGestureHandler';
|
12
|
+
export { PinchGestureHandler } from './handlers/PinchGestureHandler';
|
13
|
+
export { RotationGestureHandler } from './handlers/RotationGestureHandler';
|
14
|
+
export { FlingGestureHandler } from './handlers/FlingGestureHandler';
|
15
|
+
export { default as createNativeWrapper } from './handlers/createNativeWrapper';
|
16
|
+
export { GestureDetector } from './handlers/gestures/GestureDetector';
|
17
|
+
export { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';
|
18
|
+
export { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';
|
19
|
+
export { RawButton, BaseButton, RectButton, BorderlessButton, PureNativeButton, } from './components/GestureButtons';
|
20
|
+
export { TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, TouchableWithoutFeedback, } from './components/touchables';
|
21
|
+
export { ScrollView, Switch, TextInput, DrawerLayoutAndroid, FlatList, RefreshControl, } from './components/GestureComponents';
|
22
|
+
export { Text } from './components/Text';
|
23
|
+
export { HoverEffect } from './handlers/gestures/hoverGesture';
|
24
|
+
export { default as Swipeable } from './components/Swipeable';
|
25
|
+
export { default as Pressable } from './components/Pressable';
|
26
|
+
export { default as DrawerLayout } from './components/DrawerLayout';
|
27
|
+
export { enableExperimentalWebImplementation, enableLegacyWebImplementation, } from './EnableNewWebImplementation';
|
28
|
+
initialize();
|
package/lib/typescript/init.d.ts
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
import { startListening } from './handlers/gestures/eventReceiver';
|
2
|
+
import RNGestureHandlerModule from './RNGestureHandlerModule';
|
3
|
+
import { isFabric } from './utils';
|
4
|
+
let fabricInitialized = false;
|
5
|
+
export function initialize() {
|
6
|
+
startListening();
|
7
|
+
}
|
8
|
+
// Since isFabric() may give wrong results before the first render, we call this
|
9
|
+
// method during render of GestureHandlerRootView
|
10
|
+
export function maybeInitializeFabric() {
|
11
|
+
if (isFabric() && !fabricInitialized) {
|
12
|
+
RNGestureHandlerModule.install();
|
13
|
+
fabricInitialized = true;
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { getByGestureTestId, fireGestureHandler } from './jestUtils';
|
@@ -27,4 +27,3 @@ type ExtractConfig<T> = T extends BaseGesture<infer TGesturePayload> ? TGestureP
|
|
27
27
|
export declare function fireGestureHandler<THandler extends AllGestures | AllHandlers>(componentOrGesture: ReactTestInstance | GestureType, eventList?: Partial<GestureHandlerTestEvent<ExtractConfig<THandler>>>[]): void;
|
28
28
|
export declare function getByGestureTestId(testID: string): BaseGesture<Record<string, unknown>> | BaseGesture<Record<string, never>> | BaseGesture<TapGestureHandlerEventPayload> | BaseGesture<PanGestureHandlerEventPayload> | BaseGesture<LongPressGestureHandlerEventPayload> | BaseGesture<RotationGestureHandlerEventPayload> | BaseGesture<PinchGestureHandlerEventPayload> | BaseGesture<ForceTouchGestureHandlerEventPayload> | BaseGesture<NativeViewGestureHandlerPayload> | BaseGesture<import("../handlers/GestureHandlerEventPayload").HoverGestureHandlerEventPayload>;
|
29
29
|
export {};
|
30
|
-
//# sourceMappingURL=jestUtils.d.ts.map
|