react-native-screens 3.18.2 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +30 -38
  2. package/android/build.gradle +1 -5
  3. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +10 -0
  4. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +15 -0
  5. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +5 -0
  6. package/ios/RNSConvert.h +6 -0
  7. package/ios/RNSConvert.mm +26 -0
  8. package/ios/RNSEnums.h +6 -0
  9. package/ios/RNSFullWindowOverlay.mm +32 -0
  10. package/ios/RNSScreen.h +10 -2
  11. package/ios/RNSScreen.mm +133 -2
  12. package/ios/RNSScreenStackHeaderConfig.mm +17 -1
  13. package/lib/commonjs/TransitionProgressContext.js +2 -7
  14. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  15. package/lib/commonjs/createNativeStackNavigator.js +29 -76
  16. package/lib/commonjs/createNativeStackNavigator.js.map +1 -1
  17. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +0 -5
  18. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  19. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +0 -5
  20. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  21. package/lib/commonjs/fabric/ScreenNativeComponent.js +0 -5
  22. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  23. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +0 -5
  24. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  25. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +2 -10
  26. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  27. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +2 -10
  28. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  29. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +0 -5
  30. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  31. package/lib/commonjs/fabric/SearchBarNativeComponent.js +0 -7
  32. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  33. package/lib/commonjs/index.js +21 -45
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/index.native.js +43 -103
  36. package/lib/commonjs/index.native.js.map +1 -1
  37. package/lib/commonjs/native-stack/index.js +6 -11
  38. package/lib/commonjs/native-stack/index.js.map +1 -1
  39. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +18 -25
  40. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  41. package/lib/commonjs/native-stack/types.js +4 -0
  42. package/lib/commonjs/native-stack/types.js.map +1 -1
  43. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js +2 -6
  44. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  45. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js +11 -19
  46. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  47. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js +0 -7
  48. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  49. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +7 -18
  50. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  51. package/lib/commonjs/native-stack/utils/useHeaderHeight.js +2 -10
  52. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  53. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -6
  54. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  55. package/lib/commonjs/native-stack/views/HeaderConfig.js +46 -50
  56. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  57. package/lib/commonjs/native-stack/views/NativeStackView.js +32 -58
  58. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  59. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +11 -21
  60. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  61. package/lib/commonjs/reanimated/ReanimatedScreen.js +3 -10
  62. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  63. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +3 -19
  64. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  65. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +2 -7
  66. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  67. package/lib/commonjs/reanimated/index.js +0 -3
  68. package/lib/commonjs/reanimated/index.js.map +1 -1
  69. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js +2 -10
  70. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  71. package/lib/commonjs/types.js +4 -0
  72. package/lib/commonjs/types.js.map +1 -1
  73. package/lib/commonjs/useTransitionProgress.js +2 -10
  74. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  75. package/lib/commonjs/utils.js +0 -4
  76. package/lib/commonjs/utils.js.map +1 -1
  77. package/lib/module/TransitionProgressContext.js.map +1 -1
  78. package/lib/module/createNativeStackNavigator.js +29 -67
  79. package/lib/module/createNativeStackNavigator.js.map +1 -1
  80. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +0 -1
  81. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  82. package/lib/module/fabric/ScreenContainerNativeComponent.js +0 -1
  83. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  84. package/lib/module/fabric/ScreenNativeComponent.js +0 -1
  85. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  86. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +0 -1
  87. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  88. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +0 -1
  89. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  90. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +0 -1
  91. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  92. package/lib/module/fabric/ScreenStackNativeComponent.js +0 -1
  93. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  94. package/lib/module/fabric/SearchBarNativeComponent.js +0 -1
  95. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  96. package/lib/module/index.js +13 -11
  97. package/lib/module/index.js.map +1 -1
  98. package/lib/module/index.native.js +45 -93
  99. package/lib/module/index.native.js.map +1 -1
  100. package/lib/module/native-stack/index.js +3 -2
  101. package/lib/module/native-stack/index.js.map +1 -1
  102. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +16 -16
  103. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  104. package/lib/module/native-stack/types.js +1 -1
  105. package/lib/module/native-stack/types.js.map +1 -1
  106. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  107. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js +8 -7
  108. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  109. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js +0 -4
  110. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  111. package/lib/module/native-stack/utils/useBackPressSubscription.js +7 -8
  112. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  113. package/lib/module/native-stack/utils/useHeaderHeight.js +0 -2
  114. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  115. package/lib/module/native-stack/views/FontProcessor.js +0 -3
  116. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  117. package/lib/module/native-stack/views/HeaderConfig.js +44 -39
  118. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  119. package/lib/module/native-stack/views/NativeStackView.js +32 -42
  120. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  121. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +12 -9
  122. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  123. package/lib/module/reanimated/ReanimatedScreen.js +5 -4
  124. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  125. package/lib/module/reanimated/ReanimatedScreenProvider.js +3 -14
  126. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  127. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js +2 -1
  128. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  129. package/lib/module/reanimated/index.js.map +1 -1
  130. package/lib/module/reanimated/useReanimatedTransitionProgress.js +0 -2
  131. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  132. package/lib/module/types.js +1 -1
  133. package/lib/module/types.js.map +1 -1
  134. package/lib/module/useTransitionProgress.js +0 -2
  135. package/lib/module/useTransitionProgress.js.map +1 -1
  136. package/lib/module/utils.js.map +1 -1
  137. package/lib/typescript/index.d.ts +4 -2
  138. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -0
  139. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +1 -0
  140. package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -0
  141. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +1 -1
  142. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +1 -1
  143. package/lib/typescript/types.d.ts +1 -0
  144. package/package.json +9 -1
  145. package/src/createNativeStackNavigator.tsx +4 -2
  146. package/src/fabric/ScreenNativeComponent.js +7 -0
  147. package/src/index.native.tsx +32 -16
  148. package/src/index.tsx +13 -8
  149. package/src/native-stack/types.tsx +4 -5
  150. package/src/native-stack/views/HeaderConfig.tsx +8 -10
  151. package/src/native-stack/views/NativeStackView.tsx +8 -4
  152. package/src/reanimated/ReanimatedNativeStackScreen.tsx +5 -3
  153. package/src/reanimated/ReanimatedScreen.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["HeaderConfig.tsx"],"names":["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","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","onBackPress","executeNativeBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","React","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","onClose","backgroundColor","card","fontSize","blurEffect","color","fontWeight","undefined","name","text","isSearchBarAvailableForCurrentPlatform"],"mappings":"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","sourcesContent":["import { Route, useTheme } from '@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 '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 [\n backTitleFontFamily,\n largeTitleFontFamily,\n 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 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={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\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"]}
