react-native-screens 3.18.2 → 3.20.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/ios/RNSFullWindowOverlay.mm +32 -0
  4. package/ios/RNSScreen.h +3 -2
  5. package/ios/RNSScreen.mm +34 -2
  6. package/ios/RNSScreenStackHeaderConfig.mm +17 -1
  7. package/lib/commonjs/TransitionProgressContext.js +2 -7
  8. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  9. package/lib/commonjs/createNativeStackNavigator.js +29 -76
  10. package/lib/commonjs/createNativeStackNavigator.js.map +1 -1
  11. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +0 -5
  12. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  13. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +0 -5
  14. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  15. package/lib/commonjs/fabric/ScreenNativeComponent.js +0 -5
  16. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  17. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +0 -5
  18. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  19. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +2 -10
  20. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  21. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +2 -10
  22. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  23. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +0 -5
  24. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  25. package/lib/commonjs/fabric/SearchBarNativeComponent.js +0 -7
  26. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  27. package/lib/commonjs/index.js +21 -45
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/index.native.js +46 -104
  30. package/lib/commonjs/index.native.js.map +1 -1
  31. package/lib/commonjs/native-stack/index.js +6 -11
  32. package/lib/commonjs/native-stack/index.js.map +1 -1
  33. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +18 -25
  34. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  35. package/lib/commonjs/native-stack/types.js +4 -0
  36. package/lib/commonjs/native-stack/types.js.map +1 -1
  37. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js +2 -6
  38. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  39. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js +11 -19
  40. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  41. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js +0 -7
  42. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  43. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +7 -18
  44. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  45. package/lib/commonjs/native-stack/utils/useHeaderHeight.js +2 -10
  46. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  47. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -6
  48. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  49. package/lib/commonjs/native-stack/views/HeaderConfig.js +46 -50
  50. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  51. package/lib/commonjs/native-stack/views/NativeStackView.js +32 -58
  52. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  53. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +11 -21
  54. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  55. package/lib/commonjs/reanimated/ReanimatedScreen.js +3 -10
  56. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  57. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +6 -20
  58. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  59. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +2 -7
  60. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  61. package/lib/commonjs/reanimated/index.js +0 -3
  62. package/lib/commonjs/reanimated/index.js.map +1 -1
  63. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js +2 -10
  64. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  65. package/lib/commonjs/types.js +4 -0
  66. package/lib/commonjs/types.js.map +1 -1
  67. package/lib/commonjs/useTransitionProgress.js +2 -10
  68. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  69. package/lib/commonjs/utils.js +0 -4
  70. package/lib/commonjs/utils.js.map +1 -1
  71. package/lib/module/TransitionProgressContext.js.map +1 -1
  72. package/lib/module/createNativeStackNavigator.js +29 -67
  73. package/lib/module/createNativeStackNavigator.js.map +1 -1
  74. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +0 -1
  75. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  76. package/lib/module/fabric/ScreenContainerNativeComponent.js +0 -1
  77. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  78. package/lib/module/fabric/ScreenNativeComponent.js +0 -1
  79. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  80. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +0 -1
  81. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  82. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +0 -1
  83. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  84. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +0 -1
  85. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  86. package/lib/module/fabric/ScreenStackNativeComponent.js +0 -1
  87. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  88. package/lib/module/fabric/SearchBarNativeComponent.js +0 -1
  89. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  90. package/lib/module/index.js +13 -11
  91. package/lib/module/index.js.map +1 -1
  92. package/lib/module/index.native.js +48 -94
  93. package/lib/module/index.native.js.map +1 -1
  94. package/lib/module/native-stack/index.js +3 -2
  95. package/lib/module/native-stack/index.js.map +1 -1
  96. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +16 -16
  97. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  98. package/lib/module/native-stack/types.js +1 -1
  99. package/lib/module/native-stack/types.js.map +1 -1
  100. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  101. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js +8 -7
  102. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  103. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js +0 -4
  104. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  105. package/lib/module/native-stack/utils/useBackPressSubscription.js +7 -8
  106. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  107. package/lib/module/native-stack/utils/useHeaderHeight.js +0 -2
  108. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  109. package/lib/module/native-stack/views/FontProcessor.js +0 -3
  110. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  111. package/lib/module/native-stack/views/HeaderConfig.js +44 -39
  112. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  113. package/lib/module/native-stack/views/NativeStackView.js +32 -42
  114. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  115. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +12 -9
  116. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  117. package/lib/module/reanimated/ReanimatedScreen.js +5 -4
  118. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  119. package/lib/module/reanimated/ReanimatedScreenProvider.js +6 -15
  120. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  121. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js +2 -1
  122. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  123. package/lib/module/reanimated/index.js.map +1 -1
  124. package/lib/module/reanimated/useReanimatedTransitionProgress.js +0 -2
  125. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  126. package/lib/module/types.js +1 -1
  127. package/lib/module/types.js.map +1 -1
  128. package/lib/module/useTransitionProgress.js +0 -2
  129. package/lib/module/useTransitionProgress.js.map +1 -1
  130. package/lib/module/utils.js.map +1 -1
  131. package/lib/typescript/TransitionProgressContext.d.ts +1 -1
  132. package/lib/typescript/createNativeStackNavigator.d.ts +5 -5
  133. package/lib/typescript/index.d.ts +4 -2
  134. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +3 -2
  135. package/lib/typescript/native-stack/types.d.ts +9 -9
  136. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +1 -1
  137. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +1 -1
  138. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +2 -1
  139. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  140. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +1 -1
  141. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +1 -1
  142. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +1 -1
  143. package/lib/typescript/types.d.ts +10 -9
  144. package/package.json +10 -2
  145. package/src/createNativeStackNavigator.tsx +4 -2
  146. package/src/index.native.tsx +32 -16
  147. package/src/index.tsx +13 -8
  148. package/src/native-stack/types.tsx +4 -5
  149. package/src/native-stack/views/HeaderConfig.tsx +8 -10
  150. package/src/native-stack/views/NativeStackView.tsx +8 -4
  151. package/src/reanimated/ReanimatedNativeStackScreen.tsx +5 -3
  152. package/src/reanimated/ReanimatedScreen.tsx +1 -1
  153. package/android/src/main/java/com/swmansion/rnscreens/LifecycleHelper.kt +0 -60
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","rest","props","undefined","display","Screen","Animated","createAnimatedComponent","InnerScreen","View","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAUA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;;;;;AAKA,IAAIA,cAAc,GAAG,IAArB;;AAEO,SAASC,aAAT,CAAuBC,mBAAmB,GAAG,IAA7C,EAAyD;AAC9DF,EAAAA,cAAc,GAAGE,mBAAjB;AACD;;AAEM,SAASC,cAAT,GAAmC;AACxC,SAAOH,cAAP;AACD,C,CAED;AACA;;;AACO,SAASI,YAAT,CAAsBC,uBAAuB,GAAG,IAAhD,EAA4D,CACjE;AACD;;AAEM,MAAMC,YAAN,SAA2BC,eAAMC,SAAjC,CAAwD;AAC7DC,EAAAA,MAAM,GAAgB;AACpB,QAAI;AACFC,MAAAA,MADE;AAEFC,MAAAA,aAFE;AAGFC,MAAAA,KAHE;AAIFC,MAAAA,OAAO,GAAGb,cAJR;AAKF,SAAGc;AALD,QAMA,KAAKC,KANT;;AAQA,QAAIF,OAAJ,EAAa;AACX,UAAIH,MAAM,KAAKM,SAAX,IAAwBL,aAAa,KAAKK,SAA9C,EAAyD;AACvDL,QAAAA,aAAa,GAAGD,MAAM,KAAK,CAAX,GAAe,CAAf,GAAmB,CAAnC,CADuD,CACjB;AACvC;;AACD,0BACE,6BAAC,iBAAD,CACE;AADF;AAEE,QAAA,MAAM,EAAEC,aAAa,KAAK,CAF5B;AAGE,QAAA,KAAK,EAAE,CAACC,KAAD,EAAQ;AAAEK,UAAAA,OAAO,EAAEN,aAAa,KAAK,CAAlB,GAAsB,MAAtB,GAA+B;AAA1C,SAAR;AAHT,SAIMG,IAJN,EADF;AAQD;;AAED,wBAAO,6BAAC,iBAAD,EAAUA,IAAV,CAAP;AACD;;AAzB4D;;;;AA4BxD,MAAMI,MAAM,GAAGC,sBAASC,uBAAT,CAAiCd,YAAjC,CAAf;;;AAEA,MAAMe,WAAW,GAAGC,iBAApB;;;AAEA,MAAMC,aAAa,gBAAGhB,eAAMiB,aAAN,CAAoBN,MAApB,CAAtB;;;AAEA,MAAMO,eAA0D,GAAGH,iBAAnE;;AAEA,MAAMI,qBAAgE,GAAGJ,iBAAzE;;AAEA,MAAMK,+BAA0E,GAAGL,iBAAnF;;AAEA,MAAMM,WAAkD,GAAGN,iBAA3D;;AAEA,MAAMO,iBAAiB,GAAGP,iBAA1B;;;AAEA,MAAMQ,gCAAgC,GAC3Cf,KAD8C,iBAG9C,6BAAC,iBAAD,qBACE,6BAAC,kBAAD;AAAO,EAAA,UAAU,EAAC,QAAlB;AAA2B,EAAA,YAAY,EAAE;AAAzC,GAAgDA,KAAhD,EADF,CAHK;;;;AAQA,MAAMgB,0BAA0B,GACrChB,KADwC,iBAExB,6BAAC,iBAAD,EAAUA,KAAV,CAFX;;;;AAIA,MAAMiB,yBAAyB,GACpCjB,KADuC,iBAEvB,6BAAC,iBAAD,EAAUA,KAAV,CAFX;;;;AAIA,MAAMkB,2BAA2B,GACtClB,KADyC,iBAEzB,6BAAC,iBAAD,EAAUA,KAAV,CAFX;;;;AAIA,MAAMmB,8BAA8B,GACzCnB,KAD4C,iBAE5B,6BAAC,iBAAD,EAAUA,KAAV,CAFX;;;AAIA,MAAMoB,uBAA0E,GAAGb,iBAAnF,C,CAEP;;;AACO,MAAMc,SAA8C,GAAGd,iBAAvD;;AAEA,MAAMe,wBAEX,GAAGf,iBAFE;;AAIA,MAAMgB,sBAAsB,GAAG,IAA/B","sourcesContent":["import React from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps> = View;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<React.PropsWithChildren<\n ViewProps & { type?: HeaderSubviewTypes }\n>> = View;\n\nexport const shouldUseActivityState = true;\n"]}
1
+ {"version":3,"names":["ENABLE_SCREENS","enableScreens","shouldEnableScreens","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","rest","props","undefined","display","Screen","Animated","createAnimatedComponent","InnerScreen","View","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps> =\n View;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAUA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AAGiB;AAAA;AAEjB,IAAIA,cAAc,GAAG,IAAI;AAElB,SAASC,aAAa,GAAmC;EAAA,IAAlCC,mBAAmB,uEAAG,IAAI;EACtDF,cAAc,GAAGE,mBAAmB;AACtC;AAEO,SAASC,cAAc,GAAY;EACxC,OAAOH,cAAc;AACvB;;AAEA;AACA;AACO,SAASI,YAAY,GAAuC;EAAA,IAAtCC,uBAAuB,uEAAG,IAAI;AAE3D,CAAC,CADC;;AAGK,MAAMC,YAAY,SAASC,cAAK,CAACC,SAAS,CAAc;EAC7DC,MAAM,GAAgB;IACpB,IAAI;MACFC,MAAM;MACNC,aAAa;MACbC,KAAK;MACLC,OAAO,GAAGb,cAAc;MACxB,GAAGc;IACL,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,IAAIF,OAAO,EAAE;MACX,IAAIH,MAAM,KAAKM,SAAS,IAAIL,aAAa,KAAKK,SAAS,EAAE;QACvDL,aAAa,GAAGD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;MACxC;;MACA,oBACE,6BAAC;MACC;MAAA;QACA,MAAM,EAAEC,aAAa,KAAK,CAAE;QAC5B,KAAK,EAAE,CAACC,KAAK,EAAE;UAAEK,OAAO,EAAEN,aAAa,KAAK,CAAC,GAAG,MAAM,GAAG;QAAO,CAAC;MAAE,GAC/DG,IAAI,EACR;IAEN;IAEA,oBAAO,6BAAC,iBAAI,EAAKA,IAAI,CAAI;EAC3B;AACF;AAAC;AAEM,MAAMI,MAAM,GAAGC,qBAAQ,CAACC,uBAAuB,CAACd,YAAY,CAAC;AAAC;AAE9D,MAAMe,WAAW,GAAGC,iBAAI;AAAC;AAEzB,MAAMC,aAAa,gBAAGhB,cAAK,CAACiB,aAAa,CAACN,MAAM,CAAC;AAAC;AAElD,MAAMO,eAA0D,GAAGH,iBAAI;AAAC;AAExE,MAAMI,qBAAgE,GAC3EJ,iBAAI;AAAC;AAEA,MAAMK,+BAA0E,GACrFL,iBAAI;AAAC;AAEA,MAAMM,WAAkD,GAAGN,iBAAI;AAAC;AAEhE,MAAMO,iBAAiB,GAAGP,iBAE/B;AAAC;AAEI,MAAMQ,gCAAgC,GAC3Cf,KAAiB,iBAEjB,6BAAC,iBAAI,qBACH,6BAAC,kBAAK;EAAC,UAAU,EAAC,QAAQ;EAAC,YAAY,EAAE;AAAE,GAAKA,KAAK,EAAI,CAE5D;AAAC;AAEK,MAAMgB,0BAA0B,GACrChB,KAAyC,iBACzB,6BAAC,iBAAI,EAAKA,KAAK,CAAI;AAAC;AAE/B,MAAMiB,yBAAyB,GACpCjB,KAAyC,iBACzB,6BAAC,iBAAI,EAAKA,KAAK,CAAI;AAAC;AAE/B,MAAMkB,2BAA2B,GACtClB,KAAyC,iBACzB,6BAAC,iBAAI,EAAKA,KAAK,CAAI;AAAC;AAE/B,MAAMmB,8BAA8B,GACzCnB,KAA8C,iBAC9B,6BAAC,iBAAI,EAAKA,KAAK,CAAI;AAAC;AAE/B,MAAMoB,uBAA0E,GACrFb,iBAAI;;AAEN;AAAA;AACO,MAAMc,SAA8C,GAAGd,iBAAI;AAAC;AAE5D,MAAMe,wBAEZ,GAAGf,iBAAI;AAAC;AAEF,MAAMgB,sBAAsB,GAAG,IAAI;AAAC"}
@@ -1,59 +1,47 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = _interopRequireDefault(require("react"));
4
-
5
4
  var _reactNative = require("react-native");
6
-
7
5
  var _reactFreeze = require("react-freeze");
8
-
9
6
  var _package = require("react-native/package.json");
10
-
11
7
  var _TransitionProgressContext = _interopRequireDefault(require("./TransitionProgressContext"));
12
-
13
8
  var _useTransitionProgress = _interopRequireDefault(require("./useTransitionProgress"));
14
-
15
9
  var _utils = require("./utils");
16
-
17
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
- 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); }
20
-
21
- 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; }
22
-
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); }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
15
  // web implementation is taken from `index.tsx`
