@react-native-oh-tpl/react-native-gesture-handler 2.12.1-0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/DrawerLayout/package.json +6 -0
- package/LICENSE +21 -0
- package/README.md +62 -0
- package/RNGestureHandler.podspec +44 -0
- package/Swipeable/package.json +6 -0
- package/android/build.gradle +209 -0
- package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +29 -0
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +12 -0
- package/android/gradle.properties +19 -0
- package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +10 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +50 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +23 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +25 -0
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +16 -0
- package/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +13 -0
- package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +17 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +21 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +807 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +671 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +47 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +120 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +11 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +257 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +9 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +322 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +103 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +23 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +125 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +93 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ScaleGestureDetector.java +558 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +168 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/ViewConfigurationHelper.kt +10 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +16 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +423 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +15 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +75 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +74 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +702 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +100 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +142 -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 +78 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +51 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +78 -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/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/FlingGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +22 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/HoverGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/LongPressGestureHandlerEventDataBuilder.kt +33 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/ManualGestureHandlerEventDataBuilder.kt +5 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/NativeGestureHandlerEventDataBuilder.kt +18 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PanGestureHandlerEventDataBuilder.kt +42 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PinchGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/RotationGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/TapGestureHandlerEventDataBuilder.kt +30 -0
- package/android/src/main/jni/CMakeLists.txt +37 -0
- package/android/src/main/jni/cpp-adapter.cpp +44 -0
- package/ios/Handlers/RNFlingHandler.h +4 -0
- package/ios/Handlers/RNFlingHandler.m +152 -0
- package/ios/Handlers/RNForceTouchHandler.h +4 -0
- package/ios/Handlers/RNForceTouchHandler.m +175 -0
- package/ios/Handlers/RNHoverHandler.h +12 -0
- package/ios/Handlers/RNHoverHandler.m +153 -0
- package/ios/Handlers/RNLongPressHandler.h +12 -0
- package/ios/Handlers/RNLongPressHandler.m +183 -0
- package/ios/Handlers/RNManualHandler.h +4 -0
- package/ios/Handlers/RNManualHandler.m +88 -0
- package/ios/Handlers/RNNativeViewHandler.h +15 -0
- package/ios/Handlers/RNNativeViewHandler.mm +193 -0
- package/ios/Handlers/RNPanHandler.h +12 -0
- package/ios/Handlers/RNPanHandler.m +331 -0
- package/ios/Handlers/RNPinchHandler.h +12 -0
- package/ios/Handlers/RNPinchHandler.m +95 -0
- package/ios/Handlers/RNRotationHandler.h +12 -0
- package/ios/Handlers/RNRotationHandler.m +93 -0
- package/ios/Handlers/RNTapHandler.h +12 -0
- package/ios/Handlers/RNTapHandler.m +265 -0
- package/ios/RNGHTouchEventType.h +9 -0
- package/ios/RNGestureHandler.h +90 -0
- package/ios/RNGestureHandler.m +493 -0
- package/ios/RNGestureHandler.xcodeproj/project.pbxproj +690 -0
- package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/RNGestureHandlerActionType.h +10 -0
- package/ios/RNGestureHandlerButton.h +19 -0
- package/ios/RNGestureHandlerButton.m +77 -0
- package/ios/RNGestureHandlerButtonComponentView.h +17 -0
- package/ios/RNGestureHandlerButtonComponentView.mm +64 -0
- package/ios/RNGestureHandlerButtonManager.h +5 -0
- package/ios/RNGestureHandlerButtonManager.m +34 -0
- package/ios/RNGestureHandlerDirection.h +8 -0
- package/ios/RNGestureHandlerEvents.h +65 -0
- package/ios/RNGestureHandlerEvents.m +260 -0
- package/ios/RNGestureHandlerManager.h +35 -0
- package/ios/RNGestureHandlerManager.mm +367 -0
- package/ios/RNGestureHandlerModule.h +7 -0
- package/ios/RNGestureHandlerModule.mm +320 -0
- package/ios/RNGestureHandlerPointerTracker.h +25 -0
- package/ios/RNGestureHandlerPointerTracker.m +243 -0
- package/ios/RNGestureHandlerRegistry.h +21 -0
- package/ios/RNGestureHandlerRegistry.m +63 -0
- package/ios/RNGestureHandlerRootViewComponentView.mm +21 -0
- package/ios/RNGestureHandlerState.h +10 -0
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/RNManualActivationRecognizer.h +10 -0
- package/ios/RNManualActivationRecognizer.m +88 -0
- package/ios/RNRootViewGestureRecognizer.h +17 -0
- package/ios/RNRootViewGestureRecognizer.m +106 -0
- package/jest-utils/package.json +6 -0
- package/jestSetup.js +7 -0
- package/lib/commonjs/ActionType.js +15 -0
- package/lib/commonjs/ActionType.js.map +1 -0
- package/lib/commonjs/Directions.js +15 -0
- package/lib/commonjs/Directions.js.map +1 -0
- package/lib/commonjs/EnableNewWebImplementation.js +35 -0
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -0
- package/lib/commonjs/GestureHandlerRootViewContext.js +15 -0
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -0
- package/lib/commonjs/PlatformConstants.js +15 -0
- package/lib/commonjs/PlatformConstants.js.map +1 -0
- package/lib/commonjs/PlatformConstants.web.js +14 -0
- package/lib/commonjs/PlatformConstants.web.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.js +29 -0
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.macos.js +149 -0
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.web.js +163 -0
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.windows.js +158 -0
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/commonjs/RNRenderer.js +16 -0
- package/lib/commonjs/RNRenderer.js.map +1 -0
- package/lib/commonjs/RNRenderer.web.js +11 -0
- package/lib/commonjs/RNRenderer.web.js.map +1 -0
- package/lib/commonjs/State.js +18 -0
- package/lib/commonjs/State.js.map +1 -0
- package/lib/commonjs/TouchEventType.js +16 -0
- package/lib/commonjs/TouchEventType.js.map +1 -0
- package/lib/commonjs/components/DrawerLayout.js +566 -0
- package/lib/commonjs/components/DrawerLayout.js.map +1 -0
- package/lib/commonjs/components/GestureButtons.js +240 -0
- package/lib/commonjs/components/GestureButtons.js.map +1 -0
- package/lib/commonjs/components/GestureComponents.js +115 -0
- package/lib/commonjs/components/GestureComponents.js.map +1 -0
- package/lib/commonjs/components/GestureComponents.web.js +52 -0
- package/lib/commonjs/components/GestureComponents.web.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerButton.js +14 -0
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerButton.web.js +24 -0
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.android.js +31 -0
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.js +31 -0
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -0
- package/lib/commonjs/components/GestureHandlerRootView.web.js +25 -0
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -0
- package/lib/commonjs/components/Swipeable.js +408 -0
- package/lib/commonjs/components/Swipeable.js.map +1 -0
- package/lib/commonjs/components/gestureHandlerRootHOC.js +40 -0
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +289 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableHighlight.js +109 -0
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +100 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +12 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableOpacity.js +77 -0
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -0
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +26 -0
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -0
- package/lib/commonjs/components/touchables/index.js +40 -0
- package/lib/commonjs/components/touchables/index.js.map +1 -0
- package/lib/commonjs/getReactNativeVersion.js +22 -0
- package/lib/commonjs/getReactNativeVersion.js.map +1 -0
- package/lib/commonjs/getReactNativeVersion.web.js +11 -0
- package/lib/commonjs/getReactNativeVersion.web.js.map +1 -0
- package/lib/commonjs/getShadowNodeFromRef.js +27 -0
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js +15 -0
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -0
- package/lib/commonjs/ghQueueMicrotask.js +12 -0
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js +25 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +49 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js +27 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +27 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PanGestureHandler.js +123 -0
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js +23 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js +14 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +12 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js +23 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/TapGestureHandler.js +27 -0
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/createHandler.js +464 -0
- package/lib/commonjs/handlers/createHandler.js.map +1 -0
- package/lib/commonjs/handlers/createNativeWrapper.js +74 -0
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js +103 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +6 -0
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js +669 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js +147 -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 +241 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js +105 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js +90 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +65 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +32 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -0
- package/lib/commonjs/handlers/gestures/hoverGesture.js +74 -0
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js +35 -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 +149 -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 +37 -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 +60 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/commonjs/handlers/handlersRegistry.js +67 -0
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
- package/lib/commonjs/index.js +266 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/init.js +32 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/jestUtils/index.js +20 -0
- package/lib/commonjs/jestUtils/index.js.map +1 -0
- package/lib/commonjs/jestUtils/jestUtils.js +375 -0
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -0
- package/lib/commonjs/mocks.js +66 -0
- package/lib/commonjs/mocks.js.map +1 -0
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +15 -0
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +15 -0
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
- package/lib/commonjs/typeUtils.js +2 -0
- package/lib/commonjs/typeUtils.js.map +1 -0
- package/lib/commonjs/utils.js +63 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/constants.js +16 -0
- package/lib/commonjs/web/constants.js.map +1 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +165 -0
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -0
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +156 -0
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +167 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/GestureHandler.js +794 -0
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +62 -0
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +151 -0
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +61 -0
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +178 -0
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/PanGestureHandler.js +448 -0
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +174 -0
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +186 -0
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/web/handlers/TapGestureHandler.js +280 -0
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/web/interfaces.js +55 -0
- package/lib/commonjs/web/interfaces.js.map +1 -0
- package/lib/commonjs/web/tools/CircularBuffer.js +59 -0
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -0
- package/lib/commonjs/web/tools/EventManager.js +127 -0
- package/lib/commonjs/web/tools/EventManager.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js +6 -0
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +349 -0
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -0
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +118 -0
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -0
- package/lib/commonjs/web/tools/InteractionManager.js +114 -0
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -0
- package/lib/commonjs/web/tools/LeastSquareSolver.js +204 -0
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -0
- package/lib/commonjs/web/tools/NodeManager.js +48 -0
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -0
- package/lib/commonjs/web/tools/PointerEventManager.js +198 -0
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -0
- package/lib/commonjs/web/tools/PointerTracker.js +226 -0
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -0
- package/lib/commonjs/web/tools/TouchEventManager.js +138 -0
- package/lib/commonjs/web/tools/TouchEventManager.js.map +1 -0
- package/lib/commonjs/web/tools/VelocityTracker.js +111 -0
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -0
- package/lib/commonjs/web/utils.js +15 -0
- package/lib/commonjs/web/utils.js.map +1 -0
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +105 -0
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +53 -0
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/Errors.js +16 -0
- package/lib/commonjs/web_hammer/Errors.js.map +1 -0
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +170 -0
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/GestureHandler.js +579 -0
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +54 -0
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +71 -0
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +66 -0
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/NodeManager.js +46 -0
- package/lib/commonjs/web_hammer/NodeManager.js.map +1 -0
- package/lib/commonjs/web_hammer/PanGestureHandler.js +208 -0
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +40 -0
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/PressGestureHandler.js +188 -0
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +44 -0
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/TapGestureHandler.js +192 -0
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/web_hammer/constants.js +64 -0
- package/lib/commonjs/web_hammer/constants.js.map +1 -0
- package/lib/commonjs/web_hammer/utils.js +42 -0
- package/lib/commonjs/web_hammer/utils.js.map +1 -0
- package/lib/module/ActionType.js +7 -0
- package/lib/module/ActionType.js.map +1 -0
- package/lib/module/Directions.js +7 -0
- package/lib/module/Directions.js.map +1 -0
- package/lib/module/EnableNewWebImplementation.js +22 -0
- package/lib/module/EnableNewWebImplementation.js.map +1 -0
- package/lib/module/GestureHandlerRootViewContext.js +3 -0
- package/lib/module/GestureHandlerRootViewContext.js.map +1 -0
- package/lib/module/PlatformConstants.js +5 -0
- package/lib/module/PlatformConstants.js.map +1 -0
- package/lib/module/PlatformConstants.web.js +7 -0
- package/lib/module/PlatformConstants.web.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.js +19 -0
- package/lib/module/RNGestureHandlerModule.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.macos.js +110 -0
- package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.web.js +122 -0
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.windows.js +118 -0
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
- package/lib/module/RNRenderer.js +4 -0
- package/lib/module/RNRenderer.js.map +1 -0
- package/lib/module/RNRenderer.web.js +4 -0
- package/lib/module/RNRenderer.web.js.map +1 -0
- package/lib/module/State.js +10 -0
- package/lib/module/State.js.map +1 -0
- package/lib/module/TouchEventType.js +8 -0
- package/lib/module/TouchEventType.js.map +1 -0
- package/lib/module/components/DrawerLayout.js +551 -0
- package/lib/module/components/DrawerLayout.js.map +1 -0
- package/lib/module/components/GestureButtons.js +206 -0
- package/lib/module/components/GestureButtons.js.map +1 -0
- package/lib/module/components/GestureComponents.js +90 -0
- package/lib/module/components/GestureComponents.js.map +1 -0
- package/lib/module/components/GestureComponents.web.js +28 -0
- package/lib/module/components/GestureComponents.web.js.map +1 -0
- package/lib/module/components/GestureHandlerButton.js +3 -0
- package/lib/module/components/GestureHandlerButton.js.map +1 -0
- package/lib/module/components/GestureHandlerButton.web.js +9 -0
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.android.js +14 -0
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.js +14 -0
- package/lib/module/components/GestureHandlerRootView.js.map +1 -0
- package/lib/module/components/GestureHandlerRootView.web.js +9 -0
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -0
- package/lib/module/components/Swipeable.js +390 -0
- package/lib/module/components/Swipeable.js.map +1 -0
- package/lib/module/components/gestureHandlerRootHOC.js +22 -0
- package/lib/module/components/gestureHandlerRootHOC.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js +273 -0
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -0
- package/lib/module/components/touchables/TouchableHighlight.js +95 -0
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +84 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.js +3 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -0
- package/lib/module/components/touchables/TouchableOpacity.js +63 -0
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -0
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +10 -0
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -0
- package/lib/module/components/touchables/index.js +5 -0
- package/lib/module/components/touchables/index.js.map +1 -0
- package/lib/module/getReactNativeVersion.js +10 -0
- package/lib/module/getReactNativeVersion.js.map +1 -0
- package/lib/module/getReactNativeVersion.web.js +4 -0
- package/lib/module/getReactNativeVersion.web.js.map +1 -0
- package/lib/module/getShadowNodeFromRef.js +20 -0
- package/lib/module/getShadowNodeFromRef.js.map +1 -0
- package/lib/module/getShadowNodeFromRef.web.js +8 -0
- package/lib/module/getShadowNodeFromRef.web.js.map +1 -0
- package/lib/module/ghQueueMicrotask.js +5 -0
- package/lib/module/ghQueueMicrotask.js.map +1 -0
- package/lib/module/handlers/FlingGestureHandler.js +11 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js +31 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/module/handlers/LongPressGestureHandler.js +13 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/handlers/NativeViewGestureHandler.js +12 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/handlers/PanGestureHandler.js +107 -0
- package/lib/module/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/handlers/PinchGestureHandler.js +10 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/handlers/PressabilityDebugView.js +3 -0
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/module/handlers/RotationGestureHandler.js +10 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/handlers/TapGestureHandler.js +13 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/handlers/createHandler.js +433 -0
- package/lib/module/handlers/createHandler.js.map +1 -0
- package/lib/module/handlers/createNativeWrapper.js +62 -0
- package/lib/module/handlers/createNativeWrapper.js.map +1 -0
- package/lib/module/handlers/gestureHandlerCommon.js +81 -0
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -0
- package/lib/module/handlers/gestures/GestureDetector.js +619 -0
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/module/handlers/gestures/eventReceiver.js +131 -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 +222 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -0
- package/lib/module/handlers/gestures/gestureComposition.js +90 -0
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/module/handlers/gestures/gestureObjects.js +71 -0
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.js +54 -0
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js +21 -0
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -0
- package/lib/module/handlers/gestures/hoverGesture.js +62 -0
- package/lib/module/handlers/gestures/hoverGesture.js.map +1 -0
- package/lib/module/handlers/gestures/longPressGesture.js +25 -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 +140 -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 +30 -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 +50 -0
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/module/handlers/handlersRegistry.js +44 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -0
- package/lib/module/index.js +25 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/init.js +16 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/jestUtils/index.js +2 -0
- package/lib/module/jestUtils/index.js.map +1 -0
- package/lib/module/jestUtils/jestUtils.js +350 -0
- package/lib/module/jestUtils/jestUtils.js.map +1 -0
- package/lib/module/mocks.js +56 -0
- package/lib/module/mocks.js.map +1 -0
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +3 -0
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +3 -0
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
- package/lib/module/typeUtils.js +2 -0
- package/lib/module/typeUtils.js.map +1 -0
- package/lib/module/utils.js +44 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/constants.js +8 -0
- package/lib/module/web/constants.js.map +1 -0
- package/lib/module/web/detectors/RotationGestureDetector.js +155 -0
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -0
- package/lib/module/web/detectors/ScaleGestureDetector.js +145 -0
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -0
- package/lib/module/web/handlers/FlingGestureHandler.js +152 -0
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/GestureHandler.js +776 -0
- package/lib/module/web/handlers/GestureHandler.js.map +1 -0
- package/lib/module/web/handlers/HoverGestureHandler.js +47 -0
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/LongPressGestureHandler.js +136 -0
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/ManualGestureHandler.js +49 -0
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/NativeViewGestureHandler.js +163 -0
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/PanGestureHandler.js +433 -0
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/PinchGestureHandler.js +159 -0
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/RotationGestureHandler.js +171 -0
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/web/handlers/TapGestureHandler.js +265 -0
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/web/interfaces.js +45 -0
- package/lib/module/web/interfaces.js.map +1 -0
- package/lib/module/web/tools/CircularBuffer.js +50 -0
- package/lib/module/web/tools/CircularBuffer.js.map +1 -0
- package/lib/module/web/tools/EventManager.js +118 -0
- package/lib/module/web/tools/EventManager.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerDelegate.js +2 -0
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +335 -0
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -0
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +102 -0
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -0
- package/lib/module/web/tools/InteractionManager.js +105 -0
- package/lib/module/web/tools/InteractionManager.js.map +1 -0
- package/lib/module/web/tools/LeastSquareSolver.js +195 -0
- package/lib/module/web/tools/LeastSquareSolver.js.map +1 -0
- package/lib/module/web/tools/NodeManager.js +39 -0
- package/lib/module/web/tools/NodeManager.js.map +1 -0
- package/lib/module/web/tools/PointerEventManager.js +184 -0
- package/lib/module/web/tools/PointerEventManager.js.map +1 -0
- package/lib/module/web/tools/PointerTracker.js +213 -0
- package/lib/module/web/tools/PointerTracker.js.map +1 -0
- package/lib/module/web/tools/TouchEventManager.js +124 -0
- package/lib/module/web/tools/TouchEventManager.js.map +1 -0
- package/lib/module/web/tools/VelocityTracker.js +98 -0
- package/lib/module/web/tools/VelocityTracker.js.map +1 -0
- package/lib/module/web/utils.js +8 -0
- package/lib/module/web/utils.js.map +1 -0
- package/lib/module/web_hammer/DiscreteGestureHandler.js +94 -0
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js +40 -0
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/Errors.js +7 -0
- package/lib/module/web_hammer/Errors.js.map +1 -0
- package/lib/module/web_hammer/FlingGestureHandler.js +156 -0
- package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/GestureHandler.js +563 -0
- package/lib/module/web_hammer/GestureHandler.js.map +1 -0
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +44 -0
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/LongPressGestureHandler.js +58 -0
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/NativeViewGestureHandler.js +49 -0
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/NodeManager.js +33 -0
- package/lib/module/web_hammer/NodeManager.js.map +1 -0
- package/lib/module/web_hammer/PanGestureHandler.js +194 -0
- package/lib/module/web_hammer/PanGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/PinchGestureHandler.js +29 -0
- package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/PressGestureHandler.js +174 -0
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/RotationGestureHandler.js +32 -0
- package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/TapGestureHandler.js +180 -0
- package/lib/module/web_hammer/TapGestureHandler.js.map +1 -0
- package/lib/module/web_hammer/constants.js +43 -0
- package/lib/module/web_hammer/constants.js.map +1 -0
- package/lib/module/web_hammer/utils.js +19 -0
- package/lib/module/web_hammer/utils.js.map +1 -0
- package/lib/typescript/ActionType.d.ts +7 -0
- package/lib/typescript/Directions.d.ts +7 -0
- package/lib/typescript/EnableNewWebImplementation.d.ts +3 -0
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +3 -0
- package/lib/typescript/PlatformConstants.d.ts +5 -0
- package/lib/typescript/PlatformConstants.web.d.ts +4 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +13 -0
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +47 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +50 -0
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
- package/lib/typescript/RNRenderer.d.ts +1 -0
- package/lib/typescript/RNRenderer.web.d.ts +3 -0
- package/lib/typescript/State.d.ts +9 -0
- package/lib/typescript/TouchEventType.d.ts +8 -0
- package/lib/typescript/components/DrawerLayout.d.ts +148 -0
- package/lib/typescript/components/GestureButtons.d.ts +121 -0
- package/lib/typescript/components/GestureComponents.d.ts +22 -0
- package/lib/typescript/components/GestureComponents.web.d.ts +8 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +4 -0
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +4 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +6 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +6 -0
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +6 -0
- package/lib/typescript/components/Swipeable.d.ts +178 -0
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +3 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +68 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +36 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +45 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +25 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +7 -0
- package/lib/typescript/components/touchables/index.d.ts +7 -0
- package/lib/typescript/getReactNativeVersion.d.ts +4 -0
- package/lib/typescript/getReactNativeVersion.web.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.d.ts +1 -0
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +1 -0
- package/lib/typescript/ghQueueMicrotask.d.ts +1 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +34 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +44 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +56 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +139 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +29 -0
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +29 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +57 -0
- package/lib/typescript/handlers/createHandler.d.ts +11 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +3 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +68 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +42 -0
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +19 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +4 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +15 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +110 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +41 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +4 -0
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +32 -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 +11 -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 +14 -0
- package/lib/typescript/index.d.ts +52 -0
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/jestUtils/index.d.ts +1 -0
- package/lib/typescript/jestUtils/jestUtils.d.ts +28 -0
- package/lib/typescript/mocks.d.ts +44 -0
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +14 -0
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +6 -0
- package/lib/typescript/typeUtils.d.ts +1 -0
- package/lib/typescript/utils.d.ts +8 -0
- package/lib/typescript/web/constants.d.ts +7 -0
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +30 -0
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +29 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +27 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +90 -0
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +10 -0
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +26 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +12 -0
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +24 -0
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +55 -0
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +28 -0
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +29 -0
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +39 -0
- package/lib/typescript/web/interfaces.d.ts +141 -0
- package/lib/typescript/web/tools/CircularBuffer.d.ts +11 -0
- package/lib/typescript/web/tools/EventManager.d.ts +34 -0
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +22 -0
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +29 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +21 -0
- package/lib/typescript/web/tools/InteractionManager.d.ts +17 -0
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +12 -0
- package/lib/typescript/web/tools/NodeManager.d.ts +11 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +8 -0
- package/lib/typescript/web/tools/PointerTracker.d.ts +53 -0
- package/lib/typescript/web/tools/TouchEventManager.d.ts +6 -0
- package/lib/typescript/web/tools/VelocityTracker.d.ts +13 -0
- package/lib/typescript/web/utils.d.ts +4 -0
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +20 -0
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +15 -0
- package/lib/typescript/web_hammer/Errors.d.ts +3 -0
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +43 -0
- package/lib/typescript/web_hammer/GestureHandler.d.ts +145 -0
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +40 -0
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +38 -0
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +7 -0
- package/lib/typescript/web_hammer/NodeManager.d.ts +8 -0
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +56 -0
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +13 -0
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +83 -0
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +13 -0
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +57 -0
- package/lib/typescript/web_hammer/constants.d.ts +39 -0
- package/lib/typescript/web_hammer/utils.d.ts +9 -0
- package/package.json +156 -0
- package/src/ActionType.ts +9 -0
- package/src/Directions.ts +9 -0
- package/src/EnableNewWebImplementation.ts +35 -0
- package/src/GestureHandlerRootViewContext.ts +3 -0
- package/src/PlatformConstants.ts +8 -0
- package/src/PlatformConstants.web.ts +5 -0
- package/src/RNGestureHandlerModule.macos.ts +133 -0
- package/src/RNGestureHandlerModule.ts +50 -0
- package/src/RNGestureHandlerModule.web.ts +146 -0
- package/src/RNGestureHandlerModule.windows.ts +144 -0
- package/src/RNRenderer.ts +3 -0
- package/src/RNRenderer.web.ts +3 -0
- package/src/State.ts +13 -0
- package/src/TouchEventType.ts +10 -0
- package/src/components/DrawerLayout.tsx +743 -0
- package/src/components/GestureButtons.tsx +332 -0
- package/src/components/GestureComponents.tsx +148 -0
- package/src/components/GestureComponents.web.tsx +41 -0
- package/src/components/GestureHandlerButton.tsx +5 -0
- package/src/components/GestureHandlerButton.web.tsx +6 -0
- package/src/components/GestureHandlerRootView.android.tsx +24 -0
- package/src/components/GestureHandlerRootView.tsx +23 -0
- package/src/components/GestureHandlerRootView.web.tsx +17 -0
- package/src/components/Swipeable.tsx +584 -0
- package/src/components/gestureHandlerRootHOC.tsx +32 -0
- package/src/components/touchables/GenericTouchable.tsx +301 -0
- package/src/components/touchables/TouchableHighlight.tsx +115 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +91 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +75 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -0
- package/src/components/touchables/index.ts +7 -0
- package/src/getReactNativeVersion.ts +11 -0
- package/src/getReactNativeVersion.web.ts +3 -0
- package/src/getShadowNodeFromRef.ts +22 -0
- package/src/getShadowNodeFromRef.web.ts +7 -0
- package/src/ghQueueMicrotask.ts +5 -0
- package/src/handlers/FlingGestureHandler.ts +59 -0
- package/src/handlers/ForceTouchGestureHandler.ts +90 -0
- package/src/handlers/LongPressGestureHandler.ts +88 -0
- package/src/handlers/NativeViewGestureHandler.ts +55 -0
- package/src/handlers/PanGestureHandler.ts +325 -0
- package/src/handlers/PinchGestureHandler.ts +48 -0
- package/src/handlers/PressabilityDebugView.tsx +2 -0
- package/src/handlers/PressabilityDebugView.web.tsx +4 -0
- package/src/handlers/RotationGestureHandler.ts +48 -0
- package/src/handlers/TapGestureHandler.ts +94 -0
- package/src/handlers/createHandler.tsx +533 -0
- package/src/handlers/createNativeWrapper.tsx +80 -0
- package/src/handlers/gestureHandlerCommon.ts +250 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +106 -0
- package/src/handlers/gestures/GestureDetector.tsx +822 -0
- package/src/handlers/gestures/eventReceiver.ts +155 -0
- package/src/handlers/gestures/flingGesture.ts +27 -0
- package/src/handlers/gestures/forceTouchGesture.ts +74 -0
- package/src/handlers/gestures/gesture.ts +349 -0
- package/src/handlers/gestures/gestureComposition.ts +122 -0
- package/src/handlers/gestures/gestureObjects.ts +84 -0
- package/src/handlers/gestures/gestureStateManager.ts +62 -0
- package/src/handlers/gestures/gestureStateManager.web.ts +24 -0
- package/src/handlers/gestures/hoverGesture.ts +83 -0
- package/src/handlers/gestures/longPressGesture.ts +28 -0
- package/src/handlers/gestures/manualGesture.ts +31 -0
- package/src/handlers/gestures/nativeGesture.ts +27 -0
- package/src/handlers/gestures/panGesture.ts +152 -0
- package/src/handlers/gestures/pinchGesture.ts +51 -0
- package/src/handlers/gestures/reanimatedWrapper.ts +56 -0
- package/src/handlers/gestures/rotationGesture.ts +51 -0
- package/src/handlers/gestures/tapGesture.ts +53 -0
- package/src/handlers/handlersRegistry.ts +60 -0
- package/src/index.ts +174 -0
- package/src/init.ts +18 -0
- package/src/jestUtils/index.ts +1 -0
- package/src/jestUtils/jestUtils.ts +505 -0
- package/src/mocks.ts +67 -0
- package/src/specs/RNGestureHandlerButtonNativeComponent.ts +18 -0
- package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -0
- package/src/typeUtils.ts +1 -0
- package/src/utils.ts +54 -0
- package/src/web/constants.ts +8 -0
- package/src/web/detectors/RotationGestureDetector.ts +168 -0
- package/src/web/detectors/ScaleGestureDetector.ts +172 -0
- package/src/web/handlers/FlingGestureHandler.ts +161 -0
- package/src/web/handlers/GestureHandler.ts +849 -0
- package/src/web/handlers/HoverGestureHandler.ts +43 -0
- package/src/web/handlers/LongPressGestureHandler.ts +125 -0
- package/src/web/handlers/ManualGestureHandler.ts +43 -0
- package/src/web/handlers/NativeViewGestureHandler.ts +167 -0
- package/src/web/handlers/PanGestureHandler.ts +485 -0
- package/src/web/handlers/PinchGestureHandler.ts +158 -0
- package/src/web/handlers/RotationGestureHandler.ts +172 -0
- package/src/web/handlers/TapGestureHandler.ts +273 -0
- package/src/web/interfaces.ts +167 -0
- package/src/web/tools/CircularBuffer.ts +42 -0
- package/src/web/tools/EventManager.ts +104 -0
- package/src/web/tools/GestureHandlerDelegate.ts +23 -0
- package/src/web/tools/GestureHandlerOrchestrator.ts +389 -0
- package/src/web/tools/GestureHandlerWebDelegate.ts +115 -0
- package/src/web/tools/InteractionManager.ts +130 -0
- package/src/web/tools/LeastSquareSolver.ts +182 -0
- package/src/web/tools/NodeManager.ts +43 -0
- package/src/web/tools/PointerEventManager.ts +202 -0
- package/src/web/tools/PointerTracker.ts +240 -0
- package/src/web/tools/TouchEventManager.ts +167 -0
- package/src/web/tools/VelocityTracker.ts +98 -0
- package/src/web/utils.ts +8 -0
- package/src/web_hammer/DiscreteGestureHandler.ts +82 -0
- package/src/web_hammer/DraggingGestureHandler.ts +34 -0
- package/src/web_hammer/Errors.ts +7 -0
- package/src/web_hammer/FlingGestureHandler.ts +134 -0
- package/src/web_hammer/GestureHandler.ts +599 -0
- package/src/web_hammer/IndiscreteGestureHandler.ts +33 -0
- package/src/web_hammer/LongPressGestureHandler.ts +56 -0
- package/src/web_hammer/NativeViewGestureHandler.ts +47 -0
- package/src/web_hammer/NodeManager.ts +42 -0
- package/src/web_hammer/PanGestureHandler.ts +226 -0
- package/src/web_hammer/PinchGestureHandler.ts +25 -0
- package/src/web_hammer/PressGestureHandler.ts +167 -0
- package/src/web_hammer/RotationGestureHandler.ts +25 -0
- package/src/web_hammer/TapGestureHandler.ts +172 -0
- package/src/web_hammer/constants.ts +48 -0
- package/src/web_hammer/utils.ts +24 -0
@@ -0,0 +1,390 @@
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
2
|
+
|
3
|
+
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; }
|
4
|
+
|
5
|
+
// Similarily to the DrawerLayout component this deserves to be put in a
|
6
|
+
// separate repo. Although, keeping it here for the time being will allow us to
|
7
|
+
// move faster and fix possible issues quicker
|
8
|
+
import * as React from 'react';
|
9
|
+
import { Component } from 'react';
|
10
|
+
import { Animated, StyleSheet, View, I18nManager } from 'react-native';
|
11
|
+
import { PanGestureHandler } from '../handlers/PanGestureHandler';
|
12
|
+
import { TapGestureHandler } from '../handlers/TapGestureHandler';
|
13
|
+
import { State } from '../State';
|
14
|
+
const DRAG_TOSS = 0.05;
|
15
|
+
export default class Swipeable extends Component {
|
16
|
+
constructor(_props) {
|
17
|
+
super(_props);
|
18
|
+
|
19
|
+
_defineProperty(this, "onGestureEvent", void 0);
|
20
|
+
|
21
|
+
_defineProperty(this, "transX", void 0);
|
22
|
+
|
23
|
+
_defineProperty(this, "showLeftAction", void 0);
|
24
|
+
|
25
|
+
_defineProperty(this, "leftActionTranslate", void 0);
|
26
|
+
|
27
|
+
_defineProperty(this, "showRightAction", void 0);
|
28
|
+
|
29
|
+
_defineProperty(this, "rightActionTranslate", void 0);
|
30
|
+
|
31
|
+
_defineProperty(this, "updateAnimatedEvent", (props, state) => {
|
32
|
+
const {
|
33
|
+
friction,
|
34
|
+
overshootFriction
|
35
|
+
} = props;
|
36
|
+
const {
|
37
|
+
dragX,
|
38
|
+
rowTranslation,
|
39
|
+
leftWidth = 0,
|
40
|
+
rowWidth = 0
|
41
|
+
} = state;
|
42
|
+
const {
|
43
|
+
rightOffset = rowWidth
|
44
|
+
} = state;
|
45
|
+
const rightWidth = Math.max(0, rowWidth - rightOffset);
|
46
|
+
const {
|
47
|
+
overshootLeft = leftWidth > 0,
|
48
|
+
overshootRight = rightWidth > 0
|
49
|
+
} = props;
|
50
|
+
const transX = Animated.add(rowTranslation, dragX.interpolate({
|
51
|
+
inputRange: [0, friction],
|
52
|
+
outputRange: [0, 1]
|
53
|
+
})).interpolate({
|
54
|
+
inputRange: [-rightWidth - 1, -rightWidth, leftWidth, leftWidth + 1],
|
55
|
+
outputRange: [-rightWidth - (overshootRight ? 1 / overshootFriction : 0), -rightWidth, leftWidth, leftWidth + (overshootLeft ? 1 / overshootFriction : 0)]
|
56
|
+
});
|
57
|
+
this.transX = transX;
|
58
|
+
this.showLeftAction = leftWidth > 0 ? transX.interpolate({
|
59
|
+
inputRange: [-1, 0, leftWidth],
|
60
|
+
outputRange: [0, 0, 1]
|
61
|
+
}) : new Animated.Value(0);
|
62
|
+
this.leftActionTranslate = this.showLeftAction.interpolate({
|
63
|
+
inputRange: [0, Number.MIN_VALUE],
|
64
|
+
outputRange: [-10000, 0],
|
65
|
+
extrapolate: 'clamp'
|
66
|
+
});
|
67
|
+
this.showRightAction = rightWidth > 0 ? transX.interpolate({
|
68
|
+
inputRange: [-rightWidth, 0, 1],
|
69
|
+
outputRange: [1, 0, 0]
|
70
|
+
}) : new Animated.Value(0);
|
71
|
+
this.rightActionTranslate = this.showRightAction.interpolate({
|
72
|
+
inputRange: [0, Number.MIN_VALUE],
|
73
|
+
outputRange: [-10000, 0],
|
74
|
+
extrapolate: 'clamp'
|
75
|
+
});
|
76
|
+
});
|
77
|
+
|
78
|
+
_defineProperty(this, "onTapHandlerStateChange", ({
|
79
|
+
nativeEvent
|
80
|
+
}) => {
|
81
|
+
if (nativeEvent.oldState === State.ACTIVE) {
|
82
|
+
this.close();
|
83
|
+
}
|
84
|
+
});
|
85
|
+
|
86
|
+
_defineProperty(this, "onHandlerStateChange", ev => {
|
87
|
+
if (ev.nativeEvent.oldState === State.ACTIVE) {
|
88
|
+
this.handleRelease(ev);
|
89
|
+
}
|
90
|
+
|
91
|
+
if (ev.nativeEvent.state === State.ACTIVE) {
|
92
|
+
const {
|
93
|
+
velocityX,
|
94
|
+
translationX: dragX
|
95
|
+
} = ev.nativeEvent;
|
96
|
+
const {
|
97
|
+
rowState
|
98
|
+
} = this.state;
|
99
|
+
const {
|
100
|
+
friction
|
101
|
+
} = this.props;
|
102
|
+
const translationX = (dragX + DRAG_TOSS * velocityX) / friction;
|
103
|
+
const direction = rowState === -1 ? 'right' : rowState === 1 ? 'left' : translationX > 0 ? 'left' : 'right';
|
104
|
+
|
105
|
+
if (rowState === 0) {
|
106
|
+
var _this$props$onSwipeab, _this$props;
|
107
|
+
|
108
|
+
(_this$props$onSwipeab = (_this$props = this.props).onSwipeableOpenStartDrag) === null || _this$props$onSwipeab === void 0 ? void 0 : _this$props$onSwipeab.call(_this$props, direction);
|
109
|
+
} else {
|
110
|
+
var _this$props$onSwipeab2, _this$props2;
|
111
|
+
|
112
|
+
(_this$props$onSwipeab2 = (_this$props2 = this.props).onSwipeableCloseStartDrag) === null || _this$props$onSwipeab2 === void 0 ? void 0 : _this$props$onSwipeab2.call(_this$props2, direction);
|
113
|
+
}
|
114
|
+
}
|
115
|
+
});
|
116
|
+
|
117
|
+
_defineProperty(this, "handleRelease", ev => {
|
118
|
+
const {
|
119
|
+
velocityX,
|
120
|
+
translationX: dragX
|
121
|
+
} = ev.nativeEvent;
|
122
|
+
const {
|
123
|
+
leftWidth = 0,
|
124
|
+
rowWidth = 0,
|
125
|
+
rowState
|
126
|
+
} = this.state;
|
127
|
+
const {
|
128
|
+
rightOffset = rowWidth
|
129
|
+
} = this.state;
|
130
|
+
const rightWidth = rowWidth - rightOffset;
|
131
|
+
const {
|
132
|
+
friction,
|
133
|
+
leftThreshold = leftWidth / 2,
|
134
|
+
rightThreshold = rightWidth / 2
|
135
|
+
} = this.props;
|
136
|
+
const startOffsetX = this.currentOffset() + dragX / friction;
|
137
|
+
const translationX = (dragX + DRAG_TOSS * velocityX) / friction;
|
138
|
+
let toValue = 0;
|
139
|
+
|
140
|
+
if (rowState === 0) {
|
141
|
+
if (translationX > leftThreshold) {
|
142
|
+
toValue = leftWidth;
|
143
|
+
} else if (translationX < -rightThreshold) {
|
144
|
+
toValue = -rightWidth;
|
145
|
+
}
|
146
|
+
} else if (rowState === 1) {
|
147
|
+
// swiped to left
|
148
|
+
if (translationX > -leftThreshold) {
|
149
|
+
toValue = leftWidth;
|
150
|
+
}
|
151
|
+
} else {
|
152
|
+
// swiped to right
|
153
|
+
if (translationX < rightThreshold) {
|
154
|
+
toValue = -rightWidth;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
|
158
|
+
this.animateRow(startOffsetX, toValue, velocityX / friction);
|
159
|
+
});
|
160
|
+
|
161
|
+
_defineProperty(this, "animateRow", (fromValue, toValue, velocityX) => {
|
162
|
+
const {
|
163
|
+
dragX,
|
164
|
+
rowTranslation
|
165
|
+
} = this.state;
|
166
|
+
dragX.setValue(0);
|
167
|
+
rowTranslation.setValue(fromValue);
|
168
|
+
this.setState({
|
169
|
+
rowState: Math.sign(toValue)
|
170
|
+
});
|
171
|
+
Animated.spring(rowTranslation, {
|
172
|
+
restSpeedThreshold: 1.7,
|
173
|
+
restDisplacementThreshold: 0.4,
|
174
|
+
velocity: velocityX,
|
175
|
+
bounciness: 0,
|
176
|
+
toValue,
|
177
|
+
useNativeDriver: this.props.useNativeAnimations,
|
178
|
+
...this.props.animationOptions
|
179
|
+
}).start(({
|
180
|
+
finished
|
181
|
+
}) => {
|
182
|
+
if (finished) {
|
183
|
+
if (toValue > 0) {
|
184
|
+
var _this$props$onSwipeab3, _this$props3, _this$props$onSwipeab4, _this$props4;
|
185
|
+
|
186
|
+
(_this$props$onSwipeab3 = (_this$props3 = this.props).onSwipeableLeftOpen) === null || _this$props$onSwipeab3 === void 0 ? void 0 : _this$props$onSwipeab3.call(_this$props3);
|
187
|
+
(_this$props$onSwipeab4 = (_this$props4 = this.props).onSwipeableOpen) === null || _this$props$onSwipeab4 === void 0 ? void 0 : _this$props$onSwipeab4.call(_this$props4, 'left', this);
|
188
|
+
} else if (toValue < 0) {
|
189
|
+
var _this$props$onSwipeab5, _this$props5, _this$props$onSwipeab6, _this$props6;
|
190
|
+
|
191
|
+
(_this$props$onSwipeab5 = (_this$props5 = this.props).onSwipeableRightOpen) === null || _this$props$onSwipeab5 === void 0 ? void 0 : _this$props$onSwipeab5.call(_this$props5);
|
192
|
+
(_this$props$onSwipeab6 = (_this$props6 = this.props).onSwipeableOpen) === null || _this$props$onSwipeab6 === void 0 ? void 0 : _this$props$onSwipeab6.call(_this$props6, 'right', this);
|
193
|
+
} else {
|
194
|
+
var _this$props$onSwipeab7, _this$props7;
|
195
|
+
|
196
|
+
const closingDirection = fromValue > 0 ? 'left' : 'right';
|
197
|
+
(_this$props$onSwipeab7 = (_this$props7 = this.props).onSwipeableClose) === null || _this$props$onSwipeab7 === void 0 ? void 0 : _this$props$onSwipeab7.call(_this$props7, closingDirection, this);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
});
|
201
|
+
|
202
|
+
if (toValue > 0) {
|
203
|
+
var _this$props$onSwipeab8, _this$props8, _this$props$onSwipeab9, _this$props9;
|
204
|
+
|
205
|
+
(_this$props$onSwipeab8 = (_this$props8 = this.props).onSwipeableLeftWillOpen) === null || _this$props$onSwipeab8 === void 0 ? void 0 : _this$props$onSwipeab8.call(_this$props8);
|
206
|
+
(_this$props$onSwipeab9 = (_this$props9 = this.props).onSwipeableWillOpen) === null || _this$props$onSwipeab9 === void 0 ? void 0 : _this$props$onSwipeab9.call(_this$props9, 'left');
|
207
|
+
} else if (toValue < 0) {
|
208
|
+
var _this$props$onSwipeab10, _this$props10, _this$props$onSwipeab11, _this$props11;
|
209
|
+
|
210
|
+
(_this$props$onSwipeab10 = (_this$props10 = this.props).onSwipeableRightWillOpen) === null || _this$props$onSwipeab10 === void 0 ? void 0 : _this$props$onSwipeab10.call(_this$props10);
|
211
|
+
(_this$props$onSwipeab11 = (_this$props11 = this.props).onSwipeableWillOpen) === null || _this$props$onSwipeab11 === void 0 ? void 0 : _this$props$onSwipeab11.call(_this$props11, 'right');
|
212
|
+
} else {
|
213
|
+
var _this$props$onSwipeab12, _this$props12;
|
214
|
+
|
215
|
+
const closingDirection = fromValue > 0 ? 'left' : 'right';
|
216
|
+
(_this$props$onSwipeab12 = (_this$props12 = this.props).onSwipeableWillClose) === null || _this$props$onSwipeab12 === void 0 ? void 0 : _this$props$onSwipeab12.call(_this$props12, closingDirection);
|
217
|
+
}
|
218
|
+
});
|
219
|
+
|
220
|
+
_defineProperty(this, "onRowLayout", ({
|
221
|
+
nativeEvent
|
222
|
+
}) => {
|
223
|
+
this.setState({
|
224
|
+
rowWidth: nativeEvent.layout.width
|
225
|
+
});
|
226
|
+
});
|
227
|
+
|
228
|
+
_defineProperty(this, "currentOffset", () => {
|
229
|
+
const {
|
230
|
+
leftWidth = 0,
|
231
|
+
rowWidth = 0,
|
232
|
+
rowState
|
233
|
+
} = this.state;
|
234
|
+
const {
|
235
|
+
rightOffset = rowWidth
|
236
|
+
} = this.state;
|
237
|
+
const rightWidth = rowWidth - rightOffset;
|
238
|
+
|
239
|
+
if (rowState === 1) {
|
240
|
+
return leftWidth;
|
241
|
+
} else if (rowState === -1) {
|
242
|
+
return -rightWidth;
|
243
|
+
}
|
244
|
+
|
245
|
+
return 0;
|
246
|
+
});
|
247
|
+
|
248
|
+
_defineProperty(this, "close", () => {
|
249
|
+
this.animateRow(this.currentOffset(), 0);
|
250
|
+
});
|
251
|
+
|
252
|
+
_defineProperty(this, "openLeft", () => {
|
253
|
+
const {
|
254
|
+
leftWidth = 0
|
255
|
+
} = this.state;
|
256
|
+
this.animateRow(this.currentOffset(), leftWidth);
|
257
|
+
});
|
258
|
+
|
259
|
+
_defineProperty(this, "openRight", () => {
|
260
|
+
const {
|
261
|
+
rowWidth = 0
|
262
|
+
} = this.state;
|
263
|
+
const {
|
264
|
+
rightOffset = rowWidth
|
265
|
+
} = this.state;
|
266
|
+
const rightWidth = rowWidth - rightOffset;
|
267
|
+
this.animateRow(this.currentOffset(), -rightWidth);
|
268
|
+
});
|
269
|
+
|
270
|
+
_defineProperty(this, "reset", () => {
|
271
|
+
const {
|
272
|
+
dragX,
|
273
|
+
rowTranslation
|
274
|
+
} = this.state;
|
275
|
+
dragX.setValue(0);
|
276
|
+
rowTranslation.setValue(0);
|
277
|
+
this.setState({
|
278
|
+
rowState: 0
|
279
|
+
});
|
280
|
+
});
|
281
|
+
|
282
|
+
const _dragX = new Animated.Value(0);
|
283
|
+
|
284
|
+
this.state = {
|
285
|
+
dragX: _dragX,
|
286
|
+
rowTranslation: new Animated.Value(0),
|
287
|
+
rowState: 0,
|
288
|
+
leftWidth: undefined,
|
289
|
+
rightOffset: undefined,
|
290
|
+
rowWidth: undefined
|
291
|
+
};
|
292
|
+
this.updateAnimatedEvent(_props, this.state);
|
293
|
+
this.onGestureEvent = Animated.event([{
|
294
|
+
nativeEvent: {
|
295
|
+
translationX: _dragX
|
296
|
+
}
|
297
|
+
}], {
|
298
|
+
useNativeDriver: _props.useNativeAnimations
|
299
|
+
});
|
300
|
+
}
|
301
|
+
|
302
|
+
shouldComponentUpdate(props, state) {
|
303
|
+
if (this.props.friction !== props.friction || this.props.overshootLeft !== props.overshootLeft || this.props.overshootRight !== props.overshootRight || this.props.overshootFriction !== props.overshootFriction || this.state.leftWidth !== state.leftWidth || this.state.rightOffset !== state.rightOffset || this.state.rowWidth !== state.rowWidth) {
|
304
|
+
this.updateAnimatedEvent(props, state);
|
305
|
+
}
|
306
|
+
|
307
|
+
return true;
|
308
|
+
}
|
309
|
+
|
310
|
+
render() {
|
311
|
+
const {
|
312
|
+
rowState
|
313
|
+
} = this.state;
|
314
|
+
const {
|
315
|
+
children,
|
316
|
+
renderLeftActions,
|
317
|
+
renderRightActions,
|
318
|
+
dragOffsetFromLeftEdge = 10,
|
319
|
+
dragOffsetFromRightEdge = 10
|
320
|
+
} = this.props;
|
321
|
+
const left = renderLeftActions && /*#__PURE__*/React.createElement(Animated.View, {
|
322
|
+
style: [styles.leftActions, // all those and below parameters can have ! since they are all
|
323
|
+
// asigned in constructor in `updateAnimatedEvent` but TS cannot spot
|
324
|
+
// it for some reason
|
325
|
+
{
|
326
|
+
transform: [{
|
327
|
+
translateX: this.leftActionTranslate
|
328
|
+
}]
|
329
|
+
}]
|
330
|
+
}, renderLeftActions(this.showLeftAction, this.transX, this), /*#__PURE__*/React.createElement(View, {
|
331
|
+
onLayout: ({
|
332
|
+
nativeEvent
|
333
|
+
}) => this.setState({
|
334
|
+
leftWidth: nativeEvent.layout.x
|
335
|
+
})
|
336
|
+
}));
|
337
|
+
const right = renderRightActions && /*#__PURE__*/React.createElement(Animated.View, {
|
338
|
+
style: [styles.rightActions, {
|
339
|
+
transform: [{
|
340
|
+
translateX: this.rightActionTranslate
|
341
|
+
}]
|
342
|
+
}]
|
343
|
+
}, renderRightActions(this.showRightAction, this.transX, this), /*#__PURE__*/React.createElement(View, {
|
344
|
+
onLayout: ({
|
345
|
+
nativeEvent
|
346
|
+
}) => this.setState({
|
347
|
+
rightOffset: nativeEvent.layout.x
|
348
|
+
})
|
349
|
+
}));
|
350
|
+
return /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
|
351
|
+
activeOffsetX: [-dragOffsetFromRightEdge, dragOffsetFromLeftEdge]
|
352
|
+
}, this.props, {
|
353
|
+
onGestureEvent: this.onGestureEvent,
|
354
|
+
onHandlerStateChange: this.onHandlerStateChange
|
355
|
+
}), /*#__PURE__*/React.createElement(Animated.View, {
|
356
|
+
onLayout: this.onRowLayout,
|
357
|
+
style: [styles.container, this.props.containerStyle]
|
358
|
+
}, left, right, /*#__PURE__*/React.createElement(TapGestureHandler, {
|
359
|
+
enabled: rowState !== 0,
|
360
|
+
onHandlerStateChange: this.onTapHandlerStateChange
|
361
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
362
|
+
pointerEvents: rowState === 0 ? 'auto' : 'box-only',
|
363
|
+
style: [{
|
364
|
+
transform: [{
|
365
|
+
translateX: this.transX
|
366
|
+
}]
|
367
|
+
}, this.props.childrenContainerStyle]
|
368
|
+
}, children))));
|
369
|
+
}
|
370
|
+
|
371
|
+
}
|
372
|
+
|
373
|
+
_defineProperty(Swipeable, "defaultProps", {
|
374
|
+
friction: 1,
|
375
|
+
overshootFriction: 1,
|
376
|
+
useNativeAnimations: true
|
377
|
+
});
|
378
|
+
|
379
|
+
const styles = StyleSheet.create({
|
380
|
+
container: {
|
381
|
+
overflow: 'hidden'
|
382
|
+
},
|
383
|
+
leftActions: { ...StyleSheet.absoluteFillObject,
|
384
|
+
flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row'
|
385
|
+
},
|
386
|
+
rightActions: { ...StyleSheet.absoluteFillObject,
|
387
|
+
flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse'
|
388
|
+
}
|
389
|
+
});
|
390
|
+
//# sourceMappingURL=Swipeable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["Swipeable.tsx"],"names":["React","Component","Animated","StyleSheet","View","I18nManager","PanGestureHandler","TapGestureHandler","State","DRAG_TOSS","Swipeable","constructor","props","state","friction","overshootFriction","dragX","rowTranslation","leftWidth","rowWidth","rightOffset","rightWidth","Math","max","overshootLeft","overshootRight","transX","add","interpolate","inputRange","outputRange","showLeftAction","Value","leftActionTranslate","Number","MIN_VALUE","extrapolate","showRightAction","rightActionTranslate","nativeEvent","oldState","ACTIVE","close","ev","handleRelease","velocityX","translationX","rowState","direction","onSwipeableOpenStartDrag","onSwipeableCloseStartDrag","leftThreshold","rightThreshold","startOffsetX","currentOffset","toValue","animateRow","fromValue","setValue","setState","sign","spring","restSpeedThreshold","restDisplacementThreshold","velocity","bounciness","useNativeDriver","useNativeAnimations","animationOptions","start","finished","onSwipeableLeftOpen","onSwipeableOpen","onSwipeableRightOpen","closingDirection","onSwipeableClose","onSwipeableLeftWillOpen","onSwipeableWillOpen","onSwipeableRightWillOpen","onSwipeableWillClose","layout","width","undefined","updateAnimatedEvent","onGestureEvent","event","shouldComponentUpdate","render","children","renderLeftActions","renderRightActions","dragOffsetFromLeftEdge","dragOffsetFromRightEdge","left","styles","leftActions","transform","translateX","x","right","rightActions","onHandlerStateChange","onRowLayout","container","containerStyle","onTapHandlerStateChange","childrenContainerStyle","create","overflow","absoluteFillObject","flexDirection","isRTL"],"mappings":"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","sourcesContent":["// Similarily to the DrawerLayout component this deserves to be put in a\r\n// separate repo. Although, keeping it here for the time being will allow us to\r\n// move faster and fix possible issues quicker\r\n\r\nimport * as React from 'react';\r\nimport { Component } from 'react';\r\nimport {\r\n Animated,\r\n StyleSheet,\r\n View,\r\n I18nManager,\r\n LayoutChangeEvent,\r\n StyleProp,\r\n ViewStyle,\r\n} from 'react-native';\r\n\r\nimport {\r\n GestureEvent,\r\n HandlerStateChangeEvent,\r\n} from '../handlers/gestureHandlerCommon';\r\nimport {\r\n PanGestureHandler,\r\n PanGestureHandlerEventPayload,\r\n PanGestureHandlerProps,\r\n} from '../handlers/PanGestureHandler';\r\nimport {\r\n TapGestureHandler,\r\n TapGestureHandlerEventPayload,\r\n} from '../handlers/TapGestureHandler';\r\nimport { State } from '../State';\r\n\r\nconst DRAG_TOSS = 0.05;\r\n\r\ntype SwipeableExcludes = Exclude<\r\n keyof PanGestureHandlerProps,\r\n 'onGestureEvent' | 'onHandlerStateChange'\r\n>;\r\n\r\n// Animated.AnimatedInterpolation has been converted to a generic type\r\n// in @types/react-native 0.70. This way we can maintain compatibility\r\n// with all versions of @types/react-native\r\ntype AnimatedInterpolation = ReturnType<Animated.Value['interpolate']>;\r\n\r\nexport interface SwipeableProps\r\n extends Pick<PanGestureHandlerProps, SwipeableExcludes> {\r\n /**\r\n * Enables two-finger gestures on supported devices, for example iPads with\r\n * trackpads. If not enabled the gesture will require click + drag, with\r\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\r\n * the gesture.\r\n */\r\n enableTrackpadTwoFingerGesture?: boolean;\r\n\r\n /**\r\n * Specifies how much the visual interaction will be delayed compared to the\r\n * gesture distance. e.g. value of 1 will indicate that the swipeable panel\r\n * should exactly follow the gesture, 2 means it is going to be two times\r\n * \"slower\".\r\n */\r\n friction?: number;\r\n\r\n /**\r\n * Distance from the left edge at which released panel will animate to the\r\n * open state (or the open panel will animate into the closed state). By\r\n * default it's a half of the panel's width.\r\n */\r\n leftThreshold?: number;\r\n\r\n /**\r\n * Distance from the right edge at which released panel will animate to the\r\n * open state (or the open panel will animate into the closed state). By\r\n * default it's a half of the panel's width.\r\n */\r\n rightThreshold?: number;\r\n\r\n /**\r\n * Distance that the panel must be dragged from the left edge to be considered\r\n * a swipe. The default value is 10.\r\n */\r\n dragOffsetFromLeftEdge?: number;\r\n\r\n /**\r\n * Distance that the panel must be dragged from the right edge to be considered\r\n * a swipe. The default value is 10.\r\n */\r\n dragOffsetFromRightEdge?: number;\r\n\r\n /**\r\n * Value indicating if the swipeable panel can be pulled further than the left\r\n * actions panel's width. It is set to true by default as long as the left\r\n * panel render method is present.\r\n */\r\n overshootLeft?: boolean;\r\n\r\n /**\r\n * Value indicating if the swipeable panel can be pulled further than the\r\n * right actions panel's width. It is set to true by default as long as the\r\n * right panel render method is present.\r\n */\r\n overshootRight?: boolean;\r\n\r\n /**\r\n * Specifies how much the visual interaction will be delayed compared to the\r\n * gesture distance at overshoot. Default value is 1, it mean no friction, for\r\n * a native feel, try 8 or above.\r\n */\r\n overshootFriction?: number;\r\n\r\n /**\r\n * @deprecated Use `direction` argument of onSwipeableOpen()\r\n *\r\n * Called when left action panel gets open.\r\n */\r\n onSwipeableLeftOpen?: () => void;\r\n\r\n /**\r\n * @deprecated Use `direction` argument of onSwipeableOpen()\r\n *\r\n * Called when right action panel gets open.\r\n */\r\n onSwipeableRightOpen?: () => void;\r\n\r\n /**\r\n * Called when action panel gets open (either right or left).\r\n */\r\n onSwipeableOpen?: (direction: 'left' | 'right', swipeable: Swipeable) => void;\r\n\r\n /**\r\n * Called when action panel is closed.\r\n */\r\n onSwipeableClose?: (\r\n direction: 'left' | 'right',\r\n swipeable: Swipeable\r\n ) => void;\r\n\r\n /**\r\n * @deprecated Use `direction` argument of onSwipeableWillOpen()\r\n *\r\n * Called when left action panel starts animating on open.\r\n */\r\n onSwipeableLeftWillOpen?: () => void;\r\n\r\n /**\r\n * @deprecated Use `direction` argument of onSwipeableWillOpen()\r\n *\r\n * Called when right action panel starts animating on open.\r\n */\r\n onSwipeableRightWillOpen?: () => void;\r\n\r\n /**\r\n * Called when action panel starts animating on open (either right or left).\r\n */\r\n onSwipeableWillOpen?: (direction: 'left' | 'right') => void;\r\n\r\n /**\r\n * Called when action panel starts animating on close.\r\n */\r\n onSwipeableWillClose?: (direction: 'left' | 'right') => void;\r\n\r\n /**\r\n * Called when action panel starts being shown on dragging to open.\r\n */\r\n onSwipeableOpenStartDrag?: (direction: 'left' | 'right') => void;\r\n\r\n /**\r\n * Called when action panel starts being shown on dragging to close.\r\n */\r\n onSwipeableCloseStartDrag?: (direction: 'left' | 'right') => void;\r\n\r\n /**\r\n *\r\n * This map describes the values to use as inputRange for extra interpolation:\r\n * AnimatedValue: [startValue, endValue]\r\n *\r\n * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, +]\r\n *\r\n * To support `rtl` flexbox layouts use `flexDirection` styling.\r\n * */\r\n renderLeftActions?: (\r\n progressAnimatedValue: AnimatedInterpolation,\r\n dragAnimatedValue: AnimatedInterpolation,\r\n swipeable: Swipeable\r\n ) => React.ReactNode;\r\n /**\r\n *\r\n * This map describes the values to use as inputRange for extra interpolation:\r\n * AnimatedValue: [startValue, endValue]\r\n *\r\n * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, -]\r\n *\r\n * To support `rtl` flexbox layouts use `flexDirection` styling.\r\n * */\r\n renderRightActions?: (\r\n progressAnimatedValue: AnimatedInterpolation,\r\n dragAnimatedValue: AnimatedInterpolation,\r\n swipeable: Swipeable\r\n ) => React.ReactNode;\r\n\r\n useNativeAnimations?: boolean;\r\n\r\n animationOptions?: Record<string, unknown>;\r\n\r\n /**\r\n * Style object for the container (`Animated.View`), for example to override\r\n * `overflow: 'hidden'`.\r\n */\r\n containerStyle?: StyleProp<ViewStyle>;\r\n\r\n /**\r\n * Style object for the children container (`Animated.View`), for example to\r\n * apply `flex: 1`\r\n */\r\n childrenContainerStyle?: StyleProp<ViewStyle>;\r\n}\r\n\r\ntype SwipeableState = {\r\n dragX: Animated.Value;\r\n rowTranslation: Animated.Value;\r\n rowState: number;\r\n leftWidth?: number;\r\n rightOffset?: number;\r\n rowWidth?: number;\r\n};\r\n\r\nexport default class Swipeable extends Component<\r\n SwipeableProps,\r\n SwipeableState\r\n> {\r\n static defaultProps = {\r\n friction: 1,\r\n overshootFriction: 1,\r\n useNativeAnimations: true,\r\n };\r\n\r\n constructor(props: SwipeableProps) {\r\n super(props);\r\n const dragX = new Animated.Value(0);\r\n this.state = {\r\n dragX,\r\n rowTranslation: new Animated.Value(0),\r\n rowState: 0,\r\n leftWidth: undefined,\r\n rightOffset: undefined,\r\n rowWidth: undefined,\r\n };\r\n this.updateAnimatedEvent(props, this.state);\r\n\r\n this.onGestureEvent = Animated.event(\r\n [{ nativeEvent: { translationX: dragX } }],\r\n { useNativeDriver: props.useNativeAnimations! }\r\n );\r\n }\r\n\r\n shouldComponentUpdate(props: SwipeableProps, state: SwipeableState) {\r\n if (\r\n this.props.friction !== props.friction ||\r\n this.props.overshootLeft !== props.overshootLeft ||\r\n this.props.overshootRight !== props.overshootRight ||\r\n this.props.overshootFriction !== props.overshootFriction ||\r\n this.state.leftWidth !== state.leftWidth ||\r\n this.state.rightOffset !== state.rightOffset ||\r\n this.state.rowWidth !== state.rowWidth\r\n ) {\r\n this.updateAnimatedEvent(props, state);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private onGestureEvent?: (\r\n event: GestureEvent<PanGestureHandlerEventPayload>\r\n ) => void;\r\n private transX?: AnimatedInterpolation;\r\n private showLeftAction?: AnimatedInterpolation | Animated.Value;\r\n private leftActionTranslate?: AnimatedInterpolation;\r\n private showRightAction?: AnimatedInterpolation | Animated.Value;\r\n private rightActionTranslate?: AnimatedInterpolation;\r\n\r\n private updateAnimatedEvent = (\r\n props: SwipeableProps,\r\n state: SwipeableState\r\n ) => {\r\n const { friction, overshootFriction } = props;\r\n const { dragX, rowTranslation, leftWidth = 0, rowWidth = 0 } = state;\r\n const { rightOffset = rowWidth } = state;\r\n const rightWidth = Math.max(0, rowWidth - rightOffset);\r\n\r\n const { overshootLeft = leftWidth > 0, overshootRight = rightWidth > 0 } =\r\n props;\r\n\r\n const transX = Animated.add(\r\n rowTranslation,\r\n dragX.interpolate({\r\n inputRange: [0, friction!],\r\n outputRange: [0, 1],\r\n })\r\n ).interpolate({\r\n inputRange: [-rightWidth - 1, -rightWidth, leftWidth, leftWidth + 1],\r\n outputRange: [\r\n -rightWidth - (overshootRight ? 1 / overshootFriction! : 0),\r\n -rightWidth,\r\n leftWidth,\r\n leftWidth + (overshootLeft ? 1 / overshootFriction! : 0),\r\n ],\r\n });\r\n this.transX = transX;\r\n this.showLeftAction =\r\n leftWidth > 0\r\n ? transX.interpolate({\r\n inputRange: [-1, 0, leftWidth],\r\n outputRange: [0, 0, 1],\r\n })\r\n : new Animated.Value(0);\r\n this.leftActionTranslate = this.showLeftAction.interpolate({\r\n inputRange: [0, Number.MIN_VALUE],\r\n outputRange: [-10000, 0],\r\n extrapolate: 'clamp',\r\n });\r\n this.showRightAction =\r\n rightWidth > 0\r\n ? transX.interpolate({\r\n inputRange: [-rightWidth, 0, 1],\r\n outputRange: [1, 0, 0],\r\n })\r\n : new Animated.Value(0);\r\n this.rightActionTranslate = this.showRightAction.interpolate({\r\n inputRange: [0, Number.MIN_VALUE],\r\n outputRange: [-10000, 0],\r\n extrapolate: 'clamp',\r\n });\r\n };\r\n\r\n private onTapHandlerStateChange = ({\r\n nativeEvent,\r\n }: HandlerStateChangeEvent<TapGestureHandlerEventPayload>) => {\r\n if (nativeEvent.oldState === State.ACTIVE) {\r\n this.close();\r\n }\r\n };\r\n\r\n private onHandlerStateChange = (\r\n ev: HandlerStateChangeEvent<PanGestureHandlerEventPayload>\r\n ) => {\r\n if (ev.nativeEvent.oldState === State.ACTIVE) {\r\n this.handleRelease(ev);\r\n }\r\n\r\n if (ev.nativeEvent.state === State.ACTIVE) {\r\n const { velocityX, translationX: dragX } = ev.nativeEvent;\r\n const { rowState } = this.state;\r\n const { friction } = this.props;\r\n\r\n const translationX = (dragX + DRAG_TOSS * velocityX) / friction!;\r\n\r\n const direction =\r\n rowState === -1\r\n ? 'right'\r\n : rowState === 1\r\n ? 'left'\r\n : translationX > 0\r\n ? 'left'\r\n : 'right';\r\n\r\n if (rowState === 0) {\r\n this.props.onSwipeableOpenStartDrag?.(direction);\r\n } else {\r\n this.props.onSwipeableCloseStartDrag?.(direction);\r\n }\r\n }\r\n };\r\n\r\n private handleRelease = (\r\n ev: HandlerStateChangeEvent<PanGestureHandlerEventPayload>\r\n ) => {\r\n const { velocityX, translationX: dragX } = ev.nativeEvent;\r\n const { leftWidth = 0, rowWidth = 0, rowState } = this.state;\r\n const { rightOffset = rowWidth } = this.state;\r\n const rightWidth = rowWidth - rightOffset;\r\n const {\r\n friction,\r\n leftThreshold = leftWidth / 2,\r\n rightThreshold = rightWidth / 2,\r\n } = this.props;\r\n\r\n const startOffsetX = this.currentOffset() + dragX / friction!;\r\n const translationX = (dragX + DRAG_TOSS * velocityX) / friction!;\r\n\r\n let toValue = 0;\r\n if (rowState === 0) {\r\n if (translationX > leftThreshold) {\r\n toValue = leftWidth;\r\n } else if (translationX < -rightThreshold) {\r\n toValue = -rightWidth;\r\n }\r\n } else if (rowState === 1) {\r\n // swiped to left\r\n if (translationX > -leftThreshold) {\r\n toValue = leftWidth;\r\n }\r\n } else {\r\n // swiped to right\r\n if (translationX < rightThreshold) {\r\n toValue = -rightWidth;\r\n }\r\n }\r\n\r\n this.animateRow(startOffsetX, toValue, velocityX / friction!);\r\n };\r\n\r\n private animateRow = (\r\n fromValue: number,\r\n toValue: number,\r\n velocityX?:\r\n | number\r\n | {\r\n x: number;\r\n y: number;\r\n }\r\n ) => {\r\n const { dragX, rowTranslation } = this.state;\r\n dragX.setValue(0);\r\n rowTranslation.setValue(fromValue);\r\n\r\n this.setState({ rowState: Math.sign(toValue) });\r\n Animated.spring(rowTranslation, {\r\n restSpeedThreshold: 1.7,\r\n restDisplacementThreshold: 0.4,\r\n velocity: velocityX,\r\n bounciness: 0,\r\n toValue,\r\n useNativeDriver: this.props.useNativeAnimations!,\r\n ...this.props.animationOptions,\r\n }).start(({ finished }) => {\r\n if (finished) {\r\n if (toValue > 0) {\r\n this.props.onSwipeableLeftOpen?.();\r\n this.props.onSwipeableOpen?.('left', this);\r\n } else if (toValue < 0) {\r\n this.props.onSwipeableRightOpen?.();\r\n this.props.onSwipeableOpen?.('right', this);\r\n } else {\r\n const closingDirection = fromValue > 0 ? 'left' : 'right';\r\n this.props.onSwipeableClose?.(closingDirection, this);\r\n }\r\n }\r\n });\r\n if (toValue > 0) {\r\n this.props.onSwipeableLeftWillOpen?.();\r\n this.props.onSwipeableWillOpen?.('left');\r\n } else if (toValue < 0) {\r\n this.props.onSwipeableRightWillOpen?.();\r\n this.props.onSwipeableWillOpen?.('right');\r\n } else {\r\n const closingDirection = fromValue > 0 ? 'left' : 'right';\r\n this.props.onSwipeableWillClose?.(closingDirection);\r\n }\r\n };\r\n\r\n private onRowLayout = ({ nativeEvent }: LayoutChangeEvent) => {\r\n this.setState({ rowWidth: nativeEvent.layout.width });\r\n };\r\n\r\n private currentOffset = () => {\r\n const { leftWidth = 0, rowWidth = 0, rowState } = this.state;\r\n const { rightOffset = rowWidth } = this.state;\r\n const rightWidth = rowWidth - rightOffset;\r\n if (rowState === 1) {\r\n return leftWidth;\r\n } else if (rowState === -1) {\r\n return -rightWidth;\r\n }\r\n return 0;\r\n };\r\n\r\n close = () => {\r\n this.animateRow(this.currentOffset(), 0);\r\n };\r\n\r\n openLeft = () => {\r\n const { leftWidth = 0 } = this.state;\r\n this.animateRow(this.currentOffset(), leftWidth);\r\n };\r\n\r\n openRight = () => {\r\n const { rowWidth = 0 } = this.state;\r\n const { rightOffset = rowWidth } = this.state;\r\n const rightWidth = rowWidth - rightOffset;\r\n this.animateRow(this.currentOffset(), -rightWidth);\r\n };\r\n\r\n reset = () => {\r\n const { dragX, rowTranslation } = this.state;\r\n dragX.setValue(0);\r\n rowTranslation.setValue(0);\r\n this.setState({ rowState: 0 });\r\n };\r\n\r\n render() {\r\n const { rowState } = this.state;\r\n const {\r\n children,\r\n renderLeftActions,\r\n renderRightActions,\r\n dragOffsetFromLeftEdge = 10,\r\n dragOffsetFromRightEdge = 10,\r\n } = this.props;\r\n\r\n const left = renderLeftActions && (\r\n <Animated.View\r\n style={[\r\n styles.leftActions,\r\n // all those and below parameters can have ! since they are all\r\n // asigned in constructor in `updateAnimatedEvent` but TS cannot spot\r\n // it for some reason\r\n { transform: [{ translateX: this.leftActionTranslate! }] },\r\n ]}>\r\n {renderLeftActions(this.showLeftAction!, this.transX!, this)}\r\n <View\r\n onLayout={({ nativeEvent }) =>\r\n this.setState({ leftWidth: nativeEvent.layout.x })\r\n }\r\n />\r\n </Animated.View>\r\n );\r\n\r\n const right = renderRightActions && (\r\n <Animated.View\r\n style={[\r\n styles.rightActions,\r\n { transform: [{ translateX: this.rightActionTranslate! }] },\r\n ]}>\r\n {renderRightActions(this.showRightAction!, this.transX!, this)}\r\n <View\r\n onLayout={({ nativeEvent }) =>\r\n this.setState({ rightOffset: nativeEvent.layout.x })\r\n }\r\n />\r\n </Animated.View>\r\n );\r\n\r\n return (\r\n <PanGestureHandler\r\n activeOffsetX={[-dragOffsetFromRightEdge, dragOffsetFromLeftEdge]}\r\n {...this.props}\r\n onGestureEvent={this.onGestureEvent}\r\n onHandlerStateChange={this.onHandlerStateChange}>\r\n <Animated.View\r\n onLayout={this.onRowLayout}\r\n style={[styles.container, this.props.containerStyle]}>\r\n {left}\r\n {right}\r\n <TapGestureHandler\r\n enabled={rowState !== 0}\r\n onHandlerStateChange={this.onTapHandlerStateChange}>\r\n <Animated.View\r\n pointerEvents={rowState === 0 ? 'auto' : 'box-only'}\r\n style={[\r\n {\r\n transform: [{ translateX: this.transX! }],\r\n },\r\n this.props.childrenContainerStyle,\r\n ]}>\r\n {children}\r\n </Animated.View>\r\n </TapGestureHandler>\r\n </Animated.View>\r\n </PanGestureHandler>\r\n );\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n overflow: 'hidden',\r\n },\r\n leftActions: {\r\n ...StyleSheet.absoluteFillObject,\r\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\r\n },\r\n rightActions: {\r\n ...StyleSheet.absoluteFillObject,\r\n flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',\r\n },\r\n});\r\n"]}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { StyleSheet } from 'react-native';
|
3
|
+
import hoistNonReactStatics from 'hoist-non-react-statics';
|
4
|
+
import GestureHandlerRootView from './GestureHandlerRootView';
|
5
|
+
export default function gestureHandlerRootHOC(Component, containerStyles) {
|
6
|
+
function Wrapper(props) {
|
7
|
+
return /*#__PURE__*/React.createElement(GestureHandlerRootView, {
|
8
|
+
style: [styles.container, containerStyles]
|
9
|
+
}, /*#__PURE__*/React.createElement(Component, props));
|
10
|
+
}
|
11
|
+
|
12
|
+
Wrapper.displayName = `gestureHandlerRootHOC(${Component.displayName || Component.name})`; // @ts-ignore - hoistNonReactStatics uses old version of @types/react
|
13
|
+
|
14
|
+
hoistNonReactStatics(Wrapper, Component);
|
15
|
+
return Wrapper;
|
16
|
+
}
|
17
|
+
const styles = StyleSheet.create({
|
18
|
+
container: {
|
19
|
+
flex: 1
|
20
|
+
}
|
21
|
+
});
|
22
|
+
//# sourceMappingURL=gestureHandlerRootHOC.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["gestureHandlerRootHOC.tsx"],"names":["React","StyleSheet","hoistNonReactStatics","GestureHandlerRootView","gestureHandlerRootHOC","Component","containerStyles","Wrapper","props","styles","container","displayName","name","create","flex"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,QAAiD,cAAjD;AACA,OAAOC,oBAAP,MAAiC,yBAAjC;AACA,OAAOC,sBAAP,MAAmC,0BAAnC;AAEA,eAAe,SAASC,qBAAT,CAGbC,SAHa,EAIbC,eAJa,EAKW;AACxB,WAASC,OAAT,CAAiBC,KAAjB,EAA2B;AACzB,wBACE,oBAAC,sBAAD;AAAwB,MAAA,KAAK,EAAE,CAACC,MAAM,CAACC,SAAR,EAAmBJ,eAAnB;AAA/B,oBACE,oBAAC,SAAD,EAAeE,KAAf,CADF,CADF;AAKD;;AAEDD,EAAAA,OAAO,CAACI,WAAR,GAAuB,yBACrBN,SAAS,CAACM,WAAV,IAAyBN,SAAS,CAACO,IACpC,GAFD,CATwB,CAaxB;;AACAV,EAAAA,oBAAoB,CAACK,OAAD,EAAUF,SAAV,CAApB;AAEA,SAAOE,OAAP;AACD;AAED,MAAME,MAAM,GAAGR,UAAU,CAACY,MAAX,CAAkB;AAC/BH,EAAAA,SAAS,EAAE;AAAEI,IAAAA,IAAI,EAAE;AAAR;AADoB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\r\nimport { StyleSheet, StyleProp, ViewStyle } from 'react-native';\r\nimport hoistNonReactStatics from 'hoist-non-react-statics';\r\nimport GestureHandlerRootView from './GestureHandlerRootView';\r\n\r\nexport default function gestureHandlerRootHOC<\r\n P extends Record<string, unknown>\r\n>(\r\n Component: React.ComponentType<P>,\r\n containerStyles?: StyleProp<ViewStyle>\r\n): React.ComponentType<P> {\r\n function Wrapper(props: P) {\r\n return (\r\n <GestureHandlerRootView style={[styles.container, containerStyles]}>\r\n <Component {...props} />\r\n </GestureHandlerRootView>\r\n );\r\n }\r\n\r\n Wrapper.displayName = `gestureHandlerRootHOC(${\r\n Component.displayName || Component.name\r\n })`;\r\n\r\n // @ts-ignore - hoistNonReactStatics uses old version of @types/react\r\n hoistNonReactStatics(Wrapper, Component);\r\n\r\n return Wrapper;\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { flex: 1 },\r\n});\r\n"]}
|