1
+ {"version":3,"names":["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","React","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","onClose","backgroundColor","card","fontSize","blurEffect","color","fontWeight","undefined","name","text","isSearchBarAvailableForCurrentPlatform"],"sources":["HeaderConfig.tsx"],"sourcesContent":["import { Route, useTheme } from '@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 '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 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={headerBackTitleVisible ? headerBackTitle : ' '}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\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 >\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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"}
@@ -4,64 +4,44 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = NativeStackView;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _AppContainer = _interopRequireDefault(require("react-native/Libraries/ReactNative/AppContainer"));
13
-
14
10
  var _warnOnce = _interopRequireDefault(require("warn-once"));
15
-
16
11
  var _reactNativeScreens = require("react-native-screens");
17
-
18
12
  var _native = require("@react-navigation/native");
19
-
20
13
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
21
-
22
14
  var _HeaderConfig = _interopRequireDefault(require("./HeaderConfig"));
23
-
24
15
  var _SafeAreaProviderCompat = _interopRequireDefault(require("../utils/SafeAreaProviderCompat"));
25
-
26
16
  var _getDefaultHeaderHeight = _interopRequireDefault(require("../utils/getDefaultHeaderHeight"));
27
-
28
17
  var _HeaderHeightContext = _interopRequireDefault(require("../utils/HeaderHeightContext"));
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
33
-
34
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
-
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
38
22
  const isAndroid = _reactNative.Platform.OS === 'android';
39
23
  let Container = _reactNative.View;
40
-
41
24
  if (__DEV__) {
42
25
  const DebugContainer = props => {
43
26
  const {
44
27
  stackPresentation,
45
28
  ...rest
46
29
  } = props;
47
-
48
30
  if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push') {
49
31
  return /*#__PURE__*/React.createElement(_AppContainer.default, null, /*#__PURE__*/React.createElement(_reactNative.View, rest));
50
32
  }
51
-
52
33
  return /*#__PURE__*/React.createElement(_reactNative.View, rest);
53
- }; // @ts-ignore Wrong props
54
-
55
-
34
+ };
35
+ // @ts-ignore Wrong props
56
36
  Container = DebugContainer;
57
37
  }
58
-
59
- const MaybeNestedStack = ({
60
- options,
61
- route,
62
- stackPresentation,
63
- children
64
- }) => {
38
+ const MaybeNestedStack = _ref => {
39
+ let {
40
+ options,
41
+ route,
42
+ stackPresentation,
43
+ children
44
+ } = _ref;
65
45
  const {
66
46
  colors
67
47
  } = (0, _native.useTheme)();
@@ -79,14 +59,14 @@ const MaybeNestedStack = ({
79
59
  const content = /*#__PURE__*/React.createElement(Container, {
80
60
  style: [styles.container, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
81
61
  backgroundColor: colors.background
82
- }, contentStyle] // @ts-ignore Wrong props passed to View
62
+ }, contentStyle]
63
+ // @ts-ignore Wrong props passed to View
83
64
  ,
84
65
  stackPresentation: stackPresentation
85
66
  }, children);
86
67
  const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
87
68
  const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
88
69
  const headerHeight = (0, _getDefaultHeaderHeight.default)(dimensions, topInset, stackPresentation);
89
-
90
70
  if (isHeaderInModal) {
91
71
  return /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStack, {
92
72
  style: styles.container
@@ -100,17 +80,16 @@ const MaybeNestedStack = ({
100
80
  route: route
101
81
  })), content)));
102
82
  }
103
-
104
83
  return content;
105
84
  };