24
16
  const isPlatformSupported = _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'windows';
25
17
  let ENABLE_SCREENS = isPlatformSupported;
26
-
27
- function enableScreens(shouldEnableScreens = true) {
18
+ function enableScreens() {
19
+ let shouldEnableScreens = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
28
20
  ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;
29
-
30
21
  if (ENABLE_SCREENS && !_reactNative.UIManager.getViewManagerConfig('RNSScreen')) {
31
22
  console.error(`Screen native module hasn't been linked. Please check the react-native-screens README for more details`);
32
23
  }
33
24
  }
34
-
35
25
  let ENABLE_FREEZE = false;
36
-
37
- function enableFreeze(shouldEnableReactFreeze = true) {
26
+ function enableFreeze() {
27
+ let shouldEnableReactFreeze = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
38
28
  const minor = parseInt(_package.version.split('.')[1]); // eg. takes 66 from '0.66.0'
39
- // react-freeze requires react-native >=0.64, react-native from main is 0.0.0
40
29
 
30
+ // react-freeze requires react-native >=0.64, react-native from main is 0.0.0
41
31
  if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {
42
32
  console.warn('react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.');
43
33
  }
44
-
45
34
  ENABLE_FREEZE = shouldEnableReactFreeze;
46
- } // const that tells if the library should use new implementation, will be undefined for older versions
47
-
35
+ }
48
36
 
37
+ // const that tells if the library should use new implementation, will be undefined for older versions
49
38
  const shouldUseActivityState = true;
50
-
51
39
  function screensEnabled() {
52
40
  return ENABLE_SCREENS;
53
- } // We initialize these lazily so that importing the module doesn't throw error when not linked
54
- // This is necessary coz libraries such as React Navigation import the library where it may not be enabled
55
-
41
+ }
56
42
 
