@amazon-devices/react-native-screens 2.0.1759135970 → 3.0.9000000000

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/README.md +57 -18
  2. package/RNScreens.podspec +12 -30
  3. package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.bundle +45301 -0
  4. package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.map +13711 -0
  5. package/SystemModules/amzn__react-native-screens-3.modules.txt +158 -0
  6. package/SystemModules/amzn__react-native-screens-3.private.modules.txt +377 -0
  7. package/SystemModules/keplerscript-system-bundle-config.json +4 -4
  8. package/android/CMakeLists.txt +80 -0
  9. package/android/build.gradle +96 -17
  10. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
  11. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +38 -25
  12. package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +53 -0
  13. package/android/src/main/cpp/NativeProxy.cpp +51 -0
  14. package/android/src/main/cpp/NativeProxy.h +35 -0
  15. package/android/src/main/cpp/OnLoad.cpp +8 -0
  16. package/android/src/main/cpp/jni-adapter.cpp +106 -0
  17. package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +20 -10
  18. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +69 -1
  19. package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +8 -8
  20. package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +104 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/ModalScreenViewManager.kt +12 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +12 -0
  23. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +65 -7
  24. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +327 -84
  25. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +122 -72
  26. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +27 -4
  27. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapper.kt +38 -0
  28. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapperManager.kt +25 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +10 -2
  30. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooter.kt +299 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooterManager.kt +25 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +91 -67
  33. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +12 -1
  34. package/android/src/main/java/com/swmansion/rnscreens/ScreenModalFragment.kt +281 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +184 -81
  36. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +467 -80
  37. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +8 -1
  38. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +156 -124
  39. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
  40. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +159 -39
  41. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +24 -9
  42. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +19 -13
  43. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +31 -28
  44. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +276 -71
  45. package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +124 -64
  46. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +127 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +4 -2
  48. package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +160 -53
  49. package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +57 -32
  50. package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +15 -10
  51. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetBehaviorExt.kt +42 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogRootView.kt +104 -0
  53. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogScreen.kt +26 -0
  54. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingFragment.kt +493 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +66 -0
  56. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt +24 -0
  57. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +135 -0
  58. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +7 -8
  59. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +8 -9
  60. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +7 -8
  61. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +9 -10
  62. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +4 -1
  63. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +4 -1
  64. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +8 -4
  65. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +13 -16
  66. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +4 -1
  67. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +4 -1
  68. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +8 -9
  69. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +8 -11
  70. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +7 -8
  71. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +8 -9
  72. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +7 -8
  73. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +12 -11
  74. package/android/src/main/java/com/swmansion/rnscreens/events/SheetDetentChangedEvent.kt +27 -0
  75. package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +4 -1
  76. package/android/src/main/java/com/swmansion/rnscreens/ext/NumericExt.kt +12 -0
  77. package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +32 -0
  78. package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +1 -5
  79. package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
  80. package/android/src/main/java/com/swmansion/rnscreens/utils/ScreenDummyLayoutHelper.kt +282 -0
  81. package/android/src/main/jni/CMakeLists.txt +35 -23
  82. package/android/src/main/jni/rnscreens.h +3 -0
  83. package/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +5 -0
  84. package/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +5 -0
  85. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +6 -0
  86. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +6 -0
  87. package/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +5 -0
  88. package/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +5 -0
  89. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +6 -0
  90. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +6 -0
  91. package/android/src/main/res/base/drawable/rns_rounder_top_corners_shape.xml +8 -0
  92. package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +0 -1
  93. package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +2 -2
  94. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +25 -0
  95. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +16 -0
  96. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +25 -0
  97. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +16 -0
  98. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +25 -0
  99. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +16 -0
  100. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +16 -3
  101. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +7 -2
  102. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +6 -0
  103. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +2 -0
  104. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +99 -0
  105. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +37 -0
  106. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
  107. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +11 -2
  108. package/android/src/paper/java/com/swmansion/rnscreens/NativeProxy.kt +19 -0
  109. package/android/src/paper/java/com/swmansion/rnscreens/NativeScreensModuleSpec.java +36 -0
  110. package/common/cpp/react/renderer/components/rnscreens/FrameCorrectionModes.h +51 -0
  111. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +40 -0
  112. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +16 -0
  113. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +32 -0
  114. package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +55 -12
  115. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +157 -0
  116. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +31 -11
  117. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +49 -0
  118. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +22 -0
  119. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +40 -0
  120. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +34 -0
  121. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +57 -0
  122. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
  123. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
  124. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +31 -0
  125. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
  126. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +39 -0
  127. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +23 -2
  128. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +33 -8
  129. package/common/cpp/react/renderer/components/rnscreens/utils/RectUtil.h +36 -0
  130. package/cpp/RNSScreenRemovalListener.cpp +25 -0
  131. package/cpp/RNSScreenRemovalListener.h +20 -0
  132. package/cpp/RNScreensTurboModule.cpp +115 -0
  133. package/cpp/RNScreensTurboModule.h +40 -0
  134. package/gesture-handler/package.json +6 -0
  135. package/ios/RNSConvert.h +24 -4
  136. package/ios/RNSConvert.mm +180 -55
  137. package/ios/RNSEnums.h +48 -0
  138. package/ios/RNSFullWindowOverlay.mm +12 -2
  139. package/ios/RNSModalScreen.h +8 -0
  140. package/ios/RNSModalScreen.mm +65 -0
  141. package/ios/RNSModule.h +19 -0
  142. package/ios/RNSModule.mm +173 -0
  143. package/ios/RNSPercentDrivenInteractiveTransition.h +12 -0
  144. package/ios/RNSPercentDrivenInteractiveTransition.mm +69 -0
  145. package/ios/RNSScreen.h +24 -5
  146. package/ios/RNSScreen.mm +652 -173
  147. package/ios/RNSScreenContainer.mm +12 -1
  148. package/ios/RNSScreenContentWrapper.h +44 -0
  149. package/ios/RNSScreenContentWrapper.mm +67 -0
  150. package/ios/RNSScreenFooter.h +30 -0
  151. package/ios/RNSScreenFooter.mm +142 -0
  152. package/ios/RNSScreenNavigationContainer.mm +7 -0
  153. package/ios/RNSScreenStack.h +6 -0
  154. package/ios/RNSScreenStack.mm +333 -109
  155. package/ios/RNSScreenStackAnimator.h +15 -1
  156. package/ios/RNSScreenStackAnimator.mm +380 -115
  157. package/ios/RNSScreenStackHeaderConfig.h +74 -6
  158. package/ios/RNSScreenStackHeaderConfig.mm +338 -69
  159. package/ios/RNSScreenStackHeaderSubview.h +0 -7
  160. package/ios/RNSScreenStackHeaderSubview.mm +61 -24
  161. package/ios/RNSScreenWindowTraits.h +1 -1
  162. package/ios/RNSScreenWindowTraits.mm +24 -50
  163. package/ios/RNSSearchBar.h +5 -5
  164. package/ios/RNSSearchBar.mm +42 -11
  165. package/ios/events/RNSHeaderHeightChangeEvent.h +0 -1
  166. package/ios/events/RNSHeaderHeightChangeEvent.mm +15 -0
  167. package/ios/events/RNSScreenViewEvent.h +0 -1
  168. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.h +15 -0
  169. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.mm +14 -0
  170. package/ios/utils/RCTTouchHandler+RNSUtility.h +15 -0
  171. package/ios/utils/RCTTouchHandler+RNSUtility.mm +15 -0
  172. package/ios/utils/RNSDefines.h +7 -0
  173. package/ios/utils/RNSUIBarButtonItem.h +2 -0
  174. package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
  175. package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
  176. package/ios/utils/UIView+RNSUtility.h +23 -0
  177. package/ios/utils/UIView+RNSUtility.mm +54 -0
  178. package/kepler-compatibility.json +2 -2
  179. package/lib/commonjs/TransitionProgressContext.js +1 -0
  180. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  181. package/lib/commonjs/components/DebugContainer.js +39 -0
  182. package/lib/commonjs/components/DebugContainer.js.map +1 -0
  183. package/lib/commonjs/components/DebugContainer.web.js +15 -0
  184. package/lib/commonjs/components/DebugContainer.web.js.map +1 -0
  185. package/lib/commonjs/components/FullWindowOverlay.js +31 -0
  186. package/lib/commonjs/components/FullWindowOverlay.js.map +1 -0
  187. package/lib/commonjs/components/FullWindowOverlay.web.js +9 -0
  188. package/lib/commonjs/components/FullWindowOverlay.web.js.map +1 -0
  189. package/lib/commonjs/components/Screen.js +286 -0
  190. package/lib/commonjs/components/Screen.js.map +1 -0
  191. package/lib/commonjs/components/Screen.web.js +47 -0
  192. package/lib/commonjs/components/Screen.web.js.map +1 -0
  193. package/lib/commonjs/components/ScreenContainer.js +32 -0
  194. package/lib/commonjs/components/ScreenContainer.js.map +1 -0
  195. package/lib/commonjs/components/ScreenContainer.web.js +10 -0
  196. package/lib/commonjs/components/ScreenContainer.web.js.map +1 -0
  197. package/lib/commonjs/components/ScreenContentWrapper.js +17 -0
  198. package/lib/commonjs/components/ScreenContentWrapper.js.map +1 -0
  199. package/lib/commonjs/components/ScreenContentWrapper.web.js +10 -0
  200. package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
  201. package/lib/commonjs/components/ScreenFooter.js +25 -0
  202. package/lib/commonjs/components/ScreenFooter.js.map +1 -0
  203. package/lib/commonjs/components/ScreenFooter.web.js +11 -0
  204. package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
  205. package/lib/commonjs/components/ScreenStack.js +67 -0
  206. package/lib/commonjs/components/ScreenStack.js.map +1 -0
  207. package/lib/commonjs/components/ScreenStack.web.js +10 -0
  208. package/lib/commonjs/components/ScreenStack.web.js.map +1 -0
  209. package/lib/commonjs/components/ScreenStackHeaderConfig.js +90 -0
  210. package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -0
  211. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js +27 -0
  212. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js.map +1 -0
  213. package/lib/commonjs/components/ScreenStackItem.js +107 -0
  214. package/lib/commonjs/components/ScreenStackItem.js.map +1 -0
  215. package/lib/commonjs/components/SearchBar.js +63 -0
  216. package/lib/commonjs/components/SearchBar.js.map +1 -0
  217. package/lib/commonjs/components/SearchBar.web.js +10 -0
  218. package/lib/commonjs/components/SearchBar.web.js.map +1 -0
  219. package/lib/commonjs/components/helpers/DelayedFreeze.js +31 -0
  220. package/lib/commonjs/components/helpers/DelayedFreeze.js.map +1 -0
  221. package/lib/commonjs/components/helpers/usePrevious.js +15 -0
  222. package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
  223. package/lib/commonjs/contexts.js +11 -0
  224. package/lib/commonjs/contexts.js.map +1 -0
  225. package/lib/commonjs/core.js +40 -0
  226. package/lib/commonjs/core.js.map +1 -0
  227. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +16 -1
  228. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  229. package/lib/commonjs/fabric/ModalScreenNativeComponent.js +14 -0
  230. package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -0
  231. package/lib/commonjs/fabric/NativeScreensModule.js +10 -0
  232. package/lib/commonjs/fabric/NativeScreensModule.js.map +1 -0
  233. package/lib/commonjs/fabric/NativeScreensModule.web.js +8 -0
  234. package/lib/commonjs/fabric/NativeScreensModule.web.js.map +1 -0
  235. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +8 -11
  236. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  237. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js +18 -0
  238. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  239. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js +10 -0
  240. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js.map +1 -0
  241. package/lib/commonjs/fabric/ScreenNativeComponent.js +13 -15
  242. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  243. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +2 -1
  244. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  245. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +10 -9
  246. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  247. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -2
  248. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  249. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +8 -11
  250. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  251. package/lib/commonjs/fabric/SearchBarNativeComponent.js +4 -5
  252. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  253. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js +19 -0
  254. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js.map +1 -0
  255. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js +8 -0
  256. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js.map +1 -0
  257. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js +201 -0
  258. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js.map +1 -0
  259. package/lib/commonjs/gesture-handler/constraints.js +64 -0
  260. package/lib/commonjs/gesture-handler/constraints.js.map +1 -0
  261. package/lib/commonjs/gesture-handler/defaults.js +45 -0
  262. package/lib/commonjs/gesture-handler/defaults.js.map +1 -0
  263. package/lib/commonjs/gesture-handler/fabricUtils.js +66 -0
  264. package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -0
  265. package/lib/commonjs/gesture-handler/fabricUtils.web.js +17 -0
  266. package/lib/commonjs/gesture-handler/fabricUtils.web.js.map +1 -0
  267. package/lib/commonjs/gesture-handler/index.js +14 -0
  268. package/lib/commonjs/gesture-handler/index.js.map +1 -0
  269. package/lib/commonjs/index.js +157 -94
  270. package/lib/commonjs/index.js.map +1 -1
  271. package/lib/commonjs/native-stack/contexts/GHContext.js +12 -0
  272. package/lib/commonjs/native-stack/contexts/GHContext.js.map +1 -0
  273. package/lib/commonjs/native-stack/index.js.map +1 -1
  274. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +21 -20
  275. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  276. package/lib/commonjs/native-stack/types.js.map +1 -1
  277. package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  278. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  279. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  280. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  281. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js +22 -0
  282. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js.map +1 -0
  283. package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  284. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +2 -4
  285. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  286. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  287. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -3
  288. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  289. package/lib/commonjs/native-stack/views/FooterComponent.js +17 -0
  290. package/lib/commonjs/native-stack/views/FooterComponent.js.map +1 -0
  291. package/lib/commonjs/native-stack/views/HeaderConfig.js +21 -13
  292. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  293. package/lib/commonjs/native-stack/views/NativeStackView.js +118 -52
  294. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  295. package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  296. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +15 -21
  297. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  298. package/lib/commonjs/reanimated/ReanimatedScreen.js +2 -2
  299. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  300. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +8 -16
  301. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  302. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  303. package/lib/commonjs/reanimated/index.js.map +1 -1
  304. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +2 -2
  305. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  306. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  307. package/lib/commonjs/types.js.map +1 -1
  308. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  309. package/lib/commonjs/utils.js +28 -6
  310. package/lib/commonjs/utils.js.map +1 -1
  311. package/lib/module/TransitionProgressContext.js +2 -0
  312. package/lib/module/TransitionProgressContext.js.map +1 -1
  313. package/lib/module/components/DebugContainer.js +30 -0
  314. package/lib/module/components/DebugContainer.js.map +1 -0
  315. package/lib/module/components/DebugContainer.web.js +6 -0
  316. package/lib/module/components/DebugContainer.web.js.map +1 -0
  317. package/lib/module/components/FullWindowOverlay.js +24 -0
  318. package/lib/module/components/FullWindowOverlay.js.map +1 -0
  319. package/lib/module/components/FullWindowOverlay.web.js +3 -0
  320. package/lib/module/components/FullWindowOverlay.web.js.map +1 -0
  321. package/lib/module/components/Screen.js +282 -0
  322. package/lib/module/components/Screen.js.map +1 -0
  323. package/lib/module/components/Screen.web.js +40 -0
  324. package/lib/module/components/Screen.web.js.map +1 -0
  325. package/lib/module/components/ScreenContainer.js +26 -0
  326. package/lib/module/components/ScreenContainer.js.map +1 -0
  327. package/lib/module/components/ScreenContainer.web.js +4 -0
  328. package/lib/module/components/ScreenContainer.web.js.map +1 -0
  329. package/lib/module/components/ScreenContentWrapper.js +10 -0
  330. package/lib/module/components/ScreenContentWrapper.js.map +1 -0
  331. package/lib/module/components/ScreenContentWrapper.web.js +4 -0
  332. package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
  333. package/lib/module/components/ScreenFooter.js +18 -0
  334. package/lib/module/components/ScreenFooter.js.map +1 -0
  335. package/lib/module/components/ScreenFooter.web.js +6 -0
  336. package/lib/module/components/ScreenFooter.web.js.map +1 -0
  337. package/lib/module/components/ScreenStack.js +63 -0
  338. package/lib/module/components/ScreenStack.js.map +1 -0
  339. package/lib/module/components/ScreenStack.web.js +4 -0
  340. package/lib/module/components/ScreenStack.web.js.map +1 -0
  341. package/lib/module/components/ScreenStackHeaderConfig.js +81 -0
  342. package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -0
  343. package/lib/module/components/ScreenStackHeaderConfig.web.js +14 -0
  344. package/lib/module/components/ScreenStackHeaderConfig.web.js.map +1 -0
  345. package/lib/module/components/ScreenStackItem.js +98 -0
  346. package/lib/module/components/ScreenStackItem.js.map +1 -0
  347. package/lib/module/components/SearchBar.js +57 -0
  348. package/lib/module/components/SearchBar.js.map +1 -0
  349. package/lib/module/components/SearchBar.web.js +4 -0
  350. package/lib/module/components/SearchBar.web.js.map +1 -0
  351. package/lib/module/components/helpers/DelayedFreeze.js +24 -0
  352. package/lib/module/components/helpers/DelayedFreeze.js.map +1 -0
  353. package/lib/module/components/helpers/usePrevious.js +9 -0
  354. package/lib/module/components/helpers/usePrevious.js.map +1 -0
  355. package/lib/module/contexts.js +4 -0
  356. package/lib/module/contexts.js.map +1 -0
  357. package/lib/module/core.js +31 -0
  358. package/lib/module/core.js.map +1 -0
  359. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +16 -0
  360. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  361. package/lib/module/fabric/ModalScreenNativeComponent.js +10 -0
  362. package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -0
  363. package/lib/module/fabric/NativeScreensModule.js +5 -0
  364. package/lib/module/fabric/NativeScreensModule.js.map +1 -0
  365. package/lib/module/fabric/NativeScreensModule.web.js +2 -0
  366. package/lib/module/fabric/NativeScreensModule.web.js.map +1 -0
  367. package/lib/module/fabric/ScreenContainerNativeComponent.js +3 -4
  368. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  369. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js +10 -0
  370. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  371. package/lib/module/fabric/ScreenFooterNativeComponent.js +3 -0
  372. package/lib/module/fabric/ScreenFooterNativeComponent.js.map +1 -0
  373. package/lib/module/fabric/ScreenNativeComponent.js +8 -7
  374. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  375. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +2 -0
  376. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  377. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +8 -2
  378. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  379. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -1
  380. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  381. package/lib/module/fabric/ScreenStackNativeComponent.js +3 -3
  382. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  383. package/lib/module/fabric/SearchBarNativeComponent.js +3 -1
  384. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  385. package/lib/module/gesture-handler/GestureDetectorProvider.js +12 -0
  386. package/lib/module/gesture-handler/GestureDetectorProvider.js.map +1 -0
  387. package/lib/module/gesture-handler/RNScreensTurboModule.js +2 -0
  388. package/lib/module/gesture-handler/RNScreensTurboModule.js.map +1 -0
  389. package/lib/module/gesture-handler/ScreenGestureDetector.js +193 -0
  390. package/lib/module/gesture-handler/ScreenGestureDetector.js.map +1 -0
  391. package/lib/module/gesture-handler/constraints.js +56 -0
  392. package/lib/module/gesture-handler/constraints.js.map +1 -0
  393. package/lib/module/gesture-handler/defaults.js +39 -0
  394. package/lib/module/gesture-handler/defaults.js.map +1 -0
  395. package/lib/module/gesture-handler/fabricUtils.js +61 -0
  396. package/lib/module/gesture-handler/fabricUtils.js.map +1 -0
  397. package/lib/module/gesture-handler/fabricUtils.web.js +10 -0
  398. package/lib/module/gesture-handler/fabricUtils.web.js.map +1 -0
  399. package/lib/module/gesture-handler/index.js +5 -0
  400. package/lib/module/gesture-handler/index.js.map +1 -0
  401. package/lib/module/index.js +29 -64
  402. package/lib/module/index.js.map +1 -1
  403. package/lib/module/native-stack/contexts/GHContext.js +6 -0
  404. package/lib/module/native-stack/contexts/GHContext.js.map +1 -0
  405. package/lib/module/native-stack/index.js.map +1 -1
  406. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +21 -20
  407. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  408. package/lib/module/native-stack/types.js.map +1 -1
  409. package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  410. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  411. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  412. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  413. package/lib/module/native-stack/utils/getStatusBarHeight.js +16 -0
  414. package/lib/module/native-stack/utils/getStatusBarHeight.js.map +1 -0
  415. package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  416. package/lib/module/native-stack/utils/useBackPressSubscription.js +2 -4
  417. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  418. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  419. package/lib/module/native-stack/views/FontProcessor.js +2 -3
  420. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  421. package/lib/module/native-stack/views/FooterComponent.js +10 -0
  422. package/lib/module/native-stack/views/FooterComponent.js.map +1 -0
  423. package/lib/module/native-stack/views/HeaderConfig.js +13 -6
  424. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  425. package/lib/module/native-stack/views/NativeStackView.js +114 -46
  426. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  427. package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  428. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +8 -12
  429. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  430. package/lib/module/reanimated/ReanimatedScreen.js +1 -2
  431. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  432. package/lib/module/reanimated/ReanimatedScreenProvider.js +7 -15
  433. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  434. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  435. package/lib/module/reanimated/index.js.map +1 -1
  436. package/lib/module/reanimated/useReanimatedHeaderHeight.js +1 -1
  437. package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  438. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  439. package/lib/module/types.js.map +1 -1
  440. package/lib/module/useTransitionProgress.js.map +1 -1
  441. package/lib/module/utils.js +26 -5
  442. package/lib/module/utils.js.map +1 -1
  443. package/lib/typescript/TransitionProgressContext.d.ts +2 -1
  444. package/lib/typescript/TransitionProgressContext.d.ts.map +1 -0
  445. package/lib/typescript/components/DebugContainer.d.ts +15 -0
  446. package/lib/typescript/components/DebugContainer.d.ts.map +1 -0
  447. package/lib/typescript/components/DebugContainer.web.d.ts +4 -0
  448. package/lib/typescript/components/DebugContainer.web.d.ts.map +1 -0
  449. package/lib/typescript/components/FullWindowOverlay.d.ts +6 -0
  450. package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -0
  451. package/lib/typescript/components/FullWindowOverlay.web.d.ts +6 -0
  452. package/lib/typescript/components/FullWindowOverlay.web.d.ts.map +1 -0
  453. package/lib/typescript/components/Screen.d.ts +8 -0
  454. package/lib/typescript/components/Screen.d.ts.map +1 -0
  455. package/lib/typescript/components/Screen.web.d.ts +11 -0
  456. package/lib/typescript/components/Screen.web.d.ts.map +1 -0
  457. package/lib/typescript/components/ScreenContainer.d.ts +5 -0
  458. package/lib/typescript/components/ScreenContainer.d.ts.map +1 -0
  459. package/lib/typescript/components/ScreenContainer.web.d.ts +4 -0
  460. package/lib/typescript/components/ScreenContainer.web.d.ts.map +1 -0
  461. package/lib/typescript/components/ScreenContentWrapper.d.ts +5 -0
  462. package/lib/typescript/components/ScreenContentWrapper.d.ts.map +1 -0
  463. package/lib/typescript/components/ScreenContentWrapper.web.d.ts +4 -0
  464. package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
  465. package/lib/typescript/components/ScreenFooter.d.ts +12 -0
  466. package/lib/typescript/components/ScreenFooter.d.ts.map +1 -0
  467. package/lib/typescript/components/ScreenFooter.web.d.ts +6 -0
  468. package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
  469. package/lib/typescript/components/ScreenStack.d.ts +5 -0
  470. package/lib/typescript/components/ScreenStack.d.ts.map +1 -0
  471. package/lib/typescript/components/ScreenStack.web.d.ts +4 -0
  472. package/lib/typescript/components/ScreenStack.web.d.ts.map +1 -0
  473. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +13 -0
  474. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -0
  475. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +13 -0
  476. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -0
  477. package/lib/typescript/components/ScreenStackItem.d.ts +11 -0
  478. package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -0
  479. package/lib/typescript/components/SearchBar.d.ts +5 -0
  480. package/lib/typescript/components/SearchBar.d.ts.map +1 -0
  481. package/lib/typescript/components/SearchBar.web.d.ts +4 -0
  482. package/lib/typescript/components/SearchBar.web.d.ts.map +1 -0
  483. package/lib/typescript/components/helpers/DelayedFreeze.d.ts +8 -0
  484. package/lib/typescript/components/helpers/DelayedFreeze.d.ts.map +1 -0
  485. package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
  486. package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
  487. package/lib/typescript/contexts.d.ts +5 -0
  488. package/lib/typescript/contexts.d.ts.map +1 -0
  489. package/lib/typescript/core.d.ts +6 -0
  490. package/lib/typescript/core.d.ts.map +1 -0
  491. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +1 -1
  492. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -0
  493. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +76 -0
  494. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -0
  495. package/lib/typescript/fabric/NativeScreensModule.d.ts +6 -0
  496. package/lib/typescript/fabric/NativeScreensModule.d.ts.map +1 -0
  497. package/lib/typescript/fabric/NativeScreensModule.web.d.ts +3 -0
  498. package/lib/typescript/fabric/NativeScreensModule.web.d.ts.map +1 -0
  499. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +1 -0
  500. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts.map +1 -0
  501. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts +6 -0
  502. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts.map +1 -0
  503. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts +7 -0
  504. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts.map +1 -0
  505. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +34 -24
  506. package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -0
  507. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +1 -1
  508. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts.map +1 -0
  509. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +12 -2
  510. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -0
  511. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
  512. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -0
  513. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +4 -2
  514. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -0
  515. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +17 -16
  516. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -0
  517. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts +5 -0
  518. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts.map +1 -0
  519. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts +13 -0
  520. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts.map +1 -0
  521. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts +5 -0
  522. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts.map +1 -0
  523. package/lib/typescript/gesture-handler/constraints.d.ts +6 -0
  524. package/lib/typescript/gesture-handler/constraints.d.ts.map +1 -0
  525. package/lib/typescript/gesture-handler/defaults.d.ts +20 -0
  526. package/lib/typescript/gesture-handler/defaults.d.ts.map +1 -0
  527. package/lib/typescript/gesture-handler/fabricUtils.d.ts +10 -0
  528. package/lib/typescript/gesture-handler/fabricUtils.d.ts.map +1 -0
  529. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts +6 -0
  530. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts.map +1 -0
  531. package/lib/typescript/gesture-handler/index.d.ts +2 -0
  532. package/lib/typescript/gesture-handler/index.d.ts.map +1 -0
  533. package/lib/typescript/index.d.ts +25 -31
  534. package/lib/typescript/index.d.ts.map +1 -0
  535. package/lib/typescript/native-stack/contexts/GHContext.d.ts +4 -0
  536. package/lib/typescript/native-stack/contexts/GHContext.d.ts.map +1 -0
  537. package/lib/typescript/native-stack/index.d.ts +1 -0
  538. package/lib/typescript/native-stack/index.d.ts.map +1 -0
  539. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +4 -0
  540. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -0
  541. package/lib/typescript/native-stack/types.d.ts +191 -33
  542. package/lib/typescript/native-stack/types.d.ts.map +1 -0
  543. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +1 -0
  544. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts.map +1 -0
  545. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +1 -0
  546. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts.map +1 -0
  547. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +2 -1
  548. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts.map +1 -0
  549. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +3 -2
  550. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -0
  551. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts +3 -0
  552. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts.map +1 -0
  553. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +2 -1
  554. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
  555. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +1 -0
  556. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts.map +1 -0
  557. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
  558. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts.map +1 -0
  559. package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
  560. package/lib/typescript/native-stack/views/FontProcessor.d.ts.map +1 -0
  561. package/lib/typescript/native-stack/views/FooterComponent.d.ts +7 -0
  562. package/lib/typescript/native-stack/views/FooterComponent.d.ts.map +1 -0
  563. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +3 -2
  564. package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -0
  565. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  566. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -0
  567. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +1 -0
  568. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts.map +1 -0
  569. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +3 -3
  570. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts.map +1 -0
  571. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +3 -3
  572. package/lib/typescript/reanimated/ReanimatedScreen.d.ts.map +1 -0
  573. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +1 -0
  574. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts.map +1 -0
  575. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +2 -1
  576. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts.map +1 -0
  577. package/lib/typescript/reanimated/index.d.ts +1 -0
  578. package/lib/typescript/reanimated/index.d.ts.map +1 -0
  579. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +2 -3
  580. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts.map +1 -0
  581. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +4 -9
  582. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts.map +1 -0
  583. package/lib/typescript/types.d.ts +186 -36
  584. package/lib/typescript/types.d.ts.map +1 -0
  585. package/lib/typescript/useTransitionProgress.d.ts +4 -3
  586. package/lib/typescript/useTransitionProgress.d.ts.map +1 -0
  587. package/lib/typescript/utils.d.ts +27 -1
  588. package/lib/typescript/utils.d.ts.map +1 -0
  589. package/native-stack/README.md +156 -108
  590. package/native-stack/package.json +4 -4
  591. package/package.json +1 -1
  592. package/react-native.config.js +19 -16
  593. package/reanimated/package.json +1 -1
  594. package/src/TransitionProgressContext.tsx +3 -1
  595. package/src/components/DebugContainer.tsx +46 -0
  596. package/src/components/DebugContainer.web.tsx +7 -0
  597. package/src/components/FullWindowOverlay.tsx +33 -0
  598. package/src/components/FullWindowOverlay.web.tsx +6 -0
  599. package/src/components/Screen.tsx +392 -0
  600. package/src/components/Screen.web.tsx +46 -0
  601. package/src/components/ScreenContainer.tsx +28 -0
  602. package/src/components/ScreenContainer.web.tsx +5 -0
  603. package/src/components/ScreenContentWrapper.tsx +9 -0
  604. package/src/components/ScreenContentWrapper.web.tsx +5 -0
  605. package/src/components/ScreenFooter.tsx +20 -0
  606. package/src/components/ScreenFooter.web.tsx +7 -0
  607. package/src/components/ScreenStack.tsx +112 -0
  608. package/src/components/ScreenStack.web.tsx +5 -0
  609. package/src/components/ScreenStackHeaderConfig.tsx +122 -0
  610. package/src/components/ScreenStackHeaderConfig.web.tsx +39 -0
  611. package/src/components/ScreenStackItem.tsx +174 -0
  612. package/src/components/SearchBar.tsx +102 -0
  613. package/src/components/SearchBar.web.tsx +5 -0
  614. package/src/components/helpers/DelayedFreeze.tsx +27 -0
  615. package/src/components/helpers/usePrevious.tsx +11 -0
  616. package/src/contexts.tsx +9 -0
  617. package/src/core.ts +45 -0
  618. package/src/fabric/FullWindowOverlayNativeComponent.ts +16 -0
  619. package/src/fabric/ModalScreenNativeComponent.ts +115 -0
  620. package/src/fabric/NativeScreensModule.ts +8 -0
  621. package/src/fabric/NativeScreensModule.web.ts +1 -0
  622. package/src/fabric/ScreenContainerNativeComponent.ts +3 -3
  623. package/src/fabric/ScreenContentWrapperNativeComponent.ts +14 -0
  624. package/src/fabric/ScreenFooterNativeComponent.ts +6 -0
  625. package/src/fabric/ScreenNativeComponent.ts +34 -23
  626. package/src/fabric/ScreenNavigationContainerNativeComponent.ts +3 -1
  627. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +38 -2
  628. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +5 -1
  629. package/src/fabric/ScreenStackNativeComponent.ts +3 -2
  630. package/src/fabric/SearchBarNativeComponent.ts +17 -13
  631. package/src/gesture-handler/GestureDetectorProvider.tsx +16 -0
  632. package/src/gesture-handler/RNScreensTurboModule.ts +13 -0
  633. package/src/gesture-handler/ScreenGestureDetector.tsx +241 -0
  634. package/src/gesture-handler/constraints.ts +87 -0
  635. package/src/gesture-handler/defaults.ts +46 -0
  636. package/src/gesture-handler/fabricUtils.ts +86 -0
  637. package/src/gesture-handler/fabricUtils.web.ts +10 -0
  638. package/src/gesture-handler/index.tsx +4 -0
  639. package/src/index.tsx +49 -113
  640. package/src/native-stack/contexts/GHContext.tsx +9 -0
  641. package/src/native-stack/navigators/createNativeStackNavigator.tsx +6 -3
  642. package/src/native-stack/types.tsx +204 -31
  643. package/src/native-stack/utils/getDefaultHeaderHeight.tsx +2 -2
  644. package/src/native-stack/utils/getStatusBarHeight.tsx +22 -0
  645. package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +1 -1
  646. package/src/native-stack/utils/useBackPressSubscription.tsx +1 -1
  647. package/src/native-stack/utils/useHeaderHeight.tsx +1 -1
  648. package/src/native-stack/views/FontProcessor.tsx +2 -2
  649. package/src/native-stack/views/FooterComponent.tsx +10 -0
  650. package/src/native-stack/views/HeaderConfig.tsx +20 -5
  651. package/src/native-stack/views/NativeStackView.tsx +137 -53
  652. package/src/reanimated/ReanimatedHeaderHeightContext.tsx +1 -1
  653. package/src/reanimated/ReanimatedNativeStackScreen.tsx +15 -13
  654. package/src/reanimated/ReanimatedScreen.tsx +4 -3
  655. package/src/reanimated/ReanimatedScreenProvider.tsx +3 -2
  656. package/src/reanimated/useReanimatedHeaderHeight.tsx +2 -2
  657. package/src/reanimated/useReanimatedTransitionProgress.tsx +1 -1
  658. package/src/types.tsx +210 -40
  659. package/src/useTransitionProgress.tsx +1 -1
  660. package/src/utils.ts +27 -5
  661. package/windows/README.md +4 -1
  662. package/windows/RNScreens/Screen.h +3 -1
  663. package/SystemBundles/4a5c11b5bb8dfc0553e927a2c8678e1dbd4a75220fe24dfbdba59b5550215de6.bundle +0 -33681
  664. package/SystemBundles/4a5c11b5bb8dfc0553e927a2c8678e1dbd4a75220fe24dfbdba59b5550215de6.map +0 -1
  665. package/SystemModules/amzn__react-native-screens.modules.txt +0 -101
  666. package/SystemModules/amzn__react-native-screens.private.modules.txt +0 -244
  667. package/lib/commonjs/index.native.js +0 -409
  668. package/lib/commonjs/index.native.js.map +0 -1
  669. package/lib/module/index.native.js +0 -412
  670. package/lib/module/index.native.js.map +0 -1
  671. package/lib/typescript/index.native.d.ts +0 -2
  672. package/src/index.native.tsx +0 -601