106
-
107
- const RouteView = ({
108
- descriptors,
109
- route,
110
- index,
111
- navigation,
112
- stateKey
113
- }) => {
85
+ const RouteView = _ref2 => {
86
+ let {
87
+ descriptors,
88
+ route,
89
+ index,
90
+ navigation,
91
+ stateKey
92
+ } = _ref2;
114
93
  const {
115
94
  options,
116
95
  render: renderScene
@@ -141,7 +120,6 @@ const RouteView = ({
141
120
  stackAnimation,
142
121
  stackPresentation = 'push'
143
122
  } = options;
144
-
145
123
  if (swipeDirection === 'vertical') {
146
124
  // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`
147
125
  // so the screen can be dismissed from any point on screen.
@@ -151,22 +129,18 @@ const RouteView = ({
151
129
  if (fullScreenSwipeEnabled === undefined) {
152
130
  fullScreenSwipeEnabled = true;
153
131
  }
154
-
155
132
  if (customAnimationOnSwipe === undefined) {
156
133
  customAnimationOnSwipe = true;
157
134
  }
158
-
159
135
  if (stackAnimation === undefined) {
160
136
  stackAnimation = 'slide_from_bottom';
161
137
  }
162
138
  }
163
-
164
139
  if (index === 0) {
165
140
  // first screen should always be treated as `push`, it resolves problems with no header animation
166
141
  // for navigator with first screen as `modal` and the next as `push`
167
142
  stackPresentation = 'push';
168
143
  }
169
-
170
144
  const isHeaderInPush = isAndroid ? headerShown : stackPresentation === 'push' && headerShown !== false;
171
145
  const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
172
146
  const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
@@ -200,7 +174,8 @@ const RouteView = ({
200
174
  swipeDirection: swipeDirection,
201
175
  transitionDuration: transitionDuration,
202
176
  onHeaderBackButtonClicked: () => {
203
- navigation.dispatch({ ..._native.StackActions.pop(),
177
+ navigation.dispatch({
178
+ ..._native.StackActions.pop(),
204
179
  source: route.key,
205
180
  target: stateKey
206
181
  });
@@ -251,7 +226,8 @@ const RouteView = ({
251
226
  target: route.key
252
227
  });
253
228
  const dismissCount = e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;
254
- navigation.dispatch({ ..._native.StackActions.pop(dismissCount),
229
+ navigation.dispatch({
230
+ ..._native.StackActions.pop(dismissCount),
255
231
  source: route.key,
256
232
  target: stateKey
257
233
  });
@@ -267,12 +243,12 @@ const RouteView = ({
267
243
  stackPresentation: stackPresentation
268
244
  }, renderScene())));
269
245
  };
270
-
271
- function NativeStackViewInner({
272
- state,
273
- navigation,
274
- descriptors
275
- }) {
246
+ function NativeStackViewInner(_ref3) {
247
+ let {
248
+ state,
249
+ navigation,
250
+ descriptors
251
+ } = _ref3;
276
252
  const {
277
253
  key,
278
254
  routes
@@ -288,11 +264,9 @@ function NativeStackViewInner({
288
264
  stateKey: key
289
265
  })));
290
266
  }
291
-
292
267
  function NativeStackView(props) {
293
268
  return /*#__PURE__*/React.createElement(_SafeAreaProviderCompat.default, null, /*#__PURE__*/React.createElement(NativeStackViewInner, props));
294
269
  }
295
-
296
270
  const styles = _reactNative.StyleSheet.create({
297
271
  container: {
298
272
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["NativeStackView.tsx"],"names":["isAndroid","Platform","OS","Container","View","__DEV__","DebugContainer","props","stackPresentation","rest","MaybeNestedStack","options","route","children","colors","headerShown","contentStyle","Screen","React","useContext","ScreenContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","topInset","top","dimensions","headerHeight","StyleSheet","absoluteFill","RouteView","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","hideKeyboardOnSwipe","homeIndicatorHidden","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","freezeOnBlur","customAnimationOnSwipe","fullScreenSwipeEnabled","gestureResponseDistance","stackAnimation","undefined","isHeaderInPush","parentHeaderHeight","HeaderHeightContext","dispatch","StackActions","pop","source","target","emit","type","data","closing","e","dismissCount","nativeEvent","NativeStackViewInner","state","routes","map","NativeStackView","create","flex"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}>\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n hideKeyboardOnSwipe,\n homeIndicatorHidden,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n freezeOnBlur,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n gestureResponseDistance,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnSwipe}\n freezeOnBlur={freezeOnBlur}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n hideKeyboardOnSwipe={hideKeyboardOnSwipe}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}>\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }>\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}>\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
1
+ {"version":3,"names":["isAndroid","Platform","OS","Container","View","__DEV__","DebugContainer","props","stackPresentation","rest","MaybeNestedStack","options","route","children","colors","useTheme","headerShown","contentStyle","Screen","React","useContext","ScreenContext","isHeaderInModal","headerShownPreviousRef","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","topInset","useSafeAreaInsets","top","dimensions","useSafeAreaFrame","headerHeight","getDefaultHeaderHeight","StyleSheet","absoluteFill","RouteView","descriptors","index","navigation","stateKey","render","renderScene","key","gestureEnabled","hideKeyboardOnSwipe","homeIndicatorHidden","nativeBackButtonDismissalEnabled","navigationBarColor","navigationBarHidden","replaceAnimation","screenOrientation","statusBarAnimation","statusBarColor","statusBarHidden","statusBarStyle","statusBarTranslucent","swipeDirection","transitionDuration","freezeOnBlur","customAnimationOnSwipe","fullScreenSwipeEnabled","gestureResponseDistance","stackAnimation","undefined","isHeaderInPush","parentHeaderHeight","HeaderHeightContext","dispatch","StackActions","pop","source","target","emit","type","data","closing","e","dismissCount","nativeEvent","NativeStackViewInner","state","routes","map","NativeStackView","create","flex"],"sources":["NativeStackView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, StyleSheet, View, ViewProps } from 'react-native';\n// @ts-ignore Getting private component\nimport AppContainer from 'react-native/Libraries/ReactNative/AppContainer';\nimport warnOnce from 'warn-once';\nimport {\n ScreenStack,\n StackPresentationTypes,\n ScreenContext,\n} from 'react-native-screens';\nimport {\n ParamListBase,\n StackActions,\n StackNavigationState,\n useTheme,\n Route,\n NavigationState,\n PartialState,\n} from '@react-navigation/native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport HeaderConfig from './HeaderConfig';\nimport SafeAreaProviderCompat from '../utils/SafeAreaProviderCompat';\nimport getDefaultHeaderHeight from '../utils/getDefaultHeaderHeight';\nimport HeaderHeightContext from '../utils/HeaderHeightContext';\n\nconst isAndroid = Platform.OS === 'android';\n\nlet Container = View;\n\nif (__DEV__) {\n const DebugContainer = (\n props: ViewProps & { stackPresentation: StackPresentationTypes }\n ) => {\n const { stackPresentation, ...rest } = props;\n if (Platform.OS === 'ios' && stackPresentation !== 'push') {\n return (\n <AppContainer>\n <View {...rest} />\n </AppContainer>\n );\n }\n return <View {...rest} />;\n };\n // @ts-ignore Wrong props\n Container = DebugContainer;\n}\n\nconst MaybeNestedStack = ({\n options,\n route,\n stackPresentation,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n stackPresentation: StackPresentationTypes;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { headerShown = true, contentStyle } = options;\n\n const Screen = React.useContext(ScreenContext);\n\n const isHeaderInModal = isAndroid\n ? false\n : stackPresentation !== 'push' && headerShown === true;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n stackPresentation !== 'push' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, stackPresentation, route.name]);\n\n const content = (\n <Container\n style={[\n styles.container,\n stackPresentation !== 'transparentModal' &&\n stackPresentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n // @ts-ignore Wrong props passed to View\n stackPresentation={stackPresentation}\n >\n {children}\n </Container>\n );\n\n const topInset = useSafeAreaInsets().top;\n const dimensions = useSafeAreaFrame();\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled isNativeStack style={StyleSheet.absoluteFill}>\n <HeaderHeightContext.Provider value={headerHeight}>\n <HeaderConfig {...options} route={route} />\n {content}\n </HeaderHeightContext.Provider>\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nconst RouteView = ({\n descriptors,\n route,\n index,\n navigation,\n stateKey,\n}: {\n descriptors: NativeStackDescriptorMap;\n route: NavigationRoute<ParamListBase, string>;\n index: number;\n navigation: NativeStackNavigationHelpers;\n stateKey: string;\n}) => {\n const { options, render: renderScene } = descriptors[route.key];\n const {\n gestureEnabled,\n headerShown,\n hideKeyboardOnSwipe,\n homeIndicatorHidden,\n nativeBackButtonDismissalEnabled = false,\n navigationBarColor,\n navigationBarHidden,\n replaceAnimation = 'pop',\n screenOrientation,\n statusBarAnimation,\n statusBarColor,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n swipeDirection = 'horizontal',\n transitionDuration,\n freezeOnBlur,\n } = options;\n\n let {\n customAnimationOnSwipe,\n fullScreenSwipeEnabled,\n gestureResponseDistance,\n stackAnimation,\n stackPresentation = 'push',\n } = options;\n\n if (swipeDirection === 'vertical') {\n // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnSwipe` needs to be set to `true` so the `stackAnimation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenSwipeEnabled === undefined) {\n fullScreenSwipeEnabled = true;\n }\n if (customAnimationOnSwipe === undefined) {\n customAnimationOnSwipe = true;\n }\n if (stackAnimation === undefined) {\n stackAnimation = 'slide_from_bottom';\n }\n }\n\n if (index === 0) {\n // first screen should always be treated as `push`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `push`\n stackPresentation = 'push';\n }\n\n const isHeaderInPush = isAndroid\n ? headerShown\n : stackPresentation === 'push' && headerShown !== false;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const headerHeight = getDefaultHeaderHeight(\n dimensions,\n topInset,\n stackPresentation\n );\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const Screen = React.useContext(ScreenContext);\n\n return (\n <Screen\n key={route.key}\n enabled\n isNativeStack\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnSwipe}\n freezeOnBlur={freezeOnBlur}\n fullScreenSwipeEnabled={fullScreenSwipeEnabled}\n hideKeyboardOnSwipe={hideKeyboardOnSwipe}\n homeIndicatorHidden={homeIndicatorHidden}\n gestureEnabled={isAndroid ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n nativeBackButtonDismissalEnabled={nativeBackButtonDismissalEnabled}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={replaceAnimation}\n screenOrientation={screenOrientation}\n stackAnimation={stackAnimation}\n stackPresentation={stackPresentation}\n statusBarAnimation={statusBarAnimation}\n statusBarColor={statusBarColor}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={swipeDirection}\n transitionDuration={transitionDuration}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: stateKey,\n });\n }}\n onWillAppear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: false },\n target: route.key,\n });\n }}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'appear',\n target: route.key,\n });\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(e) => {\n navigation.emit({\n type: 'dismiss',\n target: route.key,\n });\n\n const dismissCount =\n e.nativeEvent.dismissCount > 0 ? e.nativeEvent.dismissCount : 1;\n\n navigation.dispatch({\n ...StackActions.pop(dismissCount),\n source: route.key,\n target: stateKey,\n });\n }}\n >\n <HeaderHeightContext.Provider\n value={\n isHeaderInPush !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n <HeaderConfig {...options} route={route} headerShown={isHeaderInPush} />\n <MaybeNestedStack\n options={options}\n route={route}\n stackPresentation={stackPresentation}\n >\n {renderScene()}\n </MaybeNestedStack>\n </HeaderHeightContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({\n state,\n navigation,\n descriptors,\n}: Props): JSX.Element {\n const { key, routes } = state;\n\n return (\n <ScreenStack style={styles.container}>\n {routes.map((route, index) => (\n <RouteView\n key={route.key}\n descriptors={descriptors}\n route={route}\n index={index}\n navigation={navigation}\n stateKey={key}\n />\n ))}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
@@ -4,34 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeScreens = require("react-native-screens");
13
-
14
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
15
-
16
11
  var _ReanimatedTransitionProgressContext = _interopRequireDefault(require("./ReanimatedTransitionProgressContext"));
17
-
18
12
  var _global;
19
-
20
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
-
22
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.InnerScreen);
25
18
 
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
- const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.InnerScreen); // We use prop added to global by reanimated since it seems safer than the one from RN. See:
19
+ // We use prop added to global by reanimated since it seems safer than the one from RN. See:
29
20
  // https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46
30
21
  // @ts-expect-error nativeFabricUIManager is not yet included in the RN types
31
-
32
-
33
22
  const ENABLE_FABRIC = !!((_global = global) !== null && _global !== void 0 && _global._IS_FABRIC);
34
-
35
23
  const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
36
24
  const {
37
25
  children,
@@ -40,7 +28,8 @@ const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((prop
40
28
  const progress = (0, _reactNativeReanimated.useSharedValue)(0);
41
29
  const closing = (0, _reactNativeReanimated.useSharedValue)(0);
42
30
  const goingForward = (0, _reactNativeReanimated.useSharedValue)(0);
43
- return /*#__PURE__*/_react.default.createElement(AnimatedScreen // @ts-ignore some problems with ref and onTransitionProgressReanimated being "fake" prop for parsing of `useEvent` return value
31
+ return /*#__PURE__*/_react.default.createElement(AnimatedScreen
32
+ // @ts-ignore some problems with ref and onTransitionProgressReanimated being "fake" prop for parsing of `useEvent` return value
44
33
  , _extends({
45
34
  ref: ref,
46
35
  onTransitionProgressReanimated: (0, _reactNativeReanimated.useEvent)(event => {
@@ -49,9 +38,11 @@ const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((prop
49
38
  progress.value = event.progress;
50
39
  closing.value = event.closing;
51
40
  goingForward.value = event.goingForward;
52
- }, [// This should not be necessary, but is not properly managed by `react-native-reanimated`
41
+ }, [
42
+ // This should not be necessary, but is not properly managed by `react-native-reanimated`
53
43
  // @ts-ignore wrong type
54
- _reactNative.Platform.OS === 'android' ? 'onTransitionProgress' : // for some reason there is a difference in required event name between architectures
44
+ _reactNative.Platform.OS === 'android' ? 'onTransitionProgress' :
45
+ // for some reason there is a difference in required event name between architectures
55
46
  ENABLE_FABRIC ? 'onTransitionProgress' : 'topTransitionProgress'])
56
47
  }, rest), /*#__PURE__*/_react.default.createElement(_ReanimatedTransitionProgressContext.default.Provider, {
57
48
  value: {
@@ -61,7 +52,6 @@ const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((prop
61
52
  }
62
53
  }, children));
63
54
  });
64
-
65
55
  ReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';
66
56
  var _default = ReanimatedNativeStackScreen;
67
57
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["ReanimatedNativeStackScreen.tsx"],"names":["AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ENABLE_FABRIC","global","_IS_FABRIC","ReanimatedNativeStackScreen","React","forwardRef","props","ref","children","rest","progress","closing","goingForward","event","value","Platform","OS","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;;;;;;;;;;;AAEA,MAAMA,cAAc,GAAGC,+BAASC,uBAAT,CACpBC,+BADoB,CAAvB,C,CAIA;AACA;AACA;;;AACA,MAAMC,aAAa,GAAG,CAAC,aAACC,MAAD,oCAAC,QAAQC,UAAT,CAAvB;;AAEA,MAAMC,2BAA2B,gBAAGC,eAAMC,UAAN,CAGlC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAChB,QAAM;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,MAAwBH,KAA9B;AAEA,QAAMI,QAAQ,GAAG,2CAAe,CAAf,CAAjB;AACA,QAAMC,OAAO,GAAG,2CAAe,CAAf,CAAhB;AACA,QAAMC,YAAY,GAAG,2CAAe,CAAf,CAArB;AAEA,sBACE,6BAAC,cAAD,CACE;AADF;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,8BAA8B,EAAE,qCAC7BM,KAAD,IAAwC;AACtC;;AACAH,MAAAA,QAAQ,CAACI,KAAT,GAAiBD,KAAK,CAACH,QAAvB;AACAC,MAAAA,OAAO,CAACG,KAAR,GAAgBD,KAAK,CAACF,OAAtB;AACAC,MAAAA,YAAY,CAACE,KAAb,GAAqBD,KAAK,CAACD,YAA3B;AACD,KAN6B,EAO9B,CACE;AACA;AACAG,0BAASC,EAAT,KAAgB,SAAhB,GACI,sBADJ,GAEI;AACFhB,IAAAA,aAAa,GACX,sBADW,GAEX,uBARN,CAP8B;AAHlC,KAqBMS,IArBN,gBAsBE,6BAAC,4CAAD,CAAqC,QAArC;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAAEA,QADL;AAELC,MAAAA,OAAO,EAAEA,OAFJ;AAGLC,MAAAA,YAAY,EAAEA;AAHT;AADT,KAMGJ,QANH,CAtBF,CADF;AAiCD,CA3CmC,CAApC;;AA6CAL,2BAA2B,CAACc,WAA5B,GAA0C,6BAA1C;eAEed,2B","sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n InnerScreen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n (InnerScreen as unknown) as React.ComponentClass\n);\n\n// We use prop added to global by reanimated since it seems safer than the one from RN. See:\n// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?._IS_FABRIC;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n onTransitionProgressReanimated={useEvent(\n (event: TransitionProgressEventType) => {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n {...rest}>\n <ReanimatedTransitionProgressContext.Provider\n value={{\n progress: progress,\n closing: closing,\n goingForward: goingForward,\n }}>\n {children}\n </ReanimatedTransitionProgressContext.Provider>\n </AnimatedScreen>\n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"]}
1
+ {"version":3,"names":["AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ENABLE_FABRIC","global","_IS_FABRIC","ReanimatedNativeStackScreen","React","forwardRef","props","ref","children","rest","progress","useSharedValue","closing","goingForward","useEvent","event","value","Platform","OS","displayName"],"sources":["ReanimatedNativeStackScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n InnerScreen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\n// We use prop added to global by reanimated since it seems safer than the one from RN. See:\n// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?._IS_FABRIC;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n onTransitionProgressReanimated={useEvent(\n (event: TransitionProgressEventType) => {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n {...rest}\n >\n <ReanimatedTransitionProgressContext.Provider\n value={{\n progress: progress,\n closing: closing,\n goingForward: goingForward,\n }}\n >\n {children}\n </ReanimatedTransitionProgressContext.Provider>\n </AnimatedScreen>\n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAOA;AACA;AAAwF;AAAA;AAAA;AAAA;AAAA;AAExF,MAAMA,cAAc,GAAGC,8BAAQ,CAACC,uBAAuB,CACrDC,+BAAW,CACZ;;AAED;AACA;AACA;AACA,MAAMC,aAAa,GAAG,CAAC,aAACC,MAAM,oCAAN,QAAQC,UAAU;AAE1C,MAAMC,2BAA2B,gBAAGC,cAAK,CAACC,UAAU,CAGlD,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,MAAM;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAEnC,MAAMI,QAAQ,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAClC,MAAMC,OAAO,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EACjC,MAAME,YAAY,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EAEtC,oBACE,6BAAC;EACC;EAAA;IACA,GAAG,EAAEJ,GAAI;IACT,8BAA8B,EAAE,IAAAO,+BAAQ,EACrCC,KAAkC,IAAK;MACtC,SAAS;;MACTL,QAAQ,CAACM,KAAK,GAAGD,KAAK,CAACL,QAAQ;MAC/BE,OAAO,CAACI,KAAK,GAAGD,KAAK,CAACH,OAAO;MAC7BC,YAAY,CAACG,KAAK,GAAGD,KAAK,CAACF,YAAY;IACzC,CAAC,EACD;IACE;IACA;IACAI,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACrB,sBAAsB;IACtB;IACFlB,aAAa,GACX,sBAAsB,GACtB,uBAAuB,CAC5B;EACD,GACES,IAAI,gBAER,6BAAC,4CAAmC,CAAC,QAAQ;IAC3C,KAAK,EAAE;MACLC,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO;MAChBC,YAAY,EAAEA;IAChB;EAAE,GAEDL,QAAQ,CACoC,CAChC;AAErB,CAAC,CAAC;AAEFL,2BAA2B,CAACgB,WAAW,GAAG,6BAA6B;AAAC,eAEzDhB,2BAA2B;AAAA"}
@@ -4,26 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNativeScreens = require("react-native-screens");
11
-
12
9
  var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
12
  const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.InnerScreen);
19
-
20
13
  const ReanimatedScreen = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
21
- return /*#__PURE__*/_react.default.createElement(AnimatedScreen // @ts-ignore some problems with ref and onTransitionProgressReanimated being "fake" prop for parsing of `useEvent` return value
14
+ return /*#__PURE__*/_react.default.createElement(AnimatedScreen
15
+ // @ts-ignore some problems with ref and onTransitionProgressReanimated being "fake" prop for parsing of `useEvent` return value
22
16
  , _extends({
23
17
  ref: ref
24
18
  }, props));
25
19
  });
26
-
27
20
  ReanimatedScreen.displayName = 'ReanimatedScreen';
28
21
  var _default = ReanimatedScreen;
29
22
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["ReanimatedScreen.tsx"],"names":["AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ReanimatedScreen","React","forwardRef","props","ref","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AAGA;;;;;;AAEA,MAAMA,cAAc,GAAGC,+BAASC,uBAAT,CACpBC,+BADoB,CAAvB;;AAIA,MAAMC,gBAAgB,gBAAGC,eAAMC,UAAN,CACvB,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACd,sBACE,6BAAC,cAAD,CACE;AADF;AAEE,IAAA,GAAG,EAAEA;AAFP,KAGMD,KAHN,EADF;AAOD,CATsB,CAAzB;;AAYAH,gBAAgB,CAACK,WAAjB,GAA+B,kBAA/B;eAEeL,gB","sourcesContent":["import React from 'react';\nimport { InnerScreen, ScreenProps } from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n (InnerScreen as unknown) as React.ComponentClass\n);\n\nconst ReanimatedScreen = React.forwardRef<typeof AnimatedScreen, ScreenProps>(\n (props, ref) => {\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nReanimatedScreen.displayName = 'ReanimatedScreen';\n\nexport default ReanimatedScreen;\n"]}
1
+ {"version":3,"names":["AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ReanimatedScreen","React","forwardRef","props","ref","displayName"],"sources":["ReanimatedScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { InnerScreen, ScreenProps } from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\nconst ReanimatedScreen = React.forwardRef<typeof AnimatedScreen, ScreenProps>(\n (props, ref) => {\n return (\n <AnimatedScreen\n // @ts-ignore some problems with ref and onTransitionProgressReanimated being \"fake\" prop for parsing of `useEvent` return value\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nReanimatedScreen.displayName = 'ReanimatedScreen';\n\nexport default ReanimatedScreen;\n"],"mappings":";;;;;;AAAA;AACA;AAGA;AAA+C;AAAA;AAE/C,MAAMA,cAAc,GAAGC,8BAAQ,CAACC,uBAAuB,CACrDC,+BAAW,CACZ;AAED,MAAMC,gBAAgB,gBAAGC,cAAK,CAACC,UAAU,CACvC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,oBACE,6BAAC;EACC;EAAA;IACA,GAAG,EAAEA;EAAI,GACLD,KAAK,EACT;AAEN,CAAC,CACF;AAEDH,gBAAgB,CAACK,WAAW,GAAG,kBAAkB;AAAC,eAEnCL,gBAAgB;AAAA"}
@@ -4,41 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = ReanimatedScreenProvider;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNativeScreens = require("react-native-screens");
11
-
12
9
  var _ReanimatedNativeStackScreen = _interopRequireDefault(require("./ReanimatedNativeStackScreen"));
13
-
14
10
  var _ReanimatedScreen = _interopRequireDefault(require("./ReanimatedScreen"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
-
12
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
13
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
-
22
14
  class ReanimatedScreenWrapper extends _react.default.Component {
23
- constructor(...args) {
24
- super(...args);
25
-
15
+ constructor() {
16
+ super(...arguments);
26
17
  _defineProperty(this, "ref", null);
27
-
28
18
  _defineProperty(this, "setRef", ref => {
29
19
  var _this$props$onCompone, _this$props;
30
-
31
20
  this.ref = ref;
32
21
  (_this$props$onCompone = (_this$props = this.props).onComponentRef) === null || _this$props$onCompone === void 0 ? void 0 : _this$props$onCompone.call(_this$props, ref);
33
22
  });
34
23
  }
35
-
36
24
  setNativeProps(props) {
37
25
  var _this$ref;
38
-
39
26
  (_this$ref = this.ref) === null || _this$ref === void 0 ? void 0 : _this$ref.setNativeProps(props);
40
27
  }
41
-
42
28
  render() {
43
29
  const ReanimatedScreen = this.props.isNativeStack ? _ReanimatedNativeStackScreen.default : _ReanimatedScreen.default;
44
30
  return /*#__PURE__*/_react.default.createElement(ReanimatedScreen, _extends({}, this.props, {
@@ -46,9 +32,7 @@ class ReanimatedScreenWrapper extends _react.default.Component {
46
32
  ref: this.setRef
47
33
  }));
48
34
  }
49
-
50
35
  }
51
-
52
36
  function ReanimatedScreenProvider(props) {
53
37
  return (
54
38
  /*#__PURE__*/
@@ -1 +1 @@
1
- {"version":3,"sources":["ReanimatedScreenProvider.tsx"],"names":["ReanimatedScreenWrapper","React","Component","ref","props","onComponentRef","setNativeProps","render","ReanimatedScreen","isNativeStack","ReanimatedNativeStackScreen","AnimatedScreen","setRef","ReanimatedScreenProvider","children"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,uBAAN,SAAsCC,eAAMC,SAA5C,CAAmE;AAAA;AAAA;;AAAA,iCACb,IADa;;AAAA,oCAOvDC,GAAD,IAAqD;AAAA;;AAC5D,WAAKA,GAAL,GAAWA,GAAX;AACA,mDAAKC,KAAL,EAAWC,cAAX,kGAA4BF,GAA5B;AACD,KAVgE;AAAA;;AAGjEG,EAAAA,cAAc,CAACF,KAAD,EAA2B;AAAA;;AACvC,sBAAKD,GAAL,wDAAUG,cAAV,CAAyBF,KAAzB;AACD;;AAODG,EAAAA,MAAM,GAAG;AACP,UAAMC,gBAAgB,GAAG,KAAKJ,KAAL,CAAWK,aAAX,GACrBC,oCADqB,GAErBC,yBAFJ;AAGA,wBACE,6BAAC,gBAAD,eACM,KAAKP,KADX;AAEE;AACA,MAAA,GAAG,EAAE,KAAKQ;AAHZ,OADF;AAOD;;AAvBgE;;AA0BpD,SAASC,wBAAT,CACbT,KADa,EAEb;AACA;AAAA;AACE;AACA,iCAAC,iCAAD,CAAe,QAAf;AAAwB,MAAA,KAAK,EAAEJ;AAA/B,OACGI,KAAK,CAACU,QADT;AAFF;AAMD","sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { View } from 'react-native';\nimport { ScreenProps, ScreenContext } from 'react-native-screens';\nimport ReanimatedNativeStackScreen from './ReanimatedNativeStackScreen';\nimport AnimatedScreen from './ReanimatedScreen';\n\nclass ReanimatedScreenWrapper extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const ReanimatedScreen = this.props.isNativeStack\n ? ReanimatedNativeStackScreen\n : AnimatedScreen;\n return (\n <ReanimatedScreen\n {...this.props}\n // @ts-ignore some problems with ref\n ref={this.setRef}\n />\n );\n }\n}\n\nexport default function ReanimatedScreenProvider(\n props: PropsWithChildren<unknown>\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <ScreenContext.Provider value={ReanimatedScreenWrapper as any}>\n {props.children}\n </ScreenContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["ReanimatedScreenWrapper","React","Component","ref","props","onComponentRef","setNativeProps","render","ReanimatedScreen","isNativeStack","ReanimatedNativeStackScreen","AnimatedScreen","setRef","ReanimatedScreenProvider","children"],"sources":["ReanimatedScreenProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { View } from 'react-native';\nimport { ScreenProps, ScreenContext } from 'react-native-screens';\nimport ReanimatedNativeStackScreen from './ReanimatedNativeStackScreen';\nimport AnimatedScreen from './ReanimatedScreen';\n\nclass ReanimatedScreenWrapper extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const ReanimatedScreen = this.props.isNativeStack\n ? ReanimatedNativeStackScreen\n : AnimatedScreen;\n return (\n <ReanimatedScreen\n {...this.props}\n // @ts-ignore some problems with ref\n ref={this.setRef}\n />\n );\n }\n}\n\nexport default function ReanimatedScreenProvider(\n props: PropsWithChildren<unknown>\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <ScreenContext.Provider value={ReanimatedScreenWrapper as any}>\n {props.children}\n </ScreenContext.Provider>\n );\n}\n"],"mappings":";;;;;;AAAA;AAEA;AACA;AACA;AAAgD;AAAA;AAAA;AAEhD,MAAMA,uBAAuB,SAASC,cAAK,CAACC,SAAS,CAAc;EAAA;IAAA;IAAA,6BACb,IAAI;IAAA,gCAM9CC,GAAyC,IAAW;MAAA;MAC5D,IAAI,CAACA,GAAG,GAAGA,GAAG;MACd,4CAAI,CAACC,KAAK,EAACC,cAAc,0DAAzB,wCAA4BF,GAAG,CAAC;IAClC,CAAC;EAAA;EAPDG,cAAc,CAACF,KAAkB,EAAQ;IAAA;IACvC,iBAAI,CAACD,GAAG,8CAAR,UAAUG,cAAc,CAACF,KAAK,CAAC;EACjC;EAOAG,MAAM,GAAG;IACP,MAAMC,gBAAgB,GAAG,IAAI,CAACJ,KAAK,CAACK,aAAa,GAC7CC,oCAA2B,GAC3BC,yBAAc;IAClB,oBACE,6BAAC,gBAAgB,eACX,IAAI,CAACP,KAAK;MACd;MACA,GAAG,EAAE,IAAI,CAACQ;IAAO,GACjB;EAEN;AACF;AAEe,SAASC,wBAAwB,CAC9CT,KAAiC,EACjC;EACA;IAAA;IACE;IACA,6BAAC,iCAAa,CAAC,QAAQ;MAAC,KAAK,EAAEJ;IAA+B,GAC3DI,KAAK,CAACU,QAAQ;EACQ;AAE7B"}
@@ -4,14 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
11
-
12
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
-
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
10
  var _default = /*#__PURE__*/React.createContext(undefined);
15
-
16
11
  exports.default = _default;
17
12
  //# sourceMappingURL=ReanimatedTransitionProgressContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ReanimatedTransitionProgressContext.tsx"],"names":["React","createContext","undefined"],"mappings":";;;;;;;AAAA;;;;;;4BAUeA,KAAK,CAACC,aAAN,CAEbC,SAFa,C","sourcesContent":["import * as React from 'react';\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\ntype ReanimatedTransitionProgressContextBody = {\n progress: Animated.SharedValue<number>;\n closing: Animated.SharedValue<number>;\n goingForward: Animated.SharedValue<number>;\n};\n\nexport default React.createContext<\n ReanimatedTransitionProgressContextBody | undefined\n>(undefined);\n"]}
1
+ {"version":3,"names":["React","createContext","undefined"],"sources":["ReanimatedTransitionProgressContext.tsx"],"sourcesContent":["import * as React from 'react';\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated from 'react-native-reanimated';\n\ntype ReanimatedTransitionProgressContextBody = {\n progress: Animated.SharedValue<number>;\n closing: Animated.SharedValue<number>;\n goingForward: Animated.SharedValue<number>;\n};\n\nexport default React.createContext<\n ReanimatedTransitionProgressContextBody | undefined\n>(undefined);\n"],"mappings":";;;;;;AAAA;AAA+B;AAAA;AAAA,4BAUhBA,KAAK,CAACC,aAAa,CAEhCC,SAAS,CAAC;AAAA"}
@@ -15,10 +15,7 @@ Object.defineProperty(exports, "useReanimatedTransitionProgress", {
15
15
  return _useReanimatedTransitionProgress.default;
16
16
  }
17
17
  });
18
-
19
18
  var _ReanimatedScreenProvider = _interopRequireDefault(require("./ReanimatedScreenProvider"));
20
-
21
19
  var _useReanimatedTransitionProgress = _interopRequireDefault(require("./useReanimatedTransitionProgress"));
22
-
23
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default as ReanimatedScreenProvider } from './ReanimatedScreenProvider';\nexport { default as useReanimatedTransitionProgress } from './useReanimatedTransitionProgress';\n"]}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export { default as ReanimatedScreenProvider } from './ReanimatedScreenProvider';\nexport { default as useReanimatedTransitionProgress } from './useReanimatedTransitionProgress';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAA+F"}