43
+ // We initialize these lazily so that importing the module doesn't throw error when not linked
44
+ // This is necessary coz libraries such as React Navigation import the library where it may not be enabled
57
45
  let NativeScreenValue;
58
46
  let NativeScreenContainerValue;
59
47
  let NativeScreenNavigationContainerValue;
@@ -68,53 +56,44 @@ const ScreensNativeModules = {
68
56
  NativeScreenValue = NativeScreenValue || (0, _reactNative.requireNativeComponent)('RNSScreen');
69
57
  return NativeScreenValue;
70
58
  },
71
-
72
59
  get NativeScreenContainer() {
73
60
  NativeScreenContainerValue = NativeScreenContainerValue || (0, _reactNative.requireNativeComponent)('RNSScreenContainer');
74
61
  return NativeScreenContainerValue;
75
62
  },
76
-
77
63
  get NativeScreenNavigationContainer() {
78
64
  NativeScreenNavigationContainerValue = NativeScreenNavigationContainerValue || (_reactNative.Platform.OS === 'ios' ? (0, _reactNative.requireNativeComponent)('RNSScreenNavigationContainer') : this.NativeScreenContainer);
79
65
  return NativeScreenNavigationContainerValue;
80
66
  },
81
-
82
67
  get NativeScreenStack() {
83
68
  NativeScreenStack = NativeScreenStack || (0, _reactNative.requireNativeComponent)('RNSScreenStack');
84
69
  return NativeScreenStack;
85
70
  },
