@amazon-devices/react-native-screens 2.0.1758683737 → 3.0.9000000000
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -18
- package/RNScreens.podspec +12 -30
- package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.bundle +45301 -0
- package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.map +13711 -0
- package/SystemModules/amzn__react-native-screens-3.modules.txt +158 -0
- package/SystemModules/amzn__react-native-screens-3.private.modules.txt +377 -0
- package/SystemModules/keplerscript-system-bundle-config.json +4 -4
- package/THIRD_PARTY_NOTICES.txt +1 -684
- package/android/CMakeLists.txt +80 -0
- package/android/build.gradle +96 -17
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +38 -25
- package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +53 -0
- package/android/src/main/cpp/NativeProxy.cpp +51 -0
- package/android/src/main/cpp/NativeProxy.h +35 -0
- package/android/src/main/cpp/OnLoad.cpp +8 -0
- package/android/src/main/cpp/jni-adapter.cpp +106 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +20 -10
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +69 -1
- package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +8 -8
- package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +104 -0
- package/android/src/main/java/com/swmansion/rnscreens/ModalScreenViewManager.kt +12 -0
- package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +12 -0
- package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +65 -7
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +327 -84
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +122 -72
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +27 -4
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapper.kt +38 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapperManager.kt +25 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +10 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFooter.kt +299 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFooterManager.kt +25 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +91 -67
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +12 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenModalFragment.kt +281 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +184 -81
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +467 -80
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +8 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +156 -124
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +159 -39
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +24 -9
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +19 -13
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +31 -28
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +276 -71
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +124 -64
- package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +127 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +4 -2
- package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +160 -53
- package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +57 -32
- package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +15 -10
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetBehaviorExt.kt +42 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogRootView.kt +104 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogScreen.kt +26 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingFragment.kt +493 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +66 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt +24 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +135 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +7 -8
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +8 -9
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +7 -8
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +9 -10
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +8 -4
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +13 -16
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +8 -9
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +8 -11
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +7 -8
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +8 -9
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +7 -8
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +12 -11
- package/android/src/main/java/com/swmansion/rnscreens/events/SheetDetentChangedEvent.kt +27 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/ext/NumericExt.kt +12 -0
- package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +32 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +1 -5
- package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/ScreenDummyLayoutHelper.kt +282 -0
- package/android/src/main/jni/CMakeLists.txt +35 -23
- package/android/src/main/jni/rnscreens.h +3 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +5 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +5 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +6 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +6 -0
- package/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +5 -0
- package/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +5 -0
- package/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +6 -0
- package/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +6 -0
- package/android/src/main/res/base/drawable/rns_rounder_top_corners_shape.xml +8 -0
- package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +0 -1
- package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +25 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +25 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +25 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +16 -3
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +7 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +6 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +2 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +99 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +37 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +11 -2
- package/android/src/paper/java/com/swmansion/rnscreens/NativeProxy.kt +19 -0
- package/android/src/paper/java/com/swmansion/rnscreens/NativeScreensModuleSpec.java +36 -0
- package/common/cpp/react/renderer/components/rnscreens/FrameCorrectionModes.h +51 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +40 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +16 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +32 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +55 -12
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +157 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +31 -11
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +49 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +22 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +40 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +34 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +57 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +31 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +39 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +23 -2
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +33 -8
- package/common/cpp/react/renderer/components/rnscreens/utils/RectUtil.h +36 -0
- package/cpp/RNSScreenRemovalListener.cpp +25 -0
- package/cpp/RNSScreenRemovalListener.h +20 -0
- package/cpp/RNScreensTurboModule.cpp +115 -0
- package/cpp/RNScreensTurboModule.h +40 -0
- package/gesture-handler/package.json +6 -0
- package/ios/RNSConvert.h +24 -4
- package/ios/RNSConvert.mm +180 -55
- package/ios/RNSEnums.h +48 -0
- package/ios/RNSFullWindowOverlay.mm +12 -2
- package/ios/RNSModalScreen.h +8 -0
- package/ios/RNSModalScreen.mm +65 -0
- package/ios/RNSModule.h +19 -0
- package/ios/RNSModule.mm +173 -0
- package/ios/RNSPercentDrivenInteractiveTransition.h +12 -0
- package/ios/RNSPercentDrivenInteractiveTransition.mm +69 -0
- package/ios/RNSScreen.h +24 -5
- package/ios/RNSScreen.mm +652 -173
- package/ios/RNSScreenContainer.mm +12 -1
- package/ios/RNSScreenContentWrapper.h +44 -0
- package/ios/RNSScreenContentWrapper.mm +67 -0
- package/ios/RNSScreenFooter.h +30 -0
- package/ios/RNSScreenFooter.mm +142 -0
- package/ios/RNSScreenNavigationContainer.mm +7 -0
- package/ios/RNSScreenStack.h +6 -0
- package/ios/RNSScreenStack.mm +333 -109
- package/ios/RNSScreenStackAnimator.h +15 -1
- package/ios/RNSScreenStackAnimator.mm +380 -115
- package/ios/RNSScreenStackHeaderConfig.h +74 -6
- package/ios/RNSScreenStackHeaderConfig.mm +338 -69
- package/ios/RNSScreenStackHeaderSubview.h +0 -7
- package/ios/RNSScreenStackHeaderSubview.mm +61 -24
- package/ios/RNSScreenWindowTraits.h +1 -1
- package/ios/RNSScreenWindowTraits.mm +24 -50
- package/ios/RNSSearchBar.h +5 -5
- package/ios/RNSSearchBar.mm +42 -11
- package/ios/events/RNSHeaderHeightChangeEvent.h +0 -1
- package/ios/events/RNSHeaderHeightChangeEvent.mm +15 -0
- package/ios/events/RNSScreenViewEvent.h +0 -1
- package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.h +15 -0
- package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.mm +14 -0
- package/ios/utils/RCTTouchHandler+RNSUtility.h +15 -0
- package/ios/utils/RCTTouchHandler+RNSUtility.mm +15 -0
- package/ios/utils/RNSDefines.h +7 -0
- package/ios/utils/RNSUIBarButtonItem.h +2 -0
- package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
- package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
- package/ios/utils/UIView+RNSUtility.h +23 -0
- package/ios/utils/UIView+RNSUtility.mm +54 -0
- package/kepler-compatibility.json +2 -4
- package/lib/commonjs/TransitionProgressContext.js +1 -0
- package/lib/commonjs/TransitionProgressContext.js.map +1 -1
- package/lib/commonjs/components/DebugContainer.js +39 -0
- package/lib/commonjs/components/DebugContainer.js.map +1 -0
- package/lib/commonjs/components/DebugContainer.web.js +15 -0
- package/lib/commonjs/components/DebugContainer.web.js.map +1 -0
- package/lib/commonjs/components/FullWindowOverlay.js +31 -0
- package/lib/commonjs/components/FullWindowOverlay.js.map +1 -0
- package/lib/commonjs/components/FullWindowOverlay.web.js +9 -0
- package/lib/commonjs/components/FullWindowOverlay.web.js.map +1 -0
- package/lib/commonjs/components/Screen.js +286 -0
- package/lib/commonjs/components/Screen.js.map +1 -0
- package/lib/commonjs/components/Screen.web.js +47 -0
- package/lib/commonjs/components/Screen.web.js.map +1 -0
- package/lib/commonjs/components/ScreenContainer.js +32 -0
- package/lib/commonjs/components/ScreenContainer.js.map +1 -0
- package/lib/commonjs/components/ScreenContainer.web.js +10 -0
- package/lib/commonjs/components/ScreenContainer.web.js.map +1 -0
- package/lib/commonjs/components/ScreenContentWrapper.js +17 -0
- package/lib/commonjs/components/ScreenContentWrapper.js.map +1 -0
- package/lib/commonjs/components/ScreenContentWrapper.web.js +10 -0
- package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/commonjs/components/ScreenFooter.js +25 -0
- package/lib/commonjs/components/ScreenFooter.js.map +1 -0
- package/lib/commonjs/components/ScreenFooter.web.js +11 -0
- package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
- package/lib/commonjs/components/ScreenStack.js +67 -0
- package/lib/commonjs/components/ScreenStack.js.map +1 -0
- package/lib/commonjs/components/ScreenStack.web.js +10 -0
- package/lib/commonjs/components/ScreenStack.web.js.map +1 -0
- package/lib/commonjs/components/ScreenStackHeaderConfig.js +90 -0
- package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -0
- package/lib/commonjs/components/ScreenStackHeaderConfig.web.js +27 -0
- package/lib/commonjs/components/ScreenStackHeaderConfig.web.js.map +1 -0
- package/lib/commonjs/components/ScreenStackItem.js +107 -0
- package/lib/commonjs/components/ScreenStackItem.js.map +1 -0
- package/lib/commonjs/components/SearchBar.js +63 -0
- package/lib/commonjs/components/SearchBar.js.map +1 -0
- package/lib/commonjs/components/SearchBar.web.js +10 -0
- package/lib/commonjs/components/SearchBar.web.js.map +1 -0
- package/lib/commonjs/components/helpers/DelayedFreeze.js +31 -0
- package/lib/commonjs/components/helpers/DelayedFreeze.js.map +1 -0
- package/lib/commonjs/components/helpers/usePrevious.js +15 -0
- package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
- package/lib/commonjs/contexts.js +11 -0
- package/lib/commonjs/contexts.js.map +1 -0
- package/lib/commonjs/core.js +40 -0
- package/lib/commonjs/core.js.map +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +16 -1
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js +14 -0
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/NativeScreensModule.js +10 -0
- package/lib/commonjs/fabric/NativeScreensModule.js.map +1 -0
- package/lib/commonjs/fabric/NativeScreensModule.web.js +8 -0
- package/lib/commonjs/fabric/NativeScreensModule.web.js.map +1 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +8 -11
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js +18 -0
- package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenFooterNativeComponent.js +10 -0
- package/lib/commonjs/fabric/ScreenFooterNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js +16 -16
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +2 -1
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +10 -9
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -2
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js +8 -11
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/SearchBarNativeComponent.js +4 -5
- package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
- package/lib/commonjs/gesture-handler/GestureDetectorProvider.js +19 -0
- package/lib/commonjs/gesture-handler/GestureDetectorProvider.js.map +1 -0
- package/lib/commonjs/gesture-handler/RNScreensTurboModule.js +8 -0
- package/lib/commonjs/gesture-handler/RNScreensTurboModule.js.map +1 -0
- package/lib/commonjs/gesture-handler/ScreenGestureDetector.js +201 -0
- package/lib/commonjs/gesture-handler/ScreenGestureDetector.js.map +1 -0
- package/lib/commonjs/gesture-handler/constraints.js +64 -0
- package/lib/commonjs/gesture-handler/constraints.js.map +1 -0
- package/lib/commonjs/gesture-handler/defaults.js +45 -0
- package/lib/commonjs/gesture-handler/defaults.js.map +1 -0
- package/lib/commonjs/gesture-handler/fabricUtils.js +66 -0
- package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -0
- package/lib/commonjs/gesture-handler/fabricUtils.web.js +17 -0
- package/lib/commonjs/gesture-handler/fabricUtils.web.js.map +1 -0
- package/lib/commonjs/gesture-handler/index.js +14 -0
- package/lib/commonjs/gesture-handler/index.js.map +1 -0
- package/lib/commonjs/index.js +157 -93
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native-stack/contexts/GHContext.js +12 -0
- package/lib/commonjs/native-stack/contexts/GHContext.js.map +1 -0
- package/lib/commonjs/native-stack/index.js.map +1 -1
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +21 -20
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/native-stack/types.js.map +1 -1
- package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
- package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
- package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
- package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
- package/lib/commonjs/native-stack/utils/getStatusBarHeight.js +22 -0
- package/lib/commonjs/native-stack/utils/getStatusBarHeight.js.map +1 -0
- package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
- package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +2 -4
- package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
- package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
- package/lib/commonjs/native-stack/views/FontProcessor.js +1 -3
- package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
- package/lib/commonjs/native-stack/views/FooterComponent.js +17 -0
- package/lib/commonjs/native-stack/views/FooterComponent.js.map +1 -0
- package/lib/commonjs/native-stack/views/HeaderConfig.js +21 -13
- package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +118 -52
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +15 -21
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreen.js +2 -2
- package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +8 -16
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
- package/lib/commonjs/reanimated/index.js.map +1 -1
- package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +2 -2
- package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -1
- package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useTransitionProgress.js.map +1 -1
- package/lib/commonjs/utils.js +28 -6
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/TransitionProgressContext.js +2 -0
- package/lib/module/TransitionProgressContext.js.map +1 -1
- package/lib/module/components/DebugContainer.js +30 -0
- package/lib/module/components/DebugContainer.js.map +1 -0
- package/lib/module/components/DebugContainer.web.js +6 -0
- package/lib/module/components/DebugContainer.web.js.map +1 -0
- package/lib/module/components/FullWindowOverlay.js +24 -0
- package/lib/module/components/FullWindowOverlay.js.map +1 -0
- package/lib/module/components/FullWindowOverlay.web.js +3 -0
- package/lib/module/components/FullWindowOverlay.web.js.map +1 -0
- package/lib/module/components/Screen.js +282 -0
- package/lib/module/components/Screen.js.map +1 -0
- package/lib/module/components/Screen.web.js +40 -0
- package/lib/module/components/Screen.web.js.map +1 -0
- package/lib/module/components/ScreenContainer.js +26 -0
- package/lib/module/components/ScreenContainer.js.map +1 -0
- package/lib/module/components/ScreenContainer.web.js +4 -0
- package/lib/module/components/ScreenContainer.web.js.map +1 -0
- package/lib/module/components/ScreenContentWrapper.js +10 -0
- package/lib/module/components/ScreenContentWrapper.js.map +1 -0
- package/lib/module/components/ScreenContentWrapper.web.js +4 -0
- package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/module/components/ScreenFooter.js +18 -0
- package/lib/module/components/ScreenFooter.js.map +1 -0
- package/lib/module/components/ScreenFooter.web.js +6 -0
- package/lib/module/components/ScreenFooter.web.js.map +1 -0
- package/lib/module/components/ScreenStack.js +63 -0
- package/lib/module/components/ScreenStack.js.map +1 -0
- package/lib/module/components/ScreenStack.web.js +4 -0
- package/lib/module/components/ScreenStack.web.js.map +1 -0
- package/lib/module/components/ScreenStackHeaderConfig.js +81 -0
- package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -0
- package/lib/module/components/ScreenStackHeaderConfig.web.js +14 -0
- package/lib/module/components/ScreenStackHeaderConfig.web.js.map +1 -0
- package/lib/module/components/ScreenStackItem.js +98 -0
- package/lib/module/components/ScreenStackItem.js.map +1 -0
- package/lib/module/components/SearchBar.js +57 -0
- package/lib/module/components/SearchBar.js.map +1 -0
- package/lib/module/components/SearchBar.web.js +4 -0
- package/lib/module/components/SearchBar.web.js.map +1 -0
- package/lib/module/components/helpers/DelayedFreeze.js +24 -0
- package/lib/module/components/helpers/DelayedFreeze.js.map +1 -0
- package/lib/module/components/helpers/usePrevious.js +9 -0
- package/lib/module/components/helpers/usePrevious.js.map +1 -0
- package/lib/module/contexts.js +4 -0
- package/lib/module/contexts.js.map +1 -0
- package/lib/module/core.js +31 -0
- package/lib/module/core.js.map +1 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js +16 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/module/fabric/ModalScreenNativeComponent.js +10 -0
- package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -0
- package/lib/module/fabric/NativeScreensModule.js +5 -0
- package/lib/module/fabric/NativeScreensModule.js.map +1 -0
- package/lib/module/fabric/NativeScreensModule.web.js +2 -0
- package/lib/module/fabric/NativeScreensModule.web.js.map +1 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js +3 -4
- package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenContentWrapperNativeComponent.js +10 -0
- package/lib/module/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenFooterNativeComponent.js +3 -0
- package/lib/module/fabric/ScreenFooterNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenNativeComponent.js +11 -8
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +2 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +8 -2
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackNativeComponent.js +3 -3
- package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/module/fabric/SearchBarNativeComponent.js +3 -1
- package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
- package/lib/module/gesture-handler/GestureDetectorProvider.js +12 -0
- package/lib/module/gesture-handler/GestureDetectorProvider.js.map +1 -0
- package/lib/module/gesture-handler/RNScreensTurboModule.js +2 -0
- package/lib/module/gesture-handler/RNScreensTurboModule.js.map +1 -0
- package/lib/module/gesture-handler/ScreenGestureDetector.js +193 -0
- package/lib/module/gesture-handler/ScreenGestureDetector.js.map +1 -0
- package/lib/module/gesture-handler/constraints.js +56 -0
- package/lib/module/gesture-handler/constraints.js.map +1 -0
- package/lib/module/gesture-handler/defaults.js +39 -0
- package/lib/module/gesture-handler/defaults.js.map +1 -0
- package/lib/module/gesture-handler/fabricUtils.js +61 -0
- package/lib/module/gesture-handler/fabricUtils.js.map +1 -0
- package/lib/module/gesture-handler/fabricUtils.web.js +10 -0
- package/lib/module/gesture-handler/fabricUtils.web.js.map +1 -0
- package/lib/module/gesture-handler/index.js +5 -0
- package/lib/module/gesture-handler/index.js.map +1 -0
- package/lib/module/index.js +29 -63
- package/lib/module/index.js.map +1 -1
- package/lib/module/native-stack/contexts/GHContext.js +6 -0
- package/lib/module/native-stack/contexts/GHContext.js.map +1 -0
- package/lib/module/native-stack/index.js.map +1 -1
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js +21 -20
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/native-stack/types.js.map +1 -1
- package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
- package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
- package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
- package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
- package/lib/module/native-stack/utils/getStatusBarHeight.js +16 -0
- package/lib/module/native-stack/utils/getStatusBarHeight.js.map +1 -0
- package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
- package/lib/module/native-stack/utils/useBackPressSubscription.js +2 -4
- package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
- package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
- package/lib/module/native-stack/views/FontProcessor.js +2 -3
- package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
- package/lib/module/native-stack/views/FooterComponent.js +10 -0
- package/lib/module/native-stack/views/FooterComponent.js.map +1 -0
- package/lib/module/native-stack/views/HeaderConfig.js +13 -6
- package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +114 -46
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js +8 -12
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreen.js +1 -2
- package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreenProvider.js +7 -15
- package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
- package/lib/module/reanimated/index.js.map +1 -1
- package/lib/module/reanimated/useReanimatedHeaderHeight.js +1 -1
- package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -1
- package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/useTransitionProgress.js.map +1 -1
- package/lib/module/utils.js +26 -5
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/TransitionProgressContext.d.ts +2 -1
- package/lib/typescript/TransitionProgressContext.d.ts.map +1 -0
- package/lib/typescript/components/DebugContainer.d.ts +15 -0
- package/lib/typescript/components/DebugContainer.d.ts.map +1 -0
- package/lib/typescript/components/DebugContainer.web.d.ts +4 -0
- package/lib/typescript/components/DebugContainer.web.d.ts.map +1 -0
- package/lib/typescript/components/FullWindowOverlay.d.ts +6 -0
- package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -0
- package/lib/typescript/components/FullWindowOverlay.web.d.ts +6 -0
- package/lib/typescript/components/FullWindowOverlay.web.d.ts.map +1 -0
- package/lib/typescript/components/Screen.d.ts +8 -0
- package/lib/typescript/components/Screen.d.ts.map +1 -0
- package/lib/typescript/components/Screen.web.d.ts +11 -0
- package/lib/typescript/components/Screen.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenContainer.d.ts +5 -0
- package/lib/typescript/components/ScreenContainer.d.ts.map +1 -0
- package/lib/typescript/components/ScreenContainer.web.d.ts +4 -0
- package/lib/typescript/components/ScreenContainer.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenContentWrapper.d.ts +5 -0
- package/lib/typescript/components/ScreenContentWrapper.d.ts.map +1 -0
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts +4 -0
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenFooter.d.ts +12 -0
- package/lib/typescript/components/ScreenFooter.d.ts.map +1 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts +6 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStack.d.ts +5 -0
- package/lib/typescript/components/ScreenStack.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStack.web.d.ts +4 -0
- package/lib/typescript/components/ScreenStack.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +13 -0
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +13 -0
- package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStackItem.d.ts +11 -0
- package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -0
- package/lib/typescript/components/SearchBar.d.ts +5 -0
- package/lib/typescript/components/SearchBar.d.ts.map +1 -0
- package/lib/typescript/components/SearchBar.web.d.ts +4 -0
- package/lib/typescript/components/SearchBar.web.d.ts.map +1 -0
- package/lib/typescript/components/helpers/DelayedFreeze.d.ts +8 -0
- package/lib/typescript/components/helpers/DelayedFreeze.d.ts.map +1 -0
- package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
- package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
- package/lib/typescript/contexts.d.ts +5 -0
- package/lib/typescript/contexts.d.ts.map +1 -0
- package/lib/typescript/core.d.ts +6 -0
- package/lib/typescript/core.d.ts.map +1 -0
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +76 -0
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/NativeScreensModule.d.ts +6 -0
- package/lib/typescript/fabric/NativeScreensModule.d.ts.map +1 -0
- package/lib/typescript/fabric/NativeScreensModule.web.d.ts +3 -0
- package/lib/typescript/fabric/NativeScreensModule.web.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +1 -0
- package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts +6 -0
- package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts +7 -0
- package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +34 -24
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +12 -2
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +4 -2
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -0
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +17 -16
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts +5 -0
- package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts +13 -0
- package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts +5 -0
- package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/constraints.d.ts +6 -0
- package/lib/typescript/gesture-handler/constraints.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/defaults.d.ts +20 -0
- package/lib/typescript/gesture-handler/defaults.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/fabricUtils.d.ts +10 -0
- package/lib/typescript/gesture-handler/fabricUtils.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/fabricUtils.web.d.ts +6 -0
- package/lib/typescript/gesture-handler/fabricUtils.web.d.ts.map +1 -0
- package/lib/typescript/gesture-handler/index.d.ts +2 -0
- package/lib/typescript/gesture-handler/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +25 -31
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/native-stack/contexts/GHContext.d.ts +4 -0
- package/lib/typescript/native-stack/contexts/GHContext.d.ts.map +1 -0
- package/lib/typescript/native-stack/index.d.ts +1 -0
- package/lib/typescript/native-stack/index.d.ts.map +1 -0
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +4 -0
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -0
- package/lib/typescript/native-stack/types.d.ts +191 -33
- package/lib/typescript/native-stack/types.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +1 -0
- package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +1 -0
- package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +2 -1
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +3 -2
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts +3 -0
- package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +2 -1
- package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +1 -0
- package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts.map +1 -0
- package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
- package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts.map +1 -0
- package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
- package/lib/typescript/native-stack/views/FontProcessor.d.ts.map +1 -0
- package/lib/typescript/native-stack/views/FooterComponent.d.ts +7 -0
- package/lib/typescript/native-stack/views/FooterComponent.d.ts.map +1 -0
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts +3 -2
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -0
- package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -0
- package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +1 -0
- package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts.map +1 -0
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +3 -3
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts.map +1 -0
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts +3 -3
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts.map +1 -0
- package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +1 -0
- package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts.map +1 -0
- package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +2 -1
- package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts.map +1 -0
- package/lib/typescript/reanimated/index.d.ts +1 -0
- package/lib/typescript/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +2 -3
- package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts.map +1 -0
- package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +4 -9
- package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +186 -36
- package/lib/typescript/types.d.ts.map +1 -0
- package/lib/typescript/useTransitionProgress.d.ts +4 -3
- package/lib/typescript/useTransitionProgress.d.ts.map +1 -0
- package/lib/typescript/utils.d.ts +27 -1
- package/lib/typescript/utils.d.ts.map +1 -0
- package/native-stack/README.md +156 -108
- package/native-stack/package.json +4 -4
- package/package.json +1 -1
- package/react-native.config.js +19 -16
- package/reanimated/package.json +1 -1
- package/src/TransitionProgressContext.tsx +3 -1
- package/src/components/DebugContainer.tsx +46 -0
- package/src/components/DebugContainer.web.tsx +7 -0
- package/src/components/FullWindowOverlay.tsx +33 -0
- package/src/components/FullWindowOverlay.web.tsx +6 -0
- package/src/components/Screen.tsx +392 -0
- package/src/components/Screen.web.tsx +46 -0
- package/src/components/ScreenContainer.tsx +28 -0
- package/src/components/ScreenContainer.web.tsx +5 -0
- package/src/components/ScreenContentWrapper.tsx +9 -0
- package/src/components/ScreenContentWrapper.web.tsx +5 -0
- package/src/components/ScreenFooter.tsx +20 -0
- package/src/components/ScreenFooter.web.tsx +7 -0
- package/src/components/ScreenStack.tsx +112 -0
- package/src/components/ScreenStack.web.tsx +5 -0
- package/src/components/ScreenStackHeaderConfig.tsx +122 -0
- package/src/components/ScreenStackHeaderConfig.web.tsx +39 -0
- package/src/components/ScreenStackItem.tsx +174 -0
- package/src/components/SearchBar.tsx +102 -0
- package/src/components/SearchBar.web.tsx +5 -0
- package/src/components/helpers/DelayedFreeze.tsx +27 -0
- package/src/components/helpers/usePrevious.tsx +11 -0
- package/src/contexts.tsx +9 -0
- package/src/core.ts +45 -0
- package/src/fabric/FullWindowOverlayNativeComponent.ts +16 -0
- package/src/fabric/ModalScreenNativeComponent.ts +115 -0
- package/src/fabric/NativeScreensModule.ts +8 -0
- package/src/fabric/NativeScreensModule.web.ts +1 -0
- package/src/fabric/ScreenContainerNativeComponent.ts +3 -3
- package/src/fabric/ScreenContentWrapperNativeComponent.ts +14 -0
- package/src/fabric/ScreenFooterNativeComponent.ts +6 -0
- package/src/fabric/ScreenNativeComponent.ts +36 -23
- package/src/fabric/ScreenNavigationContainerNativeComponent.ts +3 -1
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +38 -2
- package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +5 -1
- package/src/fabric/ScreenStackNativeComponent.ts +3 -2
- package/src/fabric/SearchBarNativeComponent.ts +17 -13
- package/src/gesture-handler/GestureDetectorProvider.tsx +16 -0
- package/src/gesture-handler/RNScreensTurboModule.ts +13 -0
- package/src/gesture-handler/ScreenGestureDetector.tsx +241 -0
- package/src/gesture-handler/constraints.ts +87 -0
- package/src/gesture-handler/defaults.ts +46 -0
- package/src/gesture-handler/fabricUtils.ts +86 -0
- package/src/gesture-handler/fabricUtils.web.ts +10 -0
- package/src/gesture-handler/index.tsx +4 -0
- package/src/index.tsx +49 -112
- package/src/native-stack/contexts/GHContext.tsx +9 -0
- package/src/native-stack/navigators/createNativeStackNavigator.tsx +6 -3
- package/src/native-stack/types.tsx +204 -31
- package/src/native-stack/utils/getDefaultHeaderHeight.tsx +2 -2
- package/src/native-stack/utils/getStatusBarHeight.tsx +22 -0
- package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +1 -1
- package/src/native-stack/utils/useBackPressSubscription.tsx +1 -1
- package/src/native-stack/utils/useHeaderHeight.tsx +1 -1
- package/src/native-stack/views/FontProcessor.tsx +2 -2
- package/src/native-stack/views/FooterComponent.tsx +10 -0
- package/src/native-stack/views/HeaderConfig.tsx +20 -5
- package/src/native-stack/views/NativeStackView.tsx +137 -53
- package/src/reanimated/ReanimatedHeaderHeightContext.tsx +1 -1
- package/src/reanimated/ReanimatedNativeStackScreen.tsx +15 -13
- package/src/reanimated/ReanimatedScreen.tsx +4 -3
- package/src/reanimated/ReanimatedScreenProvider.tsx +3 -2
- package/src/reanimated/useReanimatedHeaderHeight.tsx +2 -2
- package/src/reanimated/useReanimatedTransitionProgress.tsx +1 -1
- package/src/types.tsx +210 -40
- package/src/useTransitionProgress.tsx +1 -1
- package/src/utils.ts +27 -5
- package/windows/README.md +4 -1
- package/windows/RNScreens/Screen.h +3 -1
- package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.bundle +0 -33668
- package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.map +0 -1
- package/SystemModules/amzn__react-native-screens.modules.txt +0 -101
- package/SystemModules/amzn__react-native-screens.private.modules.txt +0 -244
- package/lib/commonjs/index.native.js +0 -407
- package/lib/commonjs/index.native.js.map +0 -1
- package/lib/module/index.native.js +0 -410
- package/lib/module/index.native.js.map +0 -1
- package/lib/typescript/index.native.d.ts +0 -2
- package/src/index.native.tsx +0 -599
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <react/renderer/graphics/Float.h>
|
|
4
|
+
#include <react/renderer/graphics/Size.h>
|
|
5
|
+
#include <cmath>
|
|
6
|
+
#include <concepts>
|
|
7
|
+
|
|
8
|
+
namespace rnscreens {
|
|
9
|
+
|
|
10
|
+
namespace react = facebook::react;
|
|
11
|
+
|
|
12
|
+
template <typename T>
|
|
13
|
+
requires std::is_floating_point_v<T>
|
|
14
|
+
inline constexpr bool equalWithRespectToEps(const T a, const T b, const T eps) {
|
|
15
|
+
return std::abs(a - b) <= eps;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Compares given two frame sizes with respect to the epsilon.
|
|
20
|
+
*
|
|
21
|
+
* @param first first frame size
|
|
22
|
+
* @param second second frame size
|
|
23
|
+
* @param eps comparison precision, defaults to 0.01, which should ensure that
|
|
24
|
+
* precision of comparison is under 1px
|
|
25
|
+
* @return whether the frame dimensions are the same with respect to given
|
|
26
|
+
* epsilon
|
|
27
|
+
*/
|
|
28
|
+
inline constexpr bool checkFrameSizesEqualWithEps(
|
|
29
|
+
const react::Size &first,
|
|
30
|
+
const react::Size &second,
|
|
31
|
+
const react::Float eps = 0.01) {
|
|
32
|
+
return equalWithRespectToEps(first.width, second.width, eps) &&
|
|
33
|
+
equalWithRespectToEps(first.height, second.height, eps);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
} // namespace rnscreens
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#include "RNSScreenRemovalListener.h"
|
|
2
|
+
#include <react/renderer/mounting/ShadowViewMutation.h>
|
|
3
|
+
using namespace facebook::react;
|
|
4
|
+
|
|
5
|
+
std::optional<MountingTransaction> RNSScreenRemovalListener::pullTransaction(
|
|
6
|
+
SurfaceId surfaceId,
|
|
7
|
+
MountingTransaction::Number transactionNumber,
|
|
8
|
+
const TransactionTelemetry &telemetry,
|
|
9
|
+
ShadowViewMutationList mutations) const {
|
|
10
|
+
for (const ShadowViewMutation &mutation : mutations) {
|
|
11
|
+
if (mutation.type == ShadowViewMutation::Type::Remove &&
|
|
12
|
+
mutation.oldChildShadowView.componentName != nullptr &&
|
|
13
|
+
strcmp(mutation.parentShadowView.componentName, "RNSScreenStack") ==
|
|
14
|
+
0) {
|
|
15
|
+
listenerFunction_(mutation.oldChildShadowView.tag);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return MountingTransaction{
|
|
20
|
+
surfaceId, transactionNumber, std::move(mutations), telemetry};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
bool RNSScreenRemovalListener::shouldOverridePullTransaction() const {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <react/renderer/componentregistry/ComponentDescriptorFactory.h>
|
|
4
|
+
#include <react/renderer/mounting/MountingOverrideDelegate.h>
|
|
5
|
+
#include <react/renderer/mounting/ShadowView.h>
|
|
6
|
+
|
|
7
|
+
using namespace facebook::react;
|
|
8
|
+
|
|
9
|
+
struct RNSScreenRemovalListener : public MountingOverrideDelegate {
|
|
10
|
+
std::function<void(int)> listenerFunction_;
|
|
11
|
+
RNSScreenRemovalListener(std::function<void(int)> &&listenerFunction_)
|
|
12
|
+
: listenerFunction_(std::move(listenerFunction_)) {}
|
|
13
|
+
|
|
14
|
+
bool shouldOverridePullTransaction() const override;
|
|
15
|
+
std::optional<MountingTransaction> pullTransaction(
|
|
16
|
+
SurfaceId surfaceId,
|
|
17
|
+
MountingTransaction::Number number,
|
|
18
|
+
const TransactionTelemetry &telemetry,
|
|
19
|
+
ShadowViewMutationList mutations) const override;
|
|
20
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#include "RNScreensTurboModule.h"
|
|
2
|
+
|
|
3
|
+
using namespace facebook;
|
|
4
|
+
|
|
5
|
+
namespace RNScreens {
|
|
6
|
+
|
|
7
|
+
const char RNScreensTurboModule::MODULE_NAME[] = "RNScreensTurboModule";
|
|
8
|
+
|
|
9
|
+
std::function<std::array<int, 2>(int)> RNScreensTurboModule::startTransition_;
|
|
10
|
+
std::function<void(int, double)> RNScreensTurboModule::updateTransition_;
|
|
11
|
+
std::function<void(int, bool)> RNScreensTurboModule::finishTransition_;
|
|
12
|
+
std::function<void(int)> RNScreensTurboModule::disableSwipeBackForTopScreen_;
|
|
13
|
+
|
|
14
|
+
RNScreensTurboModule::RNScreensTurboModule(
|
|
15
|
+
std::function<std::array<int, 2>(int)> startTransition,
|
|
16
|
+
std::function<void(int, double)> updateTransition,
|
|
17
|
+
std::function<void(int, bool)> finishTransition,
|
|
18
|
+
std::function<void(int)> disableSwipeBackForTopScreen) {
|
|
19
|
+
startTransition_ = startTransition;
|
|
20
|
+
updateTransition_ = updateTransition;
|
|
21
|
+
finishTransition_ = finishTransition;
|
|
22
|
+
disableSwipeBackForTopScreen_ = disableSwipeBackForTopScreen;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
RNScreensTurboModule::~RNScreensTurboModule(){};
|
|
26
|
+
|
|
27
|
+
jsi::Value RNScreensTurboModule::get(
|
|
28
|
+
jsi::Runtime &rt,
|
|
29
|
+
const jsi::PropNameID &name) {
|
|
30
|
+
if (name.utf8(rt) == "startTransition") {
|
|
31
|
+
return jsi::Function::createFromHostFunction(rt, name, 1, startTransition);
|
|
32
|
+
} else if (name.utf8(rt) == "updateTransition") {
|
|
33
|
+
return jsi::Function::createFromHostFunction(rt, name, 2, updateTransition);
|
|
34
|
+
} else if (name.utf8(rt) == "finishTransition") {
|
|
35
|
+
return jsi::Function::createFromHostFunction(rt, name, 2, finishTransition);
|
|
36
|
+
} else if (name.utf8(rt) == "disableSwipeBackForTopScreen") {
|
|
37
|
+
return jsi::Function::createFromHostFunction(
|
|
38
|
+
rt, name, 1, disableSwipeBackForTopScreen);
|
|
39
|
+
}
|
|
40
|
+
return jsi::Value::undefined();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void RNScreensTurboModule::set(
|
|
44
|
+
jsi::Runtime &,
|
|
45
|
+
const jsi::PropNameID &,
|
|
46
|
+
const jsi::Value &){};
|
|
47
|
+
|
|
48
|
+
std::vector<jsi::PropNameID> RNScreensTurboModule::getPropertyNames(
|
|
49
|
+
jsi::Runtime &rt) {
|
|
50
|
+
std::vector<jsi::PropNameID> properties;
|
|
51
|
+
properties.push_back(jsi::PropNameID::forUtf8(rt, "startTransition"));
|
|
52
|
+
properties.push_back(jsi::PropNameID::forUtf8(rt, "updateTransition"));
|
|
53
|
+
properties.push_back(jsi::PropNameID::forUtf8(rt, "finishTransition"));
|
|
54
|
+
properties.push_back(
|
|
55
|
+
jsi::PropNameID::forUtf8(rt, "disableSwipeBackForTopScreen"));
|
|
56
|
+
return properties;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
JSI_HOST_FUNCTION(RNScreensTurboModule::startTransition) {
|
|
60
|
+
if (count < 1) {
|
|
61
|
+
throw jsi::JSError(
|
|
62
|
+
rt, "[RNScreens] `startTransition` method requires 1 argument.");
|
|
63
|
+
}
|
|
64
|
+
int stackTag = arguments[0].asNumber();
|
|
65
|
+
auto screenTags = startTransition_(stackTag);
|
|
66
|
+
jsi::Object screenTagsObject(rt);
|
|
67
|
+
jsi::Value topScreenTag, belowTopScreenTag, canStartTransition;
|
|
68
|
+
if (screenTags[0] > -1) {
|
|
69
|
+
topScreenTag = jsi::Value(screenTags[0]);
|
|
70
|
+
belowTopScreenTag = jsi::Value(screenTags[1]);
|
|
71
|
+
canStartTransition = jsi::Value(true);
|
|
72
|
+
} else {
|
|
73
|
+
topScreenTag = jsi::Value(-1);
|
|
74
|
+
belowTopScreenTag = jsi::Value(-1);
|
|
75
|
+
canStartTransition = jsi::Value(false);
|
|
76
|
+
}
|
|
77
|
+
screenTagsObject.setProperty(rt, "topScreenTag", topScreenTag);
|
|
78
|
+
screenTagsObject.setProperty(rt, "belowTopScreenTag", belowTopScreenTag);
|
|
79
|
+
screenTagsObject.setProperty(rt, "canStartTransition", canStartTransition);
|
|
80
|
+
return screenTagsObject;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
JSI_HOST_FUNCTION(RNScreensTurboModule::updateTransition) {
|
|
84
|
+
if (count < 2) {
|
|
85
|
+
throw jsi::JSError(
|
|
86
|
+
rt, "[RNScreens] `updateTransition` requires 2 arguments.");
|
|
87
|
+
}
|
|
88
|
+
int stackTag = arguments[0].asNumber();
|
|
89
|
+
double progress = arguments[1].asNumber();
|
|
90
|
+
updateTransition_(stackTag, progress);
|
|
91
|
+
return jsi::Value::undefined();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
JSI_HOST_FUNCTION(RNScreensTurboModule::finishTransition) {
|
|
95
|
+
if (count < 2) {
|
|
96
|
+
throw jsi::JSError(
|
|
97
|
+
rt, "[RNScreens] `finishTransition` requires 2 arguments.");
|
|
98
|
+
}
|
|
99
|
+
int stackTag = arguments[0].asNumber();
|
|
100
|
+
bool canceled = arguments[1].getBool();
|
|
101
|
+
finishTransition_(stackTag, canceled);
|
|
102
|
+
return jsi::Value::undefined();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
JSI_HOST_FUNCTION(RNScreensTurboModule::disableSwipeBackForTopScreen) {
|
|
106
|
+
if (count < 1) {
|
|
107
|
+
throw jsi::JSError(
|
|
108
|
+
rt, "[RNScreens] `startTransition` method requires 1 argument.");
|
|
109
|
+
}
|
|
110
|
+
int stackTag = arguments[0].asNumber();
|
|
111
|
+
disableSwipeBackForTopScreen_(stackTag);
|
|
112
|
+
return jsi::Value::undefined();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
} // namespace RNScreens
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#include <jsi/jsi.h>
|
|
2
|
+
#include <array>
|
|
3
|
+
|
|
4
|
+
#define JSI_HOST_FUNCTION(NAME) \
|
|
5
|
+
jsi::Value NAME( \
|
|
6
|
+
jsi::Runtime &rt, \
|
|
7
|
+
const jsi::Value &thisValue, \
|
|
8
|
+
const jsi::Value *arguments, \
|
|
9
|
+
size_t count)
|
|
10
|
+
|
|
11
|
+
using namespace facebook;
|
|
12
|
+
|
|
13
|
+
namespace RNScreens {
|
|
14
|
+
|
|
15
|
+
class RNScreensTurboModule : public jsi::HostObject {
|
|
16
|
+
static std::function<std::array<int, 2>(int)> startTransition_;
|
|
17
|
+
static std::function<void(int, double)> updateTransition_;
|
|
18
|
+
static std::function<void(int, bool)> finishTransition_;
|
|
19
|
+
static std::function<void(int)> disableSwipeBackForTopScreen_;
|
|
20
|
+
|
|
21
|
+
public:
|
|
22
|
+
static const char MODULE_NAME[];
|
|
23
|
+
|
|
24
|
+
RNScreensTurboModule(
|
|
25
|
+
std::function<std::array<int, 2>(int)> startTransition,
|
|
26
|
+
std::function<void(int, double)> updateTransition,
|
|
27
|
+
std::function<void(int, bool)> finishTransition,
|
|
28
|
+
std::function<void(int)> disableSwipeBackForTopScreen);
|
|
29
|
+
~RNScreensTurboModule() override;
|
|
30
|
+
jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &name) override;
|
|
31
|
+
void set(jsi::Runtime &, const jsi::PropNameID &, const jsi::Value &)
|
|
32
|
+
override;
|
|
33
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
|
|
34
|
+
static JSI_HOST_FUNCTION(startTransition);
|
|
35
|
+
static JSI_HOST_FUNCTION(updateTransition);
|
|
36
|
+
static JSI_HOST_FUNCTION(finishTransition);
|
|
37
|
+
static JSI_HOST_FUNCTION(disableSwipeBackForTopScreen);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
} // namespace RNScreens
|
package/ios/RNSConvert.h
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
+
#import <UIKit/UIKit.h>
|
|
1
2
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
3
|
#import <react/renderer/components/rnscreens/Props.h>
|
|
4
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
3
5
|
#import "RNSEnums.h"
|
|
4
6
|
|
|
7
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
5
8
|
namespace react = facebook::react;
|
|
9
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
6
10
|
|
|
7
11
|
@interface RNSConvert : NSObject
|
|
8
12
|
|
|
13
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
14
|
+
|
|
15
|
+
+ (UISemanticContentAttribute)UISemanticContentAttributeFromCppEquivalent:
|
|
16
|
+
(react::RNSScreenStackHeaderConfigDirection)direction;
|
|
17
|
+
|
|
18
|
+
+ (UINavigationItemBackButtonDisplayMode)UINavigationItemBackButtonDisplayModeFromCppEquivalent:
|
|
19
|
+
(react::RNSScreenStackHeaderConfigBackButtonDisplayMode)backButtonDisplayMode;
|
|
20
|
+
|
|
9
21
|
+ (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
|
|
10
22
|
(react::RNSScreenStackPresentation)stackPresentation;
|
|
11
23
|
|
|
@@ -19,18 +31,26 @@ namespace react = facebook::react;
|
|
|
19
31
|
|
|
20
32
|
+ (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection;
|
|
21
33
|
|
|
22
|
-
+ (
|
|
23
|
-
|
|
24
|
-
+ (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent;
|
|
34
|
+
+ (NSArray<NSNumber *> *)detentFractionsArrayFromVector:(const std::vector<react::Float> &)detents;
|
|
25
35
|
|
|
26
36
|
+ (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
|
|
27
37
|
(const react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance;
|
|
28
38
|
|
|
39
|
+
#if !TARGET_OS_VISION
|
|
29
40
|
+ (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
|
|
30
41
|
(react::RNSSearchBarAutoCapitalize)autoCapitalize;
|
|
42
|
+
#endif
|
|
31
43
|
|
|
32
44
|
+ (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement;
|
|
33
45
|
|
|
34
|
-
|
|
46
|
+
+ (NSMutableArray<NSNumber *> *)arrayFromVector:(const std::vector<CGFloat> &)vector;
|
|
47
|
+
|
|
48
|
+
+ (RNSBlurEffectStyle)RNSBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect;
|
|
35
49
|
|
|
36
50
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
51
|
+
|
|
52
|
+
/// This method fails (by assertion) when `blurEffect == RNSBlurEffectStyleNone` which has no counter part in the UIKit
|
|
53
|
+
/// type.
|
|
54
|
+
+ (UIBlurEffectStyle)tryConvertRNSBlurEffectStyleToUIBlurEffectStyle:(RNSBlurEffectStyle)blurEffect;
|
|
55
|
+
|
|
56
|
+
@end
|
package/ios/RNSConvert.mm
CHANGED
|
@@ -1,25 +1,59 @@
|
|
|
1
1
|
#import "RNSConvert.h"
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
#ifndef RCT_NEW_ARCH_ENABLED
|
|
4
|
+
#import <React/RCTAssert.h>
|
|
5
|
+
#endif // !RCT_NEW_ARCH_ENABLED
|
|
6
|
+
|
|
4
7
|
@implementation RNSConvert
|
|
5
8
|
|
|
9
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
10
|
+
+ (UISemanticContentAttribute)UISemanticContentAttributeFromCppEquivalent:
|
|
11
|
+
(react::RNSScreenStackHeaderConfigDirection)direction
|
|
12
|
+
{
|
|
13
|
+
switch (direction) {
|
|
14
|
+
using enum react::RNSScreenStackHeaderConfigDirection;
|
|
15
|
+
|
|
16
|
+
case Rtl:
|
|
17
|
+
return UISemanticContentAttributeForceRightToLeft;
|
|
18
|
+
case Ltr:
|
|
19
|
+
return UISemanticContentAttributeForceLeftToRight;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
+ (UINavigationItemBackButtonDisplayMode)UINavigationItemBackButtonDisplayModeFromCppEquivalent:
|
|
24
|
+
(react::RNSScreenStackHeaderConfigBackButtonDisplayMode)backButtonDisplayMode
|
|
25
|
+
{
|
|
26
|
+
switch (backButtonDisplayMode) {
|
|
27
|
+
using enum react::RNSScreenStackHeaderConfigBackButtonDisplayMode;
|
|
28
|
+
|
|
29
|
+
case Default:
|
|
30
|
+
return UINavigationItemBackButtonDisplayModeDefault;
|
|
31
|
+
case Generic:
|
|
32
|
+
return UINavigationItemBackButtonDisplayModeGeneric;
|
|
33
|
+
case Minimal:
|
|
34
|
+
return UINavigationItemBackButtonDisplayModeMinimal;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
6
38
|
+ (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
|
|
7
39
|
(react::RNSScreenStackPresentation)stackPresentation
|
|
8
40
|
{
|
|
9
41
|
switch (stackPresentation) {
|
|
10
|
-
|
|
42
|
+
using enum react::RNSScreenStackPresentation;
|
|
43
|
+
|
|
44
|
+
case Push:
|
|
11
45
|
return RNSScreenStackPresentationPush;
|
|
12
|
-
case
|
|
46
|
+
case Modal:
|
|
13
47
|
return RNSScreenStackPresentationModal;
|
|
14
|
-
case
|
|
48
|
+
case FullScreenModal:
|
|
15
49
|
return RNSScreenStackPresentationFullScreenModal;
|
|
16
|
-
case
|
|
50
|
+
case FormSheet:
|
|
17
51
|
return RNSScreenStackPresentationFormSheet;
|
|
18
|
-
case
|
|
52
|
+
case ContainedModal:
|
|
19
53
|
return RNSScreenStackPresentationContainedModal;
|
|
20
|
-
case
|
|
54
|
+
case TransparentModal:
|
|
21
55
|
return RNSScreenStackPresentationTransparentModal;
|
|
22
|
-
case
|
|
56
|
+
case ContainedTransparentModal:
|
|
23
57
|
return RNSScreenStackPresentationContainedTransparentModal;
|
|
24
58
|
}
|
|
25
59
|
}
|
|
@@ -27,22 +61,27 @@
|
|
|
27
61
|
+ (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation
|
|
28
62
|
{
|
|
29
63
|
switch (stackAnimation) {
|
|
64
|
+
using enum react::RNSScreenStackAnimation;
|
|
30
65
|
// these three are intentionally grouped
|
|
31
|
-
case
|
|
32
|
-
case
|
|
33
|
-
case
|
|
66
|
+
case Slide_from_right:
|
|
67
|
+
case Ios_from_right:
|
|
68
|
+
case Default:
|
|
34
69
|
return RNSScreenStackAnimationDefault;
|
|
35
|
-
|
|
70
|
+
// these two are intentionally grouped
|
|
71
|
+
case Slide_from_left:
|
|
72
|
+
case Ios_from_left:
|
|
73
|
+
return RNSScreenStackAnimationSlideFromLeft;
|
|
74
|
+
case Flip:
|
|
36
75
|
return RNSScreenStackAnimationFlip;
|
|
37
|
-
case
|
|
76
|
+
case Simple_push:
|
|
38
77
|
return RNSScreenStackAnimationSimplePush;
|
|
39
|
-
case
|
|
78
|
+
case None:
|
|
40
79
|
return RNSScreenStackAnimationNone;
|
|
41
|
-
case
|
|
80
|
+
case Fade:
|
|
42
81
|
return RNSScreenStackAnimationFade;
|
|
43
|
-
case
|
|
82
|
+
case Slide_from_bottom:
|
|
44
83
|
return RNSScreenStackAnimationSlideFromBottom;
|
|
45
|
-
case
|
|
84
|
+
case Fade_from_bottom:
|
|
46
85
|
return RNSScreenStackAnimationFadeFromBottom;
|
|
47
86
|
}
|
|
48
87
|
}
|
|
@@ -51,17 +90,19 @@
|
|
|
51
90
|
(react::RNSScreenStackHeaderSubviewType)subviewType
|
|
52
91
|
{
|
|
53
92
|
switch (subviewType) {
|
|
54
|
-
|
|
93
|
+
using enum react::RNSScreenStackHeaderSubviewType;
|
|
94
|
+
|
|
95
|
+
case Left:
|
|
55
96
|
return RNSScreenStackHeaderSubviewTypeLeft;
|
|
56
|
-
case
|
|
97
|
+
case Right:
|
|
57
98
|
return RNSScreenStackHeaderSubviewTypeRight;
|
|
58
|
-
case
|
|
99
|
+
case Title:
|
|
59
100
|
return RNSScreenStackHeaderSubviewTypeTitle;
|
|
60
|
-
case
|
|
101
|
+
case Center:
|
|
61
102
|
return RNSScreenStackHeaderSubviewTypeCenter;
|
|
62
|
-
case
|
|
103
|
+
case SearchBar:
|
|
63
104
|
return RNSScreenStackHeaderSubviewTypeSearchBar;
|
|
64
|
-
case
|
|
105
|
+
case Back:
|
|
65
106
|
return RNSScreenStackHeaderSubviewTypeBackButton;
|
|
66
107
|
}
|
|
67
108
|
}
|
|
@@ -70,9 +111,10 @@
|
|
|
70
111
|
(react::RNSScreenReplaceAnimation)replaceAnimation
|
|
71
112
|
{
|
|
72
113
|
switch (replaceAnimation) {
|
|
73
|
-
|
|
114
|
+
using enum react::RNSScreenReplaceAnimation;
|
|
115
|
+
case Pop:
|
|
74
116
|
return RNSScreenReplaceAnimationPop;
|
|
75
|
-
case
|
|
117
|
+
case Push:
|
|
76
118
|
return RNSScreenReplaceAnimationPush;
|
|
77
119
|
}
|
|
78
120
|
}
|
|
@@ -80,35 +122,21 @@
|
|
|
80
122
|
+ (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection
|
|
81
123
|
{
|
|
82
124
|
switch (swipeDirection) {
|
|
83
|
-
|
|
125
|
+
using enum react::RNSScreenSwipeDirection;
|
|
126
|
+
case Horizontal:
|
|
84
127
|
return RNSScreenSwipeDirectionHorizontal;
|
|
85
|
-
case
|
|
128
|
+
case Vertical:
|
|
86
129
|
return RNSScreenSwipeDirectionVertical;
|
|
87
130
|
}
|
|
88
131
|
}
|
|
89
132
|
|
|
90
|
-
+ (
|
|
91
|
-
{
|
|
92
|
-
switch (allowedDetents) {
|
|
93
|
-
case react::RNSScreenSheetAllowedDetents::All:
|
|
94
|
-
return RNSScreenDetentTypeAll;
|
|
95
|
-
case react::RNSScreenSheetAllowedDetents::Large:
|
|
96
|
-
return RNSScreenDetentTypeLarge;
|
|
97
|
-
case react::RNSScreenSheetAllowedDetents::Medium:
|
|
98
|
-
return RNSScreenDetentTypeMedium;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
+ (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent
|
|
133
|
+
+ (NSArray<NSNumber *> *)detentFractionsArrayFromVector:(const std::vector<react::Float> &)detents
|
|
103
134
|
{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
case react::RNSScreenSheetLargestUndimmedDetent::Large:
|
|
108
|
-
return RNSScreenDetentTypeLarge;
|
|
109
|
-
case react::RNSScreenSheetLargestUndimmedDetent::Medium:
|
|
110
|
-
return RNSScreenDetentTypeMedium;
|
|
135
|
+
auto array = [NSMutableArray<NSNumber *> arrayWithCapacity:detents.size()];
|
|
136
|
+
for (const react::Float value : detents) {
|
|
137
|
+
[array addObject:[NSNumber numberWithFloat:value]];
|
|
111
138
|
}
|
|
139
|
+
return array;
|
|
112
140
|
}
|
|
113
141
|
|
|
114
142
|
+ (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
|
|
@@ -122,33 +150,130 @@
|
|
|
122
150
|
};
|
|
123
151
|
}
|
|
124
152
|
|
|
153
|
+
#if !TARGET_OS_VISION
|
|
125
154
|
+ (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
|
|
126
155
|
(react::RNSSearchBarAutoCapitalize)autoCapitalize
|
|
127
156
|
{
|
|
128
157
|
switch (autoCapitalize) {
|
|
129
|
-
|
|
158
|
+
using enum react::RNSSearchBarAutoCapitalize;
|
|
159
|
+
case Words:
|
|
130
160
|
return UITextAutocapitalizationTypeWords;
|
|
131
|
-
case
|
|
161
|
+
case Sentences:
|
|
132
162
|
return UITextAutocapitalizationTypeSentences;
|
|
133
|
-
case
|
|
163
|
+
case Characters:
|
|
134
164
|
return UITextAutocapitalizationTypeAllCharacters;
|
|
135
|
-
case
|
|
165
|
+
case None:
|
|
136
166
|
return UITextAutocapitalizationTypeNone;
|
|
137
167
|
}
|
|
138
168
|
}
|
|
169
|
+
#endif
|
|
139
170
|
|
|
140
171
|
+ (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement
|
|
141
172
|
{
|
|
142
173
|
switch (placement) {
|
|
143
|
-
|
|
174
|
+
using enum react::RNSSearchBarPlacement;
|
|
175
|
+
case Stacked:
|
|
144
176
|
return RNSSearchBarPlacementStacked;
|
|
145
|
-
case
|
|
177
|
+
case Automatic:
|
|
146
178
|
return RNSSearchBarPlacementAutomatic;
|
|
147
|
-
case
|
|
179
|
+
case Inline:
|
|
148
180
|
return RNSSearchBarPlacementInline;
|
|
149
181
|
}
|
|
150
182
|
}
|
|
151
183
|
|
|
152
|
-
|
|
184
|
+
+ (NSMutableArray<NSNumber *> *)arrayFromVector:(const std::vector<CGFloat> &)vector
|
|
185
|
+
{
|
|
186
|
+
NSMutableArray *array = [NSMutableArray arrayWithCapacity:vector.size()];
|
|
187
|
+
for (CGFloat val : vector) {
|
|
188
|
+
[array addObject:[NSNumber numberWithFloat:val]];
|
|
189
|
+
}
|
|
190
|
+
return array;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
+ (RNSBlurEffectStyle)RNSBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect
|
|
194
|
+
{
|
|
195
|
+
using enum react::RNSScreenStackHeaderConfigBlurEffect;
|
|
196
|
+
#if !TARGET_OS_TV && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
|
197
|
+
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
|
198
|
+
if (@available(iOS 13.0, *)) {
|
|
199
|
+
switch (blurEffect) {
|
|
200
|
+
case None:
|
|
201
|
+
return RNSBlurEffectStyleNone;
|
|
202
|
+
case ExtraLight:
|
|
203
|
+
return RNSBlurEffectStyleExtraLight;
|
|
204
|
+
case Light:
|
|
205
|
+
return RNSBlurEffectStyleLight;
|
|
206
|
+
case Dark:
|
|
207
|
+
return RNSBlurEffectStyleDark;
|
|
208
|
+
case Regular:
|
|
209
|
+
return RNSBlurEffectStyleRegular;
|
|
210
|
+
case Prominent:
|
|
211
|
+
return RNSBlurEffectStyleProminent;
|
|
212
|
+
case SystemUltraThinMaterial:
|
|
213
|
+
return RNSBlurEffectStyleSystemUltraThinMaterial;
|
|
214
|
+
case SystemThinMaterial:
|
|
215
|
+
return RNSBlurEffectStyleSystemThinMaterial;
|
|
216
|
+
case SystemMaterial:
|
|
217
|
+
return RNSBlurEffectStyleSystemMaterial;
|
|
218
|
+
case SystemThickMaterial:
|
|
219
|
+
return RNSBlurEffectStyleSystemThickMaterial;
|
|
220
|
+
case SystemChromeMaterial:
|
|
221
|
+
return RNSBlurEffectStyleSystemChromeMaterial;
|
|
222
|
+
case SystemUltraThinMaterialLight:
|
|
223
|
+
return RNSBlurEffectStyleSystemUltraThinMaterialLight;
|
|
224
|
+
case SystemThinMaterialLight:
|
|
225
|
+
return RNSBlurEffectStyleSystemThinMaterialLight;
|
|
226
|
+
case SystemMaterialLight:
|
|
227
|
+
return RNSBlurEffectStyleSystemMaterialLight;
|
|
228
|
+
case SystemThickMaterialLight:
|
|
229
|
+
return RNSBlurEffectStyleSystemThickMaterialLight;
|
|
230
|
+
case SystemChromeMaterialLight:
|
|
231
|
+
return RNSBlurEffectStyleSystemChromeMaterialLight;
|
|
232
|
+
case SystemUltraThinMaterialDark:
|
|
233
|
+
return RNSBlurEffectStyleSystemUltraThinMaterialDark;
|
|
234
|
+
case SystemThinMaterialDark:
|
|
235
|
+
return RNSBlurEffectStyleSystemThinMaterialDark;
|
|
236
|
+
case SystemMaterialDark:
|
|
237
|
+
return RNSBlurEffectStyleSystemMaterialDark;
|
|
238
|
+
case SystemThickMaterialDark:
|
|
239
|
+
return RNSBlurEffectStyleSystemThickMaterialDark;
|
|
240
|
+
case SystemChromeMaterialDark:
|
|
241
|
+
return RNSBlurEffectStyleSystemChromeMaterialDark;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
#endif
|
|
245
|
+
|
|
246
|
+
switch (blurEffect) {
|
|
247
|
+
case None:
|
|
248
|
+
return RNSBlurEffectStyleNone;
|
|
249
|
+
case Light:
|
|
250
|
+
return RNSBlurEffectStyleLight;
|
|
251
|
+
case Dark:
|
|
252
|
+
return RNSBlurEffectStyleDark;
|
|
253
|
+
case Regular:
|
|
254
|
+
return RNSBlurEffectStyleRegular;
|
|
255
|
+
case Prominent:
|
|
256
|
+
return RNSBlurEffectStyleProminent;
|
|
257
|
+
case ExtraLight:
|
|
258
|
+
default:
|
|
259
|
+
return RNSBlurEffectStyleNone;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
153
264
|
|
|
265
|
+
+ (UIBlurEffectStyle)tryConvertRNSBlurEffectStyleToUIBlurEffectStyle:(RNSBlurEffectStyle)blurEffect
|
|
266
|
+
{
|
|
267
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
268
|
+
react_native_assert(blurEffect != RNSBlurEffectStyleNone);
|
|
269
|
+
#else
|
|
270
|
+
RCTAssert(
|
|
271
|
+
blurEffect != RNSBlurEffectStyleNone, @"RNSBlurEffectStyleNone variant is not convertible to UIBlurEffectStyle");
|
|
154
272
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
273
|
+
|
|
274
|
+
// Cast safety: RNSBlurEffectStyle is defined in such way that its values map 1:1 with
|
|
275
|
+
// UIBlurEffectStyle, except RNSBlurEffectStyleNone which is excluded above.
|
|
276
|
+
return (UIBlurEffectStyle)blurEffect;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
@end
|