@@ -1,6 +1,7 @@
1
1
  # Native Stack Navigator
2
2
 
3
- > **_NOTE:_** This README is dedicated for using `native-stack` with React Navigation **v5**. For using `native-stack` in React Navigation **v6** please refer to the [Native Stack Navigator part of React Navigation documentation](https://reactnavigation.org/docs/native-stack-navigator).
3
+ > [!CAUTION]
4
+ > NativeStack has been moved from react-native-screens/native-stack to @react-navigation/native since version v6. With react-native-screens v4 native stack v5 (react-native-screens/native-stack) is deprecated and marked for removal in the upcoming minor release, react-native-screens v4 will support only @react-navigation/native-stack v7.
4
5
 
5
6
  Provides a way for your app to transition between screens where each new screen is placed on top of a stack.
6
7
 
@@ -79,17 +80,31 @@ String that applies `rtl` or `ltr` form to the stack. On Android, you have to ad
79
80
 
80
81
  Boolean indicating whether to show the menu on longPress of iOS >= 14 back button.
81
82
 
83
+ #### `backButtonDisplayMode` (iOS only)
84
+
85
+ Enum value indicating display mode of **default** back button. It works on iOS >= 14, and is used only when none of: `backTitleFontFamily`, `backTitleFontSize`, `disableBackButtonMenu` or `backTitle` is set. Otherwise, when the button is customized, under the hood we use iOS native `backButtonItem` which overrides `backButtonDisplayMode`. Read more [#2123](https://github.com/software-mansion/react-native-screens/pull/2123). Possible options:
86
+
87
+ - `default` – show given back button previous controller title, system generic or just icon based on available space
88
+ - `generic` – show given system generic or just icon based on available space
89
+ - `minimal` – show just an icon
90
+
82
91
  #### `fullScreenSwipeEnabled` (iOS only)
83
92
 
84
93
  Boolean indicating whether the swipe gesture should work on whole screen. Swiping with this option results in the same transition animation as `simple_push` by default. It can be changed to other custom animations with `customAnimationOnSwipe` prop, but default iOS swipe animation is not achievable due to usage of custom recognizer. Defaults to `false`.
85
94
 
95
+ ### `fullScreenSwipeShadowEnabled` (iOS only)
96
+
97
+ Boolean indicating whether the full screen dismiss gesture has shadow under view during transition. The gesture uses custom transition and thus
98
+ doesn't have a shadow by default. When enabled, a custom shadow view is added during the transition which tries to mimic the
99
+ default iOS shadow. Defaults to `true`.
100
+
86
101
  #### `gestureEnabled` (iOS only)
87
102
 
88
103
  Whether you can use gestures to dismiss this screen. Defaults to `true`.
89
104
 
90
105
  #### `gestureResponseDistance` (iOS only)
91
106
 
92
- Use it to restrict the distance from the edges of screen in which the gesture should be recognized. To be used alongside `fullScreenSwipeEnabled`. The responsive area is covered with 4 values: `start`, `end`, `top`, `bottom`. Example usage:
107
+ Use it to restrict the distance from the edges of screen in which the gesture should be recognized. To be used alongside `fullScreenSwipeEnabled`. The responsive area is covered with 4 values: `start`, `end`, `top`, `bottom`. Example usage:
93
108
 
94
109
  ```tsx
95
110
  gestureResponseDistance: {
@@ -189,13 +204,13 @@ Style object for header title. Supported properties:
189
204
 
190
205
  #### `headerTopInsetEnabled` (Android only)
191
206
 
192
- A Boolean to that lets you opt out of insetting the header. You may want to * set this to `false` if you use an opaque status bar. Defaults to `true`. Insets are always applied on iOS because the header cannot be opaque.
207
+ A Boolean to that lets you opt out of insetting the header. You may want to \* set this to `false` if you use an opaque status bar. Defaults to `true`. Insets are always applied on iOS because the header cannot be opaque.
193
208
 
194
209
  #### `headerTranslucent`
195
210
 
196
211
  Boolean indicating whether the navigation bar is translucent.
197
212
 
198
- #### `hideKeyboardOnSwipe` (iOS only)
213
+ #### `hideKeyboardOnSwipe` (iOS only)
199
214
 
200
215
  Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`.
201
216
 
@@ -222,23 +237,38 @@ Sets the visibility of the navigation bar. Defaults to `false`.
222
237
 
223
238
  How should the screen replacing another screen animate.
224
239
  The following values are currently supported:
225
- - `push` – the new screen will perform push animation.
226
- - `pop` – the new screen will perform pop animation.
240
+
241
+ - `push` – the new screen will perform push animation.
242
+ - `pop` – the new screen will perform pop animation.
227
243
 
228
244
  Defaults to `pop`.
229
245
 
230
- #### `sheetAllowedDetents` (iOS only)
246
+ #### `sheetAllowedDetents`
231
247
 
232
- Describes heights where a sheet can rest.
248
+ Describes heights where a sheet can rest.
233
249
  Works only when `stackPresentation` is set to `formSheet`.
234
250
 
235
- Available values:
251
+ Heights should be described as fraction (a number from `[0, 1]` interval) of screen height / maximum detent height.
252
+ There is also possibility to specify `[-1]` literal array with single element, which intets to set the sheet height
253
+ to the height of its contents.
254
+
255
+ Please note that the array **must** be sorted in ascending order.
256
+
257
+ There are also legacy & **deprecated** options available:
258
+
259
+ * 'medium' - corresponds to `[0.5]` detent value, around half of the screen height,
260
+ * 'large' - corresponds to `[1.0]` detent value, maximum height,
261
+ * 'all' - corresponds to `[0.5, 1.0]` value, the name is deceiving due to compatibility reasons.
262
+
263
+ Defaults to `[1.0]` literal.
264
+
265
+ #### `sheetElevation` (Android only)
266
+
267
+ Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.
236
268
 
237
- - `large` - only large detent level will be allowed
238
- - `medium` - only medium detent level will be allowed
239
- - `all` - all detent levels will be allowed
269
+ Not dynamic - changing it after the component is rendered won't have an effect.
240
270
 
241
- Defaults to `large`.
271
+ Defaults to `24`.
242
272
 
243
273
  #### `sheetExpandsWhenScrolledToEdge` (iOS only)
244
274
 
@@ -247,7 +277,7 @@ Works only when `stackPresentation` is set to `formSheet`.
247
277
 
248
278
  Defaults to `true`.
249
279
 
250
- #### `sheetCornerRadius (iOS only)
280
+ #### `sheetCornerRadius`
251
281
 
252
282
  The corner radius that the sheet will try to render with.
253
283
  Works only when `stackPresentation` is set to `formSheet`.
@@ -256,24 +286,36 @@ If set to non-negative value it will try to render sheet with provided radius, e
256
286
 
257
287
  Defaults to system default.
258
288
 
289
+ #### `sheetInitialDetent`
290
+
291
+ Index of the detent the sheet should expand to after being opened.
292
+ Works only when `presentation` is set to `formSheet`.
293
+
294
+ Defaults to `0` - which represents first detent in the detents array.
295
+
259
296
  #### `sheetGrabberVisible` (iOS only)
260
297
 
261
298
  Boolean indicating whether the sheet shows a grabber at the top.
262
299
  Works only when `stackPresentation` is set to `formSheet`.
263
300
  Defaults to `false`.
264
301
 
265
- #### `sheetLargestUndimmedDetent` (iOS only)
302
+ #### `sheetLargestUndimmedDetent`
303
+
304
+ The largest sheet detent for which a view underneath won't be dimmed.
305
+ Works only when `stackPresentation` is set to `formSheet`.
306
+
307
+ This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
308
+ there won't be a dimming view beneath the sheet.
266
309
 
267
- The largest sheet detent for which a view underneath won't be dimmed.
268
- Works only when `stackPresentation` is set to `formSheet`.
310
+ Additionaly there are following options available:
269
311
 
270
- If this prop is set to:
312
+ * `none` - there will be dimming view for all detents levels,
313
+ * `largest` - there won't be a dimming view for any detent level.
271
314
 
272
- - `large` - the view underneath won't be dimmed at any detent level
273
- - `medium` - the view underneath will be dimmed only when detent level is `large`
274
- - `all` - the view underneath will be dimmed for any detent level
315
+ There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
316
+ corresponding legacy prop values for `sheetAllowedDetents` prop.
275
317
 
276
- Defaults to `all`.
318
+ Defaults to `none`, indicating that the dimming view should be always present.
277
319
 
278
320
  #### `stackAnimation`
279
321
 
@@ -283,10 +325,12 @@ How the given screen should appear/disappear when pushed or popped at the top of
283
325
  - `fade` - fades screen in or out.
284
326
  - `fade_from_bottom` – performs a fade from bottom animation
285
327
  - `flip` – flips the screen, requires stackPresentation: `modal` (iOS only)
286
- - `simple_push` – performs a default animation, but without shadow and native header transition (iOS only)
328
+ - `simple_push` – performs a default animation, but without native header transition (iOS only)
287
329
  - `slide_from_bottom` – performs a slide from bottom animation
288
330
  - `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
289
- - `slide_from_left` - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
331
+ - `slide_from_left` - slide in the new screen from left to right
332
+ - `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
333
+ - `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
290
334
  - `none` - the screen appears/disappears without an animation.
291
335
 
292
336
  Defaults to `default`.
@@ -310,6 +354,7 @@ Using `containedModal` and `containedTransparentModal` with other types of modal
310
354
  #### `swipeDirection` (iOS only)
311
355
 
312
356
  Sets the direction in which you should swipe to dismiss the screen. The following values are supported:
357
+
313
358
  - `vertical` – dismiss screen vertically
314
359
  - `horizontal` – dismiss screen horizontally (default)
315
360
 
@@ -321,7 +366,7 @@ A string that can be used as a fallback for `headerTitle`.
321
366
 
322
367
  #### `transitionDuration` (iOS only)
323
368
 
324
- Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `350`.
369
+ Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `500`.
325
370
 
326
371
  The duration of `default` and `flip` transitions isn't customizable.
327
372
 
@@ -334,25 +379,28 @@ Defaults to `false`. When `enableFreeze()` is run at the top of the application
334
379
  #### `useTransitionProgress`
335
380
 
336
381
  Hook providing context value of transition progress of the current screen to be used with `react-native` `Animated`. It consists of 2 values:
382
+
337
383
  - `progress` - `Animated.Value` between `0.0` and `1.0` with the progress of the current transition.
338
384
  - `closing` - `Animated.Value` of `1` or `0` indicating if the current screen is being navigated into or from.
339
385
  - `goingForward` - `Animated.Value` of `1` or `0` indicating if the current transition is pushing or removing screens.
340
386
 
341
387
  ```jsx
342
- import {Animated} from 'react-native';
343
- import {useTransitionProgress} from 'react-native-screens';
388
+ import { Animated } from 'react-native';
389
+ import { useTransitionProgress } from 'react-native-screens';
344
390
 
345
391
  function Home() {
346
- const {progress} = useTransitionProgress();
392
+ const { progress } = useTransitionProgress();
347
393
 
348
394
  const opacity = progress.interpolate({
349
395
  inputRange: [0, 0.5, 1],
350
- outputRange: [1.0, 0.0 ,1.0],
396
+ outputRange: [1.0, 0.0, 1.0],
351
397
  extrapolate: 'clamp',
352
398
  });
353
399
 
354
400
  return (
355
- <Animated.View style={{opacity, height: 50, width: '100%', backgroundColor: 'green'}} />
401
+ <Animated.View
402
+ style={{ opacity, height: 50, width: '100%', backgroundColor: 'green' }}
403
+ />
356
404
  );
357
405
  }
358
406
  ```
@@ -360,14 +408,15 @@ function Home() {
360
408
  #### `useReanimatedTransitionProgress`
361
409
 
362
410
  A callback called every frame during the transition of screens to be used with `react-native-reanimated` version `2.x`. It consists of 2 shared values:
411
+
363
412
  - `progress` - between `0.0` and `1.0` with the progress of the current transition.
364
- - `closing` - `1` or `0` indicating if the current screen is being navigated into or from.
413
+ - `closing` - `1` or `0` indicating if the current screen is being navigated into or from.
365
414
  - `goingForward` - `1` or `0` indicating if the current transition is pushing or removing screens.
366
415
 
367
416
  In order to use it, you need to have `react-native-reanimated` version `2.x` installed in your project and wrap your code with `ReanimatedScreenProvider`, like this:
368
417
 
369
418
  ```jsx
370
- import {ReanimatedScreenProvider} from 'react-native-screens/reanimated';
419
+ import { ReanimatedScreenProvider } from 'react-native-screens/reanimated';
371
420
 
372
421
  export default function App() {
373
422
  return (
@@ -381,12 +430,20 @@ export default function App() {
381
430
  Then you can use `useReanimatedTransitionProgress` to get the shared values:
382
431
 
383
432
  ```jsx
384
- import {useReanimatedTransitionProgress} from 'react-native-screens/reanimated';
385
- import Animated, {useAnimatedStyle, useDerivedValue} from 'react-native-reanimated';
433
+ import { useReanimatedTransitionProgress } from 'react-native-screens/reanimated';
434
+ import Animated, {
435
+ useAnimatedStyle,
436
+ useDerivedValue,
437
+ } from 'react-native-reanimated';
386
438
 
387
439
  function Home() {
388
440
  const reaProgress = useReanimatedTransitionProgress();
389
- const sv = useDerivedValue(() => (reaProgress.progress.value < 0.5 ? (reaProgress.progress.value * 50) : ((1 - reaProgress.progress.value) * 50)) + 50);
441
+ const sv = useDerivedValue(
442
+ () =>
443
+ (reaProgress.progress.value < 0.5
444
+ ? reaProgress.progress.value * 50
445
+ : (1 - reaProgress.progress.value) * 50) + 50,
446
+ );
390
447
  const reaStyle = useAnimatedStyle(() => {
391
448
  return {
392
449
  width: sv.value,
@@ -395,9 +452,7 @@ function Home() {
395
452
  };
396
453
  });
397
454
 
398
- return (
399
- <Animated.View style={reaStyle} />
400
- );
455
+ return <Animated.View style={reaStyle} />;
401
456
  }
402
457
  ```
403
458
 
@@ -405,10 +460,11 @@ function Home() {
405
460
 
406
461
  With `native-stack`, the status bar and screen orientation can be managed by `UIViewController` on iOS. On Android, the status bar and screen orientation can be managed by `FragmentActivity`. On iOS, it requires:
407
462
 
408
- 1. For status bar managment: enabling (or deleting) `View controller-based status bar appearance` in your Info.plist file (it disables the option to use React Native's `StatusBar` component).
463
+ 1. For status bar managment: enabling (or deleting) `View controller-based status bar appearance` in your Info.plist file (it disables the option to use React Native's `StatusBar` component).
409
464
  2. For both status bar and orientation managment: adding `#import <RNScreens/UIViewController+RNScreens.h>` in your project's `AppDelegate.m` (you can see this change applied in the `AppDelegate.m` of `Example` project).
410
465
 
411
466
  On Android, no additional setup is required, although, you should keep in mind that once you set the orientation or status bar props, `react-native-screens` will manage them on every screen, so you shouldn't use other methods of manipulating them then.
467
+
412
468
  #### `screenOrientation`
413
469
 
414
470
  Sets the current screen's available orientations and forces rotation if current orientation is not included. On iOS, if you have supported orientations set in `info.plist`, they will take precedence over this prop. Possible values:
@@ -454,14 +510,14 @@ Sets the translucency of the status bar (similar to the `StatusBar` component).
454
510
 
455
511
  The search bar is just a `searchBar` property that can be specified in the navigator's `screenOptions` or an individual screen's `options`. Search bars are rarely static so normally it is controlled by passing an object to `searchBar` navigation option in the component's body.
456
512
 
457
- Example:
513
+ Example:
458
514
 
459
515
  ```js
460
516
  React.useLayoutEffect(() => {
461
517
  navigation.setOptions({
462
518
  searchBar: {
463
519
  // search bar options
464
- }
520
+ },
465
521
  });
466
522
  }, [navigation]);
467
523
  ```
@@ -502,7 +558,7 @@ The text to be used instead of default `Cancel` button text.
502
558
 
503
559
  #### `disableBackButtonOverride` (Android only)
504
560
 
505
- Default behavior is to prevent screen from going back when search bar is open (`disableBackButtonOverride: false`). If you don't want this to happen set `disableBackButtonOverride` to `true`
561
+ Default behavior is to prevent screen from going back when search bar is open (`disableBackButtonOverride: false`). If you don't want this to happen set `disableBackButtonOverride` to `true`
506
562
 
507
563
  #### `hideNavigationBar` (iOS only)
508
564
 
@@ -521,12 +577,13 @@ Defaults to `true`.
521
577
  This prop is used to change type of the input and keyboard. Default value is `'text'`.
522
578
 
523
579
  All values:
580
+
524
581
  - `'text'` - normal text input
525
582
  - `'number'` - number input
526
583
  - `'email'` - email input
527
584
  - `'phone'` - phone input
528
585
 
529
- #### `obscureBackground` (iOS only)
586
+ #### `obscureBackground` (iOS only)
530
587
 
531
588
  Boolean indicating whether to obscure the underlying content with semi-transparent overlay.
532
589
 
@@ -552,11 +609,12 @@ const [search, setSearch] = React.useState('');
552
609
  React.useLayoutEffect(() => {
553
610
  navigation.setOptions({
554
611
  searchBar: {
555
- onChangeText: (event) => setSearch(event.nativeEvent.text),
556
- }
612
+ onChangeText: event => setSearch(event.nativeEvent.text),
613
+ },
557
614
  });
558
615
  }, [navigation]);
559
616
  ```
617
+
560
618
  #### `onClose` (Android only)
561
619
 
562
620
  A callback that gets called when search bar is closing
@@ -582,15 +640,15 @@ Defaults to an empty string.
582
640
  #### `placement` (iOS only)
583
641
 
584
642
  Position of the search bar
585
-
643
+
586
644
  Supported values:
587
-
588
- * `automatic` - the search bar is placed according to current layout
589
- * `inline` - the search bar is placed on the trailing edge of navigation bar
590
- * `stacked` - the search bar is placed below the other content in navigation bar
645
+
646
+ - `automatic` - the search bar is placed according to current layout
647
+ - `inline` - the search bar is placed on the trailing edge of navigation bar
648
+ - `stacked` - the search bar is placed below the other content in navigation bar
591
649
 
592
650
  Defaults to `stacked`
593
-
651
+
594
652
  #### `textColor`
595
653
 
596
654
  The search field text color.
@@ -611,11 +669,12 @@ Show the search hint icon when search bar is focused. (Android only)
611
669
 
612
670
  A React ref to imperatively modify search bar. Supported actions:
613
671
 
614
- * `focus` - focus on search bar
615
- * `blur` - remove focus from search bar
616
- * `clearText` - clear text in search bar
617
- * `setText` - set search bar's content to given string
618
- * `toggleCancelButton` (iOS only) - toggle cancel button display near search bar.
672
+ - `focus` - focus on search bar
673
+ - `blur` - remove focus from search bar
674
+ - `clearText` - clear text in search bar
675
+ - `setText` - set search bar's content to given string
676
+ - `cancelSearch` - cancel search in search bar.
677
+ - `toggleCancelButton` (iOS only) - toggle cancel button display near search bar.
619
678
 
620
679
  ### Events
621
680
 
@@ -630,16 +689,13 @@ Event which fires when the screen appears.
630
689
  Example:
631
690
 
632
691
  ```js
633
- React.useEffect(
634
- () => {
635
- const unsubscribe = navigation.addListener('appear', e => {
636
- // Do something
637
- });
638
-
639
- return unsubscribe;
640
- },
641
- [navigation]
642
- );
692
+ React.useEffect(() => {
693
+ const unsubscribe = navigation.addListener('appear', e => {
694
+ // Do something
695
+ });
696
+
697
+ return unsubscribe;
698
+ }, [navigation]);
643
699
  ```
644
700
 
645
701
  #### `dismiss`
@@ -649,16 +705,13 @@ Event which fires when the current screen is dismissed by hardware back (on Andr
649
705
  Example:
650
706
 
651
707
  ```js
652
- React.useEffect(
653
- () => {
654
- const unsubscribe = navigation.addListener('dismiss', e => {
655
- // Do something
656
- });
657
-
658
- return unsubscribe;
659
- },
660
- [navigation]
661
- );
708
+ React.useEffect(() => {
709
+ const unsubscribe = navigation.addListener('dismiss', e => {
710
+ // Do something
711
+ });
712
+
713
+ return unsubscribe;
714
+ }, [navigation]);
662
715
  ```
663
716
 
664
717
  #### `transitionStart`
@@ -672,20 +725,17 @@ Event data:
672
725
  Example:
673
726
 
674
727
  ```js
675
- React.useEffect(
676
- () => {
677
- const unsubscribe = navigation.addListener('transitionStart', e => {
678
- if (e.data.closing) {
679
- // Will be dismissed
680
- } else {
681
- // Will appear
682
- }
683
- });
684
-
685
- return unsubscribe;
686
- },
687
- [navigation]
688
- );
728
+ React.useEffect(() => {
729
+ const unsubscribe = navigation.addListener('transitionStart', e => {
730
+ if (e.data.closing) {
731
+ // Will be dismissed
732
+ } else {
733
+ // Will appear
734
+ }
735
+ });
736
+
737
+ return unsubscribe;
738
+ }, [navigation]);
689
739
  ```
690
740
 
691
741
  #### `transitionEnd`
@@ -699,20 +749,17 @@ Event data:
699
749
  Example:
700
750
 
701
751
  ```js
702
- React.useEffect(
703
- () => {
704
- const unsubscribe = navigation.addListener('transitionEnd', e => {
705
- if (e.data.closing) {
706
- // Was dismissed
707
- } else {
708
- // Did appear
709
- }
710
- });
711
-
712
- return unsubscribe;
713
- },
714
- [navigation]
715
- );
752
+ React.useEffect(() => {
753
+ const unsubscribe = navigation.addListener('transitionEnd', e => {
754
+ if (e.data.closing) {
755
+ // Was dismissed
756
+ } else {
757
+ // Did appear
758
+ }
759
+ });
760
+
761
+ return unsubscribe;
762
+ }, [navigation]);
716
763
  ```
717
764
 
718
765
  ### Helpers
@@ -751,9 +798,10 @@ navigation.popToTop();
751
798
  ### Measuring header's height
752
799
 
753
800
  To measure header's height, you can use the `useHeaderHeight`, `useAnimatedHeaderHeight` or `useReanimatedHeaderHeight` hook.
801
+
754
802
  - `useHeaderHeight` returns the static header's height. The value provided by this hook changes when screen appears, when there's a change in header options or screen orientation.
755
803
  Use this hook if you're sure your header height won't change dynamically, or when the screen is heavy.
756
- - `useAnimatedHeaderHeight` dynamically calculates the header's height. The value provided by this hook changes with every view layout (such as shrinking a large header into small one with a ScrollView). It returns an Animated.Value.
804
+ - `useAnimatedHeaderHeight` dynamically calculates the header's height. The value provided by this hook changes with every view layout (such as shrinking a large header into small one with a ScrollView). It returns an Animated.Value.
757
805
  Please beware of using this hook in heavy components, as it may result in performance issues.
758
806
  - `useReanimatedHeaderHeight` also dynamically calculates the header's height but uses React Native Reanimated under the hood. It returns an Animated.SharedValue.
759
807
  Make sure to wrap your Stack.Navigator with `ReanimatedScreenProvider` before using this hook.
@@ -762,13 +810,13 @@ We recommend using `useReanimatedHeaderHeight` rather than `useAnimatedHeaderHei
762
810
 
763
811
  ```tsx
764
812
  // for using useHeaderHeight
765
- import {useHeaderHeight} from 'react-native-screens/native-stack';
813
+ import { useHeaderHeight } from 'react-native-screens/native-stack';
766
814
 
767
815
  // for using useAnimatedHeaderHeight
768
- import {useAnimatedHeaderHeight} from 'react-native-screens/native-stack';
816
+ import { useAnimatedHeaderHeight } from 'react-native-screens/native-stack';
769
817
 
770
818
  // for using useReanimatedHeaderHeight
771
- import {useReanimatedHeaderHeight} from 'react-native-screens/reanimated';
819
+ import { useReanimatedHeaderHeight } from 'react-native-screens/reanimated';
772
820
  ```
773
821
 
774
822
  ## Example
@@ -1,6 +1,6 @@
1
1
  {
2
- "main": "../lib/commonjs/native-stack/index",
3
- "module": "../lib/module/native-stack/index",
4
- "react-native": "../src/native-stack/index",
5
- "types": "../lib/typescript/native-stack/index"
2
+ "main": "../lib/commonjs/native-stack/index",
3
+ "module": "../lib/module/native-stack/index",
4
+ "react-native": "../src/native-stack/index",
5
+ "types": "../lib/typescript/native-stack/index.d.ts"
6
6
  }
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@amazon-devices/react-native-screens", "version": "2.0.1759135970+3.25.0", "description": "Native navigation primitives for your React Native app.", "scripts": {"check-types": "tsc --noEmit", "start": "react-native start", "test:unit": "jest --passWithNoTests", "format-js": "prettier --write --list-different './{src,Example}/**/*.{js,ts,tsx}'", "format-android": "node ./scripts/format-android.js", "format-ios": "find ios/ -iname *.h -o -iname *.m -o -iname *.cpp -o -iname *.mm | xargs clang-format -i", "format": "yarn format-js && yarn format-android && yarn format-ios", "lint-js": "eslint --ext '.js,.ts,.tsx' --fix src", "lint-android": "./android/gradlew -p android spotlessCheck -q", "lint": "yarn lint-js && yarn lint-android", "release": "npm login && release-it", "build:release": "npm run prepare"}, "main": "lib/commonjs/index", "module": "lib/module/index", "react-native": "src/index", "source": "src/index", "types": "lib/typescript/index", "files": ["src/", "common/", "lib/", "native-stack/", "reanimated/", "android/src/main/AndroidManifest.xml", "android/src/main/java/", "android/src/main/jni/", "android/src/main/res", "android/src/fabric/", "android/src/paper/", "android/build.gradle", "ios/", "windows/", "RNScreens.podspec", "react-native.config.js", "README.md", "!**/__tests__", "kepler-compatibility.json", "SystemModules", "SystemBundles", "!android/src/main/java/com/swmansion/rnscreens/LifecycleHelper.kt", "THIRD_PARTY_NOTICES.txt", "kepler-transformed-package-info.json"], "kepler": {"temporary-alias-for-package": {"name": "react-native-screens", "version": "3.25.0"}}, "repository": {"type": "git", "url": "git+https://github.com/software-mansion/react-native-screens.git"}, "author": {"email": "krzys.magiera@gmail.com", "name": "Krzysztof Magiera"}, "license": "See license in LICENSE", "readmeFilename": "README.md", "bugs": {"url": "https://github.com/software-mansion/react-native-screens/issues"}, "homepage": "https://github.com/software-mansion/react-native-screens#readme", "dependencies": {"react-freeze": "^1.0.0", "warn-once": "^0.1.0"}, "peerDependencies": {"react": "*", "react-native": "*"}, "devDependencies": {"@babel/core": "^7.20.0", "@babel/eslint-parser": "7.22.15", "@react-native-community/bob": "^0.17.1", "@types/jest": "^29.3.1", "@types/react": "^18.2.21", "@types/react-native": "0.72.5", "@types/react-test-renderer": "^18.0.0", "@typescript-eslint/eslint-plugin": "^6.5.0", "@typescript-eslint/parser": "^6.5.0", "@react-native-community/cli": "^11.3.6", "@react-native-community/cli-platform-android": "^11.3.6", "@react-native-community/cli-platform-ios": "^11.3.6", "babel-jest": "^29.6.4", "clang-format": "^1.8.0", "eslint": "^8.19.0", "eslint-config-prettier": "^8.10.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-jest": "^27.2.3", "eslint-plugin-n": "^16.0.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-native": "^4.0.0", "husky": "^8.0.3", "jest": "^29.3.1", "lint-staged": "^14.0.1", "metro-react-native-babel-preset": "^0.76.8", "prettier": "^2.8.8", "react": "^18.2.0", "react-dom": "18.0.0", "react-native": "0.72.0", "react-native-reanimated": "^2.2.0", "react-test-renderer": "18.0.0", "release-it": "^15.6.0", "typescript": "4.8.4", "@amazon-devices/react-native-kepler": "^2.0.0+rn0.72.0", "@amazon-devices/react-native-safe-area-context": "file:static/amzn-react-native-safe-area-context-2.0.0.tgz", "@amazon-devices/react-navigation__routers": "file:static/amzn-react-navigation__routers-2.0.0.tgz", "@amazon-devices/react-navigation__core": "file:static/amzn-react-navigation__core-2.0.0.tgz", "@amazon-devices/react-navigation__native": "file:static/amzn-react-navigation__native-2.0.0.tgz"}, "resolutions": {"@react-native-community/cli-platform-android": "^11.3.6", "@react-native-community/cli": "^11.3.6", "@react-native-community/cli-platform-ios": "^11.3.6", "@types/react": "^18.2.21"}, "lint-staged": {"{src,Example}/**/*.{js,ts,tsx}": "yarn format-js", "src/**/*.{js,ts,tsx}": "yarn lint-js", "android/**/*.kt": "yarn format-android", "ios/**/*.{h,m,mm,cpp}": "yarn format-ios"}, "@react-native-community/bob": {"source": "src", "output": "lib", "targets": ["commonjs", "module", ["typescript", {"project": "tsconfig.build.json"}]]}, "eslintIgnore": ["node_modules/", "lib/"], "codegenConfig": {"name": "rnscreens", "type": "components", "jsSrcsDir": "./src/fabric", "android": {"javaPackageName": "com.swmansion.rnscreens"}}, "keplerImport": true}
1
+ {"name": "@amazon-devices/react-native-screens", "version": "3.0.9000000000+4.4.0", "description": "Native navigation primitives for your React Native app.", "scripts": {"submodules": "git submodule update --init --recursive && (cd react-navigation && yarn && yarn build && cd ../)", "check-types": "tsc --noEmit", "start": "react-native start", "test:unit": "jest --passWithNoTests", "format-js": "prettier --write --list-different './{src,Example}/**/*.{js,ts,tsx}'", "format-android": "node ./scripts/format-android.js", "format-ios": "find ios/ -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.cpp\" -o -iname \"*.mm\" | xargs clang-format -i", "format-common": "find common/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", "format-cpp": "find cpp/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", "format-android-cpp": "find android/src/main/cpp -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", "format": "yarn format-js && yarn format-android && yarn format-ios && yarn format-common && yarn format-cpp && yarn format-android-cpp", "lint-js": "eslint --ext '.js,.ts,.tsx' --fix src", "lint-android": "./android/gradlew -p android spotlessCheck -q", "lint": "yarn lint-js && yarn lint-android", "release": "yarn prepare && npm login && release-it", "architectures-consistency-check": "node ./scripts/codegen-check-consistency.js", "sync-architectures": "node ./scripts/codegen-sync-archs.js", "build:release": "npm run prepare"}, "main": "lib/commonjs/index", "module": "lib/module/index", "react-native": "src/index", "source": "src/index", "types": "lib/typescript/index.d.ts", "files": ["src/", "common/", "lib/", "native-stack/", "gesture-handler/", "reanimated/", "android/src/main/AndroidManifest.xml", "android/src/main/java/", "android/src/main/cpp/", "android/src/main/jni/", "android/src/main/res", "android/src/fabric/", "android/src/paper/", "android/build.gradle", "android/CMakeLists.txt", "ios/", "cpp/", "windows/", "RNScreens.podspec", "react-native.config.js", "README.md", "!**/__tests__", "kepler-compatibility.json", "SystemModules", "SystemBundles", "!android/src/main/java/com/swmansion/rnscreens/LifecycleHelper.kt", "THIRD_PARTY_NOTICES.txt", "kepler-transformed-package-info.json"], "kepler": {"temporary-alias-for-package": {"name": "react-native-screens", "version": "3.25.0"}}, "repository": {"type": "git", "url": "git+https://github.com/software-mansion/react-native-screens.git"}, "author": {"email": "krzys.magiera@gmail.com", "name": "Krzysztof Magiera"}, "license": "See license in LICENSE", "readmeFilename": "README.md", "bugs": {"url": "https://github.com/software-mansion/react-native-screens/issues"}, "homepage": "https://github.com/software-mansion/react-native-screens#readme", "dependencies": {"react-freeze": "^1.0.0", "warn-once": "^0.1.0"}, "peerDependencies": {"react": "*", "react-native": "*", "@amazon-devices/react-native-kepler": "*"}, "devDependencies": {"@babel/core": "^7.25.2", "@babel/eslint-parser": "7.22.15", "@react-native-community/cli": "^11.3.6", "@react-native-community/cli-platform-android": "^11.3.6", "@react-native-community/cli-platform-ios": "^11.3.6", "@react-native/babel-preset": "~0.76.2", "@react-native/eslint-config": "~0.76.2", "@react-native/metro-config": "~0.76.2", "@react-native/typescript-config": "~0.76.2", "@react-navigation/native": "^5.8.0", "@react-navigation/stack": "^5.10.0", "@types/jest": "^29.3.1", "@types/react": "^18.2.72", "@types/react-test-renderer": "^18.0.0", "@typescript-eslint/eslint-plugin": "^6.5.0", "@typescript-eslint/parser": "^6.5.0", "babel-jest": "^29.6.4", "clang-format": "^1.8.0", "eslint": "^8.56.0", "eslint-config-prettier": "^8.10.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-jest": "^27.9.0", "eslint-plugin-n": "^16.0.2", "eslint-plugin-promise": "^6.1.1", "husky": "^8.0.3", "jest": "^29.6.3", "lint-staged": "^14.0.1", "prettier": "^2.8.8", "react": "18.2.0", "react-dom": "~18.2.0", "react-native": "~0.76.2", "react-native-builder-bob": "^0.23.2", "react-native-gesture-handler": "^2.13.3", "react-native-reanimated": "3.9.0-nightly-20240402-12717cdb5", "react-native-safe-area-context": "^4.8.1", "react-native-windows": "~0.76.1", "react-test-renderer": "~18.2.0", "release-it": "^15.6.0", "typescript": "5.4.3", "@amazon-devices/react-native-kepler": "^3.0.0+rn0.76.2", "@amazon-devices/react-native-safe-area-context": "file:static/amzn-react-native-safe-area-context-2.0.0.tgz", "@amazon-devices/react-navigation__routers": "file:static/amzn-react-navigation__routers-2.0.0.tgz", "@amazon-devices/react-navigation__core": "file:static/amzn-react-navigation__core-2.0.0.tgz", "@amazon-devices/react-navigation__native": "file:static/amzn-react-navigation__native-2.0.0.tgz"}, "resolutions": {"@types/react": "^18.2.72"}, "lint-staged": {"{src,Example}/**/*.{js,ts,tsx}": "yarn format-js", "src/**/*.{js,ts,tsx}": "yarn lint-js", "common/**/*.{h,cpp}": "yarn format-common", "cpp/**/*.{h,cpp}": "yarn format-cpp", "android/src/main/cpp/.{cpp, h}": "yarn format-android-cpp", "android/**/*.kt": "yarn format-android", "ios/**/*.{h,m,mm,cpp}": "yarn format-ios", "src/fabric/*.ts": "yarn sync-architectures"}, "react-native-builder-bob": {"source": "src", "output": "lib", "targets": ["commonjs", "module", ["typescript", {"project": "tsconfig.build.json"}]]}, "eslintIgnore": ["node_modules/", "lib/"], "codegenConfig": {"name": "rnscreens", "type": "all", "jsSrcsDir": "./src/fabric", "android": {"javaPackageName": "com.swmansion.rnscreens"}, "ios": {"componentProvider": {"RNSFullWindowOverlay": "RNSFullWindowOverlay", "RNSModalScreen": "RNSModalScreen", "RNSScreenContainer": "RNSScreenContainerView", "RNSScreenContentWrapper": "RNSScreenContentWrapper", "RNSScreenFooter": "RNSScreenFooter", "RNSScreen": "RNSScreenView", "RNSScreenNavigationContainer": "RNSScreenNavigationContainerView", "RNSScreenStackHeaderConfig": "RNSScreenStackHeaderConfig", "RNSScreenStackHeaderSubview": "RNSScreenStackHeaderSubview", "RNSScreenStack": "RNSScreenStackView", "RNSSearchBar": "RNSSearchBar"}}}, "packageManager": "yarn@4.1.1", "keplerImport": true}
@@ -1,17 +1,15 @@
1
- let supportsCodegenConfig = false;
2
- try {
3
- const rnCliAndroidVersion =
4
- require('@react-native-community/cli-platform-android/package.json').version;
5
- const [major] = rnCliAndroidVersion.split('.');
6
- supportsCodegenConfig = major >= 9;
7
- } catch (e) {
8
- // ignore
9
- }
1
+ /*
2
+ * Portions of this file are copyright (c) 2025 Amazon.com, Inc. or its affiliates. All rights reserved.
3
+ *
4
+ * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.
5
+ *
6
+ * Amazon modifications are indicated by [amznmod_* comments].
7
+ */
10
8
 
11
9
  module.exports = {
12
10
  dependency: {
13
11
  platforms: {
14
- android: supportsCodegenConfig ? {
12
+ android: {
15
13
  componentDescriptors: [
16
14
  "RNSFullWindowOverlayComponentDescriptor",
17
15
  "RNSScreenContainerComponentDescriptor",
@@ -20,17 +18,22 @@ module.exports = {
20
18
  "RNSScreenStackHeaderSubviewComponentDescriptor",
21
19
  "RNSScreenStackComponentDescriptor",
22
20
  "RNSSearchBarComponentDescriptor",
23
- 'RNSScreenComponentDescriptor'
21
+ 'RNSScreenComponentDescriptor',
22
+ "RNSScreenFooterComponentDescriptor",
23
+ "RNSScreenContentWrapperComponentDescriptor",
24
+ 'RNSModalScreenComponentDescriptor'
24
25
  ],
25
26
  cmakeListsPath: "../android/src/main/jni/CMakeLists.txt"
26
- } : {},
27
+ },
28
+ // amznmod_react - configuration for the Kepler platform
27
29
  kepler: {
28
30
  autolink: {
29
31
  'RNScreensLib': { // The key is the public name of your library
30
- provider: 'system', // 'application' if provided in the NPM package (and packaged with the app),
31
- // otherwise 'system' if provided by the OS
32
+ provider: '',
33
+ uiComponentName: '/com.amazon.kepler.uitoolkit.react.screens_4',
34
+ linkDynamic: true,
32
35
  turbomodules: [], // The names of registered Turbo Modules (this is the string used when registering in both JS and C++
33
- components: ["RNSScreen", "RNSScreenStack", "RNSScreenStackHeaderConfig", "RNSScreenContainer"]
36
+ components: ["RNSScreen", "RNSScreenStack", "RNSScreenStackHeaderConfig", "RNSScreenContainer", "RNSScreenContentWrapper"]
34
37
  }
35
38
  }
36
39
  }
@@ -38,5 +41,5 @@ module.exports = {
38
41
  },
39
42
  project: { // These are settings used by your project to configure and build it - these don't affect consumers
40
43
  type: "TurboModule"
41
- }
44
+ }
42
45
  }
@@ -2,5 +2,5 @@
2
2
  "main": "../lib/commonjs/reanimated/index",
3
3
  "module": "../lib/module/reanimated/index",
4
4
  "react-native": "../src/reanimated/index",
5
- "types": "../lib/typescript/reanimated/index"
5
+ "types": "../lib/typescript/reanimated/index.d.ts"
6
6
  }