86
-
87
71
  get NativeScreenStackHeaderConfig() {
88
72
  NativeScreenStackHeaderConfig = NativeScreenStackHeaderConfig || (0, _reactNative.requireNativeComponent)('RNSScreenStackHeaderConfig');
89
73
  return NativeScreenStackHeaderConfig;
90
74
  },
91
-
92
75
  get NativeScreenStackHeaderSubview() {
93
76
  NativeScreenStackHeaderSubview = NativeScreenStackHeaderSubview || (0, _reactNative.requireNativeComponent)('RNSScreenStackHeaderSubview');
94
77
  return NativeScreenStackHeaderSubview;
95
78
  },
96
-
97
79
  get NativeSearchBar() {
98
80
  NativeSearchBar = NativeSearchBar || (0, _reactNative.requireNativeComponent)('RNSSearchBar');
99
81
  return NativeSearchBar;
100
82
  },
101
-
102
83
  get NativeFullWindowOverlay() {
103
84
  NativeFullWindowOverlay = NativeFullWindowOverlay || (0, _reactNative.requireNativeComponent)('RNSFullWindowOverlay');
104
85
  return NativeFullWindowOverlay;
105
86
  }
106
-
107
87
  };
108
-
109
88
  // This component allows one more render before freezing the screen.
110
89
  // Allows activityState to reach the native side and useIsFocused to work correctly.
