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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) 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/THIRD_PARTY_NOTICES.txt +1 -684
  9. package/android/CMakeLists.txt +80 -0
  10. package/android/build.gradle +96 -17
  11. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
  12. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +38 -25
  13. package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +53 -0
  14. package/android/src/main/cpp/NativeProxy.cpp +51 -0
  15. package/android/src/main/cpp/NativeProxy.h +35 -0
  16. package/android/src/main/cpp/OnLoad.cpp +8 -0
  17. package/android/src/main/cpp/jni-adapter.cpp +106 -0
  18. package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +20 -10
  19. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +69 -1
  20. package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +8 -8
  21. package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +104 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/ModalScreenViewManager.kt +12 -0
  23. package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +12 -0
  24. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +65 -7
  25. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +327 -84
  26. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +122 -72
  27. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +27 -4
  28. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapper.kt +38 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapperManager.kt +25 -0
  30. package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +10 -2
  31. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooter.kt +299 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooterManager.kt +25 -0
  33. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +91 -67
  34. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +12 -1
  35. package/android/src/main/java/com/swmansion/rnscreens/ScreenModalFragment.kt +281 -0
  36. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +184 -81
  37. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +467 -80
  38. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +8 -1
  39. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +156 -124
  40. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
  41. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +159 -39
  42. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +24 -9
  43. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +19 -13
  44. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +31 -28
  45. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +276 -71
  46. package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +124 -64
  47. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +127 -0
  48. package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +4 -2
  49. package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +160 -53
  50. package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +57 -32
  51. package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +15 -10
  52. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetBehaviorExt.kt +42 -0
  53. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogRootView.kt +104 -0
  54. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogScreen.kt +26 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingFragment.kt +493 -0
  56. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +66 -0
  57. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt +24 -0
  58. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +135 -0
  59. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +7 -8
  60. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +8 -9
  61. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +7 -8
  62. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +9 -10
  63. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +4 -1
  64. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +4 -1
  65. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +8 -4
  66. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +13 -16
  67. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +4 -1
  68. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +4 -1
  69. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +8 -9
  70. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +8 -11
  71. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +7 -8
  72. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +8 -9
  73. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +7 -8
  74. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +12 -11
  75. package/android/src/main/java/com/swmansion/rnscreens/events/SheetDetentChangedEvent.kt +27 -0
  76. package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +4 -1
  77. package/android/src/main/java/com/swmansion/rnscreens/ext/NumericExt.kt +12 -0
  78. package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +32 -0
  79. package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +1 -5
  80. package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
  81. package/android/src/main/java/com/swmansion/rnscreens/utils/ScreenDummyLayoutHelper.kt +282 -0
  82. package/android/src/main/jni/CMakeLists.txt +35 -23
  83. package/android/src/main/jni/rnscreens.h +3 -0
  84. package/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +5 -0
  85. package/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +5 -0
  86. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +6 -0
  87. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +6 -0
  88. package/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +5 -0
  89. package/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +5 -0
  90. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +6 -0
  91. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +6 -0
  92. package/android/src/main/res/base/drawable/rns_rounder_top_corners_shape.xml +8 -0
  93. package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +0 -1
  94. package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +2 -2
  95. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +25 -0
  96. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +16 -0
  97. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +25 -0
  98. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +16 -0
  99. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +25 -0
  100. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +16 -0
  101. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +16 -3
  102. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +7 -2
  103. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +6 -0
  104. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +2 -0
  105. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +99 -0
  106. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +37 -0
  107. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
  108. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +11 -2
  109. package/android/src/paper/java/com/swmansion/rnscreens/NativeProxy.kt +19 -0
  110. package/android/src/paper/java/com/swmansion/rnscreens/NativeScreensModuleSpec.java +36 -0
  111. package/common/cpp/react/renderer/components/rnscreens/FrameCorrectionModes.h +51 -0
  112. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +40 -0
  113. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +16 -0
  114. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +32 -0
  115. package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +55 -12
  116. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +157 -0
  117. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +31 -11
  118. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +49 -0
  119. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +22 -0
  120. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +40 -0
  121. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +34 -0
  122. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +57 -0
  123. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
  124. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
  125. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +31 -0
  126. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
  127. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +39 -0
  128. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +23 -2
  129. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +33 -8
  130. package/common/cpp/react/renderer/components/rnscreens/utils/RectUtil.h +36 -0
  131. package/cpp/RNSScreenRemovalListener.cpp +25 -0
  132. package/cpp/RNSScreenRemovalListener.h +20 -0
  133. package/cpp/RNScreensTurboModule.cpp +115 -0
  134. package/cpp/RNScreensTurboModule.h +40 -0
  135. package/gesture-handler/package.json +6 -0
  136. package/ios/RNSConvert.h +24 -4
  137. package/ios/RNSConvert.mm +180 -55
  138. package/ios/RNSEnums.h +48 -0
  139. package/ios/RNSFullWindowOverlay.mm +12 -2
  140. package/ios/RNSModalScreen.h +8 -0
  141. package/ios/RNSModalScreen.mm +65 -0
  142. package/ios/RNSModule.h +19 -0
  143. package/ios/RNSModule.mm +173 -0
  144. package/ios/RNSPercentDrivenInteractiveTransition.h +12 -0
  145. package/ios/RNSPercentDrivenInteractiveTransition.mm +69 -0
  146. package/ios/RNSScreen.h +24 -5
  147. package/ios/RNSScreen.mm +652 -173
  148. package/ios/RNSScreenContainer.mm +12 -1
  149. package/ios/RNSScreenContentWrapper.h +44 -0
  150. package/ios/RNSScreenContentWrapper.mm +67 -0
  151. package/ios/RNSScreenFooter.h +30 -0
  152. package/ios/RNSScreenFooter.mm +142 -0
  153. package/ios/RNSScreenNavigationContainer.mm +7 -0
  154. package/ios/RNSScreenStack.h +6 -0
  155. package/ios/RNSScreenStack.mm +333 -109
  156. package/ios/RNSScreenStackAnimator.h +15 -1
  157. package/ios/RNSScreenStackAnimator.mm +380 -115
  158. package/ios/RNSScreenStackHeaderConfig.h +74 -6
  159. package/ios/RNSScreenStackHeaderConfig.mm +338 -69
  160. package/ios/RNSScreenStackHeaderSubview.h +0 -7
  161. package/ios/RNSScreenStackHeaderSubview.mm +61 -24
  162. package/ios/RNSScreenWindowTraits.h +1 -1
  163. package/ios/RNSScreenWindowTraits.mm +24 -50
  164. package/ios/RNSSearchBar.h +5 -5
  165. package/ios/RNSSearchBar.mm +42 -11
  166. package/ios/events/RNSHeaderHeightChangeEvent.h +0 -1
  167. package/ios/events/RNSHeaderHeightChangeEvent.mm +15 -0
  168. package/ios/events/RNSScreenViewEvent.h +0 -1
  169. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.h +15 -0
  170. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.mm +14 -0
  171. package/ios/utils/RCTTouchHandler+RNSUtility.h +15 -0
  172. package/ios/utils/RCTTouchHandler+RNSUtility.mm +15 -0
  173. package/ios/utils/RNSDefines.h +7 -0
  174. package/ios/utils/RNSUIBarButtonItem.h +2 -0
  175. package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
  176. package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
  177. package/ios/utils/UIView+RNSUtility.h +23 -0
  178. package/ios/utils/UIView+RNSUtility.mm +54 -0
  179. package/kepler-compatibility.json +2 -4
  180. package/lib/commonjs/TransitionProgressContext.js +1 -0
  181. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  182. package/lib/commonjs/components/DebugContainer.js +39 -0
  183. package/lib/commonjs/components/DebugContainer.js.map +1 -0
  184. package/lib/commonjs/components/DebugContainer.web.js +15 -0
  185. package/lib/commonjs/components/DebugContainer.web.js.map +1 -0
  186. package/lib/commonjs/components/FullWindowOverlay.js +31 -0
  187. package/lib/commonjs/components/FullWindowOverlay.js.map +1 -0
  188. package/lib/commonjs/components/FullWindowOverlay.web.js +9 -0
  189. package/lib/commonjs/components/FullWindowOverlay.web.js.map +1 -0
  190. package/lib/commonjs/components/Screen.js +286 -0
  191. package/lib/commonjs/components/Screen.js.map +1 -0
  192. package/lib/commonjs/components/Screen.web.js +47 -0
  193. package/lib/commonjs/components/Screen.web.js.map +1 -0
  194. package/lib/commonjs/components/ScreenContainer.js +32 -0
  195. package/lib/commonjs/components/ScreenContainer.js.map +1 -0
  196. package/lib/commonjs/components/ScreenContainer.web.js +10 -0
  197. package/lib/commonjs/components/ScreenContainer.web.js.map +1 -0
  198. package/lib/commonjs/components/ScreenContentWrapper.js +17 -0
  199. package/lib/commonjs/components/ScreenContentWrapper.js.map +1 -0
  200. package/lib/commonjs/components/ScreenContentWrapper.web.js +10 -0
  201. package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
  202. package/lib/commonjs/components/ScreenFooter.js +25 -0
  203. package/lib/commonjs/components/ScreenFooter.js.map +1 -0
  204. package/lib/commonjs/components/ScreenFooter.web.js +11 -0
  205. package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
  206. package/lib/commonjs/components/ScreenStack.js +67 -0
  207. package/lib/commonjs/components/ScreenStack.js.map +1 -0
  208. package/lib/commonjs/components/ScreenStack.web.js +10 -0
  209. package/lib/commonjs/components/ScreenStack.web.js.map +1 -0
  210. package/lib/commonjs/components/ScreenStackHeaderConfig.js +90 -0
  211. package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -0
  212. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js +27 -0
  213. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js.map +1 -0
  214. package/lib/commonjs/components/ScreenStackItem.js +107 -0
  215. package/lib/commonjs/components/ScreenStackItem.js.map +1 -0
  216. package/lib/commonjs/components/SearchBar.js +63 -0
  217. package/lib/commonjs/components/SearchBar.js.map +1 -0
  218. package/lib/commonjs/components/SearchBar.web.js +10 -0
  219. package/lib/commonjs/components/SearchBar.web.js.map +1 -0
  220. package/lib/commonjs/components/helpers/DelayedFreeze.js +31 -0
  221. package/lib/commonjs/components/helpers/DelayedFreeze.js.map +1 -0
  222. package/lib/commonjs/components/helpers/usePrevious.js +15 -0
  223. package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
  224. package/lib/commonjs/contexts.js +11 -0
  225. package/lib/commonjs/contexts.js.map +1 -0
  226. package/lib/commonjs/core.js +40 -0
  227. package/lib/commonjs/core.js.map +1 -0
  228. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +16 -1
  229. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  230. package/lib/commonjs/fabric/ModalScreenNativeComponent.js +14 -0
  231. package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -0
  232. package/lib/commonjs/fabric/NativeScreensModule.js +10 -0
  233. package/lib/commonjs/fabric/NativeScreensModule.js.map +1 -0
  234. package/lib/commonjs/fabric/NativeScreensModule.web.js +8 -0
  235. package/lib/commonjs/fabric/NativeScreensModule.web.js.map +1 -0
  236. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +8 -11
  237. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  238. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js +18 -0
  239. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  240. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js +10 -0
  241. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js.map +1 -0
  242. package/lib/commonjs/fabric/ScreenNativeComponent.js +16 -16
  243. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  244. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +2 -1
  245. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  246. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +10 -9
  247. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  248. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -2
  249. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  250. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +8 -11
  251. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  252. package/lib/commonjs/fabric/SearchBarNativeComponent.js +4 -5
  253. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  254. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js +19 -0
  255. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js.map +1 -0
  256. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js +8 -0
  257. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js.map +1 -0
  258. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js +201 -0
  259. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js.map +1 -0
  260. package/lib/commonjs/gesture-handler/constraints.js +64 -0
  261. package/lib/commonjs/gesture-handler/constraints.js.map +1 -0
  262. package/lib/commonjs/gesture-handler/defaults.js +45 -0
  263. package/lib/commonjs/gesture-handler/defaults.js.map +1 -0
  264. package/lib/commonjs/gesture-handler/fabricUtils.js +66 -0
  265. package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -0
  266. package/lib/commonjs/gesture-handler/fabricUtils.web.js +17 -0
  267. package/lib/commonjs/gesture-handler/fabricUtils.web.js.map +1 -0
  268. package/lib/commonjs/gesture-handler/index.js +14 -0
  269. package/lib/commonjs/gesture-handler/index.js.map +1 -0
  270. package/lib/commonjs/index.js +157 -93
  271. package/lib/commonjs/index.js.map +1 -1
  272. package/lib/commonjs/native-stack/contexts/GHContext.js +12 -0
  273. package/lib/commonjs/native-stack/contexts/GHContext.js.map +1 -0
  274. package/lib/commonjs/native-stack/index.js.map +1 -1
  275. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +21 -20
  276. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  277. package/lib/commonjs/native-stack/types.js.map +1 -1
  278. package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  279. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  280. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  281. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  282. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js +22 -0
  283. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js.map +1 -0
  284. package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  285. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +2 -4
  286. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  287. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  288. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -3
  289. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  290. package/lib/commonjs/native-stack/views/FooterComponent.js +17 -0
  291. package/lib/commonjs/native-stack/views/FooterComponent.js.map +1 -0
  292. package/lib/commonjs/native-stack/views/HeaderConfig.js +21 -13
  293. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  294. package/lib/commonjs/native-stack/views/NativeStackView.js +118 -52
  295. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  296. package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  297. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +15 -21
  298. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  299. package/lib/commonjs/reanimated/ReanimatedScreen.js +2 -2
  300. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  301. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +8 -16
  302. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  303. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  304. package/lib/commonjs/reanimated/index.js.map +1 -1
  305. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +2 -2
  306. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  307. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  308. package/lib/commonjs/types.js.map +1 -1
  309. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  310. package/lib/commonjs/utils.js +28 -6
  311. package/lib/commonjs/utils.js.map +1 -1
  312. package/lib/module/TransitionProgressContext.js +2 -0
  313. package/lib/module/TransitionProgressContext.js.map +1 -1
  314. package/lib/module/components/DebugContainer.js +30 -0
  315. package/lib/module/components/DebugContainer.js.map +1 -0
  316. package/lib/module/components/DebugContainer.web.js +6 -0
  317. package/lib/module/components/DebugContainer.web.js.map +1 -0
  318. package/lib/module/components/FullWindowOverlay.js +24 -0
  319. package/lib/module/components/FullWindowOverlay.js.map +1 -0
  320. package/lib/module/components/FullWindowOverlay.web.js +3 -0
  321. package/lib/module/components/FullWindowOverlay.web.js.map +1 -0
  322. package/lib/module/components/Screen.js +282 -0
  323. package/lib/module/components/Screen.js.map +1 -0
  324. package/lib/module/components/Screen.web.js +40 -0
  325. package/lib/module/components/Screen.web.js.map +1 -0
  326. package/lib/module/components/ScreenContainer.js +26 -0
  327. package/lib/module/components/ScreenContainer.js.map +1 -0
  328. package/lib/module/components/ScreenContainer.web.js +4 -0
  329. package/lib/module/components/ScreenContainer.web.js.map +1 -0
  330. package/lib/module/components/ScreenContentWrapper.js +10 -0
  331. package/lib/module/components/ScreenContentWrapper.js.map +1 -0
  332. package/lib/module/components/ScreenContentWrapper.web.js +4 -0
  333. package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
  334. package/lib/module/components/ScreenFooter.js +18 -0
  335. package/lib/module/components/ScreenFooter.js.map +1 -0
  336. package/lib/module/components/ScreenFooter.web.js +6 -0
  337. package/lib/module/components/ScreenFooter.web.js.map +1 -0
  338. package/lib/module/components/ScreenStack.js +63 -0
  339. package/lib/module/components/ScreenStack.js.map +1 -0
  340. package/lib/module/components/ScreenStack.web.js +4 -0
  341. package/lib/module/components/ScreenStack.web.js.map +1 -0
  342. package/lib/module/components/ScreenStackHeaderConfig.js +81 -0
  343. package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -0
  344. package/lib/module/components/ScreenStackHeaderConfig.web.js +14 -0
  345. package/lib/module/components/ScreenStackHeaderConfig.web.js.map +1 -0
  346. package/lib/module/components/ScreenStackItem.js +98 -0
  347. package/lib/module/components/ScreenStackItem.js.map +1 -0
  348. package/lib/module/components/SearchBar.js +57 -0
  349. package/lib/module/components/SearchBar.js.map +1 -0
  350. package/lib/module/components/SearchBar.web.js +4 -0
  351. package/lib/module/components/SearchBar.web.js.map +1 -0
  352. package/lib/module/components/helpers/DelayedFreeze.js +24 -0
  353. package/lib/module/components/helpers/DelayedFreeze.js.map +1 -0
  354. package/lib/module/components/helpers/usePrevious.js +9 -0
  355. package/lib/module/components/helpers/usePrevious.js.map +1 -0
  356. package/lib/module/contexts.js +4 -0
  357. package/lib/module/contexts.js.map +1 -0
  358. package/lib/module/core.js +31 -0
  359. package/lib/module/core.js.map +1 -0
  360. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +16 -0
  361. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  362. package/lib/module/fabric/ModalScreenNativeComponent.js +10 -0
  363. package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -0
  364. package/lib/module/fabric/NativeScreensModule.js +5 -0
  365. package/lib/module/fabric/NativeScreensModule.js.map +1 -0
  366. package/lib/module/fabric/NativeScreensModule.web.js +2 -0
  367. package/lib/module/fabric/NativeScreensModule.web.js.map +1 -0
  368. package/lib/module/fabric/ScreenContainerNativeComponent.js +3 -4
  369. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  370. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js +10 -0
  371. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  372. package/lib/module/fabric/ScreenFooterNativeComponent.js +3 -0
  373. package/lib/module/fabric/ScreenFooterNativeComponent.js.map +1 -0
  374. package/lib/module/fabric/ScreenNativeComponent.js +11 -8
  375. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  376. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +2 -0
  377. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  378. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +8 -2
  379. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  380. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -1
  381. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  382. package/lib/module/fabric/ScreenStackNativeComponent.js +3 -3
  383. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  384. package/lib/module/fabric/SearchBarNativeComponent.js +3 -1
  385. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  386. package/lib/module/gesture-handler/GestureDetectorProvider.js +12 -0
  387. package/lib/module/gesture-handler/GestureDetectorProvider.js.map +1 -0
  388. package/lib/module/gesture-handler/RNScreensTurboModule.js +2 -0
  389. package/lib/module/gesture-handler/RNScreensTurboModule.js.map +1 -0
  390. package/lib/module/gesture-handler/ScreenGestureDetector.js +193 -0
  391. package/lib/module/gesture-handler/ScreenGestureDetector.js.map +1 -0
  392. package/lib/module/gesture-handler/constraints.js +56 -0
  393. package/lib/module/gesture-handler/constraints.js.map +1 -0
  394. package/lib/module/gesture-handler/defaults.js +39 -0
  395. package/lib/module/gesture-handler/defaults.js.map +1 -0
  396. package/lib/module/gesture-handler/fabricUtils.js +61 -0
  397. package/lib/module/gesture-handler/fabricUtils.js.map +1 -0
  398. package/lib/module/gesture-handler/fabricUtils.web.js +10 -0
  399. package/lib/module/gesture-handler/fabricUtils.web.js.map +1 -0
  400. package/lib/module/gesture-handler/index.js +5 -0
  401. package/lib/module/gesture-handler/index.js.map +1 -0
  402. package/lib/module/index.js +29 -63
  403. package/lib/module/index.js.map +1 -1
  404. package/lib/module/native-stack/contexts/GHContext.js +6 -0
  405. package/lib/module/native-stack/contexts/GHContext.js.map +1 -0
  406. package/lib/module/native-stack/index.js.map +1 -1
  407. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +21 -20
  408. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  409. package/lib/module/native-stack/types.js.map +1 -1
  410. package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  411. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  412. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  413. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  414. package/lib/module/native-stack/utils/getStatusBarHeight.js +16 -0
  415. package/lib/module/native-stack/utils/getStatusBarHeight.js.map +1 -0
  416. package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  417. package/lib/module/native-stack/utils/useBackPressSubscription.js +2 -4
  418. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  419. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  420. package/lib/module/native-stack/views/FontProcessor.js +2 -3
  421. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  422. package/lib/module/native-stack/views/FooterComponent.js +10 -0
  423. package/lib/module/native-stack/views/FooterComponent.js.map +1 -0
  424. package/lib/module/native-stack/views/HeaderConfig.js +13 -6
  425. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  426. package/lib/module/native-stack/views/NativeStackView.js +114 -46
  427. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  428. package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  429. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +8 -12
  430. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  431. package/lib/module/reanimated/ReanimatedScreen.js +1 -2
  432. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  433. package/lib/module/reanimated/ReanimatedScreenProvider.js +7 -15
  434. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  435. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  436. package/lib/module/reanimated/index.js.map +1 -1
  437. package/lib/module/reanimated/useReanimatedHeaderHeight.js +1 -1
  438. package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  439. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  440. package/lib/module/types.js.map +1 -1
  441. package/lib/module/useTransitionProgress.js.map +1 -1
  442. package/lib/module/utils.js +26 -5
  443. package/lib/module/utils.js.map +1 -1
  444. package/lib/typescript/TransitionProgressContext.d.ts +2 -1
  445. package/lib/typescript/TransitionProgressContext.d.ts.map +1 -0
  446. package/lib/typescript/components/DebugContainer.d.ts +15 -0
  447. package/lib/typescript/components/DebugContainer.d.ts.map +1 -0
  448. package/lib/typescript/components/DebugContainer.web.d.ts +4 -0
  449. package/lib/typescript/components/DebugContainer.web.d.ts.map +1 -0
  450. package/lib/typescript/components/FullWindowOverlay.d.ts +6 -0
  451. package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -0
  452. package/lib/typescript/components/FullWindowOverlay.web.d.ts +6 -0
  453. package/lib/typescript/components/FullWindowOverlay.web.d.ts.map +1 -0
  454. package/lib/typescript/components/Screen.d.ts +8 -0
  455. package/lib/typescript/components/Screen.d.ts.map +1 -0
  456. package/lib/typescript/components/Screen.web.d.ts +11 -0
  457. package/lib/typescript/components/Screen.web.d.ts.map +1 -0
  458. package/lib/typescript/components/ScreenContainer.d.ts +5 -0
  459. package/lib/typescript/components/ScreenContainer.d.ts.map +1 -0
  460. package/lib/typescript/components/ScreenContainer.web.d.ts +4 -0
  461. package/lib/typescript/components/ScreenContainer.web.d.ts.map +1 -0
  462. package/lib/typescript/components/ScreenContentWrapper.d.ts +5 -0
  463. package/lib/typescript/components/ScreenContentWrapper.d.ts.map +1 -0
  464. package/lib/typescript/components/ScreenContentWrapper.web.d.ts +4 -0
  465. package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
  466. package/lib/typescript/components/ScreenFooter.d.ts +12 -0
  467. package/lib/typescript/components/ScreenFooter.d.ts.map +1 -0
  468. package/lib/typescript/components/ScreenFooter.web.d.ts +6 -0
  469. package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
  470. package/lib/typescript/components/ScreenStack.d.ts +5 -0
  471. package/lib/typescript/components/ScreenStack.d.ts.map +1 -0
  472. package/lib/typescript/components/ScreenStack.web.d.ts +4 -0
  473. package/lib/typescript/components/ScreenStack.web.d.ts.map +1 -0
  474. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +13 -0
  475. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -0
  476. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +13 -0
  477. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -0
  478. package/lib/typescript/components/ScreenStackItem.d.ts +11 -0
  479. package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -0
  480. package/lib/typescript/components/SearchBar.d.ts +5 -0
  481. package/lib/typescript/components/SearchBar.d.ts.map +1 -0
  482. package/lib/typescript/components/SearchBar.web.d.ts +4 -0
  483. package/lib/typescript/components/SearchBar.web.d.ts.map +1 -0
  484. package/lib/typescript/components/helpers/DelayedFreeze.d.ts +8 -0
  485. package/lib/typescript/components/helpers/DelayedFreeze.d.ts.map +1 -0
  486. package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
  487. package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
  488. package/lib/typescript/contexts.d.ts +5 -0
  489. package/lib/typescript/contexts.d.ts.map +1 -0
  490. package/lib/typescript/core.d.ts +6 -0
  491. package/lib/typescript/core.d.ts.map +1 -0
  492. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +1 -1
  493. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -0
  494. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +76 -0
  495. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -0
  496. package/lib/typescript/fabric/NativeScreensModule.d.ts +6 -0
  497. package/lib/typescript/fabric/NativeScreensModule.d.ts.map +1 -0
  498. package/lib/typescript/fabric/NativeScreensModule.web.d.ts +3 -0
  499. package/lib/typescript/fabric/NativeScreensModule.web.d.ts.map +1 -0
  500. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +1 -0
  501. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts.map +1 -0
  502. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts +6 -0
  503. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts.map +1 -0
  504. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts +7 -0
  505. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts.map +1 -0
  506. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +34 -24
  507. package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -0
  508. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +1 -1
  509. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts.map +1 -0
  510. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +12 -2
  511. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -0
  512. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
  513. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -0
  514. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +4 -2
  515. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -0
  516. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +17 -16
  517. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -0
  518. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts +5 -0
  519. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts.map +1 -0
  520. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts +13 -0
  521. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts.map +1 -0
  522. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts +5 -0
  523. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts.map +1 -0
  524. package/lib/typescript/gesture-handler/constraints.d.ts +6 -0
  525. package/lib/typescript/gesture-handler/constraints.d.ts.map +1 -0
  526. package/lib/typescript/gesture-handler/defaults.d.ts +20 -0
  527. package/lib/typescript/gesture-handler/defaults.d.ts.map +1 -0
  528. package/lib/typescript/gesture-handler/fabricUtils.d.ts +10 -0
  529. package/lib/typescript/gesture-handler/fabricUtils.d.ts.map +1 -0
  530. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts +6 -0
  531. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts.map +1 -0
  532. package/lib/typescript/gesture-handler/index.d.ts +2 -0
  533. package/lib/typescript/gesture-handler/index.d.ts.map +1 -0
  534. package/lib/typescript/index.d.ts +25 -31
  535. package/lib/typescript/index.d.ts.map +1 -0
  536. package/lib/typescript/native-stack/contexts/GHContext.d.ts +4 -0
  537. package/lib/typescript/native-stack/contexts/GHContext.d.ts.map +1 -0
  538. package/lib/typescript/native-stack/index.d.ts +1 -0
  539. package/lib/typescript/native-stack/index.d.ts.map +1 -0
  540. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +4 -0
  541. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -0
  542. package/lib/typescript/native-stack/types.d.ts +191 -33
  543. package/lib/typescript/native-stack/types.d.ts.map +1 -0
  544. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +1 -0
  545. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts.map +1 -0
  546. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +1 -0
  547. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts.map +1 -0
  548. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +2 -1
  549. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts.map +1 -0
  550. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +3 -2
  551. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -0
  552. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts +3 -0
  553. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts.map +1 -0
  554. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +2 -1
  555. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
  556. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +1 -0
  557. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts.map +1 -0
  558. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
  559. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts.map +1 -0
  560. package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
  561. package/lib/typescript/native-stack/views/FontProcessor.d.ts.map +1 -0
  562. package/lib/typescript/native-stack/views/FooterComponent.d.ts +7 -0
  563. package/lib/typescript/native-stack/views/FooterComponent.d.ts.map +1 -0
  564. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +3 -2
  565. package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -0
  566. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  567. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -0
  568. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +1 -0
  569. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts.map +1 -0
  570. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +3 -3
  571. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts.map +1 -0
  572. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +3 -3
  573. package/lib/typescript/reanimated/ReanimatedScreen.d.ts.map +1 -0
  574. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +1 -0
  575. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts.map +1 -0
  576. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +2 -1
  577. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts.map +1 -0
  578. package/lib/typescript/reanimated/index.d.ts +1 -0
  579. package/lib/typescript/reanimated/index.d.ts.map +1 -0
  580. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +2 -3
  581. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts.map +1 -0
  582. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +4 -9
  583. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts.map +1 -0
  584. package/lib/typescript/types.d.ts +186 -36
  585. package/lib/typescript/types.d.ts.map +1 -0
  586. package/lib/typescript/useTransitionProgress.d.ts +4 -3
  587. package/lib/typescript/useTransitionProgress.d.ts.map +1 -0
  588. package/lib/typescript/utils.d.ts +27 -1
  589. package/lib/typescript/utils.d.ts.map +1 -0
  590. package/native-stack/README.md +156 -108
  591. package/native-stack/package.json +4 -4
  592. package/package.json +1 -1
  593. package/react-native.config.js +19 -16
  594. package/reanimated/package.json +1 -1
  595. package/src/TransitionProgressContext.tsx +3 -1
  596. package/src/components/DebugContainer.tsx +46 -0
  597. package/src/components/DebugContainer.web.tsx +7 -0
  598. package/src/components/FullWindowOverlay.tsx +33 -0
  599. package/src/components/FullWindowOverlay.web.tsx +6 -0
  600. package/src/components/Screen.tsx +392 -0
  601. package/src/components/Screen.web.tsx +46 -0
  602. package/src/components/ScreenContainer.tsx +28 -0
  603. package/src/components/ScreenContainer.web.tsx +5 -0
  604. package/src/components/ScreenContentWrapper.tsx +9 -0
  605. package/src/components/ScreenContentWrapper.web.tsx +5 -0
  606. package/src/components/ScreenFooter.tsx +20 -0
  607. package/src/components/ScreenFooter.web.tsx +7 -0
  608. package/src/components/ScreenStack.tsx +112 -0
  609. package/src/components/ScreenStack.web.tsx +5 -0
  610. package/src/components/ScreenStackHeaderConfig.tsx +122 -0
  611. package/src/components/ScreenStackHeaderConfig.web.tsx +39 -0
  612. package/src/components/ScreenStackItem.tsx +174 -0
  613. package/src/components/SearchBar.tsx +102 -0
  614. package/src/components/SearchBar.web.tsx +5 -0
  615. package/src/components/helpers/DelayedFreeze.tsx +27 -0
  616. package/src/components/helpers/usePrevious.tsx +11 -0
  617. package/src/contexts.tsx +9 -0
  618. package/src/core.ts +45 -0
  619. package/src/fabric/FullWindowOverlayNativeComponent.ts +16 -0
  620. package/src/fabric/ModalScreenNativeComponent.ts +115 -0
  621. package/src/fabric/NativeScreensModule.ts +8 -0
  622. package/src/fabric/NativeScreensModule.web.ts +1 -0
  623. package/src/fabric/ScreenContainerNativeComponent.ts +3 -3
  624. package/src/fabric/ScreenContentWrapperNativeComponent.ts +14 -0
  625. package/src/fabric/ScreenFooterNativeComponent.ts +6 -0
  626. package/src/fabric/ScreenNativeComponent.ts +36 -23
  627. package/src/fabric/ScreenNavigationContainerNativeComponent.ts +3 -1
  628. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +38 -2
  629. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +5 -1
  630. package/src/fabric/ScreenStackNativeComponent.ts +3 -2
  631. package/src/fabric/SearchBarNativeComponent.ts +17 -13
  632. package/src/gesture-handler/GestureDetectorProvider.tsx +16 -0
  633. package/src/gesture-handler/RNScreensTurboModule.ts +13 -0
  634. package/src/gesture-handler/ScreenGestureDetector.tsx +241 -0
  635. package/src/gesture-handler/constraints.ts +87 -0
  636. package/src/gesture-handler/defaults.ts +46 -0
  637. package/src/gesture-handler/fabricUtils.ts +86 -0
  638. package/src/gesture-handler/fabricUtils.web.ts +10 -0
  639. package/src/gesture-handler/index.tsx +4 -0
  640. package/src/index.tsx +49 -112
  641. package/src/native-stack/contexts/GHContext.tsx +9 -0
  642. package/src/native-stack/navigators/createNativeStackNavigator.tsx +6 -3
  643. package/src/native-stack/types.tsx +204 -31
  644. package/src/native-stack/utils/getDefaultHeaderHeight.tsx +2 -2
  645. package/src/native-stack/utils/getStatusBarHeight.tsx +22 -0
  646. package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +1 -1
  647. package/src/native-stack/utils/useBackPressSubscription.tsx +1 -1
  648. package/src/native-stack/utils/useHeaderHeight.tsx +1 -1
  649. package/src/native-stack/views/FontProcessor.tsx +2 -2
  650. package/src/native-stack/views/FooterComponent.tsx +10 -0
  651. package/src/native-stack/views/HeaderConfig.tsx +20 -5
  652. package/src/native-stack/views/NativeStackView.tsx +137 -53
  653. package/src/reanimated/ReanimatedHeaderHeightContext.tsx +1 -1
  654. package/src/reanimated/ReanimatedNativeStackScreen.tsx +15 -13
  655. package/src/reanimated/ReanimatedScreen.tsx +4 -3
  656. package/src/reanimated/ReanimatedScreenProvider.tsx +3 -2
  657. package/src/reanimated/useReanimatedHeaderHeight.tsx +2 -2
  658. package/src/reanimated/useReanimatedTransitionProgress.tsx +1 -1
  659. package/src/types.tsx +210 -40
  660. package/src/useTransitionProgress.tsx +1 -1
  661. package/src/utils.ts +27 -5
  662. package/windows/README.md +4 -1
  663. package/windows/RNScreens/Screen.h +3 -1
  664. package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.bundle +0 -33668
  665. package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.map +0 -1
  666. package/SystemModules/amzn__react-native-screens.modules.txt +0 -101
  667. package/SystemModules/amzn__react-native-screens.private.modules.txt +0 -244
  668. package/lib/commonjs/index.native.js +0 -407
  669. package/lib/commonjs/index.native.js.map +0 -1
  670. package/lib/module/index.native.js +0 -410
  671. package/lib/module/index.native.js.map +0 -1
  672. package/lib/typescript/index.native.d.ts +0 -2
  673. package/src/index.native.tsx +0 -599
