expo-dev-menu 2.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -8
- package/README.md +2 -2
- package/android/build.gradle +4 -63
- package/android/src/debug/java/expo/modules/devmenu/DevMenuActivity.kt +39 -1
- package/android/src/debug/java/expo/modules/devmenu/DevMenuHost.kt +0 -7
- package/android/src/debug/java/expo/modules/devmenu/DevMenuManager.kt +9 -10
- package/android/src/main/java/expo/modules/devmenu/DevMenuPackage.kt +62 -5
- package/android/src/main/java/expo/modules/devmenu/modules/DevMenuInternalModule.kt +3 -0
- package/android/src/main/java/expo/modules/devmenu/modules/DevMenuModule.kt +23 -7
- package/android/src/main/java/expo/modules/devmenu/modules/internals/DevMenuInternalMenuControllerModule.kt +9 -4
- package/android/src/main/res/layout/bottom_sheet.xml +24 -0
- package/android/src/release/java/expo/modules/devmenu/DevMenuManager.kt +3 -1
- package/app/App.tsx +3 -3
- package/app/components/AppProviders.tsx +1 -4
- package/app/components/Main.tsx +197 -184
- package/app/components/Onboarding.tsx +7 -10
- package/app/hooks/useDevSettings.tsx +8 -9
- package/app/native-modules/DevMenu.ts +10 -2
- package/assets/EXDevMenuApp.android.js +455 -701
- package/assets/EXDevMenuApp.ios.js +455 -702
- package/build/DevMenu.d.ts +2 -0
- package/build/DevMenu.d.ts.map +1 -1
- package/build/DevMenu.js +7 -1
- package/build/DevMenu.js.map +1 -1
- package/build/ExpoDevMenu.types.d.ts +7 -1
- package/build/ExpoDevMenu.types.d.ts.map +1 -1
- package/build/ExpoDevMenu.types.js.map +1 -1
- package/build/ExpoDevMenu.web.d.ts.map +1 -1
- package/build/ExpoDevMenu.web.js +6 -0
- package/build/ExpoDevMenu.web.js.map +1 -1
- package/expo-dev-menu.podspec +21 -103
- package/expo-module.config.json +6 -0
- package/ios/DevMenuAppInstance.swift +8 -6
- package/ios/DevMenuManager.swift +36 -19
- package/ios/DevMenuRCTBridge.h +4 -0
- package/ios/{DevMenuRCTBridge.m → DevMenuRCTBridge.mm} +45 -6
- package/ios/DevMenuViewController.swift +1 -1
- package/ios/DevMenuWindow.swift +97 -4
- package/ios/EXDevMenuAppInfo.m +12 -10
- package/ios/Headers/EXDevMenu-Bridging-Header.h +0 -1
- package/ios/Modules/DevMenuInternalModule.swift +59 -85
- package/ios/Modules/DevMenuModule.swift +34 -15
- package/ios/Modules/DevMenuPreferences.swift +15 -26
- package/ios/OverlayContainer/Internal/ConcreteOverlayContainerContextTargetNotchPolicy.swift +25 -0
- package/ios/OverlayContainer/Internal/ConcreteOverlayContainerContextTransitioning.swift +36 -0
- package/ios/OverlayContainer/Internal/ConcreteOverlayContainerDimissingPolicyContext.swift +41 -0
- package/ios/OverlayContainer/Internal/ConcreteOverlayTranslationParameters.swift +14 -0
- package/ios/OverlayContainer/Internal/DraggingOverlayContainerTransitionCoordinator.swift +76 -0
- package/ios/OverlayContainer/Internal/Extensions/CGFloat+Round.swift +16 -0
- package/ios/OverlayContainer/Internal/Extensions/CGGeometry+Utils.swift +26 -0
- package/ios/OverlayContainer/Internal/Extensions/OverlayContainerViewControllerDelegate+Defaults.swift +58 -0
- package/ios/OverlayContainer/Internal/Extensions/UIPanGesture+Utils.swift +28 -0
- package/ios/OverlayContainer/Internal/Extensions/UIScrollViiew+Utils.swift +40 -0
- package/ios/OverlayContainer/Internal/Extensions/UIView+Constraints.swift +28 -0
- package/ios/OverlayContainer/Internal/Extensions/UIView+Subviews.swift +14 -0
- package/ios/OverlayContainer/Internal/Extensions/UIViewController+Children.swift +40 -0
- package/ios/OverlayContainer/Internal/HeightContraintOverlayTranslationController.swift +296 -0
- package/ios/OverlayContainer/Internal/InterruptibleAnimatorOverlayContainerTransitionCoordinator.swift +75 -0
- package/ios/OverlayContainer/Internal/OverlayContainerConfiguration.swift +63 -0
- package/ios/OverlayContainer/Internal/OverlayContainerConfigurationImplementation.swift +130 -0
- package/ios/OverlayContainer/Internal/OverlayScrollViewDelegate.swift +16 -0
- package/ios/OverlayContainer/Internal/OverlayScrollViewDelegateProxy.swift +96 -0
- package/ios/OverlayContainer/Internal/OverlayTranslationController.swift +26 -0
- package/ios/OverlayContainer/Internal/OverlayTranslationDriver.swift +12 -0
- package/ios/OverlayContainer/Internal/OverlayTranslationGestureRecognizer.swift +40 -0
- package/ios/OverlayContainer/Internal/PanGestureOverlayTranslationDriver.swift +68 -0
- package/ios/OverlayContainer/Internal/ScrollViewOverlayTranslationDriver.swift +135 -0
- package/ios/OverlayContainer/Internal/Views/GroundView.swift +10 -0
- package/ios/OverlayContainer/Internal/Views/OverlayContainerView.swift +10 -0
- package/ios/OverlayContainer/Internal/Views/OverlayTranslationContainerView.swift +10 -0
- package/ios/OverlayContainer/Internal/Views/OverlayTranslationView.swift +10 -0
- package/ios/OverlayContainer/OverlayContainerPresentationController.swift +88 -0
- package/ios/OverlayContainer/OverlayContainerSheetDimmingView.swift +81 -0
- package/ios/OverlayContainer/OverlayContainerSheetDismissalPolicy.swift +91 -0
- package/ios/OverlayContainer/OverlayContainerSheetPresentationController.swift +156 -0
- package/ios/OverlayContainer/OverlayContainerSheetPresentationControllerDelegate.swift +26 -0
- package/ios/OverlayContainer/OverlayContainerTransitionCoordinator.swift +80 -0
- package/ios/OverlayContainer/OverlayContainerViewController.swift +412 -0
- package/ios/OverlayContainer/OverlayContainerViewControllerDelegate.swift +155 -0
- package/ios/OverlayContainer/OverlayTransitioningDelegate.swift +67 -0
- package/ios/OverlayContainer/OverlayTranslationFunction.swift +29 -0
- package/ios/OverlayContainer/PassThroughView.swift +24 -0
- package/ios/OverlayContainer/RubberBandOverlayTranslationFunction.swift +44 -0
- package/ios/OverlayContainer/RushingForwardTargetNotchPolicy.swift +52 -0
- package/ios/OverlayContainer/SpringOverlayTranslationAnimationController.swift +70 -0
- package/ios/Tests/DevMenuAppInstanceTest.swift +2 -4
- package/ios/Tests/DevMenuInternalModuleTest.swift +7 -6
- package/mocks/react-native-gesture-handler/src/index.tsx +39 -0
- package/package.json +6 -6
- package/scripts/start.sh +1 -1
- package/setupTests.ts +0 -11
- package/src/DevMenu.ts +10 -2
- package/src/ExpoDevMenu.types.ts +4 -1
- package/src/ExpoDevMenu.web.ts +6 -0
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProvider.swift +52 -0
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProviderManager.swift +54 -0
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewEdges.swift +9 -0
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewMode.swift +7 -0
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/RCTView+DevMenuSafeAreaCompat.swift +47 -0
- package/vendored/react-native-safe-area-context/src/InitialWindow.native.ts +7 -8
- package/vendored/react-native-safe-area-context/src/NativeSafeAreaProvider.native.tsx +5 -4
- package/android/src/expo-44/java/expo/modules/devmenu/DevMenuPackageDelegate.kt +0 -13
- package/android/src/expo-45/java/expo/modules/devmenu/DevMenuPackageDelegate.kt +0 -65
- package/android/src/release/java/expo/modules/devmenu/DevMenuPackageDelegate.kt +0 -13
- package/app/components/BottomSheet.tsx +0 -705
- package/app/components/GestureHandlerTouchableWrapper.tsx +0 -15
- package/app/hooks/useBottomSheet.tsx +0 -95
- package/ios/DevMenuBaseAppInstance+Reanimated.mm +0 -52
- package/ios/DevMenuBaseAppInstance.h +0 -6
- package/ios/DevMenuVendoredModulesUtils.h +0 -13
- package/ios/DevMenuVendoredModulesUtils.m +0 -56
- package/ios/Modules/DevMenuInternalModule.m +0 -34
- package/ios/Modules/DevMenuModule.m +0 -15
- package/ios/Modules/DevMenuPreferences.m +0 -10
- package/ios/Tests/DevMenuVendoredModulesUtilsTests.swift +0 -17
- package/scripts/reanimated_utils.rb +0 -91
- package/vendored/react-native-gesture-handler/RNGestureHandler.podspec.json +0 -21
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/common/GestureHandlerStateManager.kt +0 -5
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +0 -18
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/Extensions.kt +0 -11
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/FlingGestureHandler.kt +0 -96
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureHandler.kt +0 -713
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +0 -8
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +0 -562
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +0 -8
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +0 -21
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/GestureUtils.kt +0 -49
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/LongPressGestureHandler.kt +0 -97
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/ManualGestureHandler.kt +0 -11
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +0 -129
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/OnTouchEventListener.kt +0 -9
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/PanGestureHandler.kt +0 -289
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/PinchGestureHandler.kt +0 -88
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/PointerEventsConfig.kt +0 -23
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/RotationGestureDetector.kt +0 -125
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/RotationGestureHandler.kt +0 -79
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/TapGestureHandler.kt +0 -167
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +0 -10
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +0 -349
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +0 -57
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +0 -59
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +0 -8
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +0 -61
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +0 -686
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +0 -17
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +0 -95
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +0 -132
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +0 -5
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -68
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +0 -34
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +0 -66
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +0 -69
- package/vendored/react-native-gesture-handler/android/devmenu/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +0 -51
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandler.h +0 -87
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandler.m +0 -454
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerButton.h +0 -18
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerButton.m +0 -70
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerDirection.h +0 -8
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerEvents.h +0 -65
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerEvents.m +0 -255
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerManager.h +0 -36
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerManager.m +0 -221
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerModule.h +0 -10
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerModule.m +0 -235
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerPointerTracker.h +0 -26
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerPointerTracker.m +0 -237
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerRegistry.h +0 -19
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerRegistry.m +0 -60
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerState.h +0 -10
- package/vendored/react-native-gesture-handler/ios/DevMenuRNGestureHandlerStateManager.h +0 -5
- package/vendored/react-native-gesture-handler/ios/DevMenuRNManualActivationRecognizer.h +0 -10
- package/vendored/react-native-gesture-handler/ios/DevMenuRNManualActivationRecognizer.m +0 -80
- package/vendored/react-native-gesture-handler/ios/DevMenuRNRootViewGestureRecognizer.h +0 -17
- package/vendored/react-native-gesture-handler/ios/DevMenuRNRootViewGestureRecognizer.m +0 -93
- package/vendored/react-native-gesture-handler/ios/DevMenuRNTouchEventType.h +0 -9
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNFlingHandler.h +0 -4
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNFlingHandler.m +0 -106
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNForceTouchHandler.h +0 -4
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNForceTouchHandler.m +0 -173
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNLongPressHandler.h +0 -12
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNLongPressHandler.m +0 -185
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNManualHandler.h +0 -4
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNManualHandler.m +0 -73
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNNativeViewHandler.h +0 -15
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNNativeViewHandler.m +0 -177
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNPanHandler.h +0 -12
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNPanHandler.m +0 -306
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNPinchHandler.h +0 -12
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNPinchHandler.m +0 -94
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNRotationHandler.h +0 -12
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNRotationHandler.m +0 -94
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNTapHandler.h +0 -12
- package/vendored/react-native-gesture-handler/ios/Handlers/DevMenuRNTapHandler.m +0 -265
- package/vendored/react-native-gesture-handler/jestSetup.js +0 -7
- package/vendored/react-native-gesture-handler/src/Directions.ts +0 -9
- package/vendored/react-native-gesture-handler/src/EventType.ts +0 -10
- package/vendored/react-native-gesture-handler/src/GestureHandlerRootView.android.tsx +0 -18
- package/vendored/react-native-gesture-handler/src/GestureHandlerRootView.tsx +0 -12
- package/vendored/react-native-gesture-handler/src/PlatformConstants.ts +0 -8
- package/vendored/react-native-gesture-handler/src/PlatformConstants.web.ts +0 -5
- package/vendored/react-native-gesture-handler/src/RNGestureHandlerModule.ts +0 -35
- package/vendored/react-native-gesture-handler/src/RNGestureHandlerModule.web.ts +0 -61
- package/vendored/react-native-gesture-handler/src/State.ts +0 -13
- package/vendored/react-native-gesture-handler/src/components/DrawerLayout.tsx +0 -695
- package/vendored/react-native-gesture-handler/src/components/GestureButtons.tsx +0 -254
- package/vendored/react-native-gesture-handler/src/components/GestureComponents.tsx +0 -92
- package/vendored/react-native-gesture-handler/src/components/GestureComponents.web.tsx +0 -37
- package/vendored/react-native-gesture-handler/src/components/GestureHandlerButton.tsx +0 -7
- package/vendored/react-native-gesture-handler/src/components/GestureHandlerButton.web.tsx +0 -6
- package/vendored/react-native-gesture-handler/src/components/Swipeable.tsx +0 -510
- package/vendored/react-native-gesture-handler/src/components/touchables/GenericTouchable.tsx +0 -285
- package/vendored/react-native-gesture-handler/src/components/touchables/TouchableHighlight.tsx +0 -112
- package/vendored/react-native-gesture-handler/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -89
- package/vendored/react-native-gesture-handler/src/components/touchables/TouchableNativeFeedback.tsx +0 -3
- package/vendored/react-native-gesture-handler/src/components/touchables/TouchableOpacity.tsx +0 -70
- package/vendored/react-native-gesture-handler/src/components/touchables/TouchableWithoutFeedback.tsx +0 -12
- package/vendored/react-native-gesture-handler/src/components/touchables/index.ts +0 -4
- package/vendored/react-native-gesture-handler/src/gestureHandlerRootHOC.tsx +0 -29
- package/vendored/react-native-gesture-handler/src/handlers/FlingGestureHandler.ts +0 -57
- package/vendored/react-native-gesture-handler/src/handlers/ForceTouchGestureHandler.ts +0 -83
- package/vendored/react-native-gesture-handler/src/handlers/LongPressGestureHandler.ts +0 -84
- package/vendored/react-native-gesture-handler/src/handlers/NativeViewGestureHandler.ts +0 -53
- package/vendored/react-native-gesture-handler/src/handlers/PanGestureHandler.ts +0 -321
- package/vendored/react-native-gesture-handler/src/handlers/PinchGestureHandler.ts +0 -46
- package/vendored/react-native-gesture-handler/src/handlers/RotationGestureHandler.ts +0 -46
- package/vendored/react-native-gesture-handler/src/handlers/TapGestureHandler.ts +0 -90
- package/vendored/react-native-gesture-handler/src/handlers/createHandler.ts +0 -430
- package/vendored/react-native-gesture-handler/src/handlers/createNativeWrapper.tsx +0 -74
- package/vendored/react-native-gesture-handler/src/handlers/gestureHandlerCommon.ts +0 -185
- package/vendored/react-native-gesture-handler/src/handlers/gestureHandlerTypesCompat.ts +0 -89
- package/vendored/react-native-gesture-handler/src/handlers/gestures/GestureDetector.tsx +0 -519
- package/vendored/react-native-gesture-handler/src/handlers/gestures/eventReceiver.ts +0 -151
- package/vendored/react-native-gesture-handler/src/handlers/gestures/flingGesture.ts +0 -27
- package/vendored/react-native-gesture-handler/src/handlers/gestures/forceTouchGesture.ts +0 -74
- package/vendored/react-native-gesture-handler/src/handlers/gestures/gesture.ts +0 -292
- package/vendored/react-native-gesture-handler/src/handlers/gestures/gestureComposition.ts +0 -109
- package/vendored/react-native-gesture-handler/src/handlers/gestures/gestureObjects.ts +0 -79
- package/vendored/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts +0 -60
- package/vendored/react-native-gesture-handler/src/handlers/gestures/longPressGesture.ts +0 -27
- package/vendored/react-native-gesture-handler/src/handlers/gestures/manualGesture.ts +0 -31
- package/vendored/react-native-gesture-handler/src/handlers/gestures/nativeGesture.ts +0 -27
- package/vendored/react-native-gesture-handler/src/handlers/gestures/panGesture.ts +0 -147
- package/vendored/react-native-gesture-handler/src/handlers/gestures/pinchGesture.ts +0 -51
- package/vendored/react-native-gesture-handler/src/handlers/gestures/reanimatedWrapper.ts +0 -45
- package/vendored/react-native-gesture-handler/src/handlers/gestures/rotationGesture.ts +0 -51
- package/vendored/react-native-gesture-handler/src/handlers/gestures/tapGesture.ts +0 -52
- package/vendored/react-native-gesture-handler/src/handlers/handlersRegistry.ts +0 -22
- package/vendored/react-native-gesture-handler/src/index.ts +0 -156
- package/vendored/react-native-gesture-handler/src/init.ts +0 -5
- package/vendored/react-native-gesture-handler/src/mocks.ts +0 -65
- package/vendored/react-native-gesture-handler/src/typeUtils.ts +0 -1
- package/vendored/react-native-gesture-handler/src/utils.ts +0 -7
- package/vendored/react-native-gesture-handler/src/web/DiscreteGestureHandler.ts +0 -82
- package/vendored/react-native-gesture-handler/src/web/DraggingGestureHandler.ts +0 -34
- package/vendored/react-native-gesture-handler/src/web/Errors.ts +0 -7
- package/vendored/react-native-gesture-handler/src/web/FlingGestureHandler.ts +0 -134
- package/vendored/react-native-gesture-handler/src/web/GestureHandler.ts +0 -547
- package/vendored/react-native-gesture-handler/src/web/IndiscreteGestureHandler.ts +0 -33
- package/vendored/react-native-gesture-handler/src/web/LongPressGestureHandler.ts +0 -56
- package/vendored/react-native-gesture-handler/src/web/NativeViewGestureHandler.ts +0 -43
- package/vendored/react-native-gesture-handler/src/web/NodeManager.ts +0 -37
- package/vendored/react-native-gesture-handler/src/web/PanGestureHandler.ts +0 -220
- package/vendored/react-native-gesture-handler/src/web/PinchGestureHandler.ts +0 -25
- package/vendored/react-native-gesture-handler/src/web/PressGestureHandler.ts +0 -167
- package/vendored/react-native-gesture-handler/src/web/RotationGestureHandler.ts +0 -25
- package/vendored/react-native-gesture-handler/src/web/TapGestureHandler.ts +0 -172
- package/vendored/react-native-gesture-handler/src/web/constants.ts +0 -48
- package/vendored/react-native-gesture-handler/src/web/utils.ts +0 -24
- package/vendored/react-native-reanimated/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +0 -75
- package/vendored/react-native-reanimated/Common/cpp/AnimatedSensor/DevMenuAnimatedSensorModule.h +0 -41
- package/vendored/react-native-reanimated/Common/cpp/LayoutAnimations/DevMenuLayoutAnimationsProxy.h +0 -32
- package/vendored/react-native-reanimated/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +0 -45
- package/vendored/react-native-reanimated/Common/cpp/NativeModules/DevMenuNativeReanimatedModule.h +0 -121
- package/vendored/react-native-reanimated/Common/cpp/NativeModules/DevMenuNativeReanimatedModuleSpec.h +0 -90
- package/vendored/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp +0 -371
- package/vendored/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +0 -192
- package/vendored/react-native-reanimated/Common/cpp/Registries/DevMenuEventHandlerRegistry.h +0 -37
- package/vendored/react-native-reanimated/Common/cpp/Registries/DevMenuMapperRegistry.h +0 -29
- package/vendored/react-native-reanimated/Common/cpp/Registries/DevMenuWorkletsCache.h +0 -24
- package/vendored/react-native-reanimated/Common/cpp/Registries/EventHandlerRegistry.cpp +0 -68
- package/vendored/react-native-reanimated/Common/cpp/Registries/MapperRegistry.cpp +0 -147
- package/vendored/react-native-reanimated/Common/cpp/Registries/WorkletsCache.cpp +0 -41
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuFrozenObject.h +0 -36
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuHostFunctionHandler.h +0 -28
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuMutableValue.h +0 -54
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuMutableValueSetterProxy.h +0 -25
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuRemoteObject.h +0 -35
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuRuntimeManager.h +0 -75
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuShareableValue.h +0 -63
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuSharedParent.h +0 -27
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/DevMenuValueWrapper.h +0 -158
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/FrozenObject.cpp +0 -35
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/MutableValue.cpp +0 -134
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +0 -47
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/RemoteObject.cpp +0 -45
- package/vendored/react-native-reanimated/Common/cpp/SharedItems/ShareableValue.cpp +0 -512
- package/vendored/react-native-reanimated/Common/cpp/SpecTools/DevMenuErrorHandler.h +0 -32
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuFeaturesConfig.h +0 -19
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuJSIStoreValueUser.h +0 -37
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuMapper.h +0 -51
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuPlatformDepMethodsHolder.h +0 -51
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuReanimatedHiddenHeaders.h +0 -11
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuReanimatedVersion.h +0 -11
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuRuntimeDecorator.h +0 -89
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuScheduler.h +0 -89
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuSingleInstanceChecker.h +0 -58
- package/vendored/react-native-reanimated/Common/cpp/Tools/DevMenuWorkletEventHandler.h +0 -30
- package/vendored/react-native-reanimated/Common/cpp/Tools/FeaturesConfig.cpp +0 -5
- package/vendored/react-native-reanimated/Common/cpp/Tools/JSIStoreValueUser.cpp +0 -55
- package/vendored/react-native-reanimated/Common/cpp/Tools/Mapper.cpp +0 -67
- package/vendored/react-native-reanimated/Common/cpp/Tools/ReanimatedVersion.cpp +0 -17
- package/vendored/react-native-reanimated/Common/cpp/Tools/RuntimeDecorator.cpp +0 -242
- package/vendored/react-native-reanimated/Common/cpp/Tools/Scheduler.cpp +0 -37
- package/vendored/react-native-reanimated/Common/cpp/Tools/WorkletEventHandler.cpp +0 -11
- package/vendored/react-native-reanimated/Common/cpp/hidden_headers/DevMenuLogger.h +0 -22
- package/vendored/react-native-reanimated/Common/cpp/hidden_headers/DevMenuLoggerInterface.h +0 -14
- package/vendored/react-native-reanimated/Common/cpp/hidden_headers/DevMenuSpeedChecker.h +0 -29
- package/vendored/react-native-reanimated/android/71-hermes/classes.jar +0 -0
- package/vendored/react-native-reanimated/android/71-hermes/jni/arm64-v8a/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-hermes/jni/armeabi-v7a/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-hermes/jni/x86/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-hermes/jni/x86_64/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-jsc/classes.jar +0 -0
- package/vendored/react-native-reanimated/android/71-jsc/jni/arm64-v8a/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-jsc/jni/armeabi-v7a/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-jsc/jni/x86/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/android/71-jsc/jni/x86_64/libdevmenureanimated.so +0 -0
- package/vendored/react-native-reanimated/ios/DevMenuREAEventDispatcher.h +0 -10
- package/vendored/react-native-reanimated/ios/DevMenuREAEventDispatcher.m +0 -19
- package/vendored/react-native-reanimated/ios/DevMenuREAModule.h +0 -17
- package/vendored/react-native-reanimated/ios/DevMenuREAModule.mm +0 -221
- package/vendored/react-native-reanimated/ios/DevMenuREANodesManager.h +0 -83
- package/vendored/react-native-reanimated/ios/DevMenuREANodesManager.m +0 -649
- package/vendored/react-native-reanimated/ios/DevMenuREAUtils.h +0 -7
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREAAnimationsManager.h +0 -32
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREAAnimationsManager.m +0 -360
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREASnapshot.h +0 -13
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREASnapshot.m +0 -29
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREAUIManager.h +0 -16
- package/vendored/react-native-reanimated/ios/LayoutReanimation/DevMenuREAUIManager.mm +0 -388
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAAlwaysNode.h +0 -4
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAAlwaysNode.m +0 -35
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREABezierNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREABezierNode.m +0 -103
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREABlockNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREABlockNode.m +0 -25
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREACallFuncNode.h +0 -6
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREACallFuncNode.m +0 -71
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAClockNodes.h +0 -19
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAClockNodes.m +0 -118
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAConcatNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAConcatNode.m +0 -32
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREACondNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREACondNode.m +0 -36
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREADebugNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREADebugNode.m +0 -30
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAEventNode.h +0 -8
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAEventNode.m +0 -35
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAFunctionNode.h +0 -6
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAFunctionNode.m +0 -24
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAJSCallNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAJSCallNode.m +0 -30
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREANode.h +0 -40
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREANode.m +0 -155
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAOperatorNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAOperatorNode.m +0 -114
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAParamNode.h +0 -10
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAParamNode.m +0 -79
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAPropsNode.h +0 -9
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAPropsNode.m +0 -96
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREASetNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREASetNode.m +0 -34
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAStyleNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAStyleNode.m +0 -27
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREATransformNode.h +0 -5
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREATransformNode.m +0 -36
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAValueNode.h +0 -9
- package/vendored/react-native-reanimated/ios/Nodes/DevMenuREAValueNode.m +0 -26
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREAAllTransitions.h +0 -26
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREAAllTransitions.m +0 -296
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransition.h +0 -64
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransition.m +0 -210
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionAnimation.h +0 -17
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionAnimation.m +0 -79
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionManager.h +0 -9
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionManager.m +0 -60
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionValues.h +0 -15
- package/vendored/react-native-reanimated/ios/Transitioning/DevMenuREATransitionValues.m +0 -25
- package/vendored/react-native-reanimated/ios/Transitioning/RCTConvert+DevMenuREATransition.h +0 -11
- package/vendored/react-native-reanimated/ios/Transitioning/RCTConvert+DevMenuREATransition.m +0 -53
- package/vendored/react-native-reanimated/ios/keyboardObserver/DevMenuREAKeyboardEventObserver.h +0 -17
- package/vendored/react-native-reanimated/ios/keyboardObserver/DevMenuREAKeyboardEventObserver.m +0 -198
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSErrorHandler.h +0 -21
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSErrorHandler.mm +0 -40
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSLogger.h +0 -15
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSLogger.mm +0 -29
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSScheduler.h +0 -19
- package/vendored/react-native-reanimated/ios/native/DevMenuREAIOSScheduler.mm +0 -48
- package/vendored/react-native-reanimated/ios/native/DevMenuREAInitializer.h +0 -30
- package/vendored/react-native-reanimated/ios/native/DevMenuREAInitializer.mm +0 -79
- package/vendored/react-native-reanimated/ios/native/NativeMethods.h +0 -24
- package/vendored/react-native-reanimated/ios/native/NativeMethods.mm +0 -54
- package/vendored/react-native-reanimated/ios/native/NativeProxy.h +0 -15
- package/vendored/react-native-reanimated/ios/native/NativeProxy.mm +0 -370
- package/vendored/react-native-reanimated/ios/sensor/DevMenuReanimatedSensor.h +0 -26
- package/vendored/react-native-reanimated/ios/sensor/DevMenuReanimatedSensor.m +0 -226
- package/vendored/react-native-reanimated/ios/sensor/DevMenuReanimatedSensorContainer.h +0 -12
- package/vendored/react-native-reanimated/ios/sensor/DevMenuReanimatedSensorContainer.m +0 -40
- package/vendored/react-native-reanimated/ios/sensor/DevMenuReanimatedSensorType.h +0 -7
- package/vendored/react-native-reanimated/plugin.js +0 -789
- package/vendored/react-native-reanimated/react-native-reanimated.d.ts +0 -1248
- package/vendored/react-native-reanimated/src/Animated.ts +0 -13
- package/vendored/react-native-reanimated/src/ConfigHelper.ts +0 -170
- package/vendored/react-native-reanimated/src/ReanimatedEventEmitter.ts +0 -4
- package/vendored/react-native-reanimated/src/ReanimatedModule.macos.ts +0 -3
- package/vendored/react-native-reanimated/src/ReanimatedModule.native.ts +0 -13
- package/vendored/react-native-reanimated/src/ReanimatedModule.ts +0 -3
- package/vendored/react-native-reanimated/src/ReanimatedModule.windows.ts +0 -3
- package/vendored/react-native-reanimated/src/ReanimatedModuleCompat.ts +0 -51
- package/vendored/react-native-reanimated/src/createAnimatedComponent.tsx +0 -705
- package/vendored/react-native-reanimated/src/index.ts +0 -15
- package/vendored/react-native-reanimated/src/index.web.ts +0 -7
- package/vendored/react-native-reanimated/src/reanimated1/Easing.js +0 -231
- package/vendored/react-native-reanimated/src/reanimated1/SpringConfig.js +0 -79
- package/vendored/react-native-reanimated/src/reanimated1/Transitioning.js +0 -158
- package/vendored/react-native-reanimated/src/reanimated1/animations/Animation.js +0 -32
- package/vendored/react-native-reanimated/src/reanimated1/animations/SpringUtils.js +0 -199
- package/vendored/react-native-reanimated/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/vendored/react-native-reanimated/src/reanimated1/animations/decay.js +0 -54
- package/vendored/react-native-reanimated/src/reanimated1/animations/spring.js +0 -198
- package/vendored/react-native-reanimated/src/reanimated1/animations/timing.js +0 -74
- package/vendored/react-native-reanimated/src/reanimated1/base.js +0 -13
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedAlways.js +0 -33
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedBezier.js +0 -150
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedBlock.js +0 -52
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedCall.js +0 -55
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedClock.js +0 -90
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedClockTest.js +0 -22
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedCode.js +0 -32
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedConcat.js +0 -32
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedCond.js +0 -57
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedDebug.js +0 -62
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedEvent.js +0 -126
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedFunction.js +0 -55
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedNode.js +0 -223
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedOperator.js +0 -103
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedParam.js +0 -88
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedProps.js +0 -108
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedSet.js +0 -38
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedStartClock.js +0 -30
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedStopClock.js +0 -30
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedStyle.js +0 -78
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedTransform.js +0 -78
- package/vendored/react-native-reanimated/src/reanimated1/core/AnimatedValue.js +0 -38
- package/vendored/react-native-reanimated/src/reanimated1/core/Core.test.js +0 -30
- package/vendored/react-native-reanimated/src/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/vendored/react-native-reanimated/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/vendored/react-native-reanimated/src/reanimated1/derived/acc.js +0 -11
- package/vendored/react-native-reanimated/src/reanimated1/derived/color.js +0 -47
- package/vendored/react-native-reanimated/src/reanimated1/derived/diff.js +0 -16
- package/vendored/react-native-reanimated/src/reanimated1/derived/diffClamp.js +0 -11
- package/vendored/react-native-reanimated/src/reanimated1/derived/evaluateOnce.js +0 -35
- package/vendored/react-native-reanimated/src/reanimated1/derived/index.js +0 -8
- package/vendored/react-native-reanimated/src/reanimated1/derived/interpolate.js +0 -152
- package/vendored/react-native-reanimated/src/reanimated1/derived/interpolateColors.js +0 -62
- package/vendored/react-native-reanimated/src/reanimated1/derived/onChange.js +0 -14
- package/vendored/react-native-reanimated/src/reanimated1/derived/useCode.js +0 -41
- package/vendored/react-native-reanimated/src/reanimated1/index.js +0 -53
- package/vendored/react-native-reanimated/src/reanimated1/operators.js +0 -35
- package/vendored/react-native-reanimated/src/reanimated1/useValue.js +0 -10
- package/vendored/react-native-reanimated/src/reanimated1/val.js +0 -3
- package/vendored/react-native-reanimated/src/reanimated2/Bezier.ts +0 -172
- package/vendored/react-native-reanimated/src/reanimated2/Colors.ts +0 -679
- package/vendored/react-native-reanimated/src/reanimated2/Easing.ts +0 -339
- package/vendored/react-native-reanimated/src/reanimated2/NativeMethods.ts +0 -135
- package/vendored/react-native-reanimated/src/reanimated2/NativeReanimated/NativeReanimated.ts +0 -113
- package/vendored/react-native-reanimated/src/reanimated2/NativeReanimated/index.ts +0 -12
- package/vendored/react-native-reanimated/src/reanimated2/PlatformChecker.ts +0 -21
- package/vendored/react-native-reanimated/src/reanimated2/PropAdapters.ts +0 -68
- package/vendored/react-native-reanimated/src/reanimated2/UpdateProps.ts +0 -93
- package/vendored/react-native-reanimated/src/reanimated2/ViewDescriptorsSet.ts +0 -111
- package/vendored/react-native-reanimated/src/reanimated2/WorkletEventHandler.ts +0 -68
- package/vendored/react-native-reanimated/src/reanimated2/animation/commonTypes.ts +0 -52
- package/vendored/react-native-reanimated/src/reanimated2/animation/decay.ts +0 -141
- package/vendored/react-native-reanimated/src/reanimated2/animation/delay.ts +0 -89
- package/vendored/react-native-reanimated/src/reanimated2/animation/index.ts +0 -16
- package/vendored/react-native-reanimated/src/reanimated2/animation/repeat.ts +0 -118
- package/vendored/react-native-reanimated/src/reanimated2/animation/sequence.ts +0 -98
- package/vendored/react-native-reanimated/src/reanimated2/animation/spring.ts +0 -166
- package/vendored/react-native-reanimated/src/reanimated2/animation/styleAnimation.ts +0 -258
- package/vendored/react-native-reanimated/src/reanimated2/animation/timing.ts +0 -111
- package/vendored/react-native-reanimated/src/reanimated2/animation/util.ts +0 -301
- package/vendored/react-native-reanimated/src/reanimated2/commonTypes.ts +0 -171
- package/vendored/react-native-reanimated/src/reanimated2/component/FlatList.tsx +0 -52
- package/vendored/react-native-reanimated/src/reanimated2/component/Image.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/component/ScrollView.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/component/Text.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/component/View.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/core.ts +0 -376
- package/vendored/react-native-reanimated/src/reanimated2/frameCallback/FrameCallbackRegistryJS.ts +0 -40
- package/vendored/react-native-reanimated/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +0 -115
- package/vendored/react-native-reanimated/src/reanimated2/globals.d.ts +0 -91
- package/vendored/react-native-reanimated/src/reanimated2/hook/Hooks.ts +0 -16
- package/vendored/react-native-reanimated/src/reanimated2/hook/commonTypes.ts +0 -17
- package/vendored/react-native-reanimated/src/reanimated2/hook/index.ts +0 -30
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedGestureHandler.ts +0 -109
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedKeyboard.ts +0 -35
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedReaction.ts +0 -49
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedRef.ts +0 -30
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedScrollHandler.ts +0 -85
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedSensor.ts +0 -89
- package/vendored/react-native-reanimated/src/reanimated2/hook/useAnimatedStyle.ts +0 -557
- package/vendored/react-native-reanimated/src/reanimated2/hook/useDerivedValue.ts +0 -48
- package/vendored/react-native-reanimated/src/reanimated2/hook/useFrameCallback.ts +0 -40
- package/vendored/react-native-reanimated/src/reanimated2/hook/useScrollViewOffset.ts +0 -37
- package/vendored/react-native-reanimated/src/reanimated2/hook/useSharedValue.ts +0 -22
- package/vendored/react-native-reanimated/src/reanimated2/hook/utils.ts +0 -245
- package/vendored/react-native-reanimated/src/reanimated2/index.ts +0 -12
- package/vendored/react-native-reanimated/src/reanimated2/interpolateColor.ts +0 -262
- package/vendored/react-native-reanimated/src/reanimated2/interpolation.ts +0 -212
- package/vendored/react-native-reanimated/src/reanimated2/jestUtils.ts +0 -225
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/JSReanimated.ts +0 -144
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/Mapper.ts +0 -62
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/MapperRegistry.ts +0 -133
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/MutableValue.ts +0 -38
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/commonTypes.ts +0 -51
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/global.ts +0 -45
- package/vendored/react-native-reanimated/src/reanimated2/js-reanimated/index.ts +0 -57
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +0 -75
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +0 -91
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +0 -182
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +0 -262
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +0 -101
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/animationBuilder/index.ts +0 -20
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +0 -528
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +0 -49
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +0 -347
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +0 -478
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +0 -194
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +0 -99
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +0 -154
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +0 -384
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +0 -298
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +0 -129
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +0 -580
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +0 -10
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +0 -117
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +0 -224
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +0 -61
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +0 -65
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +0 -48
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +0 -91
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/layoutReanimation/index.ts +0 -4
- package/vendored/react-native-reanimated/src/reanimated2/mock.ts +0 -80
- package/vendored/react-native-reanimated/src/reanimated2/platform-specific/RNRenderer.ts +0 -3
- package/vendored/react-native-reanimated/src/reanimated2/platform-specific/RNRenderer.web.ts +0 -2
- package/vendored/react-native-reanimated/src/reanimated2/platform-specific/checkVersion.ts +0 -35
- package/vendored/react-native-reanimated/src/reanimated2/platform-specific/checkVersion.web.ts +0 -6
- package/vendored/react-native-reanimated/src/reanimated2/utils.ts +0 -28
- package/vendored/react-native-reanimated/src/setAndForwardRef.ts +0 -63
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProvider.h +0 -13
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProvider.m +0 -65
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProviderManager.h +0 -9
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaProviderManager.m +0 -109
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaShadowView.h +0 -9
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaShadowView.m +0 -180
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaView.h +0 -21
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaView.m +0 -118
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewEdges.h +0 -9
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewEdges.m +0 -13
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewLocalData.h +0 -18
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewLocalData.m +0 -16
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewManager.h +0 -9
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewManager.m +0 -25
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewMode.h +0 -7
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/DevMenuRNCSafeAreaViewMode.m +0 -11
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/RCTView+DevMenuSafeAreaCompat.h +0 -16
- package/vendored/react-native-safe-area-context/ios/SafeAreaView/RCTView+DevMenuSafeAreaCompat.m +0 -57
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
// Copyright (c) 2018, Applidium. All rights reserved
|
|
2
|
+
// OverlayViewController.swift
|
|
3
|
+
// OverlayContainer
|
|
4
|
+
//
|
|
5
|
+
// Created by Gaétan Zanella on 12/11/2018.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
/// A `OverlayContainerViewController` is a container view controller that manages one or more
|
|
11
|
+
/// child view controllers in an overlay interface.
|
|
12
|
+
///
|
|
13
|
+
/// It defines an area where a view controller, called the overlay view controller,
|
|
14
|
+
/// can be dragged up and down, hiding or revealing the content underneath it.
|
|
15
|
+
///
|
|
16
|
+
/// OverlayContainer uses the last view controller of its viewControllers as the overlay view controller.
|
|
17
|
+
/// It stacks the other view controllers on top of each other, if any, and adds them underneath the overlay view controller.
|
|
18
|
+
open class OverlayContainerViewController: UIViewController {
|
|
19
|
+
|
|
20
|
+
/// `OverlayStyle` defines how the overlay view controller will be constrained in the container.
|
|
21
|
+
public enum OverlayStyle {
|
|
22
|
+
/// The overlay view controller will not be height-constrained. It will grow and shrink
|
|
23
|
+
/// as the user drags it up and down.
|
|
24
|
+
case flexibleHeight
|
|
25
|
+
/// The overlay view controller will be constrained with a height equal to the highest notch.
|
|
26
|
+
/// It will be fully visible only when the user has drag it up to this notch.
|
|
27
|
+
case rigid
|
|
28
|
+
/// The overlay view controller will be constrained with a height greater or equal to the highest notch.
|
|
29
|
+
/// Its height will be expanded if the overlay goes beyond the highest notch.
|
|
30
|
+
case expandableHeight
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// The delegate of the container.
|
|
34
|
+
weak open var delegate: OverlayContainerViewControllerDelegate? {
|
|
35
|
+
set {
|
|
36
|
+
configuration.delegate = newValue
|
|
37
|
+
configuration.invalidateOverlayMetrics()
|
|
38
|
+
setNeedsOverlayContainerHeightUpdate()
|
|
39
|
+
}
|
|
40
|
+
get {
|
|
41
|
+
return configuration.delegate
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/// The view controllers displayed.
|
|
46
|
+
open var viewControllers: [UIViewController] = [] {
|
|
47
|
+
didSet {
|
|
48
|
+
guard isViewLoaded else { return }
|
|
49
|
+
oldValue.forEach { removeChild($0) }
|
|
50
|
+
loadOverlayViews()
|
|
51
|
+
setNeedsStatusBarAppearanceUpdate()
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// The overlay view controller
|
|
56
|
+
open var topViewController: UIViewController? {
|
|
57
|
+
return viewControllers.last
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
open override var childForStatusBarStyle: UIViewController? {
|
|
61
|
+
return topViewController
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/// The scroll view managing the overlay translation.
|
|
65
|
+
weak open var drivingScrollView: UIScrollView? {
|
|
66
|
+
didSet {
|
|
67
|
+
guard drivingScrollView !== oldValue else { return }
|
|
68
|
+
guard isViewLoaded else { return }
|
|
69
|
+
loadTranslationDrivers()
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/// The height of the area where the overlay view controller can be dragged up and down.
|
|
74
|
+
/// It will only be valid once the container view is laid out or in the delegate callbacks.
|
|
75
|
+
open var availableSpace: CGFloat {
|
|
76
|
+
return view.frame.height
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/// The style of the container.
|
|
80
|
+
public let style: OverlayStyle
|
|
81
|
+
|
|
82
|
+
private lazy var overlayPanGesture: OverlayTranslationGestureRecognizer = self.makePanGesture()
|
|
83
|
+
private lazy var overlayContainerView = OverlayContainerView()
|
|
84
|
+
private lazy var overlayTranslationView = OverlayTranslationView()
|
|
85
|
+
private lazy var overlayTranslationContainerView = OverlayTranslationContainerView()
|
|
86
|
+
private lazy var groundView = GroundView()
|
|
87
|
+
|
|
88
|
+
private var overlayContainerViewStyleConstraint: NSLayoutConstraint?
|
|
89
|
+
private var translationHeightConstraint: NSLayoutConstraint?
|
|
90
|
+
|
|
91
|
+
private lazy var configuration = makeConfiguration()
|
|
92
|
+
|
|
93
|
+
private var needsOverlayContainerHeightUpdate = true
|
|
94
|
+
|
|
95
|
+
private var previousSize: CGSize = .zero
|
|
96
|
+
private var translationController: HeightConstraintOverlayTranslationController?
|
|
97
|
+
private var translationDrivers: [OverlayTranslationDriver] = []
|
|
98
|
+
|
|
99
|
+
// (gz) 2020-08-11 Uses to determine whether we can safely call `presentationController` or not.
|
|
100
|
+
// See issue #72
|
|
101
|
+
private var isPresentedInsideAnOverlayContainerPresentationController = false
|
|
102
|
+
|
|
103
|
+
// MARK: - Life Cycle
|
|
104
|
+
|
|
105
|
+
/// Creates an instance with the specified `style`.
|
|
106
|
+
///
|
|
107
|
+
/// - parameter style: The style used by the container. The default value is `expandableHeight`.
|
|
108
|
+
///
|
|
109
|
+
/// - returns: The new `OverlayContainerViewController` instance.
|
|
110
|
+
public init(style: OverlayStyle = .expandableHeight) {
|
|
111
|
+
self.style = style
|
|
112
|
+
super.init(nibName: nil, bundle: nil)
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
public required init?(coder aDecoder: NSCoder) {
|
|
116
|
+
self.style = .flexibleHeight
|
|
117
|
+
super.init(coder: aDecoder)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// MARK: - UIViewController
|
|
121
|
+
|
|
122
|
+
open override func loadView() {
|
|
123
|
+
view = PassThroughView()
|
|
124
|
+
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
|
125
|
+
loadContainerViews()
|
|
126
|
+
loadOverlayViews()
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
open override func viewDidLoad() {
|
|
130
|
+
super.viewDidLoad()
|
|
131
|
+
setUpPanGesture()
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
open override func viewWillLayoutSubviews() {
|
|
135
|
+
// (gz) 2019-06-10 According to the documentation, the default implementation of
|
|
136
|
+
// `viewWillLayoutSubviews` does nothing.
|
|
137
|
+
// Nethertheless in its `Changing Constraints` Guide, Apple recommends to call it.
|
|
138
|
+
defer {
|
|
139
|
+
super.viewWillLayoutSubviews()
|
|
140
|
+
}
|
|
141
|
+
let hasNewHeight = previousSize.height != view.bounds.size.height
|
|
142
|
+
let hasPendingTranslation = translationController?.hasPendingTranslation() == true
|
|
143
|
+
guard needsOverlayContainerHeightUpdate || hasNewHeight else { return }
|
|
144
|
+
needsOverlayContainerHeightUpdate = false
|
|
145
|
+
previousSize = view.bounds.size
|
|
146
|
+
if hasNewHeight {
|
|
147
|
+
configuration.invalidateOverlayMetrics()
|
|
148
|
+
}
|
|
149
|
+
if hasNewHeight && !hasPendingTranslation {
|
|
150
|
+
translationController?.scheduleOverlayTranslation(
|
|
151
|
+
.toLastReachedNotchIndex,
|
|
152
|
+
velocity: .zero,
|
|
153
|
+
animated: false
|
|
154
|
+
)
|
|
155
|
+
}
|
|
156
|
+
configuration.requestOverlayMetricsIfNeeded()
|
|
157
|
+
performDeferredTranslations()
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// MARK: - Internal
|
|
161
|
+
|
|
162
|
+
func overlayContainerPresentationTransitionWillBegin() {
|
|
163
|
+
isPresentedInsideAnOverlayContainerPresentationController = true
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
func overlayContainerDismissalTransitionDidEnd() {
|
|
167
|
+
isPresentedInsideAnOverlayContainerPresentationController = false
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// MARK: - Public
|
|
171
|
+
|
|
172
|
+
/// Moves the overlay view controller to the specified notch.
|
|
173
|
+
///
|
|
174
|
+
/// - parameter index: The index of the target notch.
|
|
175
|
+
/// - parameter animated: Defines either the transition should be animated or not.
|
|
176
|
+
/// - parameter completion: The block to execute after the translation finishes.
|
|
177
|
+
/// This block has no return value and takes no parameters. You may specify nil for this parameter.
|
|
178
|
+
///
|
|
179
|
+
open func moveOverlay(toNotchAt index: Int, animated: Bool, completion: (() -> Void)? = nil) {
|
|
180
|
+
loadViewIfNeeded()
|
|
181
|
+
translationController?.scheduleOverlayTranslation(
|
|
182
|
+
.toIndex(index),
|
|
183
|
+
velocity: .zero,
|
|
184
|
+
animated: animated,
|
|
185
|
+
completion: completion
|
|
186
|
+
)
|
|
187
|
+
setNeedsOverlayContainerHeightUpdate()
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/// Invalidates the current container notches.
|
|
191
|
+
///
|
|
192
|
+
/// This method does not reload the notch heights immediately. The changes are scheduled to the next layout pass.
|
|
193
|
+
/// By default, the overlay container will use its target notch policy to determine where to go
|
|
194
|
+
/// and animates the translation.
|
|
195
|
+
/// Use `moveOverlay(toNotchAt:animated:completion:)` to override this behavior.
|
|
196
|
+
///
|
|
197
|
+
open func invalidateNotchHeights() {
|
|
198
|
+
guard isViewLoaded else { return }
|
|
199
|
+
configuration.invalidateOverlayMetrics()
|
|
200
|
+
translationController?.scheduleOverlayTranslation(
|
|
201
|
+
.basedOnTargetPolicy,
|
|
202
|
+
velocity: .zero,
|
|
203
|
+
animated: true
|
|
204
|
+
)
|
|
205
|
+
setNeedsOverlayContainerHeightUpdate()
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// MARK: - Private
|
|
209
|
+
|
|
210
|
+
private func loadContainerViews() {
|
|
211
|
+
view.addSubview(groundView)
|
|
212
|
+
groundView.pinToSuperview()
|
|
213
|
+
view.addSubview(overlayTranslationContainerView)
|
|
214
|
+
overlayTranslationContainerView.pinToSuperview()
|
|
215
|
+
overlayTranslationContainerView.addSubview(overlayTranslationView)
|
|
216
|
+
overlayTranslationView.addSubview(overlayContainerView)
|
|
217
|
+
overlayTranslationView.pinToSuperview(edges: [.bottom, .left, .right])
|
|
218
|
+
overlayContainerView.pinToSuperview(edges: [.left, .top, .right])
|
|
219
|
+
translationHeightConstraint = overlayTranslationView.heightAnchor.constraint(equalToConstant: 0)
|
|
220
|
+
switch style {
|
|
221
|
+
case .flexibleHeight:
|
|
222
|
+
overlayContainerViewStyleConstraint = overlayContainerView.bottomAnchor.constraint(
|
|
223
|
+
equalTo: overlayTranslationView.bottomAnchor
|
|
224
|
+
)
|
|
225
|
+
case .rigid:
|
|
226
|
+
overlayContainerViewStyleConstraint = overlayContainerView.heightAnchor.constraint(
|
|
227
|
+
equalToConstant: 0
|
|
228
|
+
)
|
|
229
|
+
case .expandableHeight:
|
|
230
|
+
overlayContainerViewStyleConstraint = overlayContainerView.heightAnchor.constraint(
|
|
231
|
+
equalToConstant: 0
|
|
232
|
+
)
|
|
233
|
+
overlayContainerViewStyleConstraint?.priority = .defaultHigh
|
|
234
|
+
let bottomConstraint = overlayContainerView.bottomAnchor.constraint(
|
|
235
|
+
greaterThanOrEqualTo: overlayTranslationView.bottomAnchor
|
|
236
|
+
)
|
|
237
|
+
bottomConstraint.isActive = true
|
|
238
|
+
}
|
|
239
|
+
loadTranslationController()
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
private func loadTranslationController() {
|
|
243
|
+
guard let translationHeightConstraint = translationHeightConstraint else { return }
|
|
244
|
+
translationController = HeightConstraintOverlayTranslationController(
|
|
245
|
+
translationHeightConstraint: translationHeightConstraint,
|
|
246
|
+
configuration: configuration
|
|
247
|
+
)
|
|
248
|
+
translationController?.delegate = self
|
|
249
|
+
translationController?.scheduleOverlayTranslation(
|
|
250
|
+
.toIndex(0),
|
|
251
|
+
velocity: .zero,
|
|
252
|
+
animated: false
|
|
253
|
+
)
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
private func loadOverlayViews() {
|
|
257
|
+
guard !viewControllers.isEmpty else { return }
|
|
258
|
+
groundView.isHidden = viewControllers.count == 1
|
|
259
|
+
var truncatedViewControllers = viewControllers
|
|
260
|
+
truncatedViewControllers.popLast().flatMap { addChild($0, in: overlayContainerView) }
|
|
261
|
+
truncatedViewControllers.forEach { addChild($0, in: groundView) }
|
|
262
|
+
loadTranslationDrivers()
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
private func loadTranslationDrivers() {
|
|
266
|
+
guard let translationController = translationController,
|
|
267
|
+
let overlayController = topViewController else {
|
|
268
|
+
return
|
|
269
|
+
}
|
|
270
|
+
translationDrivers.forEach { $0.clean() }
|
|
271
|
+
translationDrivers.removeAll()
|
|
272
|
+
var drivers: [OverlayTranslationDriver] = []
|
|
273
|
+
let panGestureDriver = PanGestureOverlayTranslationDriver(
|
|
274
|
+
translationController: translationController,
|
|
275
|
+
panGestureRecognizer: overlayPanGesture
|
|
276
|
+
)
|
|
277
|
+
drivers.append(panGestureDriver)
|
|
278
|
+
let scrollView = drivingScrollView ?? configuration.scrollView(drivingOverlay: overlayController)
|
|
279
|
+
if let scrollView = scrollView {
|
|
280
|
+
overlayPanGesture.drivingScrollView = scrollView
|
|
281
|
+
let driver = ScrollViewOverlayTranslationDriver(
|
|
282
|
+
translationController: translationController,
|
|
283
|
+
scrollView: scrollView
|
|
284
|
+
)
|
|
285
|
+
drivers.append(driver)
|
|
286
|
+
}
|
|
287
|
+
translationDrivers = drivers
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
private func setNeedsOverlayContainerHeightUpdate() {
|
|
291
|
+
needsOverlayContainerHeightUpdate = true
|
|
292
|
+
viewIfLoaded?.setNeedsLayout()
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
private func updateOverlayContainerConstraints() {
|
|
296
|
+
switch style {
|
|
297
|
+
case .flexibleHeight:
|
|
298
|
+
overlayContainerViewStyleConstraint?.constant = 0
|
|
299
|
+
case .rigid, .expandableHeight:
|
|
300
|
+
overlayContainerViewStyleConstraint?.constant = configuration.maximumNotchHeight
|
|
301
|
+
}
|
|
302
|
+
translationHeightConstraint?.isActive = true
|
|
303
|
+
overlayContainerViewStyleConstraint?.isActive = true
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
private func performDeferredTranslations() {
|
|
307
|
+
translationController?.performDeferredTranslations()
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
private func setUpPanGesture() {
|
|
311
|
+
view.addGestureRecognizer(overlayPanGesture)
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
private func makeConfiguration() -> OverlayContainerConfigurationImplementation {
|
|
315
|
+
return OverlayContainerConfigurationImplementation(
|
|
316
|
+
overlayContainerViewController: self
|
|
317
|
+
)
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
private func makePanGesture() -> OverlayTranslationGestureRecognizer {
|
|
321
|
+
return OverlayTranslationGestureRecognizer()
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
extension OverlayContainerViewController: HeightConstraintOverlayTranslationControllerDelegate {
|
|
326
|
+
|
|
327
|
+
private var overlayPresentationController: OverlayContainerPresentationController? {
|
|
328
|
+
guard isPresentedInsideAnOverlayContainerPresentationController else { return nil }
|
|
329
|
+
return oc_findPresentationController(OverlayContainerPresentationController.self)
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// MARK: - HeightOverlayTranslationControllerDelegate
|
|
333
|
+
|
|
334
|
+
func translationController(_ translationController: OverlayTranslationController,
|
|
335
|
+
didMoveOverlayToNotchAt index: Int) {
|
|
336
|
+
guard let controller = topViewController else { return }
|
|
337
|
+
delegate?.overlayContainerViewController(self, didMoveOverlay: controller, toNotchAt: index)
|
|
338
|
+
overlayPresentationController?.overlayContainerViewController(
|
|
339
|
+
self,
|
|
340
|
+
didMoveOverlay: controller,
|
|
341
|
+
toNotchAt: index
|
|
342
|
+
)
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
func translationController(_ translationController: OverlayTranslationController,
|
|
346
|
+
willMoveOverlayToNotchAt index: Int) {
|
|
347
|
+
guard let controller = topViewController else { return }
|
|
348
|
+
delegate?.overlayContainerViewController(self, willMoveOverlay: controller, toNotchAt: index)
|
|
349
|
+
overlayPresentationController?.overlayContainerViewController(
|
|
350
|
+
self,
|
|
351
|
+
willMoveOverlay: controller,
|
|
352
|
+
toNotchAt: index
|
|
353
|
+
)
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
func translationControllerWillStartDraggingOverlay(_ translationController: OverlayTranslationController) {
|
|
357
|
+
guard let controller = topViewController else { return }
|
|
358
|
+
delegate?.overlayContainerViewController(
|
|
359
|
+
self,
|
|
360
|
+
willStartDraggingOverlay: controller
|
|
361
|
+
)
|
|
362
|
+
overlayPresentationController?.overlayContainerViewController(
|
|
363
|
+
self,
|
|
364
|
+
willStartDraggingOverlay: controller
|
|
365
|
+
)
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
func translationController(_ translationController: OverlayTranslationController,
|
|
369
|
+
willEndDraggingAtVelocity velocity: CGPoint) {
|
|
370
|
+
guard let controller = topViewController else { return }
|
|
371
|
+
delegate?.overlayContainerViewController(
|
|
372
|
+
self,
|
|
373
|
+
willEndDraggingOverlay: controller,
|
|
374
|
+
atVelocity: velocity
|
|
375
|
+
)
|
|
376
|
+
overlayPresentationController?.overlayContainerViewController(
|
|
377
|
+
self,
|
|
378
|
+
willEndDraggingOverlay: controller,
|
|
379
|
+
atVelocity: velocity
|
|
380
|
+
)
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
func translationController(_ translationController: OverlayTranslationController,
|
|
384
|
+
willTranslateOverlayWith transitionCoordinator: OverlayContainerTransitionCoordinator) {
|
|
385
|
+
guard let controller = topViewController else { return }
|
|
386
|
+
if transitionCoordinator.isAnimated {
|
|
387
|
+
overlayTranslationContainerView.layoutIfNeeded()
|
|
388
|
+
}
|
|
389
|
+
transitionCoordinator.animate(alongsideTransition: { [weak self] context in
|
|
390
|
+
self?.updateOverlayContainerConstraints()
|
|
391
|
+
self?.overlayTranslationContainerView.layoutIfNeeded()
|
|
392
|
+
}, completion: nil)
|
|
393
|
+
delegate?.overlayContainerViewController(
|
|
394
|
+
self,
|
|
395
|
+
willTranslateOverlay: controller,
|
|
396
|
+
transitionCoordinator: transitionCoordinator
|
|
397
|
+
)
|
|
398
|
+
overlayPresentationController?.overlayContainerViewController(
|
|
399
|
+
self,
|
|
400
|
+
willTranslateOverlay: controller,
|
|
401
|
+
transitionCoordinator: transitionCoordinator
|
|
402
|
+
)
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
func translationControllerDidScheduleTranslations(_ translationController: OverlayTranslationController) {
|
|
406
|
+
setNeedsOverlayContainerHeightUpdate()
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
func overlayViewController(for translationController: OverlayTranslationController) -> UIViewController? {
|
|
410
|
+
return topViewController
|
|
411
|
+
}
|
|
412
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Copyright (c) 2018, Applidium. All rights reserved
|
|
2
|
+
// OverlayContainerViewControllerDelegate.swift
|
|
3
|
+
// OverlayContainer
|
|
4
|
+
//
|
|
5
|
+
// Created by Gaétan Zanella on 23/11/2018.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
/// The container delegate is responsible for defining the aspect and the behavior of the container.
|
|
11
|
+
public protocol OverlayContainerViewControllerDelegate: AnyObject {
|
|
12
|
+
|
|
13
|
+
/// Asks the delegate for the number of notches in the container.
|
|
14
|
+
/// **Required**.
|
|
15
|
+
///
|
|
16
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
17
|
+
///
|
|
18
|
+
/// - returns: The number of notches in `containerViewController`.
|
|
19
|
+
func numberOfNotches(in containerViewController: OverlayContainerViewController) -> Int
|
|
20
|
+
|
|
21
|
+
/// Asks the delegate for the height of a notch in a specified location.
|
|
22
|
+
/// **Required**.
|
|
23
|
+
///
|
|
24
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
25
|
+
/// - parameter index: The index that locates the notch.
|
|
26
|
+
/// - parameter availableSpace: The height of the zone defined by the overlay.
|
|
27
|
+
///
|
|
28
|
+
/// - returns: A nonnegative floating-point value that specifies the height that notch should be.
|
|
29
|
+
///
|
|
30
|
+
/// - attention: The notches must be ordered from the smallest one (index 0) to the highest one
|
|
31
|
+
/// and must not exceed the available space.
|
|
32
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
33
|
+
heightForNotchAt index: Int,
|
|
34
|
+
availableSpace: CGFloat) -> CGFloat
|
|
35
|
+
|
|
36
|
+
/// Asks the delegate for a scroll view driving the overlay view controller translation.
|
|
37
|
+
///
|
|
38
|
+
/// The container view controller can coordinate the scrolling of a scroll view
|
|
39
|
+
/// to the overlay view controller translation. The overlay will be moved up & down as the user scrolls.
|
|
40
|
+
/// The content offset of the scroll view will be adjusted accordingly.
|
|
41
|
+
///
|
|
42
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
43
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
44
|
+
///
|
|
45
|
+
/// - returns: A scroll view to use as a translation driver.
|
|
46
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
47
|
+
scrollViewDrivingOverlay overlayViewController: UIViewController) -> UIScrollView?
|
|
48
|
+
|
|
49
|
+
/// Asks the delegate if the container should drag the overlay view controller
|
|
50
|
+
/// when the user starts a pan gesture at the specified location.
|
|
51
|
+
///
|
|
52
|
+
/// The container view controller detects pan gestures on its own view.
|
|
53
|
+
/// It calls this method each time a pan gesture is detected.
|
|
54
|
+
/// If the gesture begins in the scroll view specified in `overlayContainerViewController(_:, scrollViewDrivingOverlay:)`,
|
|
55
|
+
/// the gesture is aborted and this method is not called.
|
|
56
|
+
///
|
|
57
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
58
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
59
|
+
/// - parameter point: The starting point of the gesture.
|
|
60
|
+
/// - parameter coordinateSpace: The coordinate space of point.
|
|
61
|
+
///
|
|
62
|
+
/// - returns: `true` if the translation should start or `false` if it should not.
|
|
63
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
64
|
+
shouldStartDraggingOverlay overlayViewController: UIViewController,
|
|
65
|
+
at point: CGPoint,
|
|
66
|
+
in coordinateSpace: UICoordinateSpace) -> Bool
|
|
67
|
+
|
|
68
|
+
/// Tells the delegate when the user is about to start dragging the overlay view controller.
|
|
69
|
+
///
|
|
70
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
71
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
72
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
73
|
+
willStartDraggingOverlay overlayViewController: UIViewController)
|
|
74
|
+
|
|
75
|
+
/// Tells the delegate when the user finishs dragging the overlay view controller with the specified velocity.
|
|
76
|
+
///
|
|
77
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
78
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
79
|
+
/// - parameter velocity: The overlay velocity at the moment the touch was released.
|
|
80
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
81
|
+
willEndDraggingOverlay overlayViewController: UIViewController,
|
|
82
|
+
atVelocity velocity: CGPoint)
|
|
83
|
+
|
|
84
|
+
/// Tells the delegate when the container is about to move the overlay view controller to the specified notch.
|
|
85
|
+
///
|
|
86
|
+
/// In some cases, the overlay view controller may not successfully reach the specified notch.
|
|
87
|
+
/// If the user cancels the translation for instance. Use `overlayContainerViewController(_:didMove:toNotchAt:)`
|
|
88
|
+
/// if you need to be notified each time the translation succeeds.
|
|
89
|
+
///
|
|
90
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
91
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
92
|
+
/// - parameter index: The notch index the overlay view controller is about to reach.
|
|
93
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
94
|
+
willMoveOverlay overlayViewController: UIViewController,
|
|
95
|
+
toNotchAt index: Int)
|
|
96
|
+
|
|
97
|
+
/// Tells the delegate when the container has moved the overlay view controller to the specified notch.
|
|
98
|
+
///
|
|
99
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
100
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
101
|
+
/// - parameter index: The notch index the overlay view controller has reached.
|
|
102
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
103
|
+
didMoveOverlay overlayViewController: UIViewController,
|
|
104
|
+
toNotchAt index: Int)
|
|
105
|
+
|
|
106
|
+
/// Tells the delegate whenever the overlay view controller is about to be translated.
|
|
107
|
+
///
|
|
108
|
+
/// The delegate typically implements this method to coordinate changes alongside
|
|
109
|
+
/// the overlay view controller translation.
|
|
110
|
+
///
|
|
111
|
+
/// For instance, the container may call this method for the following reasons:
|
|
112
|
+
///
|
|
113
|
+
/// - The user is dragging the overlay view controller
|
|
114
|
+
/// - The user finishs dragging the overlay view controller and the container is about to move
|
|
115
|
+
/// to the notch specified by the current target notch policy
|
|
116
|
+
/// - You called `moveOverlay(toNotchAt:animated:completion:)`
|
|
117
|
+
///
|
|
118
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
119
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
120
|
+
/// - parameter transitionCoordinator: The transition coordinator object associated with the translation.
|
|
121
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
122
|
+
willTranslateOverlay overlayViewController: UIViewController,
|
|
123
|
+
transitionCoordinator: OverlayContainerTransitionCoordinator)
|
|
124
|
+
|
|
125
|
+
/// Asks the delegate for a translation function when dragging the specified view controller.
|
|
126
|
+
///
|
|
127
|
+
/// The function is only used for translation based on the container pan gesture recognizer.
|
|
128
|
+
///
|
|
129
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
130
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
131
|
+
///
|
|
132
|
+
/// - returns: A overlay translation function.
|
|
133
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
134
|
+
overlayTranslationFunctionForOverlay overlayViewController: UIViewController) -> OverlayTranslationFunction?
|
|
135
|
+
|
|
136
|
+
/// Asks the delegate for an object providing the translation end animator.
|
|
137
|
+
///
|
|
138
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
139
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
140
|
+
///
|
|
141
|
+
/// - returns: A object implementing the `OverlayTransitioningDelegate` protocol.
|
|
142
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
143
|
+
transitioningDelegateForOverlay overlayViewController: UIViewController) -> OverlayTransitioningDelegate?
|
|
144
|
+
|
|
145
|
+
/// Asks the delegate if the container can reach the specified notch.
|
|
146
|
+
///
|
|
147
|
+
/// - parameter containerViewController: The container requesting this information.
|
|
148
|
+
/// - parameter index: The index locating the notch.
|
|
149
|
+
/// - parameter overlayViewController: The overlay view controller.
|
|
150
|
+
///
|
|
151
|
+
/// - returns: `true` if the overlay is allowed to reach the specified notch index or `false` if it should not.
|
|
152
|
+
func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
|
|
153
|
+
canReachNotchAt index: Int,
|
|
154
|
+
forOverlay overlayViewController: UIViewController) -> Bool
|
|
155
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Copyright (c) 2018, Applidium. All rights reserved
|
|
2
|
+
// OverlayTransitioningDelegate.swift
|
|
3
|
+
// OverlayContainer
|
|
4
|
+
//
|
|
5
|
+
// Created by Gaétan Zanella on 14/11/2018.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
/// A protocol that provides contextual information on the current overlay translation.
|
|
11
|
+
///
|
|
12
|
+
/// Do not adopt this protocol in your own classes, use the one provided in `OverlayTranslationTargetNotchPolicy`.
|
|
13
|
+
public protocol OverlayContainerContextTargetNotchPolicy: OverlayContainerTransitionContext {
|
|
14
|
+
/// The manipulated child view controller.
|
|
15
|
+
var overlayViewController: UIViewController { get }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/// A protocol that provides contextual information on the current overlay translation.
|
|
19
|
+
///
|
|
20
|
+
/// Do not adopt this protocol in your own classes, use the one provided in `OverlayAnimatedTransitioning`.
|
|
21
|
+
public protocol OverlayContainerContextTransitioning: OverlayContainerTransitionContext {
|
|
22
|
+
/// The manipulated child view controller.
|
|
23
|
+
var overlayViewController: UIViewController { get }
|
|
24
|
+
/// The expected notch index once the animations ended.
|
|
25
|
+
var targetNotchIndex: Int { get }
|
|
26
|
+
/// The expected translation height once the animation ended.
|
|
27
|
+
var targetNotchHeight: CGFloat { get }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/// A protocol that manages the container behavior once the user finishes dragging.
|
|
31
|
+
///
|
|
32
|
+
/// Adopt this protocol to provide your own translation behavior.
|
|
33
|
+
public protocol OverlayTransitioningDelegate: AnyObject {
|
|
34
|
+
/// Returns the target notch policy for the specified child view controller.
|
|
35
|
+
func overlayTargetNotchPolicy(for overlayViewController: UIViewController) -> OverlayTranslationTargetNotchPolicy?
|
|
36
|
+
/// Returns the animation controller for the specified child view controller.
|
|
37
|
+
func animationController(for overlayViewController: UIViewController) -> OverlayAnimatedTransitioning?
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// A protocol that provides the expected notch index once the user finishes dragging.
|
|
41
|
+
///
|
|
42
|
+
/// Adopt this protocol to provide your own policy. You can also use the provided
|
|
43
|
+
/// implementations like `RushingForwardTargetNotchPolicy`.
|
|
44
|
+
public protocol OverlayTranslationTargetNotchPolicy {
|
|
45
|
+
/// Returns the expected notch index based on the specified context.
|
|
46
|
+
func targetNotchIndex(using context: OverlayContainerContextTargetNotchPolicy) -> Int
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// A protocol that provides the animation controllers once the user finishes dragging.
|
|
50
|
+
///
|
|
51
|
+
/// Adopt this protocol to perform your own translation animations. You can also use the provided
|
|
52
|
+
/// implementations like `SpringOverlayTranslationAnimationController`.
|
|
53
|
+
public protocol OverlayAnimatedTransitioning {
|
|
54
|
+
/// Returns the animator that will animate the end of the translation.
|
|
55
|
+
func interruptibleAnimator(using context: OverlayContainerContextTransitioning) -> UIViewImplicitlyAnimating
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public extension OverlayTransitioningDelegate {
|
|
59
|
+
|
|
60
|
+
func overlayTargetNotchPolicy(for overlayViewController: UIViewController) -> OverlayTranslationTargetNotchPolicy? {
|
|
61
|
+
nil
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
func animationController(for overlayViewController: UIViewController) -> OverlayAnimatedTransitioning? {
|
|
65
|
+
nil
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright (c) 2018, Applidium. All rights reserved
|
|
2
|
+
// PassThroughView.swift
|
|
3
|
+
// OverlayContainer
|
|
4
|
+
//
|
|
5
|
+
// Created by Gaétan Zanella on 14/11/2018.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
/// A protocol that provides information about an in-progress translation.
|
|
11
|
+
/// Do not adopt this protocol in your own classes. Use the one provided by the `OverlayTranslationFunction`.
|
|
12
|
+
public protocol OverlayTranslationParameters {
|
|
13
|
+
/// The mininum translation height
|
|
14
|
+
var minimumHeight: CGFloat { get }
|
|
15
|
+
/// The maximum translation height
|
|
16
|
+
var maximumHeight: CGFloat { get }
|
|
17
|
+
/// The user finger translation
|
|
18
|
+
var translation: CGFloat { get }
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/// A `OverlayTranslationFunction` defines the relation between the user finger translation
|
|
22
|
+
/// and the actual overlay translation.
|
|
23
|
+
///
|
|
24
|
+
/// Adopt this protocol to tweak the native translation behavior. You can also use the provided
|
|
25
|
+
/// implementations like `RubberBandOverlayTranslationFunction`.
|
|
26
|
+
public protocol OverlayTranslationFunction {
|
|
27
|
+
/// Returns the expected translation based on the specified parameters.
|
|
28
|
+
func overlayTranslationHeight(using parameters: OverlayTranslationParameters) -> CGFloat
|
|
29
|
+
}
|