111
- function DelayedFreeze({
112
- freeze,
113
- children
114
- }) {
90
+ function DelayedFreeze(_ref) {
91
+ let {
92
+ freeze,
93
+ children
94
+ } = _ref;
115
95
  // flag used for determining whether freeze should be enabled
116
96
  const [freezeState, setFreezeState] = _react.default.useState(false);
117
-
118
97
  if (freeze !== freezeState) {
119
98
  // setImmediate is executed at the end of the JS execution block.
120
99
  // Used here for changing the state right after the render.
@@ -122,24 +101,19 @@ function DelayedFreeze({
122
101
  setFreezeState(freeze);
123
102
  });
124
103
  }
125
-
126
104
  return /*#__PURE__*/_react.default.createElement(_reactFreeze.Freeze, {
127
105
  freeze: freeze ? freezeState : false
128
106
  }, children);
129
107
  }
130
-
131
108
  function ScreenStack(props) {
132
109
  const {
133
110
  children,
134
111
  ...rest
135
112
  } = props;
136
-
137
- const size = _react.default.Children.count(children); // freezes all screens except the top one
138
-
139
-
113
+ const size = _react.default.Children.count(children);
114
+ // freezes all screens except the top one
140
115
  const childrenWithFreeze = _react.default.Children.map(children, (child, index) => {
141
116
  var _props$descriptor, _props$descriptors, _descriptor$options$f, _descriptor$options;
142
-
143
117
  // @ts-expect-error it's either SceneView in v6 or RouteView in v5
144
118
  const {
145
119
  props,
@@ -151,48 +125,37 @@ function ScreenStack(props) {
151
125
  freeze: freezeEnabled && size - index > 1
152
126
  }, child);
153
127
  });
154
-
155
128
  return /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStack, rest, childrenWithFreeze);
156
- } // Incomplete type, all accessible properties available at:
157
- // react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
129
+ }
158
130
 
131
+ // Incomplete type, all accessible properties available at:
132
+ // react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
159
133
 