@@ -18,15 +18,13 @@ function useBackPressSubscription({
18
18
  const [isActive, setIsActive] = _react.default.useState(false);
19
19
  const subscription = _react.default.useRef();
20
20
  const clearSubscription = _react.default.useCallback((shouldSetActive = true) => {
21
- var _subscription$current;
22
- (_subscription$current = subscription.current) === null || _subscription$current === void 0 || _subscription$current.remove();
21
+ subscription.current?.remove();
23
22
  subscription.current = undefined;
24
23
  if (shouldSetActive) setIsActive(false);
25
24
  }, []);
26
25
  const createSubscription = _react.default.useCallback(() => {
27
26
  if (!isDisabled) {
28
- var _subscription$current2;
29
- (_subscription$current2 = subscription.current) === null || _subscription$current2 === void 0 || _subscription$current2.remove();
27
+ subscription.current?.remove();
30
28
  subscription.current = _reactNative.BackHandler.addEventListener('hardwareBackPress', onBackPress);
31
29
  setIsActive(true);
32
30
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","useBackPressSubscription","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","shouldSetActive","_subscription$current","current","remove","undefined","createSubscription","_subscription$current2","BackHandler","addEventListener","handleAttached","handleDetached","useEffect"],"sources":["useBackPressSubscription.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, NativeEventSubscription } from 'react-native';\n\ninterface Args {\n onBackPress: () => boolean;\n isDisabled: boolean;\n}\n\ninterface UseBackPressSubscription {\n handleAttached: () => void;\n handleDetached: () => void;\n createSubscription: () => void;\n clearSubscription: () => void;\n}\n\n/**\n * This hook is an abstraction for keeping back press subscription\n * logic in one place.\n */\nexport function useBackPressSubscription({\n onBackPress,\n isDisabled,\n}: Args): UseBackPressSubscription {\n const [isActive, setIsActive] = React.useState(false);\n const subscription = React.useRef<NativeEventSubscription | undefined>();\n\n const clearSubscription = React.useCallback((shouldSetActive = true) => {\n subscription.current?.remove();\n subscription.current = undefined;\n if (shouldSetActive) setIsActive(false);\n }, []);\n\n const createSubscription = React.useCallback(() => {\n if (!isDisabled) {\n subscription.current?.remove();\n subscription.current = BackHandler.addEventListener(\n 'hardwareBackPress',\n onBackPress\n );\n setIsActive(true);\n }\n }, [isDisabled, onBackPress]);\n\n const handleAttached = React.useCallback(() => {\n if (isActive) {\n createSubscription();\n }\n }, [createSubscription, isActive]);\n\n const handleDetached = React.useCallback(() => {\n clearSubscription(false);\n }, [clearSubscription]);\n\n React.useEffect(() => {\n if (isDisabled) {\n clearSubscription();\n }\n }, [isDisabled, clearSubscription]);\n\n return {\n handleAttached,\n handleDetached,\n createSubscription,\n clearSubscription,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcpE;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAC;EACvCC,WAAW;EACXC;AACI,CAAC,EAA4B;EACjC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGF,cAAK,CAACG,MAAM,CAAsC,CAAC;EAExE,MAAMC,iBAAiB,GAAGJ,cAAK,CAACK,WAAW,CAAC,CAACC,eAAe,GAAG,IAAI,KAAK;IAAA,IAAAC,qBAAA;IACtE,CAAAA,qBAAA,GAAAL,YAAY,CAACM,OAAO,cAAAD,qBAAA,eAApBA,qBAAA,CAAsBE,MAAM,CAAC,CAAC;IAC9BP,YAAY,CAACM,OAAO,GAAGE,SAAS;IAChC,IAAIJ,eAAe,EAAEP,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMY,kBAAkB,GAAGX,cAAK,CAACK,WAAW,CAAC,MAAM;IACjD,IAAI,CAACR,UAAU,EAAE;MAAA,IAAAe,sBAAA;MACf,CAAAA,sBAAA,GAAAV,YAAY,CAACM,OAAO,cAAAI,sBAAA,eAApBA,sBAAA,CAAsBH,MAAM,CAAC,CAAC;MAC9BP,YAAY,CAACM,OAAO,GAAGK,wBAAW,CAACC,gBAAgB,CACjD,mBAAmB,EACnBlB,WACF,CAAC;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMmB,cAAc,GAAGf,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7C,IAAIP,QAAQ,EAAE;MACZa,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEb,QAAQ,CAAC,CAAC;EAElC,MAAMkB,cAAc,GAAGhB,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBJ,cAAK,CAACiB,SAAS,CAAC,MAAM;IACpB,IAAIpB,UAAU,EAAE;MACdO,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAACP,UAAU,EAAEO,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLW,cAAc;IACdC,cAAc;IACdL,kBAAkB;IAClBP;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","useBackPressSubscription","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","shouldSetActive","current","remove","undefined","createSubscription","BackHandler","addEventListener","handleAttached","handleDetached","useEffect"],"sourceRoot":"../../../../src","sources":["native-stack/utils/useBackPressSubscription.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcpE;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAC;EACvCC,WAAW;EACXC;AACI,CAAC,EAA4B;EACjC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGF,cAAK,CAACG,MAAM,CAAsC,CAAC;EAExE,MAAMC,iBAAiB,GAAGJ,cAAK,CAACK,WAAW,CAAC,CAACC,eAAe,GAAG,IAAI,KAAK;IACtEJ,YAAY,CAACK,OAAO,EAAEC,MAAM,CAAC,CAAC;IAC9BN,YAAY,CAACK,OAAO,GAAGE,SAAS;IAChC,IAAIH,eAAe,EAAEP,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMW,kBAAkB,GAAGV,cAAK,CAACK,WAAW,CAAC,MAAM;IACjD,IAAI,CAACR,UAAU,EAAE;MACfK,YAAY,CAACK,OAAO,EAAEC,MAAM,CAAC,CAAC;MAC9BN,YAAY,CAACK,OAAO,GAAGI,wBAAW,CAACC,gBAAgB,CACjD,mBAAmB,EACnBhB,WACF,CAAC;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMiB,cAAc,GAAGb,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7C,IAAIP,QAAQ,EAAE;MACZY,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEZ,QAAQ,CAAC,CAAC;EAElC,MAAMgB,cAAc,GAAGd,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBJ,cAAK,CAACe,SAAS,CAAC,MAAM;IACpB,IAAIlB,UAAU,EAAE;MACdO,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAACP,UAAU,EAAEO,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLS,cAAc;IACdC,cAAc;IACdJ,kBAAkB;IAClBN;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"sources":["useHeaderHeight.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAEzC,SAASW,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAG1B,KAAK,CAAC2B,UAAU,CAACC,4BAAmB,CAAC;EAEpD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOJ,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"sourceRoot":"../../../../src","sources":["native-stack/utils/useHeaderHeight.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAEzC,SAASW,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAG1B,KAAK,CAAC2B,UAAU,CAACC,4BAAmB,CAAC;EAEpD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOJ,MAAM;AACf","ignoreList":[]}
@@ -7,12 +7,10 @@ exports.processFonts = processFonts;
7
7
  var _ReactNativeStyleAttributes = _interopRequireDefault(require("react-native/Libraries/Components/View/ReactNativeStyleAttributes"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  // @ts-ignore: No declaration available
10
- // eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace
11
10
 
12
11
  function processFonts(fontFamilies) {
13
- var _ReactNativeStyleAttr;
14
12
  // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
15
- const fontFamilyProcessor = (_ReactNativeStyleAttr = _ReactNativeStyleAttributes.default.fontFamily) === null || _ReactNativeStyleAttr === void 0 ? void 0 : _ReactNativeStyleAttr.process;
13
+ const fontFamilyProcessor = _ReactNativeStyleAttributes.default.fontFamily?.process;
16
14
  if (typeof fontFamilyProcessor === 'function') {
17
15
  return fontFamilies.map(fontFamilyProcessor);
18
16
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_ReactNativeStyleAttributes","_interopRequireDefault","require","e","__esModule","default","processFonts","fontFamilies","_ReactNativeStyleAttr","fontFamilyProcessor","ReactNativeStyleAttributes","fontFamily","process","map"],"sources":["FontProcessor.tsx"],"sourcesContent":["// @ts-ignore: No declaration available\n// eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace\nimport ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';\n\nexport function processFonts(\n fontFamilies: (string | undefined)[]\n): (string | undefined)[] {\n // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value\n const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;\n if (typeof fontFamilyProcessor === 'function') {\n return fontFamilies.map(fontFamilyProcessor);\n }\n return fontFamilies;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,2BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2G,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF3G;AACA;;AAGO,SAASG,YAAYA,CAC1BC,YAAoC,EACZ;EAAA,IAAAC,qBAAA;EACxB;EACA,MAAMC,mBAAmB,IAAAD,qBAAA,GAAGE,mCAA0B,CAACC,UAAU,cAAAH,qBAAA,uBAArCA,qBAAA,CAAuCI,OAAO;EAC1E,IAAI,OAAOH,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOF,YAAY,CAACM,GAAG,CAACJ,mBAAmB,CAAC;EAC9C;EACA,OAAOF,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["_ReactNativeStyleAttributes","_interopRequireDefault","require","e","__esModule","default","processFonts","fontFamilies","fontFamilyProcessor","ReactNativeStyleAttributes","fontFamily","process","map"],"sourceRoot":"../../../../src","sources":["native-stack/views/FontProcessor.tsx"],"mappings":";;;;;;AAEA,IAAAA,2BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2G,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF3G;;AAIO,SAASG,YAAYA,CAC1BC,YAAoC,EACZ;EACxB;EACA,MAAMC,mBAAmB,GAAGC,mCAA0B,CAACC,UAAU,EAAEC,OAAO;EAC1E,IAAI,OAAOH,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACK,GAAG,CAACJ,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = FooterComponent;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _ScreenFooter = _interopRequireDefault(require("../../components/ScreenFooter"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function FooterComponent({
11
+ children
12
+ }) {
13
+ return /*#__PURE__*/_react.default.createElement(_ScreenFooter.default, {
14
+ collapsable: false
15
+ }, children);
16
+ }
17
+ //# sourceMappingURL=FooterComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_ScreenFooter","e","__esModule","default","FooterComponent","children","createElement","collapsable"],"sourceRoot":"../../../../src","sources":["native-stack/views/FooterComponent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM1C,SAASG,eAAeA,CAAC;EAAEC;AAAsB,CAAC,EAAE;EACjE,oBAAOR,MAAA,CAAAM,OAAA,CAAAG,aAAA,CAACN,aAAA,CAAAG,OAAY;IAACI,WAAW,EAAE;EAAM,GAAEF,QAAuB,CAAC;AACpE","ignoreList":[]}
@@ -7,9 +7,13 @@ exports.default = HeaderConfig;
7
7
  var _reactNavigation__native = require("@amazon-devices/react-navigation__native");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _reactNative = require("react-native");
10
- var _reactNativeScreens = require("@amazon-devices/react-native-screens");
10
+ var _utils = require("../../utils");
11
+ var _ScreenStackHeaderConfig = require("../../components/ScreenStackHeaderConfig");
12
+ var _SearchBar = _interopRequireDefault(require("../../components/SearchBar"));
11
13
  var _useBackPressSubscription = require("../utils/useBackPressSubscription");
12
14
  var _FontProcessor = require("./FontProcessor");
15
+ var _warnOnce = _interopRequireDefault(require("warn-once"));
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
19
  /*
@@ -32,6 +36,7 @@ function HeaderConfig({
32
36
  backButtonInCustomView,
33
37
  direction,
34
38
  disableBackButtonMenu,
39
+ backButtonDisplayMode = 'default',
35
40
  headerBackTitle,
36
41
  headerBackTitleStyle = {},
37
42
  headerBackTitleVisible = true,
@@ -58,7 +63,7 @@ function HeaderConfig({
58
63
  const {
59
64
  colors
60
65
  } = (0, _reactNavigation__native.useTheme)();
61
- const tintColor = headerTintColor !== null && headerTintColor !== void 0 ? headerTintColor : colors.primary;
66
+ const tintColor = headerTintColor ?? colors.primary;
62
67
 
63
68
  // We need to use back press subscription here to override back button behavior on JS side.
64
69
  // Because screens are usually used with react-navigation and this library overrides back button
@@ -69,7 +74,7 @@ function HeaderConfig({
69
74
  clearSubscription,
70
75
  createSubscription
71
76
  } = (0, _useBackPressSubscription.useBackPressSubscription)({
72
- onBackPress: _reactNativeScreens.executeNativeBackPress,
77
+ onBackPress: _utils.executeNativeBackPress,
73
78
  isDisabled: !searchBar || !!searchBar.disableBackButtonOverride
74
79
  });
75
80
  const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] = (0, _FontProcessor.processFonts)([headerBackTitleStyle.fontFamily, headerLargeTitleStyle.fontFamily, headerTitleStyle.fontFamily]);
@@ -80,14 +85,12 @@ function HeaderConfig({
80
85
  const processedSearchBarOptions = React.useMemo(() => {
81
86
  if (_reactNative.Platform.OS === 'android' && searchBar && !searchBar.disableBackButtonOverride) {
82
87
  const onFocus = (...args) => {
83
- var _searchBar$onFocus;
84
88
  createSubscription();
85
- (_searchBar$onFocus = searchBar.onFocus) === null || _searchBar$onFocus === void 0 || _searchBar$onFocus.call(searchBar, ...args);
89
+ searchBar.onFocus?.(...args);
86
90
  };
87
91
  const onClose = (...args) => {
88
- var _searchBar$onClose;
89
92
  clearSubscription();
90
- (_searchBar$onClose = searchBar.onClose) === null || _searchBar$onClose === void 0 || _searchBar$onClose.call(searchBar, ...args);
93
+ searchBar.onClose?.(...args);
91
94
  };
92
95
  return {
93
96
  ...searchBar,
@@ -97,7 +100,11 @@ function HeaderConfig({
97
100
  }
98
101
  return searchBar;
99
102
  }, [searchBar, createSubscription, clearSubscription]);
100
- return /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderConfig, {
103
+
104
+ // @ts-ignore isVision is not yet in the type definitions (RN 0.74+)
105
+ const isVisionOS = _reactNative.Platform?.isVision;
106
+ (0, _warnOnce.default)(isVisionOS && (headerTitleStyle.color !== undefined || headerTintColor !== undefined), 'headerTitleStyle.color and headerTintColor are not supported on visionOS.');
107
+ return /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderConfig, {
101
108
  backButtonInCustomView: backButtonInCustomView,
102
109
  backgroundColor: headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card,
103
110
  backTitle: headerBackTitle,
@@ -108,6 +115,7 @@ function HeaderConfig({
108
115
  color: tintColor,
109
116
  direction: direction,
110
117
  disableBackButtonMenu: disableBackButtonMenu,
118
+ backButtonDisplayMode: backButtonDisplayMode,
111
119
  hidden: headerShown === false,
112
120
  hideBackButton: headerHideBackButton,
113
121
  hideShadow: headerHideShadow,
@@ -127,15 +135,15 @@ function HeaderConfig({
127
135
  translucent: headerTranslucent === true,
128
136
  onAttached: handleAttached,
129
137
  onDetached: handleDetached
130
- }, headerRight !== undefined ? /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderRightView, null, headerRight({
138
+ }, headerRight !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderRightView, null, headerRight({
131
139
  tintColor
132
- })) : null, backButtonImage !== undefined ? /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderBackButtonImage, {
140
+ })) : null, backButtonImage !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderBackButtonImage, {
133
141
  key: "backImage",
134
142
  source: backButtonImage
135
- }) : null, headerLeft !== undefined ? /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderLeftView, null, headerLeft({
143
+ }) : null, headerLeft !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderLeftView, null, headerLeft({
136
144
  tintColor
137
- })) : null, headerCenter !== undefined ? /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderCenterView, null, headerCenter({
145
+ })) : null, headerCenter !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderCenterView, null, headerCenter({
138
146
  tintColor
139
- })) : null, _reactNativeScreens.isSearchBarAvailableForCurrentPlatform && processedSearchBarOptions !== undefined ? /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(_reactNativeScreens.SearchBar, processedSearchBarOptions)) : null);
147
+ })) : null, _utils.isSearchBarAvailableForCurrentPlatform && processedSearchBarOptions !== undefined ? /*#__PURE__*/React.createElement(_ScreenStackHeaderConfig.ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(_SearchBar.default, processedSearchBarOptions)) : null);
140
148
  }
141
149
  //# sourceMappingURL=HeaderConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNavigation__native","require","React","_interopRequireWildcard","_reactNative","_reactNativeScreens","_useBackPressSubscription","_FontProcessor","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeaderConfig","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","useTheme","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","useBackPressSubscription","onBackPress","executeNativeBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","processFonts","fontFamily","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","_searchBar$onFocus","onClose","_searchBar$onClose","createElement","ScreenStackHeaderConfig","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","color","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","undefined","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","ScreenStackHeaderRightView","ScreenStackHeaderBackButtonImage","key","source","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderSearchBarView","SearchBar"],"sources":["HeaderConfig.tsx"],"sourcesContent":["/*\n * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.\n *\n * Amazon modifications are indicated by [amznmod_* comments].\n */\n\n/*\n * Changelog:\n * Set up react-native-screens package to build for Kepler\n */\n\n// amznmod_react - change imports to kepler packages\nimport { Route, useTheme } from '@amazon-devices/react-navigation__native';\nimport * as React from 'react';\nimport { Platform } from 'react-native';\nimport {\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderConfig,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderRightView,\n ScreenStackHeaderSearchBarView,\n SearchBar,\n SearchBarProps,\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from '@amazon-devices/react-native-screens';\nimport { NativeStackNavigationOptions } from '../types';\nimport { useBackPressSubscription } from '../utils/useBackPressSubscription';\nimport { processFonts } from './FontProcessor';\n\ntype Props = NativeStackNavigationOptions & {\n route: Route<string>;\n};\n\nexport default function HeaderConfig({\n backButtonImage,\n backButtonInCustomView,\n direction,\n disableBackButtonMenu,\n headerBackTitle,\n headerBackTitleStyle = {},\n headerBackTitleVisible = true,\n headerCenter,\n headerHideBackButton,\n headerHideShadow,\n headerLargeStyle = {},\n headerLargeTitle,\n headerLargeTitleHideShadow,\n headerLargeTitleStyle = {},\n headerLeft,\n headerRight,\n headerShown,\n headerStyle = {},\n headerTintColor,\n headerTitle,\n headerTitleStyle = {},\n headerTopInsetEnabled = true,\n headerTranslucent,\n route,\n searchBar,\n title,\n}: Props): JSX.Element {\n const { colors } = useTheme();\n const tintColor = headerTintColor ?? colors.primary;\n\n // We need to use back press subscription here to override back button behavior on JS side.\n // Because screens are usually used with react-navigation and this library overrides back button\n // we need to handle it first in case when search bar is open\n const {\n handleAttached,\n handleDetached,\n clearSubscription,\n createSubscription,\n } = useBackPressSubscription({\n onBackPress: executeNativeBackPress,\n isDisabled: !searchBar || !!searchBar.disableBackButtonOverride,\n });\n\n const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] =\n processFonts([\n headerBackTitleStyle.fontFamily,\n headerLargeTitleStyle.fontFamily,\n headerTitleStyle.fontFamily,\n ]);\n\n // We want to clear clearSubscription only when components unmounts or search bar changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(() => clearSubscription, [searchBar]);\n\n const processedSearchBarOptions = React.useMemo(() => {\n if (\n Platform.OS === 'android' &&\n searchBar &&\n !searchBar.disableBackButtonOverride\n ) {\n const onFocus: SearchBarProps['onFocus'] = (...args) => {\n createSubscription();\n searchBar.onFocus?.(...args);\n };\n const onClose: SearchBarProps['onClose'] = (...args) => {\n clearSubscription();\n searchBar.onClose?.(...args);\n };\n\n return { ...searchBar, onFocus, onClose };\n }\n return searchBar;\n }, [searchBar, createSubscription, clearSubscription]);\n\n return (\n <ScreenStackHeaderConfig\n backButtonInCustomView={backButtonInCustomView}\n backgroundColor={\n headerStyle.backgroundColor ? headerStyle.backgroundColor : colors.card\n }\n backTitle={headerBackTitle}\n backTitleFontFamily={backTitleFontFamily}\n backTitleFontSize={headerBackTitleStyle.fontSize}\n backTitleVisible={headerBackTitleVisible}\n blurEffect={headerStyle.blurEffect}\n color={tintColor}\n direction={direction}\n disableBackButtonMenu={disableBackButtonMenu}\n hidden={headerShown === false}\n hideBackButton={headerHideBackButton}\n hideShadow={headerHideShadow}\n largeTitle={headerLargeTitle}\n largeTitleBackgroundColor={headerLargeStyle.backgroundColor}\n largeTitleColor={headerLargeTitleStyle.color}\n largeTitleFontFamily={largeTitleFontFamily}\n largeTitleFontSize={headerLargeTitleStyle.fontSize}\n largeTitleFontWeight={headerLargeTitleStyle.fontWeight}\n largeTitleHideShadow={headerLargeTitleHideShadow}\n title={\n headerTitle !== undefined\n ? headerTitle\n : title !== undefined\n ? title\n : route.name\n }\n titleColor={\n headerTitleStyle.color !== undefined\n ? headerTitleStyle.color\n : headerTintColor !== undefined\n ? headerTintColor\n : colors.text\n }\n titleFontFamily={titleFontFamily}\n titleFontSize={headerTitleStyle.fontSize}\n titleFontWeight={headerTitleStyle.fontWeight}\n topInsetEnabled={headerTopInsetEnabled}\n translucent={headerTranslucent === true}\n onAttached={handleAttached}\n onDetached={handleDetached}>\n {headerRight !== undefined ? (\n <ScreenStackHeaderRightView>\n {headerRight({ tintColor })}\n </ScreenStackHeaderRightView>\n ) : null}\n {backButtonImage !== undefined ? (\n <ScreenStackHeaderBackButtonImage\n key=\"backImage\"\n source={backButtonImage}\n />\n ) : null}\n {headerLeft !== undefined ? (\n <ScreenStackHeaderLeftView>\n {headerLeft({ tintColor })}\n </ScreenStackHeaderLeftView>\n ) : null}\n {headerCenter !== undefined ? (\n <ScreenStackHeaderCenterView>\n {headerCenter({ tintColor })}\n </ScreenStackHeaderCenterView>\n ) : null}\n {isSearchBarAvailableForCurrentPlatform &&\n processedSearchBarOptions !== undefined ? (\n <ScreenStackHeaderSearchBarView>\n <SearchBar {...processedSearchBarOptions} />\n </ScreenStackHeaderSearchBarView>\n ) : null}\n </ScreenStackHeaderConfig>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNavigation__native","require","React","_interopRequireWildcard","_reactNative","_utils","_ScreenStackHeaderConfig","_SearchBar","_interopRequireDefault","_useBackPressSubscription","_FontProcessor","_warnOnce","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeaderConfig","backButtonImage","backButtonInCustomView","direction","disableBackButtonMenu","backButtonDisplayMode","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerCenter","headerHideBackButton","headerHideShadow","headerLargeStyle","headerLargeTitle","headerLargeTitleHideShadow","headerLargeTitleStyle","headerLeft","headerRight","headerShown","headerStyle","headerTintColor","headerTitle","headerTitleStyle","headerTopInsetEnabled","headerTranslucent","route","searchBar","title","colors","useTheme","tintColor","primary","handleAttached","handleDetached","clearSubscription","createSubscription","useBackPressSubscription","onBackPress","executeNativeBackPress","isDisabled","disableBackButtonOverride","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","processFonts","fontFamily","useEffect","processedSearchBarOptions","useMemo","Platform","OS","onFocus","args","onClose","isVisionOS","isVision","warnOnce","color","undefined","createElement","ScreenStackHeaderConfig","backgroundColor","card","backTitle","backTitleFontSize","fontSize","backTitleVisible","blurEffect","hidden","hideBackButton","hideShadow","largeTitle","largeTitleBackgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","fontWeight","largeTitleHideShadow","name","titleColor","text","titleFontSize","titleFontWeight","topInsetEnabled","translucent","onAttached","onDetached","ScreenStackHeaderRightView","ScreenStackHeaderBackButtonImage","key","source","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderSearchBarView"],"sourceRoot":"../../../../src","sources":["native-stack/views/HeaderConfig.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,14 +8,18 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _AppContainer = _interopRequireDefault(require("react-native/Libraries/ReactNative/AppContainer"));
10
10
  var _warnOnce = _interopRequireDefault(require("warn-once"));
11
- var _reactNativeScreens = require("@amazon-devices/react-native-screens");
11
+ var _ScreenStack = _interopRequireDefault(require("../../components/ScreenStack"));
12
+ var _ScreenContentWrapper = _interopRequireDefault(require("../../components/ScreenContentWrapper"));
13
+ var _Screen = require("../../components/Screen");
12
14
  var _reactNavigation__native = require("@amazon-devices/react-navigation__native");
13
15
  var _reactNativeSafeAreaContext = require("@amazon-devices/react-native-safe-area-context");
14
16
  var _HeaderConfig = _interopRequireDefault(require("./HeaderConfig"));
15
17
  var _SafeAreaProviderCompat = _interopRequireDefault(require("../utils/SafeAreaProviderCompat"));
16
18
  var _getDefaultHeaderHeight = _interopRequireDefault(require("../utils/getDefaultHeaderHeight"));
19
+ var _getStatusBarHeight = _interopRequireDefault(require("../utils/getStatusBarHeight"));
17
20
  var _HeaderHeightContext = _interopRequireDefault(require("../utils/HeaderHeightContext"));
18
21
  var _AnimatedHeaderHeightContext = _interopRequireDefault(require("../utils/AnimatedHeaderHeightContext"));
22
+ var _FooterComponent = _interopRequireDefault(require("./FooterComponent"));
19
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -28,20 +32,22 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
28
32
  */ /*
29
33
  * Changelog:
30
34
  * Set up react-native-screens package to build for Kepler
31
- */ // @ts-ignore Getting private component
32
- // eslint-disable-next-line import/no-named-as-default, import/default, import/no-named-as-default-member, import/namespace
35
+ */ /* eslint-disable camelcase */ // @ts-ignore Getting private component
33
36
  const isAndroid = _reactNative.Platform.OS === 'android';
34
- let Container = _reactNative.View;
37
+ // amznmod_react - add isKepler flag
38
+ // @ts-ignore
39
+ const isKepler = _reactNative.Platform.OS === 'kepler';
40
+ let Container = _ScreenContentWrapper.default;
35
41
  if (__DEV__) {
36
42
  const DebugContainer = props => {
37
43
  const {
38
44
  stackPresentation,
39
45
  ...rest
40
46
  } = props;
41
- if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push') {
42
- return /*#__PURE__*/React.createElement(_AppContainer.default, null, /*#__PURE__*/React.createElement(_reactNative.View, rest));
47
+ if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push' && stackPresentation !== 'formSheet') {
48
+ return /*#__PURE__*/React.createElement(_AppContainer.default, null, /*#__PURE__*/React.createElement(_ScreenContentWrapper.default, rest));
43
49
  }
44
- return /*#__PURE__*/React.createElement(_reactNative.View, rest);
50
+ return /*#__PURE__*/React.createElement(_ScreenContentWrapper.default, rest);
45
51
  };
46
52
  // @ts-ignore Wrong props
47
53
  Container = DebugContainer;
@@ -50,9 +56,9 @@ const MaybeNestedStack = ({
50
56
  options,
51
57
  route,
52
58
  stackPresentation,
53
- children
59
+ children,
60
+ internalScreenStyle
54
61
  }) => {
55
- var _options$statusBarTra, _options$headerLargeT;
56
62
  const {
57
63
  colors
58
64
  } = (0, _reactNavigation__native.useTheme)();
@@ -60,15 +66,17 @@ const MaybeNestedStack = ({
60
66
  headerShown = true,
61
67
  contentStyle
62
68
  } = options;
63
- const Screen = React.useContext(_reactNativeScreens.ScreenContext);
64
- const isHeaderInModal = isAndroid ? false : stackPresentation !== 'push' && headerShown === true;
69
+ const Screen = React.useContext(_Screen.ScreenContext);
70
+
71
+ // amznmod_react - return false for Modal on kepler because native component is not implemented yet
72
+ const isHeaderInModal = isAndroid || isKepler ? false : stackPresentation !== 'push' && headerShown === true;
65
73
  const headerShownPreviousRef = React.useRef(headerShown);
66
74
  React.useEffect(() => {
67
75
  (0, _warnOnce.default)(!isAndroid && stackPresentation !== 'push' && headerShownPreviousRef.current !== headerShown, `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`);
68
76
  headerShownPreviousRef.current = headerShown;
69
77
  }, [headerShown, stackPresentation, route.name]);
70
78
  const content = /*#__PURE__*/React.createElement(Container, {
71
- style: [styles.container, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
79
+ style: [stackPresentation === 'formSheet' ? _reactNative.Platform.OS === 'ios' ? styles.absoluteFillNoBottom : null : styles.container, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
72
80
  backgroundColor: colors.background
73
81
  }, contentStyle]
74
82
  // @ts-ignore Wrong props passed to View
@@ -82,17 +90,18 @@ const MaybeNestedStack = ({
82
90
  }, children);
83
91
  const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
84
92
  const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
85
- const isStatusBarTranslucent = (_options$statusBarTra = options.statusBarTranslucent) !== null && _options$statusBarTra !== void 0 ? _options$statusBarTra : false;
86
- const statusBarHeight = getStatusBarHeight(topInset, dimensions, isStatusBarTranslucent);
87
- const isLargeHeader = (_options$headerLargeT = options.headerLargeTitle) !== null && _options$headerLargeT !== void 0 ? _options$headerLargeT : false;
88
- const headerHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, isLargeHeader);
93
+ const isStatusBarTranslucent = options.statusBarTranslucent ?? false;
94
+ const statusBarHeight = (0, _getStatusBarHeight.default)(topInset, dimensions, isStatusBarTranslucent);
95
+ const hasLargeHeader = options.headerLargeTitle ?? false;
96
+ const headerHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, hasLargeHeader);
89
97
  if (isHeaderInModal) {
90
- return /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStack, {
98
+ return /*#__PURE__*/React.createElement(_ScreenStack.default, {
91
99
  style: styles.container
92
100
  }, /*#__PURE__*/React.createElement(Screen, {
93
101
  enabled: true,
94
102
  isNativeStack: true,
95
- style: _reactNative.StyleSheet.absoluteFill
103
+ hasLargeHeader: hasLargeHeader,
104
+ style: [_reactNative.StyleSheet.absoluteFill, internalScreenStyle]
96
105
  }, /*#__PURE__*/React.createElement(_HeaderHeightContext.default.Provider, {
97
106
  value: headerHeight
98
107
  }, /*#__PURE__*/React.createElement(_HeaderConfig.default, _extends({}, options, {
@@ -106,25 +115,28 @@ const RouteView = ({
106
115
  route,
107
116
  index,
108
117
  navigation,
109
- stateKey
118
+ stateKey,
119
+ screensRefs
110
120
  }) => {
111
- var _options$statusBarTra2, _options$headerLargeT2;
112
121
  const {
113
122
  options,
114
123
  render: renderScene
115
124
  } = descriptors[route.key];
116
125
  const {
126
+ fullScreenSwipeShadowEnabled = true,
117
127
  gestureEnabled,
118
128
  headerShown,
119
129
  hideKeyboardOnSwipe,
120
130
  homeIndicatorHidden,
121
- sheetAllowedDetents = 'large',
122
- sheetLargestUndimmedDetent = 'all',
131
+ sheetLargestUndimmedDetentIndex = 'none',
123
132
  sheetGrabberVisible = false,
124
133
  sheetCornerRadius = -1.0,
134
+ sheetElevation = 24,
125
135
  sheetExpandsWhenScrolledToEdge = true,
136
+ sheetInitialDetentIndex = 0,
126
137
  nativeBackButtonDismissalEnabled = false,
127
138
  navigationBarColor,
139
+ navigationBarTranslucent,
128
140
  navigationBarHidden,
129
141
  replaceAnimation = 'pop',
130
142
  screenOrientation,
@@ -135,15 +147,32 @@ const RouteView = ({
135
147
  statusBarTranslucent,
136
148
  swipeDirection = 'horizontal',
137
149
  transitionDuration,
138
- freezeOnBlur
150
+ freezeOnBlur,
151
+ unstable_sheetFooter = null,
152
+ contentStyle
139
153
  } = options;
140
154
  let {
155
+ sheetAllowedDetents = [1.0],
141
156
  customAnimationOnSwipe,
142
157
  fullScreenSwipeEnabled,
143
158
  gestureResponseDistance,
144
159
  stackAnimation,
145
160
  stackPresentation = 'push'
146
161
  } = options;
162
+
163
+ // We take backgroundColor from contentStyle and apply it on Screen.
164
+ // This allows to workaround one issue with truncated
165
+ // content with formSheet presentation.
166
+ let internalScreenStyle;
167
+ if (stackPresentation === 'formSheet' && contentStyle) {
168
+ const flattenContentStyles = _reactNative.StyleSheet.flatten(contentStyle);
169
+ internalScreenStyle = {
170
+ backgroundColor: flattenContentStyles?.backgroundColor
171
+ };
172
+ }
173
+ if (sheetAllowedDetents === 'fitToContents') {
174
+ sheetAllowedDetents = [-1];
175
+ }
147
176
  if (swipeDirection === 'vertical') {
148
177
  // for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`
149
178
  // so the screen can be dismissed from any point on screen.
@@ -167,47 +196,61 @@ const RouteView = ({
167
196
  }
168
197
  const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
169
198
  const topInset = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)().top;
170
- const isStatusBarTranslucent = (_options$statusBarTra2 = options.statusBarTranslucent) !== null && _options$statusBarTra2 !== void 0 ? _options$statusBarTra2 : false;
171
- const statusBarHeight = getStatusBarHeight(topInset, dimensions, isStatusBarTranslucent);
172
- const isLargeHeader = (_options$headerLargeT2 = options.headerLargeTitle) !== null && _options$headerLargeT2 !== void 0 ? _options$headerLargeT2 : false;
173
- const defaultHeaderHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, isLargeHeader);
199
+ const isStatusBarTranslucent = options.statusBarTranslucent ?? false;
200
+ const statusBarHeight = (0, _getStatusBarHeight.default)(topInset, dimensions, isStatusBarTranslucent);
201
+ const hasLargeHeader = options.headerLargeTitle ?? false;
202
+ const defaultHeaderHeight = (0, _getDefaultHeaderHeight.default)(dimensions, statusBarHeight, stackPresentation, hasLargeHeader);
174
203
  const parentHeaderHeight = React.useContext(_HeaderHeightContext.default);
175
204
  const isHeaderInPush = isAndroid ? headerShown : stackPresentation === 'push' && headerShown !== false;
176
- const staticHeaderHeight = isHeaderInPush !== false ? defaultHeaderHeight : parentHeaderHeight !== null && parentHeaderHeight !== void 0 ? parentHeaderHeight : 0;
205
+ const staticHeaderHeight = isHeaderInPush !== false ? defaultHeaderHeight : parentHeaderHeight ?? 0;
177
206
 
178
207
  // We need to ensure the first retrieved header height will be cached and set in animatedHeaderHeight.
179
208
  // We're caching the header height here, as on iOS native side events are not always coming to the JS on first notify.
180
209
  // TODO: Check why first event is not being received once it is cached on the native side.
181
- const cachedAnimatedHeaderHeight = React.useRef(statusBarHeight);
210
+ const cachedAnimatedHeaderHeight = React.useRef(defaultHeaderHeight);
182
211
  const animatedHeaderHeight = React.useRef(
183
212
  // amznmod_react - change imports to kepler packages
184
213
  // @ts-ignore
185
214
  new _reactNative.Animated.Value(staticHeaderHeight, {
186
215
  useNativeDriver: true
187
216
  })).current;
188
- const Screen = React.useContext(_reactNativeScreens.ScreenContext);
217
+ const Screen = React.useContext(_Screen.ScreenContext);
189
218
  const {
190
219
  dark
191
220
  } = (0, _reactNavigation__native.useTheme)();
221
+ const screenRef = React.useRef(null);
222
+ React.useEffect(() => {
223
+ screensRefs.current[route.key] = screenRef;
224
+ return () => {
225
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
226
+ delete screensRefs.current[route.key];
227
+ };
228
+ });
192
229
  return /*#__PURE__*/React.createElement(Screen, {
193
230
  key: route.key,
231
+ ref: screenRef,
194
232
  enabled: true,
195
233
  isNativeStack: true,
196
- style: _reactNative.StyleSheet.absoluteFill,
234
+ hasLargeHeader: hasLargeHeader,
235
+ style: [_reactNative.StyleSheet.absoluteFill, internalScreenStyle],
197
236
  sheetAllowedDetents: sheetAllowedDetents,
198
- sheetLargestUndimmedDetent: sheetLargestUndimmedDetent,
237
+ sheetLargestUndimmedDetentIndex: sheetLargestUndimmedDetentIndex,
199
238
  sheetGrabberVisible: sheetGrabberVisible,
239
+ sheetInitialDetentIndex: sheetInitialDetentIndex,
200
240
  sheetCornerRadius: sheetCornerRadius,
241
+ sheetElevation: sheetElevation,
201
242
  sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
202
243
  customAnimationOnSwipe: customAnimationOnSwipe,
203
244
  freezeOnBlur: freezeOnBlur,
204
245
  fullScreenSwipeEnabled: fullScreenSwipeEnabled,
246
+ fullScreenSwipeShadowEnabled: fullScreenSwipeShadowEnabled,
205
247
  hideKeyboardOnSwipe: hideKeyboardOnSwipe,
206
248
  homeIndicatorHidden: homeIndicatorHidden,
207
249
  gestureEnabled: isAndroid ? false : gestureEnabled,
208
250
  gestureResponseDistance: gestureResponseDistance,
209
251
  nativeBackButtonDismissalEnabled: nativeBackButtonDismissalEnabled,
210
252
  navigationBarColor: navigationBarColor,
253
+ navigationBarTranslucent: navigationBarTranslucent,
211
254
  navigationBarHidden: navigationBarHidden,
212
255
  replaceAnimation: replaceAnimation,
213
256
  screenOrientation: screenOrientation,
@@ -216,7 +259,7 @@ const RouteView = ({
216
259
  statusBarAnimation: statusBarAnimation,
217
260
  statusBarColor: statusBarColor,
218
261
  statusBarHidden: statusBarHidden,
219
- statusBarStyle: statusBarStyle !== null && statusBarStyle !== void 0 ? statusBarStyle : dark ? 'light' : 'dark',
262
+ statusBarStyle: statusBarStyle ?? (dark ? 'light' : 'dark'),
220
263
  statusBarTranslucent: statusBarTranslucent,
221
264
  swipeDirection: swipeDirection,
222
265
  transitionDuration: transitionDuration,
@@ -290,6 +333,16 @@ const RouteView = ({
290
333
  target: stateKey
291
334
  });
292
335
  },
336
+ onSheetDetentChanged: e => {
337
+ navigation.emit({
338
+ type: 'sheetDetentChange',
339
+ target: route.key,
340
+ data: {
341
+ index: e.nativeEvent.index,
342
+ isStable: e.nativeEvent.isStable
343
+ }
344
+ });
345
+ },
293
346
  onGestureCancel: () => {
294
347
  navigation.emit({
295
348
  type: 'gestureCancel',
@@ -303,11 +356,12 @@ const RouteView = ({
303
356
  }, /*#__PURE__*/React.createElement(MaybeNestedStack, {
304
357
  options: options,
305
358
  route: route,
306
- stackPresentation: stackPresentation
359
+ stackPresentation: stackPresentation,
360
+ internalScreenStyle: internalScreenStyle
307
361
  }, renderScene()), /*#__PURE__*/React.createElement(_HeaderConfig.default, _extends({}, options, {
308
362
  route: route,
309
363
  headerShown: isHeaderInPush
310
- })))));
364
+ })), stackPresentation === 'formSheet' && unstable_sheetFooter && /*#__PURE__*/React.createElement(_FooterComponent.default, null, unstable_sheetFooter()))));
311
365
  };
312
366
  function NativeStackViewInner({
313
367
  state,
@@ -318,37 +372,49 @@ function NativeStackViewInner({
318
372
  key,
319
373
  routes
320
374
  } = state;
321
- return /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStack, {
322
- style: styles.container
375
+ const currentRouteKey = routes[state.index].key;
376
+ const {
377
+ goBackGesture,
378
+ transitionAnimation,
379
+ screenEdgeGesture
380
+ } = descriptors[currentRouteKey].options;
381
+ const screensRefs = React.useRef({});
382
+ return /*#__PURE__*/React.createElement(_ScreenStack.default, {
383
+ style: styles.container,
384
+ goBackGesture: goBackGesture,
385
+ transitionAnimation: transitionAnimation,
386
+ screenEdgeGesture: screenEdgeGesture ?? false,
387
+ screensRefs: screensRefs,
388
+ currentScreenId: currentRouteKey
323
389
  }, routes.map((route, index) => /*#__PURE__*/React.createElement(RouteView, {
324
390
  key: route.key,
325
391
  descriptors: descriptors,
326
392
  route: route,
327
393
  index: index,
328
394
  navigation: navigation,
329
- stateKey: key
395
+ stateKey: key,
396
+ screensRefs: screensRefs
330
397
  })));
331
398
  }
332
399
  function NativeStackView(props) {
333
400
  return /*#__PURE__*/React.createElement(_SafeAreaProviderCompat.default, null, /*#__PURE__*/React.createElement(NativeStackViewInner, props));
334
401
  }
335
- function getStatusBarHeight(topInset, dimensions, isStatusBarTranslucent) {
336
- if (_reactNative.Platform.OS === 'ios') {
337
- // It looks like some iOS devices don't have strictly set status bar height to 44.
338
- // Thus, if the top inset is higher than 50, then the device should have a dynamic island.
339
- // On models with Dynamic Island the status bar height is smaller than the safe area top inset by 5 pixels.
340
- // See https://developer.apple.com/forums/thread/662466 for more details about status bar height.
341
- const hasDynamicIsland = topInset > 50;
342
- return hasDynamicIsland ? topInset - 5 : topInset;
343
- } else if (_reactNative.Platform.OS === 'android') {
344
- // On Android we should also rely on frame's y-axis position, as topInset is 0 on visible status bar.
345
- return isStatusBarTranslucent ? topInset : dimensions.y;
346
- }
347
- return topInset;
348
- }
349
402
  const styles = _reactNative.StyleSheet.create({
350
403
  container: {
351
404
  flex: 1
405
+ },
406
+ absoluteFill: {
407
+ position: 'absolute',
408
+ top: 0,
409
+ left: 0,
410
+ right: 0,
411
+ bottom: 0
412
+ },
413
+ absoluteFillNoBottom: {
414
+ position: 'absolute',
415
+ top: 0,
416
+ left: 0,
417
+ right: 0
352
418
  }
353
419
  });
354
420
  //# sourceMappingURL=NativeStackView.js.map