@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
|
@@ -18,15 +18,13 @@ function useBackPressSubscription({
|
|
|
18
18
|
const [isActive, setIsActive] = _react.default.useState(false);
|
|
19
19
|
const subscription = _react.default.useRef();
|
|
20
20
|
const clearSubscription = _react.default.useCallback((shouldSetActive = true) => {
|
|
21
|
-
|
|
22
|
-
(_subscription$current = subscription.current) === null || _subscription$current === void 0 || _subscription$current.remove();
|
|
21
|
+
subscription.current?.remove();
|
|
23
22
|
subscription.current = undefined;
|
|
24
23
|
if (shouldSetActive) setIsActive(false);
|
|
25
24
|
}, []);
|
|
26
25
|
const createSubscription = _react.default.useCallback(() => {
|
|
27
26
|
if (!isDisabled) {
|
|
28
|
-
|
|
29
|
-
(_subscription$current2 = subscription.current) === null || _subscription$current2 === void 0 || _subscription$current2.remove();
|
|
27
|
+
subscription.current?.remove();
|
|
30
28
|
subscription.current = _reactNative.BackHandler.addEventListener('hardwareBackPress', onBackPress);
|
|
31
29
|
setIsActive(true);
|
|
32
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","useBackPressSubscription","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","shouldSetActive","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","useBackPressSubscription","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","shouldSetActive","current","remove","undefined","createSubscription","BackHandler","addEventListener","handleAttached","handleDetached","useEffect"],"sourceRoot":"../../../../src","sources":["native-stack/utils/useBackPressSubscription.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcpE;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAC;EACvCC,WAAW;EACXC;AACI,CAAC,EAA4B;EACjC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGF,cAAK,CAACG,MAAM,CAAsC,CAAC;EAExE,MAAMC,iBAAiB,GAAGJ,cAAK,CAACK,WAAW,CAAC,CAACC,eAAe,GAAG,IAAI,KAAK;IACtEJ,YAAY,CAACK,OAAO,EAAEC,MAAM,CAAC,CAAC;IAC9BN,YAAY,CAACK,OAAO,GAAGE,SAAS;IAChC,IAAIH,eAAe,EAAEP,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMW,kBAAkB,GAAGV,cAAK,CAACK,WAAW,CAAC,MAAM;IACjD,IAAI,CAACR,UAAU,EAAE;MACfK,YAAY,CAACK,OAAO,EAAEC,MAAM,CAAC,CAAC;MAC9BN,YAAY,CAACK,OAAO,GAAGI,wBAAW,CAACC,gBAAgB,CACjD,mBAAmB,EACnBhB,WACF,CAAC;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMiB,cAAc,GAAGb,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7C,IAAIP,QAAQ,EAAE;MACZY,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEZ,QAAQ,CAAC,CAAC;EAElC,MAAMgB,cAAc,GAAGd,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBJ,cAAK,CAACe,SAAS,CAAC,MAAM;IACpB,IAAIlB,UAAU,EAAE;MACdO,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAACP,UAAU,EAAEO,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLS,cAAc;IACdC,cAAc;IACdJ,kBAAkB;IAClBN;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"sourceRoot":"../../../../src","sources":["native-stack/utils/useHeaderHeight.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAEzC,SAASW,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAG1B,KAAK,CAAC2B,UAAU,CAACC,4BAAmB,CAAC;EAEpD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOJ,MAAM;AACf","ignoreList":[]}
|
|
@@ -7,12 +7,10 @@ exports.processFonts = processFonts;
|
|
|
7
7
|
var _ReactNativeStyleAttributes = _interopRequireDefault(require("react-native/Libraries/Components/View/ReactNativeStyleAttributes"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
// @ts-ignore: No declaration available
|
|
10
|
-
// eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace
|
|
11
10
|
|
|
12
11
|
function processFonts(fontFamilies) {
|
|
13
|
-
var _ReactNativeStyleAttr;
|
|
14
12
|
// @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
|
|
15
|
-
const fontFamilyProcessor =
|
|
13
|
+
const fontFamilyProcessor = _ReactNativeStyleAttributes.default.fontFamily?.process;
|
|
16
14
|
if (typeof fontFamilyProcessor === 'function') {
|
|
17
15
|
return fontFamilies.map(fontFamilyProcessor);
|
|
18
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ReactNativeStyleAttributes","_interopRequireDefault","require","e","__esModule","default","processFonts","fontFamilies","
|
|
1
|
+
{"version":3,"names":["_ReactNativeStyleAttributes","_interopRequireDefault","require","e","__esModule","default","processFonts","fontFamilies","fontFamilyProcessor","ReactNativeStyleAttributes","fontFamily","process","map"],"sourceRoot":"../../../../src","sources":["native-stack/views/FontProcessor.tsx"],"mappings":";;;;;;AAEA,IAAAA,2BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2G,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF3G;;AAIO,SAASG,YAAYA,CAC1BC,YAAoC,EACZ;EACxB;EACA,MAAMC,mBAAmB,GAAGC,mCAA0B,CAACC,UAAU,EAAEC,OAAO;EAC1E,IAAI,OAAOH,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACK,GAAG,CAACJ,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FooterComponent;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _ScreenFooter = _interopRequireDefault(require("../../components/ScreenFooter"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function FooterComponent({
|
|
11
|
+
children
|
|
12
|
+
}) {
|
|
13
|
+
return /*#__PURE__*/_react.default.createElement(_ScreenFooter.default, {
|
|
14
|
+
collapsable: false
|
|
15
|
+
}, children);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=FooterComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ScreenFooter","e","__esModule","default","FooterComponent","children","createElement","collapsable"],"sourceRoot":"../../../../src","sources":["native-stack/views/FooterComponent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM1C,SAASG,eAAeA,CAAC;EAAEC;AAAsB,CAAC,EAAE;EACjE,oBAAOR,MAAA,CAAAM,OAAA,CAAAG,aAAA,CAACN,aAAA,CAAAG,OAAY;IAACI,WAAW,EAAE;EAAM,GAAEF,QAAuB,CAAC;AACpE","ignoreList":[]}
|
|
@@ -7,9 +7,13 @@ exports.default = HeaderConfig;
|
|
|
7
7
|
var _reactNavigation__native = require("@amazon-devices/react-navigation__native");
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
|
-
var
|
|
10
|
+
var _utils = require("../../utils");
|
|
11
|
+
var _ScreenStackHeaderConfig = require("../../components/ScreenStackHeaderConfig");
|
|
12
|
+
var _SearchBar = _interopRequireDefault(require("../../components/SearchBar"));
|
|
11
13
|
var _useBackPressSubscription = require("../utils/useBackPressSubscription");
|
|
12
14
|
var _FontProcessor = require("./FontProcessor");
|
|
15
|
+
var _warnOnce = _interopRequireDefault(require("warn-once"));
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
19
|
/*
|
|
@@ -32,6 +36,7 @@ function HeaderConfig({
|
|
|
32
36
|
backButtonInCustomView,
|
|
33
37
|
direction,
|
|
34
38
|
disableBackButtonMenu,
|
|
39
|
+
backButtonDisplayMode = 'default',
|
|
35
40
|
headerBackTitle,
|
|
36
41
|
headerBackTitleStyle = {},
|
|
37
42
|
headerBackTitleVisible = true,
|
|
@@ -58,7 +63,7 @@ function HeaderConfig({
|
|
|
58
63
|
const {
|
|
59
64
|
colors
|
|
60
65
|
} = (0, _reactNavigation__native.useTheme)();
|
|
61
|
-
const tintColor = headerTintColor
|
|
66
|
+
const tintColor = headerTintColor ?? colors.primary;
|
|
62
67
|
|
|
63
68
|
// We need to use back press subscription here to override back button behavior on JS side.
|
|
64
69
|
// Because screens are usually used with react-navigation and this library overrides back button
|
|
@@ -69,7 +74,7 @@ function HeaderConfig({
|
|
|
69
74
|
clearSubscription,
|
|
70
75
|
createSubscription
|
|
71
76
|
} = (0, _useBackPressSubscription.useBackPressSubscription)({
|
|
72
|
-
onBackPress:
|
|
77
|
+
onBackPress: _utils.executeNativeBackPress,
|
|
73
78
|
isDisabled: !searchBar || !!searchBar.disableBackButtonOverride
|
|
74
79
|
});
|
|
75
80
|
const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] = (0, _FontProcessor.processFonts)([headerBackTitleStyle.fontFamily, headerLargeTitleStyle.fontFamily, headerTitleStyle.fontFamily]);
|
|
@@ -80,14 +85,12 @@ function HeaderConfig({
|
|
|
80
85
|
const processedSearchBarOptions = React.useMemo(() => {
|
|
81
86
|
if (_reactNative.Platform.OS === 'android' && searchBar && !searchBar.disableBackButtonOverride) {
|
|
82
87
|
const onFocus = (...args) => {
|
|
83
|
-
var _searchBar$onFocus;
|
|
84
88
|
createSubscription();
|
|
85
|
-
|
|
89
|
+
searchBar.onFocus?.(...args);
|
|
86
90
|
};
|
|
87
91
|
const onClose = (...args) => {
|
|
88
|
-
var _searchBar$onClose;
|
|
89
92
|
clearSubscription();
|
|
90
|
-
|
|
93
|
+
searchBar.onClose?.(...args);
|
|
91
94
|
};
|
|
92
95
|
return {
|
|
93
96
|
...searchBar,
|
|
@@ -97,7 +100,11 @@ function HeaderConfig({
|
|
|
97
100
|
}
|
|
98
101
|
return searchBar;
|
|
99
102
|
}, [searchBar, createSubscription, clearSubscription]);
|
|
100
|
-
|
|
103
|
+
|
|
104
|
+
// @ts-ignore isVision is not yet in the type definitions (RN 0.74+)
|
|
105
|
+
const isVisionOS = _reactNative.Platform?.isVision;
|
|
106
|
+
(0, _warnOnce.default)(isVisionOS && (headerTitleStyle.color !== undefined || headerTintColor !== undefined), 'headerTitleStyle.color and headerTintColor are not supported on visionOS.');
|
|
107
|
+
return /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderConfig, {
|
|
101
108
|
backButtonInCustomView: backButtonInCustomView,
|
|
102
109
|
backgroundColor: headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card,
|
|
103
110
|
backTitle: headerBackTitle,
|
|
@@ -108,6 +115,7 @@ function HeaderConfig({
|
|
|
108
115
|
color: tintColor,
|
|
109
116
|
direction: direction,
|
|
110
117
|
disableBackButtonMenu: disableBackButtonMenu,
|
|
118
|
+
backButtonDisplayMode: backButtonDisplayMode,
|
|
111
119
|
hidden: headerShown === false,
|
|
112
120
|
hideBackButton: headerHideBackButton,
|
|
113
121
|
hideShadow: headerHideShadow,
|
|
@@ -127,15 +135,15 @@ function HeaderConfig({
|
|
|
127
135
|
translucent: headerTranslucent === true,
|
|
128
136
|
onAttached: handleAttached,
|
|
129
137
|
onDetached: handleDetached
|
|
130
|
-
}, headerRight !== undefined ? /*#__PURE__*/React.createElement(
|
|
138
|
+
}, headerRight !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderRightView, null, headerRight({
|
|
131
139
|
tintColor
|
|
132
|
-
})) : null, backButtonImage !== undefined ? /*#__PURE__*/React.createElement(
|
|
140
|
+
})) : null, backButtonImage !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderBackButtonImage, {
|
|
133
141
|
key: "backImage",
|
|
134
142
|
source: backButtonImage
|
|
135
|
-
}) : null, headerLeft !== undefined ? /*#__PURE__*/React.createElement(
|
|
143
|
+
}) : null, headerLeft !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderLeftView, null, headerLeft({
|
|
136
144
|
tintColor
|
|
137
|
-
})) : null, headerCenter !== undefined ? /*#__PURE__*/React.createElement(
|
|
145
|
+
})) : null, headerCenter !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderCenterView, null, headerCenter({
|
|
138
146
|
tintColor
|
|
139
|
-
})) : null,
|
|
147
|
+
})) : null, _utils.isSearchBarAvailableForCurrentPlatform && processedSearchBarOptions !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(_SearchBar.default, processedSearchBarOptions)) : null);
|
|
140
148
|
}
|
|
141
149
|
//# sourceMappingURL=HeaderConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNavigation__native","require","React","_interopRequireWildcard","_reactNative","_reactNativeScreens","_useBackPressSubscription","_FontProcessor","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeaderConfig","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","useTheme","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","useBackPressSubscription","onBackPress","executeNativeBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","processFonts","fontFamily","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","_searchBar$onFocus","onClose","_searchBar$onClose","createElement","ScreenStackHeaderConfig","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","color","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","undefined","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","ScreenStackHeaderRightView","ScreenStackHeaderBackButtonImage","key","source","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderSearchBarView","SearchBar"],"sources":["HeaderConfig.tsx"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n// amznmod_react - change imports to kepler packages\nimport { Route, useTheme } from '@amazon-devices/react-navigation__native';\nimport * as React from 'react';\nimport { Platform } from 'react-native';\nimport {\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n SearchBarProps,\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from '@amazon-devices/react-native-screens';\nimport { NativeStackNavigationOptions } from '../types';\nimport { useBackPressSubscription } from '../utils/useBackPressSubscription';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n route: Route<string>;\n};\n\nexport default function HeaderConfig({\n backButtonImage,\n backButtonInCustomView,\n direction,\n disableBackButtonMenu,\n headerBackTitle,\n headerBackTitleStyle = {},\n headerBackTitleVisible = true,\n headerCenter,\n headerHideBackButton,\n headerHideShadow,\n headerLargeStyle = {},\n headerLargeTitle,\n headerLargeTitleHideShadow,\n headerLargeTitleStyle = {},\n headerLeft,\n headerRight,\n headerShown,\n headerStyle = {},\n headerTintColor,\n headerTitle,\n headerTitleStyle = {},\n headerTopInsetEnabled = true,\n headerTranslucent,\n route,\n searchBar,\n title,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor = headerTintColor ?? colors.primary;\n\n // We need to use back press subscription here to override back button behavior on JS side.\n // Because screens are usually used with react-navigation and this library overrides back button\n // we need to handle it first in case when search bar is open\n const {\n handleAttached,\n handleDetached,\n clearSubscription,\n createSubscription,\n } = useBackPressSubscription({\n onBackPress: executeNativeBackPress,\n isDisabled: !searchBar || !!searchBar.disableBackButtonOverride,\n });\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyle.fontFamily,\n headerLargeTitleStyle.fontFamily,\n headerTitleStyle.fontFamily,\n ]);\n\n // We want to clear clearSubscription only when components unmounts or search bar changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(() => clearSubscription, [searchBar]);\n\n const processedSearchBarOptions = React.useMemo(() => {\n if (\n Platform.OS === 'android' &&\n searchBar &&\n !searchBar.disableBackButtonOverride\n ) {\n const onFocus: SearchBarProps['onFocus'] = (...args) => {\n createSubscription();\n searchBar.onFocus?.(...args);\n };\n const onClose: SearchBarProps['onClose'] = (...args) => {\n clearSubscription();\n searchBar.onClose?.(...args);\n };\n\n return { ...searchBar, onFocus, onClose };\n }\n return searchBar;\n }, [searchBar, createSubscription, clearSubscription]);\n\n return (\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card\n }\n backTitle={headerBackTitle}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\n backTitleVisible={headerBackTitleVisible}\n blurEffect={headerStyle.blurEffect}\n color={tintColor}\n direction={direction}\n disableBackButtonMenu={disableBackButtonMenu}\n hidden={headerShown === false}\n hideBackButton={headerHideBackButton}\n hideShadow={headerHideShadow}\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyle.backgroundColor}\n largeTitleColor={headerLargeTitleStyle.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyle.fontSize}\n largeTitleFontWeight={headerLargeTitleStyle.fontWeight}\n largeTitleHideShadow={headerLargeTitleHideShadow}\n title={\n headerTitle !== undefined\n ? headerTitle\n : title !== undefined\n ? title\n : route.name\n }\n titleColor={\n headerTitleStyle.color !== undefined\n ? headerTitleStyle.color\n : headerTintColor !== undefined\n ? headerTintColor\n : colors.text\n }\n titleFontFamily={titleFontFamily}\n titleFontSize={headerTitleStyle.fontSize}\n titleFontWeight={headerTitleStyle.fontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={headerTranslucent === true}\n onAttached={handleAttached}\n onDetached={handleDetached}>\n {headerRight !== undefined ? (\n <ScreenStackHeaderRightView>\n {headerRight({ tintColor })}\n </ScreenStackHeaderRightView>\n ) : null}\n {backButtonImage !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n key=\"backImage\"\n source={backButtonImage}\n />\n ) : null}\n {headerLeft !== undefined ? (\n <ScreenStackHeaderLeftView>\n {headerLeft({ tintColor })}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerCenter !== undefined ? (\n <ScreenStackHeaderCenterView>\n {headerCenter({ tintColor })}\n </ScreenStackHeaderCenterView>\n ) : null}\n {isSearchBarAvailableForCurrentPlatform &&\n processedSearchBarOptions !== undefined ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...processedSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNavigation__native","require","React","_interopRequireWildcard","_reactNative","_utils","_ScreenStackHeaderConfig","_SearchBar","_interopRequireDefault","_useBackPressSubscription","_FontProcessor","_warnOnce","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeaderConfig","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","backButtonDisplayMode","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","useTheme","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","useBackPressSubscription","onBackPress","executeNativeBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","processFonts","fontFamily","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","onClose","isVisionOS","isVision","warnOnce","color","undefined","createElement","ScreenStackHeaderConfig","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","ScreenStackHeaderRightView","ScreenStackHeaderBackButtonImage","key","source","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderSearchBarView"],"sourceRoot":"../../../../src","sources":["native-stack/views/HeaderConfig.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,14 +8,18 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _AppContainer = _interopRequireDefault(require("react-native/Libraries/ReactNative/AppContainer"));
|
|
10
10
|
var _warnOnce = _interopRequireDefault(require("warn-once"));
|
|
11
|
-
var
|
|
11
|
+
var _ScreenStack = _interopRequireDefault(require("../../components/ScreenStack"));
|
|
12
|
+
var _ScreenContentWrapper = _interopRequireDefault(require("../../components/ScreenContentWrapper"));
|
|
13
|
+
var _Screen = require("../../components/Screen");
|
|
12
14
|
var _reactNavigation__native = require("@amazon-devices/react-navigation__native");
|
|
13
15
|
var _reactNativeSafeAreaContext = require("@amazon-devices/react-native-safe-area-context");
|
|
14
16
|
var _HeaderConfig = _interopRequireDefault(require("./HeaderConfig"));
|
|
15
17
|
var _SafeAreaProviderCompat = _interopRequireDefault(require("../utils/SafeAreaProviderCompat"));
|
|
16
18
|
var _getDefaultHeaderHeight = _interopRequireDefault(require("../utils/getDefaultHeaderHeight"));
|
|
19
|
+
var _getStatusBarHeight = _interopRequireDefault(require("../utils/getStatusBarHeight"));
|
|
17
20
|
var _HeaderHeightContext = _interopRequireDefault(require("../utils/HeaderHeightContext"));
|
|
18
21
|
var _AnimatedHeaderHeightContext = _interopRequireDefault(require("../utils/AnimatedHeaderHeightContext"));
|
|
22
|
+
var _FooterComponent = _interopRequireDefault(require("./FooterComponent"));
|
|
19
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -28,20 +32,22 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
28
32
|
*/ /*
|
|
29
33
|
* Changelog:
|
|
30
34
|
* Set up react-native-screens package to build for Kepler
|
|
31
|
-
*/ // @ts-ignore Getting private component
|
|
32
|
-
// eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace
|
|
35
|
+
*/ /* eslint-disable camelcase */ // @ts-ignore Getting private component
|
|
33
36
|
const isAndroid = _reactNative.Platform.OS === 'android';
|
|
34
|
-
|
|
37
|
+
// amznmod_react - add isKepler flag
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
const isKepler = _reactNative.Platform.OS === 'kepler';
|
|
40
|
+
let Container = _ScreenContentWrapper.default;
|
|
35
41
|
if (__DEV__) {
|
|
36
42
|
const DebugContainer = props => {
|
|
37
43
|
const {
|
|
38
44
|
stackPresentation,
|
|
39
45
|
...rest
|
|
40
46
|
} = props;
|
|
41
|
-
if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push') {
|
|
42
|
-
return /*#__PURE__*/React.createElement(_AppContainer.default, null, /*#__PURE__*/React.createElement(
|
|
47
|
+
if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push' && stackPresentation !== 'formSheet') {
|
|
48
|
+
return /*#__PURE__*/React.createElement(_AppContainer.default, null, /*#__PURE__*/React.createElement(_ScreenContentWrapper.default, rest));
|
|
43
49
|
}
|
|
44
|
-
return /*#__PURE__*/React.createElement(
|
|
50
|
+
return /*#__PURE__*/React.createElement(_ScreenContentWrapper.default, rest);
|
|
45
51
|
};
|
|
46
52
|
// @ts-ignore Wrong props
|
|
47
53
|
Container = DebugContainer;
|
|
@@ -50,9 +56,9 @@ const MaybeNestedStack = ({
|
|
|
50
56
|
options,
|
|
51
57
|
route,
|
|
52
58
|
stackPresentation,
|
|
53
|
-
children
|
|
59
|
+
children,
|
|
60
|
+
internalScreenStyle
|
|
54
61
|
}) => {
|
|
55
|
-
var _options$statusBarTra, _options$headerLargeT;
|
|
56
62
|
const {
|
|
57
63
|
colors
|
|
58
64
|
} = (0, _reactNavigation__native.useTheme)();
|
|
@@ -60,15 +66,17 @@ const MaybeNestedStack = ({
|
|
|
60
66
|
headerShown = true,
|
|
61
67
|
contentStyle
|
|
62
68
|
} = options;
|
|
63
|
-
const Screen = React.useContext(
|
|
64
|
-
|
|
69
|
+
const Screen = React.useContext(_Screen.ScreenContext);
|
|
70
|
+
|
|
71
|
+
// amznmod_react - return false for Modal on kepler because native component is not implemented yet
|
|
72
|
+
const isHeaderInModal = isAndroid || isKepler ? false : stackPresentation !== 'push' && headerShown === true;
|
|
65
73
|
const headerShownPreviousRef = React.useRef(headerShown);
|
|
66
74
|
React.useEffect(() => {
|
|
67
75
|
(0, _warnOnce.default)(!isAndroid && stackPresentation !== 'push' && headerShownPreviousRef.current !== headerShown, `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`);
|
|
68
76
|
headerShownPreviousRef.current = headerShown;
|
|
69
77
|
}, [headerShown, stackPresentation, route.name]);
|
|
70
78
|
const content = /*#__PURE__*/React.createElement(Container, {
|
|
71
|
-
style: [styles.container, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
|
|
79
|
+
style: [stackPresentation === 'formSheet' ? _reactNative.Platform.OS === 'ios' ? styles.absoluteFillNoBottom : null : styles.container, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
|
|
72
80
|
backgroundColor: colors.background
|
|
73
81
|
}, contentStyle]
|
|
74
82
|
// @ts-ignore Wrong props passed to View
|
|
@@ -82,17 +90,18 @@ const MaybeNestedStack = ({
|
|
|
82
90
|
}, children);
|
|
83
91
|
const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
84
92
|
const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
|
|
85
|
-
const isStatusBarTranslucent =
|
|
86
|
-
const statusBarHeight =
|
|
87
|
-
const
|
|
88
|
-
const headerHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation,
|
|
93
|
+
const isStatusBarTranslucent = options.statusBarTranslucent ?? false;
|
|
94
|
+
const statusBarHeight = (0, _getStatusBarHeight.default)(topInset, dimensions, isStatusBarTranslucent);
|
|
95
|
+
const hasLargeHeader = options.headerLargeTitle ?? false;
|
|
96
|
+
const headerHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, hasLargeHeader);
|
|
89
97
|
if (isHeaderInModal) {
|
|
90
|
-
return /*#__PURE__*/React.createElement(
|
|
98
|
+
return /*#__PURE__*/React.createElement(_ScreenStack.default, {
|
|
91
99
|
style: styles.container
|
|
92
100
|
}, /*#__PURE__*/React.createElement(Screen, {
|
|
93
101
|
enabled: true,
|
|
94
102
|
isNativeStack: true,
|
|
95
|
-
|
|
103
|
+
hasLargeHeader: hasLargeHeader,
|
|
104
|
+
style: [_reactNative.StyleSheet.absoluteFill, internalScreenStyle]
|
|
96
105
|
}, /*#__PURE__*/React.createElement(_HeaderHeightContext.default.Provider, {
|
|
97
106
|
value: headerHeight
|
|
98
107
|
}, /*#__PURE__*/React.createElement(_HeaderConfig.default, _extends({}, options, {
|
|
@@ -106,25 +115,28 @@ const RouteView = ({
|
|
|
106
115
|
route,
|
|
107
116
|
index,
|
|
108
117
|
navigation,
|
|
109
|
-
stateKey
|
|
118
|
+
stateKey,
|
|
119
|
+
screensRefs
|
|
110
120
|
}) => {
|
|
111
|
-
var _options$statusBarTra2, _options$headerLargeT2;
|
|
112
121
|
const {
|
|
113
122
|
options,
|
|
114
123
|
render: renderScene
|
|
115
124
|
} = descriptors[route.key];
|
|
116
125
|
const {
|
|
126
|
+
fullScreenSwipeShadowEnabled = true,
|
|
117
127
|
gestureEnabled,
|
|
118
128
|
headerShown,
|
|
119
129
|
hideKeyboardOnSwipe,
|
|
120
130
|
homeIndicatorHidden,
|
|
121
|
-
|
|
122
|
-
sheetLargestUndimmedDetent = 'all',
|
|
131
|
+
sheetLargestUndimmedDetentIndex = 'none',
|
|
123
132
|
sheetGrabberVisible = false,
|
|
124
133
|
sheetCornerRadius = -1.0,
|
|
134
|
+
sheetElevation = 24,
|
|
125
135
|
sheetExpandsWhenScrolledToEdge = true,
|
|
136
|
+
sheetInitialDetentIndex = 0,
|
|
126
137
|
nativeBackButtonDismissalEnabled = false,
|
|
127
138
|
navigationBarColor,
|
|
139
|
+
navigationBarTranslucent,
|
|
128
140
|
navigationBarHidden,
|
|
129
141
|
replaceAnimation = 'pop',
|
|
130
142
|
screenOrientation,
|
|
@@ -135,15 +147,32 @@ const RouteView = ({
|
|
|
135
147
|
statusBarTranslucent,
|
|
136
148
|
swipeDirection = 'horizontal',
|
|
137
149
|
transitionDuration,
|
|
138
|
-
freezeOnBlur
|
|
150
|
+
freezeOnBlur,
|
|
151
|
+
unstable_sheetFooter = null,
|
|
152
|
+
contentStyle
|
|
139
153
|
} = options;
|
|
140
154
|
let {
|
|
155
|
+
sheetAllowedDetents = [1.0],
|
|
141
156
|
customAnimationOnSwipe,
|
|
142
157
|
fullScreenSwipeEnabled,
|
|
143
158
|
gestureResponseDistance,
|
|
144
159
|
stackAnimation,
|
|
145
160
|
stackPresentation = 'push'
|
|
146
161
|
} = options;
|
|
162
|
+
|
|
163
|
+
// We take backgroundColor from contentStyle and apply it on Screen.
|
|
164
|
+
// This allows to workaround one issue with truncated
|
|
165
|
+
// content with formSheet presentation.
|
|
166
|
+
let internalScreenStyle;
|
|
167
|
+
if (stackPresentation === 'formSheet' && contentStyle) {
|
|
168
|
+
const flattenContentStyles = _reactNative.StyleSheet.flatten(contentStyle);
|
|
169
|
+
internalScreenStyle = {
|
|
170
|
+
backgroundColor: flattenContentStyles?.backgroundColor
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
if (sheetAllowedDetents === 'fitToContents') {
|
|
174
|
+
sheetAllowedDetents = [-1];
|
|
175
|
+
}
|
|
147
176
|
if (swipeDirection === 'vertical') {
|
|
148
177
|
// for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`
|
|
149
178
|
// so the screen can be dismissed from any point on screen.
|
|
@@ -167,47 +196,61 @@ const RouteView = ({
|
|
|
167
196
|
}
|
|
168
197
|
const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
169
198
|
const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
|
|
170
|
-
const isStatusBarTranslucent =
|
|
171
|
-
const statusBarHeight =
|
|
172
|
-
const
|
|
173
|
-
const defaultHeaderHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation,
|
|
199
|
+
const isStatusBarTranslucent = options.statusBarTranslucent ?? false;
|
|
200
|
+
const statusBarHeight = (0, _getStatusBarHeight.default)(topInset, dimensions, isStatusBarTranslucent);
|
|
201
|
+
const hasLargeHeader = options.headerLargeTitle ?? false;
|
|
202
|
+
const defaultHeaderHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, hasLargeHeader);
|
|
174
203
|
const parentHeaderHeight = React.useContext(_HeaderHeightContext.default);
|
|
175
204
|
const isHeaderInPush = isAndroid ? headerShown : stackPresentation === 'push' && headerShown !== false;
|
|
176
|
-
const staticHeaderHeight = isHeaderInPush !== false ? defaultHeaderHeight : parentHeaderHeight
|
|
205
|
+
const staticHeaderHeight = isHeaderInPush !== false ? defaultHeaderHeight : parentHeaderHeight ?? 0;
|
|
177
206
|
|
|
178
207
|
// We need to ensure the first retrieved header height will be cached and set in animatedHeaderHeight.
|
|
179
208
|
// We're caching the header height here, as on iOS native side events are not always coming to the JS on first notify.
|
|
180
209
|
// TODO: Check why first event is not being received once it is cached on the native side.
|
|
181
|
-
const cachedAnimatedHeaderHeight = React.useRef(
|
|
210
|
+
const cachedAnimatedHeaderHeight = React.useRef(defaultHeaderHeight);
|
|
182
211
|
const animatedHeaderHeight = React.useRef(
|
|
183
212
|
// amznmod_react - change imports to kepler packages
|
|
184
213
|
// @ts-ignore
|
|
185
214
|
new _reactNative.Animated.Value(staticHeaderHeight, {
|
|
186
215
|
useNativeDriver: true
|
|
187
216
|
})).current;
|
|
188
|
-
const Screen = React.useContext(
|
|
217
|
+
const Screen = React.useContext(_Screen.ScreenContext);
|
|
189
218
|
const {
|
|
190
219
|
dark
|
|
191
220
|
} = (0, _reactNavigation__native.useTheme)();
|
|
221
|
+
const screenRef = React.useRef(null);
|
|
222
|
+
React.useEffect(() => {
|
|
223
|
+
screensRefs.current[route.key] = screenRef;
|
|
224
|
+
return () => {
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
226
|
+
delete screensRefs.current[route.key];
|
|
227
|
+
};
|
|
228
|
+
});
|
|
192
229
|
return /*#__PURE__*/React.createElement(Screen, {
|
|
193
230
|
key: route.key,
|
|
231
|
+
ref: screenRef,
|
|
194
232
|
enabled: true,
|
|
195
233
|
isNativeStack: true,
|
|
196
|
-
|
|
234
|
+
hasLargeHeader: hasLargeHeader,
|
|
235
|
+
style: [_reactNative.StyleSheet.absoluteFill, internalScreenStyle],
|
|
197
236
|
sheetAllowedDetents: sheetAllowedDetents,
|
|
198
|
-
|
|
237
|
+
sheetLargestUndimmedDetentIndex: sheetLargestUndimmedDetentIndex,
|
|
199
238
|
sheetGrabberVisible: sheetGrabberVisible,
|
|
239
|
+
sheetInitialDetentIndex: sheetInitialDetentIndex,
|
|
200
240
|
sheetCornerRadius: sheetCornerRadius,
|
|
241
|
+
sheetElevation: sheetElevation,
|
|
201
242
|
sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
|
|
202
243
|
customAnimationOnSwipe: customAnimationOnSwipe,
|
|
203
244
|
freezeOnBlur: freezeOnBlur,
|
|
204
245
|
fullScreenSwipeEnabled: fullScreenSwipeEnabled,
|
|
246
|
+
fullScreenSwipeShadowEnabled: fullScreenSwipeShadowEnabled,
|
|
205
247
|
hideKeyboardOnSwipe: hideKeyboardOnSwipe,
|
|
206
248
|
homeIndicatorHidden: homeIndicatorHidden,
|
|
207
249
|
gestureEnabled: isAndroid ? false : gestureEnabled,
|
|
208
250
|
gestureResponseDistance: gestureResponseDistance,
|
|
209
251
|
nativeBackButtonDismissalEnabled: nativeBackButtonDismissalEnabled,
|
|
210
252
|
navigationBarColor: navigationBarColor,
|
|
253
|
+
navigationBarTranslucent: navigationBarTranslucent,
|
|
211
254
|
navigationBarHidden: navigationBarHidden,
|
|
212
255
|
replaceAnimation: replaceAnimation,
|
|
213
256
|
screenOrientation: screenOrientation,
|
|
@@ -216,7 +259,7 @@ const RouteView = ({
|
|
|
216
259
|
statusBarAnimation: statusBarAnimation,
|
|
217
260
|
statusBarColor: statusBarColor,
|
|
218
261
|
statusBarHidden: statusBarHidden,
|
|
219
|
-
statusBarStyle: statusBarStyle
|
|
262
|
+
statusBarStyle: statusBarStyle ?? (dark ? 'light' : 'dark'),
|
|
220
263
|
statusBarTranslucent: statusBarTranslucent,
|
|
221
264
|
swipeDirection: swipeDirection,
|
|
222
265
|
transitionDuration: transitionDuration,
|
|
@@ -290,6 +333,16 @@ const RouteView = ({
|
|
|
290
333
|
target: stateKey
|
|
291
334
|
});
|
|
292
335
|
},
|
|
336
|
+
onSheetDetentChanged: e => {
|
|
337
|
+
navigation.emit({
|
|
338
|
+
type: 'sheetDetentChange',
|
|
339
|
+
target: route.key,
|
|
340
|
+
data: {
|
|
341
|
+
index: e.nativeEvent.index,
|
|
342
|
+
isStable: e.nativeEvent.isStable
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
},
|
|
293
346
|
onGestureCancel: () => {
|
|
294
347
|
navigation.emit({
|
|
295
348
|
type: 'gestureCancel',
|
|
@@ -303,11 +356,12 @@ const RouteView = ({
|
|
|
303
356
|
}, /*#__PURE__*/React.createElement(MaybeNestedStack, {
|
|
304
357
|
options: options,
|
|
305
358
|
route: route,
|
|
306
|
-
stackPresentation: stackPresentation
|
|
359
|
+
stackPresentation: stackPresentation,
|
|
360
|
+
internalScreenStyle: internalScreenStyle
|
|
307
361
|
}, renderScene()), /*#__PURE__*/React.createElement(_HeaderConfig.default, _extends({}, options, {
|
|
308
362
|
route: route,
|
|
309
363
|
headerShown: isHeaderInPush
|
|
310
|
-
})))));
|
|
364
|
+
})), stackPresentation === 'formSheet' && unstable_sheetFooter && /*#__PURE__*/React.createElement(_FooterComponent.default, null, unstable_sheetFooter()))));
|
|
311
365
|
};
|
|
312
366
|
function NativeStackViewInner({
|
|
313
367
|
state,
|
|
@@ -318,37 +372,49 @@ function NativeStackViewInner({
|
|
|
318
372
|
key,
|
|
319
373
|
routes
|
|
320
374
|
} = state;
|
|
321
|
-
|
|
322
|
-
|
|
375
|
+
const currentRouteKey = routes[state.index].key;
|
|
376
|
+
const {
|
|
377
|
+
goBackGesture,
|
|
378
|
+
transitionAnimation,
|
|
379
|
+
screenEdgeGesture
|
|
380
|
+
} = descriptors[currentRouteKey].options;
|
|
381
|
+
const screensRefs = React.useRef({});
|
|
382
|
+
return /*#__PURE__*/React.createElement(_ScreenStack.default, {
|
|
383
|
+
style: styles.container,
|
|
384
|
+
goBackGesture: goBackGesture,
|
|
385
|
+
transitionAnimation: transitionAnimation,
|
|
386
|
+
screenEdgeGesture: screenEdgeGesture ?? false,
|
|
387
|
+
screensRefs: screensRefs,
|
|
388
|
+
currentScreenId: currentRouteKey
|
|
323
389
|
}, routes.map((route, index) => /*#__PURE__*/React.createElement(RouteView, {
|
|
324
390
|
key: route.key,
|
|
325
391
|
descriptors: descriptors,
|
|
326
392
|
route: route,
|
|
327
393
|
index: index,
|
|
328
394
|
navigation: navigation,
|
|
329
|
-
stateKey: key
|
|
395
|
+
stateKey: key,
|
|
396
|
+
screensRefs: screensRefs
|
|
330
397
|
})));
|
|
331
398
|
}
|
|
332
399
|
function NativeStackView(props) {
|
|
333
400
|
return /*#__PURE__*/React.createElement(_SafeAreaProviderCompat.default, null, /*#__PURE__*/React.createElement(NativeStackViewInner, props));
|
|
334
401
|
}
|
|
335
|
-
function getStatusBarHeight(topInset, dimensions, isStatusBarTranslucent) {
|
|
336
|
-
if (_reactNative.Platform.OS === 'ios') {
|
|
337
|
-
// It looks like some iOS devices don't have strictly set status bar height to 44.
|
|
338
|
-
// Thus, if the top inset is higher than 50, then the device should have a dynamic island.
|
|
339
|
-
// On models with Dynamic Island the status bar height is smaller than the safe area top inset by 5 pixels.
|
|
340
|
-
// See https://developer.apple.com/forums/thread/662466 for more details about status bar height.
|
|
341
|
-
const hasDynamicIsland = topInset > 50;
|
|
342
|
-
return hasDynamicIsland ? topInset - 5 : topInset;
|
|
343
|
-
} else if (_reactNative.Platform.OS === 'android') {
|
|
344
|
-
// On Android we should also rely on frame's y-axis position, as topInset is 0 on visible status bar.
|
|
345
|
-
return isStatusBarTranslucent ? topInset : dimensions.y;
|
|
346
|
-
}
|
|
347
|
-
return topInset;
|
|
348
|
-
}
|
|
349
402
|
const styles = _reactNative.StyleSheet.create({
|
|
350
403
|
container: {
|
|
351
404
|
flex: 1
|
|
405
|
+
},
|
|
406
|
+
absoluteFill: {
|
|
407
|
+
position: 'absolute',
|
|
408
|
+
top: 0,
|
|
409
|
+
left: 0,
|
|
410
|
+
right: 0,
|
|
411
|
+
bottom: 0
|
|
412
|
+
},
|
|
413
|
+
absoluteFillNoBottom: {
|
|
414
|
+
position: 'absolute',
|
|
415
|
+
top: 0,
|
|
416
|
+
left: 0,
|
|
417
|
+
right: 0
|
|
352
418
|
}
|
|
353
419
|
});
|
|
354
420
|
//# sourceMappingURL=NativeStackView.js.map
|