160
134
  class InnerScreen extends _react.default.Component {
161
- constructor(...args) {
162
- super(...args);
163
-
135
+ constructor() {
136
+ super(...arguments);
164
137
  _defineProperty(this, "ref", null);
165
-
166
138
  _defineProperty(this, "closing", new _reactNative.Animated.Value(0));
167
-
168
139
  _defineProperty(this, "progress", new _reactNative.Animated.Value(0));
169
-
170
140
  _defineProperty(this, "goingForward", new _reactNative.Animated.Value(0));
171
-
172
141
  _defineProperty(this, "setRef", ref => {
173
142
  var _this$props$onCompone, _this$props;
174
-
175
143
  this.ref = ref;
176
144
  (_this$props$onCompone = (_this$props = this.props).onComponentRef) === null || _this$props$onCompone === void 0 ? void 0 : _this$props$onCompone.call(_this$props, ref);
177
145
  });
178
146
  }
179
-
180
147
  setNativeProps(props) {
181
148
  var _this$ref;
182
-
183
149
  (_this$ref = this.ref) === null || _this$ref === void 0 ? void 0 : _this$ref.setNativeProps(props);
184
150
  }
185
-
186
151
  render() {
187
152
  const {
188
153
  enabled = ENABLE_SCREENS,
189
154
  freezeOnBlur = ENABLE_FREEZE,
190
155
  ...rest
191
156
  } = this.props;
192
-
193
157
  if (enabled && isPlatformSupported) {
194
158
  var _gestureResponseDista, _gestureResponseDista2, _gestureResponseDista3, _gestureResponseDista4;
195
-
196
159
  AnimatedNativeScreen = AnimatedNativeScreen || _reactNative.Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);
197
160
  let {
198
161
  // Filter out active prop in this case because it is unused and
@@ -205,7 +168,6 @@ class InnerScreen extends _react.default.Component {
205
168
  gestureResponseDistance,
206
169
  ...props
207
170
  } = rest;
208
-
209
171
  if (active !== undefined && activityState === undefined) {
210
172
  console.warn('It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens');
211
173
  activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition
@@ -213,15 +175,14 @@ class InnerScreen extends _react.default.Component {
213
175
 
214
176
  const handleRef = ref => {
215
177
  var _ref$viewConfig, _ref$viewConfig$valid;
216
-
217
178
  if (ref !== null && ref !== void 0 && (_ref$viewConfig = ref.viewConfig) !== null && _ref$viewConfig !== void 0 && (_ref$viewConfig$valid = _ref$viewConfig.validAttributes) !== null && _ref$viewConfig$valid !== void 0 && _ref$viewConfig$valid.style) {
218
- ref.viewConfig.validAttributes.style = { ...ref.viewConfig.validAttributes.style,
179
+ ref.viewConfig.validAttributes.style = {
180
+ ...ref.viewConfig.validAttributes.style,
219
181
  display: false
220
182
  };
221
183
  this.setRef(ref);
222
184
  }
223
185
  };
224
-
225
186
  return /*#__PURE__*/_react.default.createElement(DelayedFreeze, {
226
187
  freeze: freezeOnBlur && activityState === 0
227
188
  }, /*#__PURE__*/_react.default.createElement(AnimatedNativeScreen, _extends({}, props, {
@@ -231,7 +192,8 @@ class InnerScreen extends _react.default.Component {
231
192
  end: (_gestureResponseDista2 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.end) !== null && _gestureResponseDista2 !== void 0 ? _gestureResponseDista2 : -1,
232
193
  top: (_gestureResponseDista3 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.top) !== null && _gestureResponseDista3 !== void 0 ? _gestureResponseDista3 : -1,
233
194
  bottom: (_gestureResponseDista4 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.bottom) !== null && _gestureResponseDista4 !== void 0 ? _gestureResponseDista4 : -1
234
- } // This prevents showing blank screen when navigating between multiple screens with freezing
195
+ }
196
+ // This prevents showing blank screen when navigating between multiple screens with freezing
235
197
  // https://github.com/software-mansion/react-native-screens/pull/1208
236
198
  ,
237
199
  ref: handleRef,
@@ -244,7 +206,8 @@ class InnerScreen extends _react.default.Component {
244
206
  }], {
245
207
  useNativeDriver: true
246
208
  })
247
- }), !isNativeStack ? // see comment of this prop in types.tsx for information why it is needed
209
+ }), !isNativeStack ?
210
+ // see comment of this prop in types.tsx for information why it is needed
248
211
  children : /*#__PURE__*/_react.default.createElement(_TransitionProgressContext.default.Provider, {
249
212
  value: {
250
213
  progress: this.progress,
@@ -262,11 +225,9 @@ class InnerScreen extends _react.default.Component {
262
225
  onComponentRef,
263
226
  ...props
264
227
  } = rest;
265
-
266
228
  if (active !== undefined && activityState === undefined) {
267
229
  activityState = active !== 0 ? 2 : 0;
268
230
  }
269
-
270
231
  return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, _extends({
271
232
  style: [style, {
272
233
  display: activityState !== 0 ? 'flex' : 'none'
@@ -275,27 +236,34 @@ class InnerScreen extends _react.default.Component {
275
236
  }, props));
276
237
  }
277
238
  }
278
-
279
239
  }
280
-
281
240
  function ScreenContainer(props) {
282
241
  const {
283
242
  enabled = ENABLE_SCREENS,
284
243
  hasTwoStates,
285
244
  ...rest
286
245
  } = props;
287
-
288
246
  if (enabled && isPlatformSupported) {
289
247
  if (hasTwoStates) {
290
248
  return /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenNavigationContainer, rest);
291
249
  }
292
-
293
250
  return /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenContainer, rest);
294
251
  }
295
-
296
252
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, rest);
297
253
  }
298
-
254
+ function FullWindowOverlay(props) {
255
+ if (_reactNative.Platform.OS !== 'ios') {
256
+ console.warn('Importing FullWindowOverlay is only valid on iOS devices.');
257
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, props);
258
+ }
259
+ return /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeFullWindowOverlay, {
260
+ style: {
261
+ position: 'absolute',
262
+ width: '100%',
263
+ height: '100%'
264
+ }
265
+ }, props.children);
266
+ }
299
267
  const styles = _reactNative.StyleSheet.create({
300
268
  headerSubview: {
301
269
  position: 'absolute',
@@ -306,7 +274,6 @@ const styles = _reactNative.StyleSheet.create({
306
274
  justifyContent: 'center'
307
275
  }
308
276
  });
309
-
310
277
  const ScreenStackHeaderBackButtonImage = props => /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, {
311
278
  type: "back",
312
279
  style: styles.headerSubview
@@ -314,41 +281,32 @@ const ScreenStackHeaderBackButtonImage = props => /*#__PURE__*/_react.default.cr
314
281
  resizeMode: "center",
315
282
  fadeDuration: 0
316
283
  }, props)));
