react-native-gesture-handler 1.10.3 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +7 -6
- package/android/build.gradle +49 -1
- package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
- package/android/gradle.properties +19 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +713 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +348 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +57 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +59 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +61 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +686 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +17 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +95 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +132 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +68 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +34 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +66 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
- package/ios/Handlers/RNFlingHandler.m +78 -5
- package/ios/Handlers/RNForceTouchHandler.m +29 -4
- package/ios/Handlers/RNLongPressHandler.m +105 -3
- package/ios/Handlers/RNManualHandler.h +4 -0
- package/ios/Handlers/RNManualHandler.m +73 -0
- package/ios/Handlers/RNNativeViewHandler.m +30 -2
- package/ios/Handlers/RNPanHandler.m +64 -4
- package/ios/Handlers/RNPinchHandler.m +61 -2
- package/ios/Handlers/RNRotationHandler.m +60 -1
- package/ios/Handlers/RNTapHandler.m +55 -8
- package/ios/RNGestureHandler.h +18 -4
- package/ios/RNGestureHandler.m +123 -13
- package/ios/RNGestureHandlerEvents.h +9 -0
- package/ios/RNGestureHandlerEvents.m +34 -0
- package/ios/RNGestureHandlerManager.h +7 -0
- package/ios/RNGestureHandlerManager.m +62 -34
- package/ios/RNGestureHandlerModule.m +39 -3
- package/ios/RNGestureHandlerPointerTracker.h +25 -0
- package/ios/RNGestureHandlerPointerTracker.m +237 -0
- package/ios/RNGestureHandlerRegistry.h +1 -0
- package/ios/RNGestureHandlerRegistry.m +10 -0
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/RNManualActivationRecognizer.h +10 -0
- package/ios/RNManualActivationRecognizer.m +80 -0
- package/ios/RNRootViewGestureRecognizer.m +1 -1
- package/ios/RNTouchEventType.h +9 -0
- package/lib/commonjs/EventType.js +16 -0
- package/lib/commonjs/EventType.js.map +1 -0
- package/lib/commonjs/GestureHandlerRootView.android.js +1 -13
- package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootView.js +11 -3
- package/lib/commonjs/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +3 -1
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +41 -37
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +31 -12
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +10 -6
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +2 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/gestureHandlerRootHOC.js +1 -1
- package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +6 -4
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/createHandler.js +52 -83
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js +440 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js +135 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +65 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gesture.js +193 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js +31 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/panGesture.js +144 -0
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/commonjs/handlers/handlersRegistry.js +31 -0
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
- package/lib/commonjs/index.js +146 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/mocks.js +31 -2
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/utils.js +15 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/Errors.js +1 -1
- package/lib/commonjs/web/Errors.js.map +1 -1
- package/lib/commonjs/web/GestureHandler.js +4 -6
- package/lib/commonjs/web/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/NodeManager.js +8 -2
- package/lib/commonjs/web/NodeManager.js.map +1 -1
- package/lib/module/EventType.js +8 -0
- package/lib/module/EventType.js.map +1 -0
- package/lib/module/GestureHandlerRootView.android.js +2 -14
- package/lib/module/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/GestureHandlerRootView.js +5 -1
- package/lib/module/GestureHandlerRootView.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +3 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +2 -2
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +43 -40
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureComponents.js +29 -11
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/Swipeable.js +9 -6
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +2 -1
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/gestureHandlerRootHOC.js +1 -1
- package/lib/module/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +10 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/module/handlers/LongPressGestureHandler.js +10 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/handlers/NativeViewGestureHandler.js +4 -3
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +106 -0
- package/lib/module/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/handlers/PinchGestureHandler.js +9 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/handlers/RotationGestureHandler.js +9 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/handlers/TapGestureHandler.js +10 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/handlers/createHandler.js +41 -76
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +66 -0
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/module/handlers/gestures/GestureDetector.js +402 -0
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/module/handlers/gestures/eventReceiver.js +120 -0
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/module/handlers/gestures/flingGesture.js +24 -0
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js +56 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/gesture.js +175 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -0
- package/lib/module/handlers/gestures/gestureComposition.js +79 -0
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/module/handlers/gestures/gestureObjects.js +67 -0
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/module/handlers/gestures/longPressGesture.js +24 -0
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/module/handlers/gestures/manualGesture.js +22 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/module/handlers/gestures/nativeGesture.js +24 -0
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/module/handlers/gestures/panGesture.js +135 -0
- package/lib/module/handlers/gestures/panGesture.js.map +1 -0
- package/lib/module/handlers/gestures/pinchGesture.js +36 -0
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/module/handlers/gestures/rotationGesture.js +36 -0
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/module/handlers/gestures/tapGesture.js +49 -0
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/module/handlers/handlersRegistry.js +16 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -0
- package/lib/module/index.js +22 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +5 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/mocks.js +31 -2
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/utils.js +8 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/Errors.js +1 -1
- package/lib/module/web/Errors.js.map +1 -1
- package/lib/module/web/GestureHandler.js +4 -6
- package/lib/module/web/GestureHandler.js.map +1 -1
- package/lib/module/web/NodeManager.js +8 -2
- package/lib/module/web/NodeManager.js.map +1 -1
- package/lib/typescript/EventType.d.ts +8 -0
- package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -4
- package/lib/typescript/GestureHandlerRootView.d.ts +5 -2
- package/lib/typescript/RNGestureHandlerModule.d.ts +1 -1
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +50 -1
- package/lib/typescript/components/GestureButtons.d.ts +36 -0
- package/lib/typescript/components/GestureComponents.d.ts +8 -35
- package/lib/typescript/components/Swipeable.d.ts +73 -6
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +19 -4
- package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
- package/lib/typescript/handlers/createHandler.d.ts +1 -1
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +8 -1
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +16 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +97 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +7 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +26 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +12 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +12 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
- package/lib/typescript/index.d.ts +29 -2
- package/lib/typescript/init.d.ts +1 -0
- package/lib/typescript/mocks.d.ts +21 -2
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web/GestureHandler.d.ts +0 -1
- package/lib/typescript/web/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/web/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web/PressGestureHandler.d.ts +0 -1
- package/lib/typescript/web/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web/TapGestureHandler.d.ts +0 -1
- package/package.json +8 -5
- package/src/EventType.ts +10 -0
- package/src/GestureHandlerRootView.android.tsx +9 -25
- package/src/GestureHandlerRootView.tsx +11 -2
- package/src/RNGestureHandlerModule.ts +5 -1
- package/src/RNGestureHandlerModule.web.ts +1 -0
- package/src/components/DrawerLayout.tsx +114 -41
- package/src/components/GestureButtons.tsx +45 -5
- package/src/components/GestureComponents.tsx +47 -41
- package/src/components/Swipeable.tsx +108 -21
- package/src/components/touchables/GenericTouchable.tsx +2 -1
- package/src/components/touchables/TouchableOpacity.tsx +1 -1
- package/src/handlers/FlingGestureHandler.ts +57 -0
- package/src/handlers/ForceTouchGestureHandler.ts +83 -0
- package/src/handlers/LongPressGestureHandler.ts +84 -0
- package/src/handlers/NativeViewGestureHandler.ts +31 -7
- package/src/handlers/PanGestureHandler.ts +321 -0
- package/src/handlers/PinchGestureHandler.ts +46 -0
- package/src/handlers/RotationGestureHandler.ts +46 -0
- package/src/handlers/TapGestureHandler.ts +90 -0
- package/src/handlers/createHandler.ts +54 -79
- package/src/handlers/gestureHandlerCommon.ts +185 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +19 -5
- package/src/handlers/gestures/GestureDetector.tsx +519 -0
- package/src/handlers/gestures/eventReceiver.ts +151 -0
- package/src/handlers/gestures/flingGesture.ts +27 -0
- package/src/handlers/gestures/forceTouchGesture.ts +74 -0
- package/src/handlers/gestures/gesture.ts +292 -0
- package/src/handlers/gestures/gestureComposition.ts +109 -0
- package/src/handlers/gestures/gestureObjects.ts +79 -0
- package/src/handlers/gestures/gestureStateManager.ts +60 -0
- package/src/handlers/gestures/longPressGesture.ts +27 -0
- package/src/handlers/gestures/manualGesture.ts +31 -0
- package/src/handlers/gestures/nativeGesture.ts +27 -0
- package/src/handlers/gestures/panGesture.ts +147 -0
- package/src/handlers/gestures/pinchGesture.ts +51 -0
- package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
- package/src/handlers/gestures/rotationGesture.ts +51 -0
- package/src/handlers/gestures/tapGesture.ts +52 -0
- package/src/handlers/handlersRegistry.ts +22 -0
- package/src/index.ts +57 -17
- package/src/init.ts +5 -0
- package/src/mocks.ts +42 -2
- package/src/utils.ts +7 -0
- package/src/web/GestureHandler.ts +1 -2
- package/src/web/NodeManager.ts +5 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
- package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
- package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
- package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
- package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
- package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
- package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
- package/lib/commonjs/handlers/gestureHandlers.js +0 -236
- package/lib/commonjs/handlers/gestureHandlers.js.map +0 -1
- package/lib/module/handlers/gestureHandlers.js +0 -216
- package/lib/module/handlers/gestureHandlers.js.map +0 -1
- package/lib/typescript/handlers/gestureHandlers.d.ts +0 -158
- package/src/handlers/gestureHandlers.ts +0 -511
@@ -1,236 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.RotationGestureHandler = exports.PinchGestureHandler = exports.PanGestureHandler = exports.LongPressGestureHandler = exports.ForceTouchGestureHandler = exports.FlingGestureHandler = exports.TapGestureHandler = exports.baseProps = void 0;
|
7
|
-
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
9
|
-
|
10
|
-
var _createHandler = _interopRequireDefault(require("./createHandler"));
|
11
|
-
|
12
|
-
var _PlatformConstants = _interopRequireDefault(require("../PlatformConstants"));
|
13
|
-
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
-
|
16
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
17
|
-
|
18
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
19
|
-
|
20
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
21
|
-
|
22
|
-
const baseProps = ['id', 'enabled', 'minPointers', 'waitFor', 'simultaneousHandlers', 'shouldCancelWhenOutside', 'hitSlop', 'onBegan', 'onFailed', 'onCancelled', 'onActivated', 'onEnded', 'onGestureEvent', 'onHandlerStateChange'];
|
23
|
-
exports.baseProps = baseProps;
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
25
|
-
const TapGestureHandler = (0, _createHandler.default)({
|
26
|
-
name: 'TapGestureHandler',
|
27
|
-
allowedProps: [...baseProps, 'maxDurationMs', 'maxDelayMs', 'numberOfTaps', 'maxDeltaX', 'maxDeltaY', 'maxDist', 'minPointers'],
|
28
|
-
config: {}
|
29
|
-
});
|
30
|
-
exports.TapGestureHandler = TapGestureHandler;
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
32
|
-
const FlingGestureHandler = (0, _createHandler.default)({
|
33
|
-
name: 'FlingGestureHandler',
|
34
|
-
allowedProps: [...baseProps, 'numberOfPointers', 'direction'],
|
35
|
-
config: {}
|
36
|
-
});
|
37
|
-
exports.FlingGestureHandler = FlingGestureHandler;
|
38
|
-
|
39
|
-
class ForceTouchFallback extends React.Component {
|
40
|
-
componentDidMount() {
|
41
|
-
console.warn('ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase');
|
42
|
-
}
|
43
|
-
|
44
|
-
render() {
|
45
|
-
return this.props.children;
|
46
|
-
}
|
47
|
-
|
48
|
-
}
|
49
|
-
|
50
|
-
_defineProperty(ForceTouchFallback, "forceTouchAvailable", false);
|
51
|
-
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
53
|
-
const ForceTouchGestureHandler = _PlatformConstants.default !== null && _PlatformConstants.default !== void 0 && _PlatformConstants.default.forceTouchAvailable ? (0, _createHandler.default)({
|
54
|
-
name: 'ForceTouchGestureHandler',
|
55
|
-
allowedProps: [...baseProps, 'minForce', 'maxForce', 'feedbackOnActivation'],
|
56
|
-
config: {}
|
57
|
-
}) : ForceTouchFallback;
|
58
|
-
exports.ForceTouchGestureHandler = ForceTouchGestureHandler;
|
59
|
-
ForceTouchGestureHandler.forceTouchAvailable = (_PlatformConstants.default === null || _PlatformConstants.default === void 0 ? void 0 : _PlatformConstants.default.forceTouchAvailable) || false;
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
61
|
-
const LongPressGestureHandler = (0, _createHandler.default)({
|
62
|
-
name: 'LongPressGestureHandler',
|
63
|
-
allowedProps: [...baseProps, 'minDurationMs', 'maxDist'],
|
64
|
-
config: {}
|
65
|
-
});
|
66
|
-
exports.LongPressGestureHandler = LongPressGestureHandler;
|
67
|
-
|
68
|
-
function validatePanGestureHandlerProps(props) {
|
69
|
-
if (props.minDeltaX && props.activeOffsetX) {
|
70
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd");
|
71
|
-
}
|
72
|
-
|
73
|
-
if (props.maxDeltaX && props.failOffsetX) {
|
74
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd");
|
75
|
-
}
|
76
|
-
|
77
|
-
if (props.minDeltaY && props.activeOffsetY) {
|
78
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd");
|
79
|
-
}
|
80
|
-
|
81
|
-
if (props.maxDeltaY && props.failOffsetY) {
|
82
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd");
|
83
|
-
}
|
84
|
-
|
85
|
-
if (Array.isArray(props.activeOffsetX) && (props.activeOffsetX[0] > 0 || props.activeOffsetX[1] < 0)) {
|
86
|
-
throw new Error("First element of activeOffsetX should be negative, a the second one should be positive");
|
87
|
-
}
|
88
|
-
|
89
|
-
if (Array.isArray(props.activeOffsetY) && (props.activeOffsetY[0] > 0 || props.activeOffsetY[1] < 0)) {
|
90
|
-
throw new Error("First element of activeOffsetY should be negative, a the second one should be positive");
|
91
|
-
}
|
92
|
-
|
93
|
-
if (Array.isArray(props.failOffsetX) && (props.failOffsetX[0] > 0 || props.failOffsetX[1] < 0)) {
|
94
|
-
throw new Error("First element of failOffsetX should be negative, a the second one should be positive");
|
95
|
-
}
|
96
|
-
|
97
|
-
if (Array.isArray(props.failOffsetY) && (props.failOffsetY[0] > 0 || props.failOffsetY[1] < 0)) {
|
98
|
-
throw new Error("First element of failOffsetY should be negative, a the second one should be positive");
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
function transformPanGestureHandlerProps(props) {
|
103
|
-
const res = { ...props
|
104
|
-
};
|
105
|
-
|
106
|
-
if (props.minDeltaX !== undefined) {
|
107
|
-
delete res.minDeltaX;
|
108
|
-
res.activeOffsetXStart = -props.minDeltaX;
|
109
|
-
res.activeOffsetXEnd = props.minDeltaX;
|
110
|
-
}
|
111
|
-
|
112
|
-
if (props.maxDeltaX !== undefined) {
|
113
|
-
delete res.maxDeltaX;
|
114
|
-
res.failOffsetXStart = -props.maxDeltaX;
|
115
|
-
res.failOffsetXEnd = props.maxDeltaX;
|
116
|
-
}
|
117
|
-
|
118
|
-
if (props.minOffsetX !== undefined) {
|
119
|
-
delete res.minOffsetX;
|
120
|
-
|
121
|
-
if (props.minOffsetX < 0) {
|
122
|
-
res.activeOffsetXStart = props.minOffsetX;
|
123
|
-
} else {
|
124
|
-
res.activeOffsetXEnd = props.minOffsetX;
|
125
|
-
}
|
126
|
-
}
|
127
|
-
|
128
|
-
if (props.minDeltaY !== undefined) {
|
129
|
-
delete res.minDeltaY;
|
130
|
-
res.activeOffsetYStart = -props.minDeltaY;
|
131
|
-
res.activeOffsetYEnd = props.minDeltaY;
|
132
|
-
}
|
133
|
-
|
134
|
-
if (props.maxDeltaY !== undefined) {
|
135
|
-
delete res.maxDeltaY;
|
136
|
-
res.failOffsetYStart = -props.maxDeltaY;
|
137
|
-
res.failOffsetYEnd = props.maxDeltaY;
|
138
|
-
}
|
139
|
-
|
140
|
-
if (props.minOffsetY !== undefined) {
|
141
|
-
delete res.minOffsetY;
|
142
|
-
|
143
|
-
if (props.minOffsetY < 0) {
|
144
|
-
res.activeOffsetYStart = props.minOffsetY;
|
145
|
-
} else {
|
146
|
-
res.activeOffsetYEnd = props.minOffsetY;
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
if (props.activeOffsetX !== undefined) {
|
151
|
-
delete res.activeOffsetX;
|
152
|
-
|
153
|
-
if (Array.isArray(props.activeOffsetX)) {
|
154
|
-
res.activeOffsetXStart = props.activeOffsetX[0];
|
155
|
-
res.activeOffsetXEnd = props.activeOffsetX[1];
|
156
|
-
} else if (props.activeOffsetX < 0) {
|
157
|
-
res.activeOffsetXStart = props.activeOffsetX;
|
158
|
-
} else {
|
159
|
-
res.activeOffsetXEnd = props.activeOffsetX;
|
160
|
-
}
|
161
|
-
}
|
162
|
-
|
163
|
-
if (props.activeOffsetY !== undefined) {
|
164
|
-
delete res.activeOffsetY;
|
165
|
-
|
166
|
-
if (Array.isArray(props.activeOffsetY)) {
|
167
|
-
res.activeOffsetYStart = props.activeOffsetY[0];
|
168
|
-
res.activeOffsetYEnd = props.activeOffsetY[1];
|
169
|
-
} else if (props.activeOffsetY < 0) {
|
170
|
-
res.activeOffsetYStart = props.activeOffsetY;
|
171
|
-
} else {
|
172
|
-
res.activeOffsetYEnd = props.activeOffsetY;
|
173
|
-
}
|
174
|
-
}
|
175
|
-
|
176
|
-
if (props.failOffsetX !== undefined) {
|
177
|
-
delete res.failOffsetX;
|
178
|
-
|
179
|
-
if (Array.isArray(props.failOffsetX)) {
|
180
|
-
res.failOffsetXStart = props.failOffsetX[0];
|
181
|
-
res.failOffsetXEnd = props.failOffsetX[1];
|
182
|
-
} else if (props.failOffsetX < 0) {
|
183
|
-
res.failOffsetXStart = props.failOffsetX;
|
184
|
-
} else {
|
185
|
-
res.failOffsetXEnd = props.failOffsetX;
|
186
|
-
}
|
187
|
-
}
|
188
|
-
|
189
|
-
if (props.failOffsetY !== undefined) {
|
190
|
-
delete res.failOffsetY;
|
191
|
-
|
192
|
-
if (Array.isArray(props.failOffsetY)) {
|
193
|
-
res.failOffsetYStart = props.failOffsetY[0];
|
194
|
-
res.failOffsetYEnd = props.failOffsetY[1];
|
195
|
-
} else if (props.failOffsetY < 0) {
|
196
|
-
res.failOffsetYStart = props.failOffsetY;
|
197
|
-
} else {
|
198
|
-
res.failOffsetYEnd = props.failOffsetY;
|
199
|
-
}
|
200
|
-
}
|
201
|
-
|
202
|
-
return res;
|
203
|
-
}
|
204
|
-
|
205
|
-
function managePanProps(props) {
|
206
|
-
if (__DEV__) {
|
207
|
-
validatePanGestureHandlerProps(props);
|
208
|
-
}
|
209
|
-
|
210
|
-
return transformPanGestureHandlerProps(props);
|
211
|
-
}
|
212
|
-
|
213
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
214
|
-
const PanGestureHandler = (0, _createHandler.default)({
|
215
|
-
name: 'PanGestureHandler',
|
216
|
-
allowedProps: [...baseProps, 'activeOffsetY', 'activeOffsetX', 'failOffsetY', 'failOffsetX', 'minDist', 'minVelocity', 'minVelocityX', 'minVelocityY', 'minPointers', 'maxPointers', 'avgTouches', 'enableTrackpadTwoFingerGesture'],
|
217
|
-
config: {},
|
218
|
-
transformProps: managePanProps,
|
219
|
-
customNativeProps: ['activeOffsetYStart', 'activeOffsetYEnd', 'activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetYStart', 'failOffsetYEnd', 'failOffsetXStart', 'failOffsetXEnd']
|
220
|
-
});
|
221
|
-
exports.PanGestureHandler = PanGestureHandler;
|
222
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
223
|
-
const PinchGestureHandler = (0, _createHandler.default)({
|
224
|
-
name: 'PinchGestureHandler',
|
225
|
-
allowedProps: baseProps,
|
226
|
-
config: {}
|
227
|
-
});
|
228
|
-
exports.PinchGestureHandler = PinchGestureHandler;
|
229
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
230
|
-
const RotationGestureHandler = (0, _createHandler.default)({
|
231
|
-
name: 'RotationGestureHandler',
|
232
|
-
allowedProps: baseProps,
|
233
|
-
config: {}
|
234
|
-
});
|
235
|
-
exports.RotationGestureHandler = RotationGestureHandler;
|
236
|
-
//# sourceMappingURL=gestureHandlers.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["gestureHandlers.ts"],"names":["baseProps","TapGestureHandler","name","allowedProps","config","FlingGestureHandler","ForceTouchFallback","React","Component","componentDidMount","console","warn","render","props","children","ForceTouchGestureHandler","PlatformConstants","forceTouchAvailable","LongPressGestureHandler","validatePanGestureHandlerProps","minDeltaX","activeOffsetX","Error","maxDeltaX","failOffsetX","minDeltaY","activeOffsetY","maxDeltaY","failOffsetY","Array","isArray","transformPanGestureHandlerProps","res","undefined","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","minOffsetX","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","minOffsetY","managePanProps","__DEV__","PanGestureHandler","transformProps","customNativeProps","PinchGestureHandler","RotationGestureHandler"],"mappings":";;;;;;;AAIA;;AAEA;;AACA;;;;;;;;;;AAkEO,MAAMA,SAAS,GAAG,CACvB,IADuB,EAEvB,SAFuB,EAGvB,aAHuB,EAIvB,SAJuB,EAKvB,sBALuB,EAMvB,yBANuB,EAOvB,SAPuB,EAQvB,SARuB,EASvB,UATuB,EAUvB,aAVuB,EAWvB,aAXuB,EAYvB,SAZuB,EAavB,gBAbuB,EAcvB,sBAduB,CAAlB;;AAoCP;AACO,MAAMC,iBAAiB,GAAG,4BAG/B;AACAC,EAAAA,IAAI,EAAE,mBADN;AAEAC,EAAAA,YAAY,EAAE,CACZ,GAAGH,SADS,EAEZ,eAFY,EAGZ,YAHY,EAIZ,cAJY,EAKZ,WALY,EAMZ,WANY,EAOZ,SAPY,EAQZ,aARY,CAFd;AAYAI,EAAAA,MAAM,EAAE;AAZR,CAH+B,CAA1B;;AAgCP;AACO,MAAMC,mBAAmB,GAAG,4BAGjC;AACAH,EAAAA,IAAI,EAAE,qBADN;AAEAC,EAAAA,YAAY,EAAE,CAAC,GAAGH,SAAJ,EAAe,kBAAf,EAAmC,WAAnC,CAFd;AAGAI,EAAAA,MAAM,EAAE;AAHR,CAHiC,CAA5B;;;AASP,MAAME,kBAAN,SAAiCC,KAAK,CAACC,SAAvC,CAAiD;AAE/CC,EAAAA,iBAAiB,GAAG;AAClBC,IAAAA,OAAO,CAACC,IAAR,CACE,8NADF;AAGD;;AACDC,EAAAA,MAAM,GAAG;AACP,WAAO,KAAKC,KAAL,CAAWC,QAAlB;AACD;;AAT8C;;gBAA3CR,kB,yBACyB,K;;AA6B/B;AACO,MAAMS,wBAAwB,GAAGC,2GAAmBC,mBAAnB,GACpC,4BAGE;AACAf,EAAAA,IAAI,EAAE,0BADN;AAEAC,EAAAA,YAAY,EAAE,CACZ,GAAGH,SADS,EAEZ,UAFY,EAGZ,UAHY,EAIZ,sBAJY,CAFd;AAQAI,EAAAA,MAAM,EAAE;AARR,CAHF,CADoC,GAcpCE,kBAdG;;AAgBNS,wBAAD,CAAuDE,mBAAvD,GACE,oHAAmBA,mBAAnB,KAA0C,KAD5C;AAiBA;AACO,MAAMC,uBAAuB,GAAG,4BAGrC;AACAhB,EAAAA,IAAI,EAAE,yBADN;AAEAC,EAAAA,YAAY,EAAE,CAAC,GAAGH,SAAJ,EAAe,eAAf,EAAgC,SAAhC,CAFd;AAGAI,EAAAA,MAAM,EAAE;AAHR,CAHqC,CAAhC;;;AASP,SAASe,8BAAT,CAAwCN,KAAxC,EAAuE;AACrE,MAAIA,KAAK,CAACO,SAAN,IAAmBP,KAAK,CAACQ,aAA7B,EAA4C;AAC1C,UAAM,IAAIC,KAAJ,gFAAN;AAGD;;AACD,MAAIT,KAAK,CAACU,SAAN,IAAmBV,KAAK,CAACW,WAA7B,EAA0C;AACxC,UAAM,IAAIF,KAAJ,gFAAN;AAGD;;AACD,MAAIT,KAAK,CAACY,SAAN,IAAmBZ,KAAK,CAACa,aAA7B,EAA4C;AAC1C,UAAM,IAAIJ,KAAJ,gFAAN;AAGD;;AACD,MAAIT,KAAK,CAACc,SAAN,IAAmBd,KAAK,CAACe,WAA7B,EAA0C;AACxC,UAAM,IAAIN,KAAJ,gFAAN;AAGD;;AACD,MACEO,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACQ,aAApB,MACCR,KAAK,CAACQ,aAAN,CAAoB,CAApB,IAAyB,CAAzB,IAA8BR,KAAK,CAACQ,aAAN,CAAoB,CAApB,IAAyB,CADxD,CADF,EAGE;AACA,UAAM,IAAIC,KAAJ,0FAAN;AAGD;;AAED,MACEO,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACa,aAApB,MACCb,KAAK,CAACa,aAAN,CAAoB,CAApB,IAAyB,CAAzB,IAA8Bb,KAAK,CAACa,aAAN,CAAoB,CAApB,IAAyB,CADxD,CADF,EAGE;AACA,UAAM,IAAIJ,KAAJ,0FAAN;AAGD;;AAED,MACEO,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACW,WAApB,MACCX,KAAK,CAACW,WAAN,CAAkB,CAAlB,IAAuB,CAAvB,IAA4BX,KAAK,CAACW,WAAN,CAAkB,CAAlB,IAAuB,CADpD,CADF,EAGE;AACA,UAAM,IAAIF,KAAJ,wFAAN;AAGD;;AAED,MACEO,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACe,WAApB,MACCf,KAAK,CAACe,WAAN,CAAkB,CAAlB,IAAuB,CAAvB,IAA4Bf,KAAK,CAACe,WAAN,CAAkB,CAAlB,IAAuB,CADpD,CADF,EAGE;AACA,UAAM,IAAIN,KAAJ,wFAAN;AAGD;AACF;;AAED,SAASS,+BAAT,CAAyClB,KAAzC,EAAwE;AAatE,QAAMmB,GAAmC,GAAG,EAAE,GAAGnB;AAAL,GAA5C;;AACA,MAAIA,KAAK,CAACO,SAAN,KAAoBa,SAAxB,EAAmC;AACjC,WAAOD,GAAG,CAACZ,SAAX;AACAY,IAAAA,GAAG,CAACE,kBAAJ,GAAyB,CAACrB,KAAK,CAACO,SAAhC;AACAY,IAAAA,GAAG,CAACG,gBAAJ,GAAuBtB,KAAK,CAACO,SAA7B;AACD;;AACD,MAAIP,KAAK,CAACU,SAAN,KAAoBU,SAAxB,EAAmC;AACjC,WAAOD,GAAG,CAACT,SAAX;AACAS,IAAAA,GAAG,CAACI,gBAAJ,GAAuB,CAACvB,KAAK,CAACU,SAA9B;AACAS,IAAAA,GAAG,CAACK,cAAJ,GAAqBxB,KAAK,CAACU,SAA3B;AACD;;AACD,MAAIV,KAAK,CAACyB,UAAN,KAAqBL,SAAzB,EAAoC;AAClC,WAAOD,GAAG,CAACM,UAAX;;AACA,QAAIzB,KAAK,CAACyB,UAAN,GAAmB,CAAvB,EAA0B;AACxBN,MAAAA,GAAG,CAACE,kBAAJ,GAAyBrB,KAAK,CAACyB,UAA/B;AACD,KAFD,MAEO;AACLN,MAAAA,GAAG,CAACG,gBAAJ,GAAuBtB,KAAK,CAACyB,UAA7B;AACD;AACF;;AAED,MAAIzB,KAAK,CAACY,SAAN,KAAoBQ,SAAxB,EAAmC;AACjC,WAAOD,GAAG,CAACP,SAAX;AACAO,IAAAA,GAAG,CAACO,kBAAJ,GAAyB,CAAC1B,KAAK,CAACY,SAAhC;AACAO,IAAAA,GAAG,CAACQ,gBAAJ,GAAuB3B,KAAK,CAACY,SAA7B;AACD;;AACD,MAAIZ,KAAK,CAACc,SAAN,KAAoBM,SAAxB,EAAmC;AACjC,WAAOD,GAAG,CAACL,SAAX;AACAK,IAAAA,GAAG,CAACS,gBAAJ,GAAuB,CAAC5B,KAAK,CAACc,SAA9B;AACAK,IAAAA,GAAG,CAACU,cAAJ,GAAqB7B,KAAK,CAACc,SAA3B;AACD;;AAED,MAAId,KAAK,CAAC8B,UAAN,KAAqBV,SAAzB,EAAoC;AAClC,WAAOD,GAAG,CAACW,UAAX;;AACA,QAAI9B,KAAK,CAAC8B,UAAN,GAAmB,CAAvB,EAA0B;AACxBX,MAAAA,GAAG,CAACO,kBAAJ,GAAyB1B,KAAK,CAAC8B,UAA/B;AACD,KAFD,MAEO;AACLX,MAAAA,GAAG,CAACQ,gBAAJ,GAAuB3B,KAAK,CAAC8B,UAA7B;AACD;AACF;;AAED,MAAI9B,KAAK,CAACQ,aAAN,KAAwBY,SAA5B,EAAuC;AACrC,WAAOD,GAAG,CAACX,aAAX;;AACA,QAAIQ,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACQ,aAApB,CAAJ,EAAwC;AACtCW,MAAAA,GAAG,CAACE,kBAAJ,GAAyBrB,KAAK,CAACQ,aAAN,CAAoB,CAApB,CAAzB;AACAW,MAAAA,GAAG,CAACG,gBAAJ,GAAuBtB,KAAK,CAACQ,aAAN,CAAoB,CAApB,CAAvB;AACD,KAHD,MAGO,IAAIR,KAAK,CAACQ,aAAN,GAAsB,CAA1B,EAA6B;AAClCW,MAAAA,GAAG,CAACE,kBAAJ,GAAyBrB,KAAK,CAACQ,aAA/B;AACD,KAFM,MAEA;AACLW,MAAAA,GAAG,CAACG,gBAAJ,GAAuBtB,KAAK,CAACQ,aAA7B;AACD;AACF;;AAED,MAAIR,KAAK,CAACa,aAAN,KAAwBO,SAA5B,EAAuC;AACrC,WAAOD,GAAG,CAACN,aAAX;;AACA,QAAIG,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACa,aAApB,CAAJ,EAAwC;AACtCM,MAAAA,GAAG,CAACO,kBAAJ,GAAyB1B,KAAK,CAACa,aAAN,CAAoB,CAApB,CAAzB;AACAM,MAAAA,GAAG,CAACQ,gBAAJ,GAAuB3B,KAAK,CAACa,aAAN,CAAoB,CAApB,CAAvB;AACD,KAHD,MAGO,IAAIb,KAAK,CAACa,aAAN,GAAsB,CAA1B,EAA6B;AAClCM,MAAAA,GAAG,CAACO,kBAAJ,GAAyB1B,KAAK,CAACa,aAA/B;AACD,KAFM,MAEA;AACLM,MAAAA,GAAG,CAACQ,gBAAJ,GAAuB3B,KAAK,CAACa,aAA7B;AACD;AACF;;AAED,MAAIb,KAAK,CAACW,WAAN,KAAsBS,SAA1B,EAAqC;AACnC,WAAOD,GAAG,CAACR,WAAX;;AACA,QAAIK,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACW,WAApB,CAAJ,EAAsC;AACpCQ,MAAAA,GAAG,CAACI,gBAAJ,GAAuBvB,KAAK,CAACW,WAAN,CAAkB,CAAlB,CAAvB;AACAQ,MAAAA,GAAG,CAACK,cAAJ,GAAqBxB,KAAK,CAACW,WAAN,CAAkB,CAAlB,CAArB;AACD,KAHD,MAGO,IAAIX,KAAK,CAACW,WAAN,GAAoB,CAAxB,EAA2B;AAChCQ,MAAAA,GAAG,CAACI,gBAAJ,GAAuBvB,KAAK,CAACW,WAA7B;AACD,KAFM,MAEA;AACLQ,MAAAA,GAAG,CAACK,cAAJ,GAAqBxB,KAAK,CAACW,WAA3B;AACD;AACF;;AAED,MAAIX,KAAK,CAACe,WAAN,KAAsBK,SAA1B,EAAqC;AACnC,WAAOD,GAAG,CAACJ,WAAX;;AACA,QAAIC,KAAK,CAACC,OAAN,CAAcjB,KAAK,CAACe,WAApB,CAAJ,EAAsC;AACpCI,MAAAA,GAAG,CAACS,gBAAJ,GAAuB5B,KAAK,CAACe,WAAN,CAAkB,CAAlB,CAAvB;AACAI,MAAAA,GAAG,CAACU,cAAJ,GAAqB7B,KAAK,CAACe,WAAN,CAAkB,CAAlB,CAArB;AACD,KAHD,MAGO,IAAIf,KAAK,CAACe,WAAN,GAAoB,CAAxB,EAA2B;AAChCI,MAAAA,GAAG,CAACS,gBAAJ,GAAuB5B,KAAK,CAACe,WAA7B;AACD,KAFM,MAEA;AACLI,MAAAA,GAAG,CAACU,cAAJ,GAAqB7B,KAAK,CAACe,WAA3B;AACD;AACF;;AAED,SAAOI,GAAP;AACD;;AAED,SAASY,cAAT,CAAwB/B,KAAxB,EAAuD;AACrD,MAAIgC,OAAJ,EAAa;AACX1B,IAAAA,8BAA8B,CAACN,KAAD,CAA9B;AACD;;AACD,SAAOkB,+BAA+B,CAAClB,KAAD,CAAtC;AACD;;AA0CD;AACO,MAAMiC,iBAAiB,GAAG,4BAG/B;AACA5C,EAAAA,IAAI,EAAE,mBADN;AAEAC,EAAAA,YAAY,EAAE,CACZ,GAAGH,SADS,EAEZ,eAFY,EAGZ,eAHY,EAIZ,aAJY,EAKZ,aALY,EAMZ,SANY,EAOZ,aAPY,EAQZ,cARY,EASZ,cATY,EAUZ,aAVY,EAWZ,aAXY,EAYZ,YAZY,EAaZ,gCAbY,CAFd;AAiBAI,EAAAA,MAAM,EAAE,EAjBR;AAkBA2C,EAAAA,cAAc,EAAEH,cAlBhB;AAmBAI,EAAAA,iBAAiB,EAAE,CACjB,oBADiB,EAEjB,kBAFiB,EAGjB,oBAHiB,EAIjB,kBAJiB,EAKjB,kBALiB,EAMjB,gBANiB,EAOjB,kBAPiB,EAQjB,gBARiB;AAnBnB,CAH+B,CAA1B;;AA6CP;AACO,MAAMC,mBAAmB,GAAG,4BAGjC;AACA/C,EAAAA,IAAI,EAAE,qBADN;AAEAC,EAAAA,YAAY,EAAEH,SAFd;AAGAI,EAAAA,MAAM,EAAE;AAHR,CAHiC,CAA5B;;AAoBP;AACO,MAAM8C,sBAAsB,GAAG,4BAGpC;AACAhD,EAAAA,IAAI,EAAE,wBADN;AAEAC,EAAAA,YAAY,EAAEH,SAFd;AAGAI,EAAAA,MAAM,EAAE;AAHR,CAHoC,CAA/B","sourcesContent":["// Previous types exported gesture handlers as classes which creates an interface and variable, both named the same as class.\n// Without those types, we'd introduce breaking change, forcing users to prefix every handler type specification with typeof\n// e.g. React.createRef<TapGestureHandler> -> React.createRef<typeof TapGestureHandler>.\n// See https://www.typescriptlang.org/docs/handbook/classes.html#constructor-functions for reference.\nimport * as React from 'react';\n\nimport createHandler from './createHandler';\nimport PlatformConstants from '../PlatformConstants';\nimport { State } from '../State';\nimport { ValueOf } from '../typeUtils';\n\nexport interface GestureEventPayload {\n handlerTag: number;\n numberOfPointers: number;\n state: ValueOf<typeof State>;\n}\n\nexport interface HandlerStateChangeEventPayload {\n handlerTag: number;\n numberOfPointers: number;\n state: ValueOf<typeof State>;\n oldState: ValueOf<typeof State>;\n}\n\n//TODO(TS) events in handlers\n\nexport interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {\n nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;\n}\nexport interface HandlerStateChangeEvent<\n ExtraEventPayloadT = Record<string, unknown>\n> {\n nativeEvent: Readonly<HandlerStateChangeEventPayload & ExtraEventPayloadT>;\n}\n\n// Events payloads are types instead of interfaces due to TS limitation.\n// See https://github.com/microsoft/TypeScript/issues/15300 for more info.\nexport type BaseGestureHandlerProps<\n ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>\n> = {\n id?: string;\n enabled?: boolean;\n minPointers?: number;\n waitFor?: React.Ref<unknown> | React.Ref<unknown>[];\n simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[];\n shouldCancelWhenOutside?: boolean;\n hitSlop?:\n | number\n // TODO(TS) take into consideration types from GestureHandler#setHitSlop\n | Partial<\n Record<\n 'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal',\n number\n >\n >\n | Record<'width' | 'left', number>\n | Record<'width' | 'right', number>\n | Record<'height' | 'top', number>\n | Record<'height' | 'bottom', number>;\n // TODO(TS) - fix event types\n onBegan?: (event: HandlerStateChangeEvent) => void;\n onFailed?: (event: HandlerStateChangeEvent) => void;\n onCancelled?: (event: HandlerStateChangeEvent) => void;\n onActivated?: (event: HandlerStateChangeEvent) => void;\n onEnded?: (event: HandlerStateChangeEvent) => void;\n\n //TODO(TS) consider using NativeSyntheticEvent\n onGestureEvent?: (event: GestureEvent<ExtraEventPayloadT>) => void;\n onHandlerStateChange?: (\n event: HandlerStateChangeEvent<ExtraEventPayloadT>\n ) => void;\n};\n\nexport const baseProps = [\n 'id',\n 'enabled',\n 'minPointers',\n 'waitFor',\n 'simultaneousHandlers',\n 'shouldCancelWhenOutside',\n 'hitSlop',\n 'onBegan',\n 'onFailed',\n 'onCancelled',\n 'onActivated',\n 'onEnded',\n 'onGestureEvent',\n 'onHandlerStateChange',\n] as const;\n\nexport type TapGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface TapGestureHandlerProps\n extends BaseGestureHandlerProps<TapGestureHandlerEventPayload> {\n minPointers?: number;\n maxDurationMs?: number;\n maxDelayMs?: number;\n numberOfTaps?: number;\n maxDeltaX?: number;\n maxDeltaY?: number;\n maxDist?: number;\n}\n\nexport type TapGestureHandler = typeof TapGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const TapGestureHandler = createHandler<\n TapGestureHandlerProps,\n TapGestureHandlerEventPayload\n>({\n name: 'TapGestureHandler',\n allowedProps: [\n ...baseProps,\n 'maxDurationMs',\n 'maxDelayMs',\n 'numberOfTaps',\n 'maxDeltaX',\n 'maxDeltaY',\n 'maxDist',\n 'minPointers',\n ] as const,\n config: {},\n});\n\nexport type FlingGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface FlingGestureHandlerProps\n extends BaseGestureHandlerProps<FlingGestureHandlerEventPayload> {\n direction?: number;\n numberOfPointers?: number;\n}\n\nexport type FlingGestureHandler = typeof FlingGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const FlingGestureHandler = createHandler<\n FlingGestureHandlerProps,\n FlingGestureHandlerEventPayload\n>({\n name: 'FlingGestureHandler',\n allowedProps: [...baseProps, 'numberOfPointers', 'direction'] as const,\n config: {},\n});\n\nclass ForceTouchFallback extends React.Component {\n static forceTouchAvailable = false;\n componentDidMount() {\n console.warn(\n 'ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase'\n );\n }\n render() {\n return this.props.children;\n }\n}\n\nexport type ForceTouchGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n force: number;\n};\n\nexport interface ForceTouchGestureHandlerProps\n extends BaseGestureHandlerProps<ForceTouchGestureHandlerEventPayload> {\n minForce?: number;\n maxForce?: number;\n feedbackOnActivation?: boolean;\n}\n\nexport type ForceTouchGestureHandler = typeof ForceTouchGestureHandler & {\n forceTouchAvailable: boolean;\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const ForceTouchGestureHandler = PlatformConstants?.forceTouchAvailable\n ? createHandler<\n ForceTouchGestureHandlerProps,\n ForceTouchGestureHandlerEventPayload\n >({\n name: 'ForceTouchGestureHandler',\n allowedProps: [\n ...baseProps,\n 'minForce',\n 'maxForce',\n 'feedbackOnActivation',\n ] as const,\n config: {},\n })\n : ForceTouchFallback;\n\n(ForceTouchGestureHandler as ForceTouchGestureHandler).forceTouchAvailable =\n PlatformConstants?.forceTouchAvailable || false;\n\nexport type LongPressGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface LongPressGestureHandlerProps\n extends BaseGestureHandlerProps<LongPressGestureHandlerEventPayload> {\n minDurationMs?: number;\n maxDist?: number;\n}\n\nexport type LongPressGestureHandler = typeof LongPressGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const LongPressGestureHandler = createHandler<\n LongPressGestureHandlerProps,\n LongPressGestureHandlerEventPayload\n>({\n name: 'LongPressGestureHandler',\n allowedProps: [...baseProps, 'minDurationMs', 'maxDist'] as const,\n config: {},\n});\n\nfunction validatePanGestureHandlerProps(props: PanGestureHandlerProps) {\n if (props.minDeltaX && props.activeOffsetX) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd`\n );\n }\n if (props.maxDeltaX && props.failOffsetX) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd`\n );\n }\n if (props.minDeltaY && props.activeOffsetY) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd`\n );\n }\n if (props.maxDeltaY && props.failOffsetY) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd`\n );\n }\n if (\n Array.isArray(props.activeOffsetX) &&\n (props.activeOffsetX[0] > 0 || props.activeOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.activeOffsetY) &&\n (props.activeOffsetY[0] > 0 || props.activeOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetY should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetX) &&\n (props.failOffsetX[0] > 0 || props.failOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetY) &&\n (props.failOffsetY[0] > 0 || props.failOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetY should be negative, a the second one should be positive`\n );\n }\n}\n\nfunction transformPanGestureHandlerProps(props: PanGestureHandlerProps) {\n type InternalPanGHKeys =\n | 'activeOffsetXStart'\n | 'activeOffsetXEnd'\n | 'failOffsetXStart'\n | 'failOffsetXEnd'\n | 'activeOffsetYStart'\n | 'activeOffsetYEnd'\n | 'failOffsetYStart'\n | 'failOffsetYEnd';\n type PanGestureHandlerInternalProps = PanGestureHandlerProps &\n Partial<Record<InternalPanGHKeys, number>>;\n\n const res: PanGestureHandlerInternalProps = { ...props };\n if (props.minDeltaX !== undefined) {\n delete res.minDeltaX;\n res.activeOffsetXStart = -props.minDeltaX;\n res.activeOffsetXEnd = props.minDeltaX;\n }\n if (props.maxDeltaX !== undefined) {\n delete res.maxDeltaX;\n res.failOffsetXStart = -props.maxDeltaX;\n res.failOffsetXEnd = props.maxDeltaX;\n }\n if (props.minOffsetX !== undefined) {\n delete res.minOffsetX;\n if (props.minOffsetX < 0) {\n res.activeOffsetXStart = props.minOffsetX;\n } else {\n res.activeOffsetXEnd = props.minOffsetX;\n }\n }\n\n if (props.minDeltaY !== undefined) {\n delete res.minDeltaY;\n res.activeOffsetYStart = -props.minDeltaY;\n res.activeOffsetYEnd = props.minDeltaY;\n }\n if (props.maxDeltaY !== undefined) {\n delete res.maxDeltaY;\n res.failOffsetYStart = -props.maxDeltaY;\n res.failOffsetYEnd = props.maxDeltaY;\n }\n\n if (props.minOffsetY !== undefined) {\n delete res.minOffsetY;\n if (props.minOffsetY < 0) {\n res.activeOffsetYStart = props.minOffsetY;\n } else {\n res.activeOffsetYEnd = props.minOffsetY;\n }\n }\n\n if (props.activeOffsetX !== undefined) {\n delete res.activeOffsetX;\n if (Array.isArray(props.activeOffsetX)) {\n res.activeOffsetXStart = props.activeOffsetX[0];\n res.activeOffsetXEnd = props.activeOffsetX[1];\n } else if (props.activeOffsetX < 0) {\n res.activeOffsetXStart = props.activeOffsetX;\n } else {\n res.activeOffsetXEnd = props.activeOffsetX;\n }\n }\n\n if (props.activeOffsetY !== undefined) {\n delete res.activeOffsetY;\n if (Array.isArray(props.activeOffsetY)) {\n res.activeOffsetYStart = props.activeOffsetY[0];\n res.activeOffsetYEnd = props.activeOffsetY[1];\n } else if (props.activeOffsetY < 0) {\n res.activeOffsetYStart = props.activeOffsetY;\n } else {\n res.activeOffsetYEnd = props.activeOffsetY;\n }\n }\n\n if (props.failOffsetX !== undefined) {\n delete res.failOffsetX;\n if (Array.isArray(props.failOffsetX)) {\n res.failOffsetXStart = props.failOffsetX[0];\n res.failOffsetXEnd = props.failOffsetX[1];\n } else if (props.failOffsetX < 0) {\n res.failOffsetXStart = props.failOffsetX;\n } else {\n res.failOffsetXEnd = props.failOffsetX;\n }\n }\n\n if (props.failOffsetY !== undefined) {\n delete res.failOffsetY;\n if (Array.isArray(props.failOffsetY)) {\n res.failOffsetYStart = props.failOffsetY[0];\n res.failOffsetYEnd = props.failOffsetY[1];\n } else if (props.failOffsetY < 0) {\n res.failOffsetYStart = props.failOffsetY;\n } else {\n res.failOffsetYEnd = props.failOffsetY;\n }\n }\n\n return res;\n}\n\nfunction managePanProps(props: PanGestureHandlerProps) {\n if (__DEV__) {\n validatePanGestureHandlerProps(props);\n }\n return transformPanGestureHandlerProps(props);\n}\n\nexport type PanGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n translationX: number;\n translationY: number;\n velocityX: number;\n velocityY: number;\n};\n\nexport interface PanGestureHandlerProps\n extends BaseGestureHandlerProps<PanGestureHandlerEventPayload> {\n /** @deprecated use activeOffsetX*/\n minDeltaX?: number;\n /** @deprecated use activeOffsetY*/\n minDeltaY?: number;\n /** @deprecated use failOffsetX*/\n maxDeltaX?: number;\n /** @deprecated use failOffsetY*/\n maxDeltaY?: number;\n /** @deprecated use activeOffsetX*/\n minOffsetX?: number;\n /** @deprecated use failOffsetY*/\n minOffsetY?: number;\n activeOffsetY?: number | number[];\n activeOffsetX?: number | number[];\n failOffsetY?: number | number[];\n failOffsetX?: number | number[];\n minDist?: number;\n minVelocity?: number;\n minVelocityX?: number;\n minVelocityY?: number;\n minPointers?: number;\n maxPointers?: number;\n avgTouches?: boolean;\n enableTrackpadTwoFingerGesture?: boolean;\n}\n\nexport type PanGestureHandler = typeof PanGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const PanGestureHandler = createHandler<\n PanGestureHandlerProps,\n PanGestureHandlerEventPayload\n>({\n name: 'PanGestureHandler',\n allowedProps: [\n ...baseProps,\n 'activeOffsetY',\n 'activeOffsetX',\n 'failOffsetY',\n 'failOffsetX',\n 'minDist',\n 'minVelocity',\n 'minVelocityX',\n 'minVelocityY',\n 'minPointers',\n 'maxPointers',\n 'avgTouches',\n 'enableTrackpadTwoFingerGesture',\n ] as const,\n config: {},\n transformProps: managePanProps,\n customNativeProps: [\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n ],\n});\n\nexport type PinchGestureHandlerEventPayload = {\n scale: number;\n focalX: number;\n focalY: number;\n velocity: number;\n};\n\nexport interface PinchGestureHandlerProps\n extends BaseGestureHandlerProps<PinchGestureHandlerEventPayload> {}\n\nexport type PinchGestureHandler = typeof PinchGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const PinchGestureHandler = createHandler<\n PinchGestureHandlerProps,\n PinchGestureHandlerEventPayload\n>({\n name: 'PinchGestureHandler',\n allowedProps: baseProps,\n config: {},\n});\n\nexport type RotationGestureHandlerEventPayload = {\n rotation: number;\n anchorX: number;\n anchorY: number;\n velocity: number;\n};\n\nexport interface RotationGestureHandlerProps\n extends BaseGestureHandlerProps<RotationGestureHandlerEventPayload> {}\n\nexport type RotationGestureHandler = typeof RotationGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const RotationGestureHandler = createHandler<\n RotationGestureHandlerProps,\n RotationGestureHandlerEventPayload\n>({\n name: 'RotationGestureHandler',\n allowedProps: baseProps,\n config: {},\n});\n"]}
|
@@ -1,216 +0,0 @@
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
|
-
|
3
|
-
// Previous types exported gesture handlers as classes which creates an interface and variable, both named the same as class.
|
4
|
-
// Without those types, we'd introduce breaking change, forcing users to prefix every handler type specification with typeof
|
5
|
-
// e.g. React.createRef<TapGestureHandler> -> React.createRef<typeof TapGestureHandler>.
|
6
|
-
// See https://www.typescriptlang.org/docs/handbook/classes.html#constructor-functions for reference.
|
7
|
-
import * as React from 'react';
|
8
|
-
import createHandler from './createHandler';
|
9
|
-
import PlatformConstants from '../PlatformConstants';
|
10
|
-
export const baseProps = ['id', 'enabled', 'minPointers', 'waitFor', 'simultaneousHandlers', 'shouldCancelWhenOutside', 'hitSlop', 'onBegan', 'onFailed', 'onCancelled', 'onActivated', 'onEnded', 'onGestureEvent', 'onHandlerStateChange'];
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
12
|
-
export const TapGestureHandler = createHandler({
|
13
|
-
name: 'TapGestureHandler',
|
14
|
-
allowedProps: [...baseProps, 'maxDurationMs', 'maxDelayMs', 'numberOfTaps', 'maxDeltaX', 'maxDeltaY', 'maxDist', 'minPointers'],
|
15
|
-
config: {}
|
16
|
-
});
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
18
|
-
export const FlingGestureHandler = createHandler({
|
19
|
-
name: 'FlingGestureHandler',
|
20
|
-
allowedProps: [...baseProps, 'numberOfPointers', 'direction'],
|
21
|
-
config: {}
|
22
|
-
});
|
23
|
-
|
24
|
-
class ForceTouchFallback extends React.Component {
|
25
|
-
componentDidMount() {
|
26
|
-
console.warn('ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase');
|
27
|
-
}
|
28
|
-
|
29
|
-
render() {
|
30
|
-
return this.props.children;
|
31
|
-
}
|
32
|
-
|
33
|
-
}
|
34
|
-
|
35
|
-
_defineProperty(ForceTouchFallback, "forceTouchAvailable", false);
|
36
|
-
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
38
|
-
export const ForceTouchGestureHandler = PlatformConstants !== null && PlatformConstants !== void 0 && PlatformConstants.forceTouchAvailable ? createHandler({
|
39
|
-
name: 'ForceTouchGestureHandler',
|
40
|
-
allowedProps: [...baseProps, 'minForce', 'maxForce', 'feedbackOnActivation'],
|
41
|
-
config: {}
|
42
|
-
}) : ForceTouchFallback;
|
43
|
-
ForceTouchGestureHandler.forceTouchAvailable = (PlatformConstants === null || PlatformConstants === void 0 ? void 0 : PlatformConstants.forceTouchAvailable) || false;
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
45
|
-
export const LongPressGestureHandler = createHandler({
|
46
|
-
name: 'LongPressGestureHandler',
|
47
|
-
allowedProps: [...baseProps, 'minDurationMs', 'maxDist'],
|
48
|
-
config: {}
|
49
|
-
});
|
50
|
-
|
51
|
-
function validatePanGestureHandlerProps(props) {
|
52
|
-
if (props.minDeltaX && props.activeOffsetX) {
|
53
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd");
|
54
|
-
}
|
55
|
-
|
56
|
-
if (props.maxDeltaX && props.failOffsetX) {
|
57
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd");
|
58
|
-
}
|
59
|
-
|
60
|
-
if (props.minDeltaY && props.activeOffsetY) {
|
61
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd");
|
62
|
-
}
|
63
|
-
|
64
|
-
if (props.maxDeltaY && props.failOffsetY) {
|
65
|
-
throw new Error("It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd");
|
66
|
-
}
|
67
|
-
|
68
|
-
if (Array.isArray(props.activeOffsetX) && (props.activeOffsetX[0] > 0 || props.activeOffsetX[1] < 0)) {
|
69
|
-
throw new Error("First element of activeOffsetX should be negative, a the second one should be positive");
|
70
|
-
}
|
71
|
-
|
72
|
-
if (Array.isArray(props.activeOffsetY) && (props.activeOffsetY[0] > 0 || props.activeOffsetY[1] < 0)) {
|
73
|
-
throw new Error("First element of activeOffsetY should be negative, a the second one should be positive");
|
74
|
-
}
|
75
|
-
|
76
|
-
if (Array.isArray(props.failOffsetX) && (props.failOffsetX[0] > 0 || props.failOffsetX[1] < 0)) {
|
77
|
-
throw new Error("First element of failOffsetX should be negative, a the second one should be positive");
|
78
|
-
}
|
79
|
-
|
80
|
-
if (Array.isArray(props.failOffsetY) && (props.failOffsetY[0] > 0 || props.failOffsetY[1] < 0)) {
|
81
|
-
throw new Error("First element of failOffsetY should be negative, a the second one should be positive");
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
function transformPanGestureHandlerProps(props) {
|
86
|
-
const res = { ...props
|
87
|
-
};
|
88
|
-
|
89
|
-
if (props.minDeltaX !== undefined) {
|
90
|
-
delete res.minDeltaX;
|
91
|
-
res.activeOffsetXStart = -props.minDeltaX;
|
92
|
-
res.activeOffsetXEnd = props.minDeltaX;
|
93
|
-
}
|
94
|
-
|
95
|
-
if (props.maxDeltaX !== undefined) {
|
96
|
-
delete res.maxDeltaX;
|
97
|
-
res.failOffsetXStart = -props.maxDeltaX;
|
98
|
-
res.failOffsetXEnd = props.maxDeltaX;
|
99
|
-
}
|
100
|
-
|
101
|
-
if (props.minOffsetX !== undefined) {
|
102
|
-
delete res.minOffsetX;
|
103
|
-
|
104
|
-
if (props.minOffsetX < 0) {
|
105
|
-
res.activeOffsetXStart = props.minOffsetX;
|
106
|
-
} else {
|
107
|
-
res.activeOffsetXEnd = props.minOffsetX;
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
if (props.minDeltaY !== undefined) {
|
112
|
-
delete res.minDeltaY;
|
113
|
-
res.activeOffsetYStart = -props.minDeltaY;
|
114
|
-
res.activeOffsetYEnd = props.minDeltaY;
|
115
|
-
}
|
116
|
-
|
117
|
-
if (props.maxDeltaY !== undefined) {
|
118
|
-
delete res.maxDeltaY;
|
119
|
-
res.failOffsetYStart = -props.maxDeltaY;
|
120
|
-
res.failOffsetYEnd = props.maxDeltaY;
|
121
|
-
}
|
122
|
-
|
123
|
-
if (props.minOffsetY !== undefined) {
|
124
|
-
delete res.minOffsetY;
|
125
|
-
|
126
|
-
if (props.minOffsetY < 0) {
|
127
|
-
res.activeOffsetYStart = props.minOffsetY;
|
128
|
-
} else {
|
129
|
-
res.activeOffsetYEnd = props.minOffsetY;
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
if (props.activeOffsetX !== undefined) {
|
134
|
-
delete res.activeOffsetX;
|
135
|
-
|
136
|
-
if (Array.isArray(props.activeOffsetX)) {
|
137
|
-
res.activeOffsetXStart = props.activeOffsetX[0];
|
138
|
-
res.activeOffsetXEnd = props.activeOffsetX[1];
|
139
|
-
} else if (props.activeOffsetX < 0) {
|
140
|
-
res.activeOffsetXStart = props.activeOffsetX;
|
141
|
-
} else {
|
142
|
-
res.activeOffsetXEnd = props.activeOffsetX;
|
143
|
-
}
|
144
|
-
}
|
145
|
-
|
146
|
-
if (props.activeOffsetY !== undefined) {
|
147
|
-
delete res.activeOffsetY;
|
148
|
-
|
149
|
-
if (Array.isArray(props.activeOffsetY)) {
|
150
|
-
res.activeOffsetYStart = props.activeOffsetY[0];
|
151
|
-
res.activeOffsetYEnd = props.activeOffsetY[1];
|
152
|
-
} else if (props.activeOffsetY < 0) {
|
153
|
-
res.activeOffsetYStart = props.activeOffsetY;
|
154
|
-
} else {
|
155
|
-
res.activeOffsetYEnd = props.activeOffsetY;
|
156
|
-
}
|
157
|
-
}
|
158
|
-
|
159
|
-
if (props.failOffsetX !== undefined) {
|
160
|
-
delete res.failOffsetX;
|
161
|
-
|
162
|
-
if (Array.isArray(props.failOffsetX)) {
|
163
|
-
res.failOffsetXStart = props.failOffsetX[0];
|
164
|
-
res.failOffsetXEnd = props.failOffsetX[1];
|
165
|
-
} else if (props.failOffsetX < 0) {
|
166
|
-
res.failOffsetXStart = props.failOffsetX;
|
167
|
-
} else {
|
168
|
-
res.failOffsetXEnd = props.failOffsetX;
|
169
|
-
}
|
170
|
-
}
|
171
|
-
|
172
|
-
if (props.failOffsetY !== undefined) {
|
173
|
-
delete res.failOffsetY;
|
174
|
-
|
175
|
-
if (Array.isArray(props.failOffsetY)) {
|
176
|
-
res.failOffsetYStart = props.failOffsetY[0];
|
177
|
-
res.failOffsetYEnd = props.failOffsetY[1];
|
178
|
-
} else if (props.failOffsetY < 0) {
|
179
|
-
res.failOffsetYStart = props.failOffsetY;
|
180
|
-
} else {
|
181
|
-
res.failOffsetYEnd = props.failOffsetY;
|
182
|
-
}
|
183
|
-
}
|
184
|
-
|
185
|
-
return res;
|
186
|
-
}
|
187
|
-
|
188
|
-
function managePanProps(props) {
|
189
|
-
if (__DEV__) {
|
190
|
-
validatePanGestureHandlerProps(props);
|
191
|
-
}
|
192
|
-
|
193
|
-
return transformPanGestureHandlerProps(props);
|
194
|
-
}
|
195
|
-
|
196
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
197
|
-
export const PanGestureHandler = createHandler({
|
198
|
-
name: 'PanGestureHandler',
|
199
|
-
allowedProps: [...baseProps, 'activeOffsetY', 'activeOffsetX', 'failOffsetY', 'failOffsetX', 'minDist', 'minVelocity', 'minVelocityX', 'minVelocityY', 'minPointers', 'maxPointers', 'avgTouches', 'enableTrackpadTwoFingerGesture'],
|
200
|
-
config: {},
|
201
|
-
transformProps: managePanProps,
|
202
|
-
customNativeProps: ['activeOffsetYStart', 'activeOffsetYEnd', 'activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetYStart', 'failOffsetYEnd', 'failOffsetXStart', 'failOffsetXEnd']
|
203
|
-
});
|
204
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
205
|
-
export const PinchGestureHandler = createHandler({
|
206
|
-
name: 'PinchGestureHandler',
|
207
|
-
allowedProps: baseProps,
|
208
|
-
config: {}
|
209
|
-
});
|
210
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file
|
211
|
-
export const RotationGestureHandler = createHandler({
|
212
|
-
name: 'RotationGestureHandler',
|
213
|
-
allowedProps: baseProps,
|
214
|
-
config: {}
|
215
|
-
});
|
216
|
-
//# sourceMappingURL=gestureHandlers.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["gestureHandlers.ts"],"names":["React","createHandler","PlatformConstants","baseProps","TapGestureHandler","name","allowedProps","config","FlingGestureHandler","ForceTouchFallback","Component","componentDidMount","console","warn","render","props","children","ForceTouchGestureHandler","forceTouchAvailable","LongPressGestureHandler","validatePanGestureHandlerProps","minDeltaX","activeOffsetX","Error","maxDeltaX","failOffsetX","minDeltaY","activeOffsetY","maxDeltaY","failOffsetY","Array","isArray","transformPanGestureHandlerProps","res","undefined","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","minOffsetX","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","minOffsetY","managePanProps","__DEV__","PanGestureHandler","transformProps","customNativeProps","PinchGestureHandler","RotationGestureHandler"],"mappings":"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","sourcesContent":["// Previous types exported gesture handlers as classes which creates an interface and variable, both named the same as class.\n// Without those types, we'd introduce breaking change, forcing users to prefix every handler type specification with typeof\n// e.g. React.createRef<TapGestureHandler> -> React.createRef<typeof TapGestureHandler>.\n// See https://www.typescriptlang.org/docs/handbook/classes.html#constructor-functions for reference.\nimport * as React from 'react';\n\nimport createHandler from './createHandler';\nimport PlatformConstants from '../PlatformConstants';\nimport { State } from '../State';\nimport { ValueOf } from '../typeUtils';\n\nexport interface GestureEventPayload {\n handlerTag: number;\n numberOfPointers: number;\n state: ValueOf<typeof State>;\n}\n\nexport interface HandlerStateChangeEventPayload {\n handlerTag: number;\n numberOfPointers: number;\n state: ValueOf<typeof State>;\n oldState: ValueOf<typeof State>;\n}\n\n//TODO(TS) events in handlers\n\nexport interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {\n nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;\n}\nexport interface HandlerStateChangeEvent<\n ExtraEventPayloadT = Record<string, unknown>\n> {\n nativeEvent: Readonly<HandlerStateChangeEventPayload & ExtraEventPayloadT>;\n}\n\n// Events payloads are types instead of interfaces due to TS limitation.\n// See https://github.com/microsoft/TypeScript/issues/15300 for more info.\nexport type BaseGestureHandlerProps<\n ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>\n> = {\n id?: string;\n enabled?: boolean;\n minPointers?: number;\n waitFor?: React.Ref<unknown> | React.Ref<unknown>[];\n simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[];\n shouldCancelWhenOutside?: boolean;\n hitSlop?:\n | number\n // TODO(TS) take into consideration types from GestureHandler#setHitSlop\n | Partial<\n Record<\n 'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal',\n number\n >\n >\n | Record<'width' | 'left', number>\n | Record<'width' | 'right', number>\n | Record<'height' | 'top', number>\n | Record<'height' | 'bottom', number>;\n // TODO(TS) - fix event types\n onBegan?: (event: HandlerStateChangeEvent) => void;\n onFailed?: (event: HandlerStateChangeEvent) => void;\n onCancelled?: (event: HandlerStateChangeEvent) => void;\n onActivated?: (event: HandlerStateChangeEvent) => void;\n onEnded?: (event: HandlerStateChangeEvent) => void;\n\n //TODO(TS) consider using NativeSyntheticEvent\n onGestureEvent?: (event: GestureEvent<ExtraEventPayloadT>) => void;\n onHandlerStateChange?: (\n event: HandlerStateChangeEvent<ExtraEventPayloadT>\n ) => void;\n};\n\nexport const baseProps = [\n 'id',\n 'enabled',\n 'minPointers',\n 'waitFor',\n 'simultaneousHandlers',\n 'shouldCancelWhenOutside',\n 'hitSlop',\n 'onBegan',\n 'onFailed',\n 'onCancelled',\n 'onActivated',\n 'onEnded',\n 'onGestureEvent',\n 'onHandlerStateChange',\n] as const;\n\nexport type TapGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface TapGestureHandlerProps\n extends BaseGestureHandlerProps<TapGestureHandlerEventPayload> {\n minPointers?: number;\n maxDurationMs?: number;\n maxDelayMs?: number;\n numberOfTaps?: number;\n maxDeltaX?: number;\n maxDeltaY?: number;\n maxDist?: number;\n}\n\nexport type TapGestureHandler = typeof TapGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const TapGestureHandler = createHandler<\n TapGestureHandlerProps,\n TapGestureHandlerEventPayload\n>({\n name: 'TapGestureHandler',\n allowedProps: [\n ...baseProps,\n 'maxDurationMs',\n 'maxDelayMs',\n 'numberOfTaps',\n 'maxDeltaX',\n 'maxDeltaY',\n 'maxDist',\n 'minPointers',\n ] as const,\n config: {},\n});\n\nexport type FlingGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface FlingGestureHandlerProps\n extends BaseGestureHandlerProps<FlingGestureHandlerEventPayload> {\n direction?: number;\n numberOfPointers?: number;\n}\n\nexport type FlingGestureHandler = typeof FlingGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const FlingGestureHandler = createHandler<\n FlingGestureHandlerProps,\n FlingGestureHandlerEventPayload\n>({\n name: 'FlingGestureHandler',\n allowedProps: [...baseProps, 'numberOfPointers', 'direction'] as const,\n config: {},\n});\n\nclass ForceTouchFallback extends React.Component {\n static forceTouchAvailable = false;\n componentDidMount() {\n console.warn(\n 'ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase'\n );\n }\n render() {\n return this.props.children;\n }\n}\n\nexport type ForceTouchGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n force: number;\n};\n\nexport interface ForceTouchGestureHandlerProps\n extends BaseGestureHandlerProps<ForceTouchGestureHandlerEventPayload> {\n minForce?: number;\n maxForce?: number;\n feedbackOnActivation?: boolean;\n}\n\nexport type ForceTouchGestureHandler = typeof ForceTouchGestureHandler & {\n forceTouchAvailable: boolean;\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const ForceTouchGestureHandler = PlatformConstants?.forceTouchAvailable\n ? createHandler<\n ForceTouchGestureHandlerProps,\n ForceTouchGestureHandlerEventPayload\n >({\n name: 'ForceTouchGestureHandler',\n allowedProps: [\n ...baseProps,\n 'minForce',\n 'maxForce',\n 'feedbackOnActivation',\n ] as const,\n config: {},\n })\n : ForceTouchFallback;\n\n(ForceTouchGestureHandler as ForceTouchGestureHandler).forceTouchAvailable =\n PlatformConstants?.forceTouchAvailable || false;\n\nexport type LongPressGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport interface LongPressGestureHandlerProps\n extends BaseGestureHandlerProps<LongPressGestureHandlerEventPayload> {\n minDurationMs?: number;\n maxDist?: number;\n}\n\nexport type LongPressGestureHandler = typeof LongPressGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const LongPressGestureHandler = createHandler<\n LongPressGestureHandlerProps,\n LongPressGestureHandlerEventPayload\n>({\n name: 'LongPressGestureHandler',\n allowedProps: [...baseProps, 'minDurationMs', 'maxDist'] as const,\n config: {},\n});\n\nfunction validatePanGestureHandlerProps(props: PanGestureHandlerProps) {\n if (props.minDeltaX && props.activeOffsetX) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd`\n );\n }\n if (props.maxDeltaX && props.failOffsetX) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetXStart or activeOffsetXEnd`\n );\n }\n if (props.minDeltaY && props.activeOffsetY) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd`\n );\n }\n if (props.maxDeltaY && props.failOffsetY) {\n throw new Error(\n `It's not supported use minDeltaX with activeOffsetYStart or activeOffsetYEnd`\n );\n }\n if (\n Array.isArray(props.activeOffsetX) &&\n (props.activeOffsetX[0] > 0 || props.activeOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.activeOffsetY) &&\n (props.activeOffsetY[0] > 0 || props.activeOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetY should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetX) &&\n (props.failOffsetX[0] > 0 || props.failOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetY) &&\n (props.failOffsetY[0] > 0 || props.failOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetY should be negative, a the second one should be positive`\n );\n }\n}\n\nfunction transformPanGestureHandlerProps(props: PanGestureHandlerProps) {\n type InternalPanGHKeys =\n | 'activeOffsetXStart'\n | 'activeOffsetXEnd'\n | 'failOffsetXStart'\n | 'failOffsetXEnd'\n | 'activeOffsetYStart'\n | 'activeOffsetYEnd'\n | 'failOffsetYStart'\n | 'failOffsetYEnd';\n type PanGestureHandlerInternalProps = PanGestureHandlerProps &\n Partial<Record<InternalPanGHKeys, number>>;\n\n const res: PanGestureHandlerInternalProps = { ...props };\n if (props.minDeltaX !== undefined) {\n delete res.minDeltaX;\n res.activeOffsetXStart = -props.minDeltaX;\n res.activeOffsetXEnd = props.minDeltaX;\n }\n if (props.maxDeltaX !== undefined) {\n delete res.maxDeltaX;\n res.failOffsetXStart = -props.maxDeltaX;\n res.failOffsetXEnd = props.maxDeltaX;\n }\n if (props.minOffsetX !== undefined) {\n delete res.minOffsetX;\n if (props.minOffsetX < 0) {\n res.activeOffsetXStart = props.minOffsetX;\n } else {\n res.activeOffsetXEnd = props.minOffsetX;\n }\n }\n\n if (props.minDeltaY !== undefined) {\n delete res.minDeltaY;\n res.activeOffsetYStart = -props.minDeltaY;\n res.activeOffsetYEnd = props.minDeltaY;\n }\n if (props.maxDeltaY !== undefined) {\n delete res.maxDeltaY;\n res.failOffsetYStart = -props.maxDeltaY;\n res.failOffsetYEnd = props.maxDeltaY;\n }\n\n if (props.minOffsetY !== undefined) {\n delete res.minOffsetY;\n if (props.minOffsetY < 0) {\n res.activeOffsetYStart = props.minOffsetY;\n } else {\n res.activeOffsetYEnd = props.minOffsetY;\n }\n }\n\n if (props.activeOffsetX !== undefined) {\n delete res.activeOffsetX;\n if (Array.isArray(props.activeOffsetX)) {\n res.activeOffsetXStart = props.activeOffsetX[0];\n res.activeOffsetXEnd = props.activeOffsetX[1];\n } else if (props.activeOffsetX < 0) {\n res.activeOffsetXStart = props.activeOffsetX;\n } else {\n res.activeOffsetXEnd = props.activeOffsetX;\n }\n }\n\n if (props.activeOffsetY !== undefined) {\n delete res.activeOffsetY;\n if (Array.isArray(props.activeOffsetY)) {\n res.activeOffsetYStart = props.activeOffsetY[0];\n res.activeOffsetYEnd = props.activeOffsetY[1];\n } else if (props.activeOffsetY < 0) {\n res.activeOffsetYStart = props.activeOffsetY;\n } else {\n res.activeOffsetYEnd = props.activeOffsetY;\n }\n }\n\n if (props.failOffsetX !== undefined) {\n delete res.failOffsetX;\n if (Array.isArray(props.failOffsetX)) {\n res.failOffsetXStart = props.failOffsetX[0];\n res.failOffsetXEnd = props.failOffsetX[1];\n } else if (props.failOffsetX < 0) {\n res.failOffsetXStart = props.failOffsetX;\n } else {\n res.failOffsetXEnd = props.failOffsetX;\n }\n }\n\n if (props.failOffsetY !== undefined) {\n delete res.failOffsetY;\n if (Array.isArray(props.failOffsetY)) {\n res.failOffsetYStart = props.failOffsetY[0];\n res.failOffsetYEnd = props.failOffsetY[1];\n } else if (props.failOffsetY < 0) {\n res.failOffsetYStart = props.failOffsetY;\n } else {\n res.failOffsetYEnd = props.failOffsetY;\n }\n }\n\n return res;\n}\n\nfunction managePanProps(props: PanGestureHandlerProps) {\n if (__DEV__) {\n validatePanGestureHandlerProps(props);\n }\n return transformPanGestureHandlerProps(props);\n}\n\nexport type PanGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n translationX: number;\n translationY: number;\n velocityX: number;\n velocityY: number;\n};\n\nexport interface PanGestureHandlerProps\n extends BaseGestureHandlerProps<PanGestureHandlerEventPayload> {\n /** @deprecated use activeOffsetX*/\n minDeltaX?: number;\n /** @deprecated use activeOffsetY*/\n minDeltaY?: number;\n /** @deprecated use failOffsetX*/\n maxDeltaX?: number;\n /** @deprecated use failOffsetY*/\n maxDeltaY?: number;\n /** @deprecated use activeOffsetX*/\n minOffsetX?: number;\n /** @deprecated use failOffsetY*/\n minOffsetY?: number;\n activeOffsetY?: number | number[];\n activeOffsetX?: number | number[];\n failOffsetY?: number | number[];\n failOffsetX?: number | number[];\n minDist?: number;\n minVelocity?: number;\n minVelocityX?: number;\n minVelocityY?: number;\n minPointers?: number;\n maxPointers?: number;\n avgTouches?: boolean;\n enableTrackpadTwoFingerGesture?: boolean;\n}\n\nexport type PanGestureHandler = typeof PanGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const PanGestureHandler = createHandler<\n PanGestureHandlerProps,\n PanGestureHandlerEventPayload\n>({\n name: 'PanGestureHandler',\n allowedProps: [\n ...baseProps,\n 'activeOffsetY',\n 'activeOffsetX',\n 'failOffsetY',\n 'failOffsetX',\n 'minDist',\n 'minVelocity',\n 'minVelocityX',\n 'minVelocityY',\n 'minPointers',\n 'maxPointers',\n 'avgTouches',\n 'enableTrackpadTwoFingerGesture',\n ] as const,\n config: {},\n transformProps: managePanProps,\n customNativeProps: [\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n ],\n});\n\nexport type PinchGestureHandlerEventPayload = {\n scale: number;\n focalX: number;\n focalY: number;\n velocity: number;\n};\n\nexport interface PinchGestureHandlerProps\n extends BaseGestureHandlerProps<PinchGestureHandlerEventPayload> {}\n\nexport type PinchGestureHandler = typeof PinchGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const PinchGestureHandler = createHandler<\n PinchGestureHandlerProps,\n PinchGestureHandlerEventPayload\n>({\n name: 'PinchGestureHandler',\n allowedProps: baseProps,\n config: {},\n});\n\nexport type RotationGestureHandlerEventPayload = {\n rotation: number;\n anchorX: number;\n anchorY: number;\n velocity: number;\n};\n\nexport interface RotationGestureHandlerProps\n extends BaseGestureHandlerProps<RotationGestureHandlerEventPayload> {}\n\nexport type RotationGestureHandler = typeof RotationGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of this file\nexport const RotationGestureHandler = createHandler<\n RotationGestureHandlerProps,\n RotationGestureHandlerEventPayload\n>({\n name: 'RotationGestureHandler',\n allowedProps: baseProps,\n config: {},\n});\n"]}
|