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,140 @@
|
|
1
|
+
import { Platform } from 'react-native';
|
2
|
+
import { isTestEnv, tagMessage } from '../../../utils';
|
3
|
+
import { BaseGesture } from '../gesture';
|
4
|
+
import { flingGestureHandlerProps } from '../../FlingGestureHandler';
|
5
|
+
import { forceTouchGestureHandlerProps } from '../../ForceTouchGestureHandler';
|
6
|
+
import { longPressGestureHandlerProps } from '../../LongPressGestureHandler';
|
7
|
+
import { panGestureHandlerProps, panGestureHandlerCustomNativeProps, } from '../../PanGestureHandler';
|
8
|
+
import { tapGestureHandlerProps } from '../../TapGestureHandler';
|
9
|
+
import { hoverGestureHandlerProps } from '../hoverGesture';
|
10
|
+
import { nativeViewGestureHandlerProps } from '../../NativeViewGestureHandler';
|
11
|
+
import { baseGestureHandlerWithDetectorProps, } from '../../gestureHandlerCommon';
|
12
|
+
import { isNewWebImplementationEnabled } from '../../../EnableNewWebImplementation';
|
13
|
+
import { RNRenderer } from '../../../RNRenderer';
|
14
|
+
import { useCallback, useRef, useState } from 'react';
|
15
|
+
import { Reanimated } from '../reanimatedWrapper';
|
16
|
+
import { onGestureHandlerEvent } from '../eventReceiver';
|
17
|
+
export const ALLOWED_PROPS = [
|
18
|
+
...baseGestureHandlerWithDetectorProps,
|
19
|
+
...tapGestureHandlerProps,
|
20
|
+
...panGestureHandlerProps,
|
21
|
+
...panGestureHandlerCustomNativeProps,
|
22
|
+
...longPressGestureHandlerProps,
|
23
|
+
...forceTouchGestureHandlerProps,
|
24
|
+
...flingGestureHandlerProps,
|
25
|
+
...hoverGestureHandlerProps,
|
26
|
+
...nativeViewGestureHandlerProps,
|
27
|
+
];
|
28
|
+
function convertToHandlerTag(ref) {
|
29
|
+
if (typeof ref === 'number') {
|
30
|
+
return ref;
|
31
|
+
}
|
32
|
+
else if (ref instanceof BaseGesture) {
|
33
|
+
return ref.handlerTag;
|
34
|
+
}
|
35
|
+
else {
|
36
|
+
// @ts-ignore in this case it should be a ref either to gesture object or
|
37
|
+
// a gesture handler component, in both cases handlerTag property exists
|
38
|
+
return ref.current?.handlerTag ?? -1;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
function extractValidHandlerTags(interactionGroup) {
|
42
|
+
return (interactionGroup?.map(convertToHandlerTag)?.filter((tag) => tag > 0) ?? []);
|
43
|
+
}
|
44
|
+
export function extractGestureRelations(gesture) {
|
45
|
+
const requireToFail = extractValidHandlerTags(gesture.config.requireToFail);
|
46
|
+
const simultaneousWith = extractValidHandlerTags(gesture.config.simultaneousWith);
|
47
|
+
const blocksHandlers = extractValidHandlerTags(gesture.config.blocksHandlers);
|
48
|
+
return {
|
49
|
+
waitFor: requireToFail,
|
50
|
+
simultaneousHandlers: simultaneousWith,
|
51
|
+
blocksHandlers: blocksHandlers,
|
52
|
+
};
|
53
|
+
}
|
54
|
+
export function checkGestureCallbacksForWorklets(gesture) {
|
55
|
+
if (!__DEV__) {
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
// If a gesture is explicitly marked to run on the JS thread there is no need to check
|
59
|
+
// if callbacks are worklets as the user is aware they will be ran on the JS thread
|
60
|
+
if (gesture.config.runOnJS) {
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
const areSomeNotWorklets = gesture.handlers.isWorklet.includes(false);
|
64
|
+
const areSomeWorklets = gesture.handlers.isWorklet.includes(true);
|
65
|
+
// If some of the callbacks are worklets and some are not, and the gesture is not
|
66
|
+
// explicitly marked with `.runOnJS(true)` show an error
|
67
|
+
if (areSomeNotWorklets && areSomeWorklets) {
|
68
|
+
console.error(tagMessage(`Some of the callbacks in the gesture are worklets and some are not. Either make sure that all calbacks are marked as 'worklet' if you wish to run them on the UI thread or use '.runOnJS(true)' modifier on the gesture explicitly to run all callbacks on the JS thread.`));
|
69
|
+
}
|
70
|
+
if (Reanimated === undefined) {
|
71
|
+
// If Reanimated is not available, we can't run worklets, so we shouldn't show the warning
|
72
|
+
return;
|
73
|
+
}
|
74
|
+
const areAllNotWorklets = !areSomeWorklets && areSomeNotWorklets;
|
75
|
+
// If none of the callbacks are worklets and the gesture is not explicitly marked with
|
76
|
+
// `.runOnJS(true)` show a warning
|
77
|
+
if (areAllNotWorklets && !isTestEnv()) {
|
78
|
+
console.warn(tagMessage(`None of the callbacks in the gesture are worklets. If you wish to run them on the JS thread use '.runOnJS(true)' modifier on the gesture to make this explicit. Otherwise, mark the callbacks as 'worklet' to run them on the UI thread.`));
|
79
|
+
}
|
80
|
+
}
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
82
|
+
export function validateDetectorChildren(ref) {
|
83
|
+
// Finds the first native view under the Wrap component and traverses the fiber tree upwards
|
84
|
+
// to check whether there is more than one native view as a pseudo-direct child of GestureDetector
|
85
|
+
// i.e. this is not ok:
|
86
|
+
// Wrap
|
87
|
+
// |
|
88
|
+
// / \
|
89
|
+
// / \
|
90
|
+
// / \
|
91
|
+
// / \
|
92
|
+
// NativeView NativeView
|
93
|
+
//
|
94
|
+
// but this is fine:
|
95
|
+
// Wrap
|
96
|
+
// |
|
97
|
+
// NativeView
|
98
|
+
// |
|
99
|
+
// / \
|
100
|
+
// / \
|
101
|
+
// / \
|
102
|
+
// / \
|
103
|
+
// NativeView NativeView
|
104
|
+
if (__DEV__ && Platform.OS !== 'web') {
|
105
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
106
|
+
const wrapType =
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
108
|
+
ref._reactInternals.elementType;
|
109
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
110
|
+
let instance = RNRenderer.findHostInstance_DEPRECATED(ref)._internalFiberInstanceHandleDEV;
|
111
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
112
|
+
while (instance && instance.elementType !== wrapType) {
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
114
|
+
if (instance.sibling) {
|
115
|
+
throw new Error('GestureDetector has more than one native view as its children. This can happen if you are using a custom component that renders multiple views, like React.Fragment. You should wrap content of GestureDetector with a <View> or <Animated.View>.');
|
116
|
+
}
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
118
|
+
instance = instance.return;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
}
|
122
|
+
export function useForceRender() {
|
123
|
+
const [renderState, setRenderState] = useState(false);
|
124
|
+
const forceRender = useCallback(() => {
|
125
|
+
setRenderState(!renderState);
|
126
|
+
}, [renderState, setRenderState]);
|
127
|
+
return forceRender;
|
128
|
+
}
|
129
|
+
export function useWebEventHandlers() {
|
130
|
+
return useRef({
|
131
|
+
onGestureHandlerEvent: (e) => {
|
132
|
+
onGestureHandlerEvent(e.nativeEvent);
|
133
|
+
},
|
134
|
+
onGestureHandlerStateChange: isNewWebImplementationEnabled()
|
135
|
+
? (e) => {
|
136
|
+
onGestureHandlerEvent(e.nativeEvent);
|
137
|
+
}
|
138
|
+
: undefined,
|
139
|
+
});
|
140
|
+
}
|
@@ -2,4 +2,3 @@ import { GestureTouchEvent, GestureUpdateEvent, GestureStateChangeEvent } from '
|
|
2
2
|
export declare function onGestureHandlerEvent(event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent): void;
|
3
3
|
export declare function startListening(): void;
|
4
4
|
export declare function stopListening(): void;
|
5
|
-
//# sourceMappingURL=eventReceiver.d.ts.map
|
@@ -0,0 +1,105 @@
|
|
1
|
+
import { DeviceEventEmitter } from 'react-native';
|
2
|
+
import { State } from '../../State';
|
3
|
+
import { TouchEventType } from '../../TouchEventType';
|
4
|
+
import { findHandler, findOldGestureHandler } from '../handlersRegistry';
|
5
|
+
import { GestureStateManager, } from './gestureStateManager';
|
6
|
+
let gestureHandlerEventSubscription = null;
|
7
|
+
let gestureHandlerStateChangeEventSubscription = null;
|
8
|
+
const gestureStateManagers = new Map();
|
9
|
+
const lastUpdateEvent = [];
|
10
|
+
function isStateChangeEvent(event) {
|
11
|
+
// @ts-ignore oldState doesn't exist on GestureTouchEvent and that's the point
|
12
|
+
return event.oldState != null;
|
13
|
+
}
|
14
|
+
function isTouchEvent(event) {
|
15
|
+
return event.eventType != null;
|
16
|
+
}
|
17
|
+
export function onGestureHandlerEvent(event) {
|
18
|
+
const handler = findHandler(event.handlerTag);
|
19
|
+
if (handler) {
|
20
|
+
if (isStateChangeEvent(event)) {
|
21
|
+
if (event.oldState === State.UNDETERMINED &&
|
22
|
+
event.state === State.BEGAN) {
|
23
|
+
handler.handlers.onBegin?.(event);
|
24
|
+
}
|
25
|
+
else if ((event.oldState === State.BEGAN ||
|
26
|
+
event.oldState === State.UNDETERMINED) &&
|
27
|
+
event.state === State.ACTIVE) {
|
28
|
+
handler.handlers.onStart?.(event);
|
29
|
+
lastUpdateEvent[handler.handlers.handlerTag] = event;
|
30
|
+
}
|
31
|
+
else if (event.oldState !== event.state && event.state === State.END) {
|
32
|
+
if (event.oldState === State.ACTIVE) {
|
33
|
+
handler.handlers.onEnd?.(event, true);
|
34
|
+
}
|
35
|
+
handler.handlers.onFinalize?.(event, true);
|
36
|
+
lastUpdateEvent[handler.handlers.handlerTag] = undefined;
|
37
|
+
}
|
38
|
+
else if ((event.state === State.FAILED || event.state === State.CANCELLED) &&
|
39
|
+
event.oldState !== event.state) {
|
40
|
+
if (event.oldState === State.ACTIVE) {
|
41
|
+
handler.handlers.onEnd?.(event, false);
|
42
|
+
}
|
43
|
+
handler.handlers.onFinalize?.(event, false);
|
44
|
+
gestureStateManagers.delete(event.handlerTag);
|
45
|
+
lastUpdateEvent[handler.handlers.handlerTag] = undefined;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
else if (isTouchEvent(event)) {
|
49
|
+
if (!gestureStateManagers.has(event.handlerTag)) {
|
50
|
+
gestureStateManagers.set(event.handlerTag, GestureStateManager.create(event.handlerTag));
|
51
|
+
}
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
53
|
+
const manager = gestureStateManagers.get(event.handlerTag);
|
54
|
+
switch (event.eventType) {
|
55
|
+
case TouchEventType.TOUCHES_DOWN:
|
56
|
+
handler.handlers?.onTouchesDown?.(event, manager);
|
57
|
+
break;
|
58
|
+
case TouchEventType.TOUCHES_MOVE:
|
59
|
+
handler.handlers?.onTouchesMove?.(event, manager);
|
60
|
+
break;
|
61
|
+
case TouchEventType.TOUCHES_UP:
|
62
|
+
handler.handlers?.onTouchesUp?.(event, manager);
|
63
|
+
break;
|
64
|
+
case TouchEventType.TOUCHES_CANCELLED:
|
65
|
+
handler.handlers?.onTouchesCancelled?.(event, manager);
|
66
|
+
break;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
else {
|
70
|
+
handler.handlers.onUpdate?.(event);
|
71
|
+
if (handler.handlers.onChange && handler.handlers.changeEventCalculator) {
|
72
|
+
handler.handlers.onChange?.(handler.handlers.changeEventCalculator?.(event, lastUpdateEvent[handler.handlers.handlerTag]));
|
73
|
+
lastUpdateEvent[handler.handlers.handlerTag] = event;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
const oldHandler = findOldGestureHandler(event.handlerTag);
|
79
|
+
if (oldHandler) {
|
80
|
+
const nativeEvent = { nativeEvent: event };
|
81
|
+
if (isStateChangeEvent(event)) {
|
82
|
+
oldHandler.onGestureStateChange(nativeEvent);
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
oldHandler.onGestureEvent(nativeEvent);
|
86
|
+
}
|
87
|
+
return;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
export function startListening() {
|
92
|
+
stopListening();
|
93
|
+
gestureHandlerEventSubscription = DeviceEventEmitter.addListener('onGestureHandlerEvent', onGestureHandlerEvent);
|
94
|
+
gestureHandlerStateChangeEventSubscription = DeviceEventEmitter.addListener('onGestureHandlerStateChange', onGestureHandlerEvent);
|
95
|
+
}
|
96
|
+
export function stopListening() {
|
97
|
+
if (gestureHandlerEventSubscription) {
|
98
|
+
gestureHandlerEventSubscription.remove();
|
99
|
+
gestureHandlerEventSubscription = null;
|
100
|
+
}
|
101
|
+
if (gestureHandlerStateChangeEventSubscription) {
|
102
|
+
gestureHandlerStateChangeEventSubscription.remove();
|
103
|
+
gestureHandlerStateChangeEventSubscription = null;
|
104
|
+
}
|
105
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { BaseGesture } from './gesture';
|
2
|
+
export class FlingGesture extends BaseGesture {
|
3
|
+
config = {};
|
4
|
+
constructor() {
|
5
|
+
super();
|
6
|
+
this.handlerName = 'FlingGestureHandler';
|
7
|
+
}
|
8
|
+
/**
|
9
|
+
* Determine exact number of points required to handle the fling gesture.
|
10
|
+
* @param pointers
|
11
|
+
*/
|
12
|
+
numberOfPointers(pointers) {
|
13
|
+
this.config.numberOfPointers = pointers;
|
14
|
+
return this;
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Expressed allowed direction of movement.
|
18
|
+
* Expected values are exported as constants in the Directions object.
|
19
|
+
* Arguments can be combined using `|` operator. Default value is set to `MouseButton.LEFT`.
|
20
|
+
* @param direction
|
21
|
+
* @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/fling-gesture/#directionvalue-directions
|
22
|
+
*/
|
23
|
+
direction(direction) {
|
24
|
+
this.config.direction = direction;
|
25
|
+
return this;
|
26
|
+
}
|
27
|
+
}
|
@@ -2,9 +2,15 @@ import { BaseGestureConfig, ContinousBaseGesture } from './gesture';
|
|
2
2
|
import { ForceTouchGestureConfig } from '../ForceTouchGestureHandler';
|
3
3
|
import type { ForceTouchGestureHandlerEventPayload } from '../GestureHandlerEventPayload';
|
4
4
|
import { GestureUpdateEvent } from '../gestureHandlerCommon';
|
5
|
+
/**
|
6
|
+
* @deprecated ForceTouch gesture is deprecated and will be removed in the future.
|
7
|
+
*/
|
5
8
|
export type ForceTouchGestureChangeEventPayload = {
|
6
9
|
forceChange: number;
|
7
10
|
};
|
11
|
+
/**
|
12
|
+
* @deprecated ForceTouch gesture is deprecated and will be removed in the future.
|
13
|
+
*/
|
8
14
|
export declare class ForceTouchGesture extends ContinousBaseGesture<ForceTouchGestureHandlerEventPayload, ForceTouchGestureChangeEventPayload> {
|
9
15
|
config: BaseGestureConfig & ForceTouchGestureConfig;
|
10
16
|
constructor();
|
@@ -27,5 +33,7 @@ export declare class ForceTouchGesture extends ContinousBaseGesture<ForceTouchGe
|
|
27
33
|
feedbackOnActivation(value: boolean): this;
|
28
34
|
onChange(callback: (event: GestureUpdateEvent<GestureUpdateEvent<ForceTouchGestureHandlerEventPayload & ForceTouchGestureChangeEventPayload>>) => void): this;
|
29
35
|
}
|
36
|
+
/**
|
37
|
+
* @deprecated ForceTouch gesture is deprecated and will be removed in the future.
|
38
|
+
*/
|
30
39
|
export type ForceTouchGestureType = InstanceType<typeof ForceTouchGesture>;
|
31
|
-
//# sourceMappingURL=forceTouchGesture.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"forceTouchGesture.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/forceTouchGesture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,mCAAmC,GAAG;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAqBF,qBAAa,iBAAkB,SAAQ,oBAAoB,CACzD,oCAAoC,EACpC,mCAAmC,CACpC;IACQ,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAAM;;IAQhE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO;IAKnC,QAAQ,CACN,QAAQ,EAAE,CACR,KAAK,EAAE,kBAAkB,CACvB,kBAAkB,CAChB,oCAAoC,GAClC,mCAAmC,CACtC,CACF,KACE,IAAI;CAMZ;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"forceTouchGesture.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/forceTouchGesture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAqBF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB,CACzD,oCAAoC,EACpC,mCAAmC,CACpC;IACQ,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAAM;;IAQhE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO;IAKnC,QAAQ,CACN,QAAQ,EAAE,CACR,KAAK,EAAE,kBAAkB,CACvB,kBAAkB,CAChB,oCAAoC,GAClC,mCAAmC,CACtC,CACF,KACE,IAAI;CAMZ;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { ContinousBaseGesture } from './gesture';
|
2
|
+
function changeEventCalculator(current, previous) {
|
3
|
+
'worklet';
|
4
|
+
let changePayload;
|
5
|
+
if (previous === undefined) {
|
6
|
+
changePayload = {
|
7
|
+
forceChange: current.force,
|
8
|
+
};
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
changePayload = {
|
12
|
+
forceChange: current.force - previous.force,
|
13
|
+
};
|
14
|
+
}
|
15
|
+
return { ...current, ...changePayload };
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* @deprecated ForceTouch gesture is deprecated and will be removed in the future.
|
19
|
+
*/
|
20
|
+
export class ForceTouchGesture extends ContinousBaseGesture {
|
21
|
+
config = {};
|
22
|
+
constructor() {
|
23
|
+
super();
|
24
|
+
this.handlerName = 'ForceTouchGestureHandler';
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* A minimal pressure that is required before gesture can activate.
|
28
|
+
* Should be a value from range [0.0, 1.0]. Default is 0.2.
|
29
|
+
* @param force
|
30
|
+
*/
|
31
|
+
minForce(force) {
|
32
|
+
this.config.minForce = force;
|
33
|
+
return this;
|
34
|
+
}
|
35
|
+
/**
|
36
|
+
* A maximal pressure that could be applied for gesture.
|
37
|
+
* If the pressure is greater, gesture fails. Should be a value from range [0.0, 1.0].
|
38
|
+
* @param force
|
39
|
+
*/
|
40
|
+
maxForce(force) {
|
41
|
+
this.config.maxForce = force;
|
42
|
+
return this;
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* Value defining if haptic feedback has to be performed on activation.
|
46
|
+
* @param value
|
47
|
+
*/
|
48
|
+
feedbackOnActivation(value) {
|
49
|
+
this.config.feedbackOnActivation = value;
|
50
|
+
return this;
|
51
|
+
}
|
52
|
+
onChange(callback) {
|
53
|
+
// @ts-ignore TS being overprotective, ForceTouchGestureHandlerEventPayload is Record
|
54
|
+
this.handlers.changeEventCalculator = changeEventCalculator;
|
55
|
+
return super.onChange(callback);
|
56
|
+
}
|
57
|
+
}
|