317
-
318
284
  const ScreenStackHeaderRightView = props => /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
319
285
  type: "right",
320
286
  style: styles.headerSubview
321
287
  }));
322
-
323
288
  const ScreenStackHeaderLeftView = props => /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
324
289
  type: "left",
325
290
  style: styles.headerSubview
326
291
  }));
327
-
328
292
  const ScreenStackHeaderCenterView = props => /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
329
293
  type: "center",
330
294
  style: styles.headerSubview
331
295
  }));
332
-
333
296
  const ScreenStackHeaderSearchBarView = props => /*#__PURE__*/_react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
334
297
  type: "searchBar",
335
298
  style: styles.headerSubview
336
299
  }));
337
-
338
300
  // context to be used when the user wants to use enhanced implementation
339
301
  // e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
340
302
  const ScreenContext = /*#__PURE__*/_react.default.createContext(InnerScreen);
341
-
342
303
  class Screen extends _react.default.Component {
343
304
  render() {
344
305
  const ScreenWrapper = this.context || InnerScreen;
345
306
  return /*#__PURE__*/_react.default.createElement(ScreenWrapper, this.props);
346
307
  }
347
-
348
308
  }
349
-
350
309
  _defineProperty(Screen, "contextType", ScreenContext);
351
-
352
310
  module.exports = {
353
311
  // these are classes so they are not evaluated until used
354
312
  // so no need to use getters for them
@@ -357,45 +315,29 @@ module.exports = {
357
315
  ScreenContext,
358
316
  ScreenStack,
359
317
  InnerScreen,
360
-
318
+ FullWindowOverlay,
361
319
  get NativeScreen() {
362
320
  return ScreensNativeModules.NativeScreen;
363
321
  },
364
-
365
322
  get NativeScreenContainer() {
366
323
  return ScreensNativeModules.NativeScreenContainer;
367
324
  },
368
-
369
325
  get NativeScreenNavigationContainer() {
370
326
  return ScreensNativeModules.NativeScreenNavigationContainer;
371
327
  },
372
-
373
328
  get ScreenStackHeaderConfig() {
374
329
  return ScreensNativeModules.NativeScreenStackHeaderConfig;
375
330
  },
376
-
377
331
  get ScreenStackHeaderSubview() {
378
332
  return ScreensNativeModules.NativeScreenStackHeaderSubview;
379
333
  },
380
-
381
334
  get SearchBar() {
382
335
  if (!_utils.isSearchBarAvailableForCurrentPlatform) {
383
336
  console.warn('Importing SearchBar is only valid on iOS and Android devices.');
384
337
  return _reactNative.View;
385
338
  }
386
-
387
339
  return ScreensNativeModules.NativeSearchBar;
388
340
  },
389
-
390
- get FullWindowOverlay() {
391
- if (_reactNative.Platform.OS !== 'ios') {
392
- console.warn('Importing FullWindowOverlay is only valid on iOS devices.');
393
- return _reactNative.View;
394
- }
395
-
396
- return ScreensNativeModules.NativeFullWindowOverlay;
397
- },
398
-
399
341
  // these are functions and will not be evaluated until used
400
342
  // so no need to use getters for them
401
343
  ScreenStackHeaderBackButtonImage,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.native.tsx"],"names":["isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","DelayedFreeze","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","Animated","Value","ref","onComponentRef","setNativeProps","render","enabled","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","undefined","handleRef","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","event","nativeEvent","progress","closing","goingForward","useNativeDriver","ScreenContainer","hasTwoStates","styles","StyleSheet","create","headerSubview","position","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBar","isSearchBarAvailableForCurrentPlatform","View","FullWindowOverlay","useTransitionProgress","executeNativeBackPress"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<React.PropsWithChildren<\n ViewProps & { type?: HeaderSubviewTypes }\n>>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\nlet NativeSearchBar: React.ComponentType<SearchBarProps>;\nlet NativeFullWindowOverlay: React.ComponentType<View>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || requireNativeComponent('RNSScreen');\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n requireNativeComponent('RNSScreenContainer');\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');\n return NativeSearchBar;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\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 {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }>\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}>\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = this.context || InnerScreen;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBar() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View;\n }\n\n return ScreensNativeModules.NativeSearchBar;\n },\n get FullWindowOverlay() {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return View;\n }\n\n return ScreensNativeModules.NativeFullWindowOverlay;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n};\n"]}
1
+ {"version":3,"names":["isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","requireNativeComponent","NativeScreenContainer","NativeScreenNavigationContainer","DelayedFreeze","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","Animated","Value","ref","onComponentRef","setNativeProps","render","enabled","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","undefined","handleRef","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","event","nativeEvent","progress","closing","goingForward","useNativeDriver","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","StyleSheet","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBar","isSearchBarAvailableForCurrentPlatform","View","useTransitionProgress","executeNativeBackPress"],"sources":["index.native.tsx"],"sourcesContent":["import React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\nlet NativeSearchBar: React.ComponentType<SearchBarProps>;\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || requireNativeComponent('RNSScreen');\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n requireNativeComponent('RNSScreenContainer');\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');\n return NativeSearchBar;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\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 {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = this.context || InnerScreen;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBar() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View;\n }\n\n return ScreensNativeModules.NativeSearchBar;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n};\n"],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "createNativeStackNavigator", {
6
+ Object.defineProperty(exports, "HeaderHeightContext", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _createNativeStackNavigator.default;
9
+ return _HeaderHeightContext.default;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "NativeStackView", {
@@ -15,26 +15,21 @@ Object.defineProperty(exports, "NativeStackView", {
15
15
  return _NativeStackView.default;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "useHeaderHeight", {
18
+ Object.defineProperty(exports, "createNativeStackNavigator", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _useHeaderHeight.default;
21
+ return _createNativeStackNavigator.default;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "HeaderHeightContext", {
24
+ Object.defineProperty(exports, "useHeaderHeight", {
25
25
  enumerable: true,
26
26
  get: function () {
27
- return _HeaderHeightContext.default;
27
+ return _useHeaderHeight.default;
28
28
  }
29
29
  });
30
-
31
30
  var _createNativeStackNavigator = _interopRequireDefault(require("./navigators/createNativeStackNavigator"));
32
-
33
31
  var _NativeStackView = _interopRequireDefault(require("./views/NativeStackView"));
34
-
35
32
  var _useHeaderHeight = _interopRequireDefault(require("./utils/useHeaderHeight"));
36
-
37
33
  var _HeaderHeightContext = _interopRequireDefault(require("./utils/HeaderHeightContext"));
38
-
39
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AACA","sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Utilities\n */\nexport { default as useHeaderHeight } from './utils/useHeaderHeight';\nexport { default as HeaderHeightContext } from './utils/HeaderHeightContext';\n\n/**\n * Types\n */\nexport type {\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"]}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Utilities\n */\nexport { default as useHeaderHeight } from './utils/useHeaderHeight';\nexport { default as HeaderHeightContext } from './utils/HeaderHeightContext';\n\n/**\n * Types\n */\nexport type {\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AAKA;AAKA;AACA;AAA6E"}