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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/README.md +57 -18
  2. package/RNScreens.podspec +12 -30
  3. package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.bundle +45301 -0
  4. package/SystemBundles/31d5b6b69618249f6233b73a1de7c4d890c86be7ccb031ce7cf2dcc41783f9f7.map +13711 -0
  5. package/SystemModules/amzn__react-native-screens-3.modules.txt +158 -0
  6. package/SystemModules/amzn__react-native-screens-3.private.modules.txt +377 -0
  7. package/SystemModules/keplerscript-system-bundle-config.json +4 -4
  8. package/android/CMakeLists.txt +80 -0
  9. package/android/build.gradle +96 -17
  10. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
  11. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +38 -25
  12. package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +53 -0
  13. package/android/src/main/cpp/NativeProxy.cpp +51 -0
  14. package/android/src/main/cpp/NativeProxy.h +35 -0
  15. package/android/src/main/cpp/OnLoad.cpp +8 -0
  16. package/android/src/main/cpp/jni-adapter.cpp +106 -0
  17. package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +20 -10
  18. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +69 -1
  19. package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +8 -8
  20. package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +104 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/ModalScreenViewManager.kt +12 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +12 -0
  23. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +65 -7
  24. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +327 -84
  25. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +122 -72
  26. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +27 -4
  27. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapper.kt +38 -0
  28. package/android/src/main/java/com/swmansion/rnscreens/ScreenContentWrapperManager.kt +25 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +10 -2
  30. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooter.kt +299 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/ScreenFooterManager.kt +25 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +91 -67
  33. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +12 -1
  34. package/android/src/main/java/com/swmansion/rnscreens/ScreenModalFragment.kt +281 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +184 -81
  36. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +467 -80
  37. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +8 -1
  38. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +156 -124
  39. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
  40. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +159 -39
  41. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +24 -9
  42. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +19 -13
  43. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +31 -28
  44. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +276 -71
  45. package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +124 -64
  46. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +127 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +4 -2
  48. package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +160 -53
  49. package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +57 -32
  50. package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +15 -10
  51. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetBehaviorExt.kt +42 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogRootView.kt +104 -0
  53. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetDialogScreen.kt +26 -0
  54. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingFragment.kt +493 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +66 -0
  56. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt +24 -0
  57. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +135 -0
  58. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +7 -8
  59. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +8 -9
  60. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +7 -8
  61. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +9 -10
  62. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +4 -1
  63. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +4 -1
  64. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +8 -4
  65. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +13 -16
  66. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +4 -1
  67. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +4 -1
  68. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +8 -9
  69. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +8 -11
  70. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +7 -8
  71. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +8 -9
  72. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +7 -8
  73. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +12 -11
  74. package/android/src/main/java/com/swmansion/rnscreens/events/SheetDetentChangedEvent.kt +27 -0
  75. package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +4 -1
  76. package/android/src/main/java/com/swmansion/rnscreens/ext/NumericExt.kt +12 -0
  77. package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +32 -0
  78. package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +1 -5
  79. package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
  80. package/android/src/main/java/com/swmansion/rnscreens/utils/ScreenDummyLayoutHelper.kt +282 -0
  81. package/android/src/main/jni/CMakeLists.txt +35 -23
  82. package/android/src/main/jni/rnscreens.h +3 -0
  83. package/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +5 -0
  84. package/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +5 -0
  85. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +6 -0
  86. package/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +6 -0
  87. package/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +5 -0
  88. package/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +5 -0
  89. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +6 -0
  90. package/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +6 -0
  91. package/android/src/main/res/base/drawable/rns_rounder_top_corners_shape.xml +8 -0
  92. package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +0 -1
  93. package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +2 -2
  94. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +25 -0
  95. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +16 -0
  96. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +25 -0
  97. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +16 -0
  98. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +25 -0
  99. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +16 -0
  100. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +16 -3
  101. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +7 -2
  102. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +6 -0
  103. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +2 -0
  104. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +99 -0
  105. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +37 -0
  106. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
  107. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +11 -2
  108. package/android/src/paper/java/com/swmansion/rnscreens/NativeProxy.kt +19 -0
  109. package/android/src/paper/java/com/swmansion/rnscreens/NativeScreensModuleSpec.java +36 -0
  110. package/common/cpp/react/renderer/components/rnscreens/FrameCorrectionModes.h +51 -0
  111. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +40 -0
  112. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +16 -0
  113. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +32 -0
  114. package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +55 -12
  115. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +157 -0
  116. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +31 -11
  117. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +49 -0
  118. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +22 -0
  119. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +40 -0
  120. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +34 -0
  121. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +57 -0
  122. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
  123. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
  124. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +31 -0
  125. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
  126. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +39 -0
  127. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +23 -2
  128. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +33 -8
  129. package/common/cpp/react/renderer/components/rnscreens/utils/RectUtil.h +36 -0
  130. package/cpp/RNSScreenRemovalListener.cpp +25 -0
  131. package/cpp/RNSScreenRemovalListener.h +20 -0
  132. package/cpp/RNScreensTurboModule.cpp +115 -0
  133. package/cpp/RNScreensTurboModule.h +40 -0
  134. package/gesture-handler/package.json +6 -0
  135. package/ios/RNSConvert.h +24 -4
  136. package/ios/RNSConvert.mm +180 -55
  137. package/ios/RNSEnums.h +48 -0
  138. package/ios/RNSFullWindowOverlay.mm +12 -2
  139. package/ios/RNSModalScreen.h +8 -0
  140. package/ios/RNSModalScreen.mm +65 -0
  141. package/ios/RNSModule.h +19 -0
  142. package/ios/RNSModule.mm +173 -0
  143. package/ios/RNSPercentDrivenInteractiveTransition.h +12 -0
  144. package/ios/RNSPercentDrivenInteractiveTransition.mm +69 -0
  145. package/ios/RNSScreen.h +24 -5
  146. package/ios/RNSScreen.mm +652 -173
  147. package/ios/RNSScreenContainer.mm +12 -1
  148. package/ios/RNSScreenContentWrapper.h +44 -0
  149. package/ios/RNSScreenContentWrapper.mm +67 -0
  150. package/ios/RNSScreenFooter.h +30 -0
  151. package/ios/RNSScreenFooter.mm +142 -0
  152. package/ios/RNSScreenNavigationContainer.mm +7 -0
  153. package/ios/RNSScreenStack.h +6 -0
  154. package/ios/RNSScreenStack.mm +333 -109
  155. package/ios/RNSScreenStackAnimator.h +15 -1
  156. package/ios/RNSScreenStackAnimator.mm +380 -115
  157. package/ios/RNSScreenStackHeaderConfig.h +74 -6
  158. package/ios/RNSScreenStackHeaderConfig.mm +338 -69
  159. package/ios/RNSScreenStackHeaderSubview.h +0 -7
  160. package/ios/RNSScreenStackHeaderSubview.mm +61 -24
  161. package/ios/RNSScreenWindowTraits.h +1 -1
  162. package/ios/RNSScreenWindowTraits.mm +24 -50
  163. package/ios/RNSSearchBar.h +5 -5
  164. package/ios/RNSSearchBar.mm +42 -11
  165. package/ios/events/RNSHeaderHeightChangeEvent.h +0 -1
  166. package/ios/events/RNSHeaderHeightChangeEvent.mm +15 -0
  167. package/ios/events/RNSScreenViewEvent.h +0 -1
  168. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.h +15 -0
  169. package/ios/utils/RCTSurfaceTouchHandler+RNSUtility.mm +14 -0
  170. package/ios/utils/RCTTouchHandler+RNSUtility.h +15 -0
  171. package/ios/utils/RCTTouchHandler+RNSUtility.mm +15 -0
  172. package/ios/utils/RNSDefines.h +7 -0
  173. package/ios/utils/RNSUIBarButtonItem.h +2 -0
  174. package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
  175. package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
  176. package/ios/utils/UIView+RNSUtility.h +23 -0
  177. package/ios/utils/UIView+RNSUtility.mm +54 -0
  178. package/kepler-compatibility.json +2 -2
  179. package/lib/commonjs/TransitionProgressContext.js +1 -0
  180. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  181. package/lib/commonjs/components/DebugContainer.js +39 -0
  182. package/lib/commonjs/components/DebugContainer.js.map +1 -0
  183. package/lib/commonjs/components/DebugContainer.web.js +15 -0
  184. package/lib/commonjs/components/DebugContainer.web.js.map +1 -0
  185. package/lib/commonjs/components/FullWindowOverlay.js +31 -0
  186. package/lib/commonjs/components/FullWindowOverlay.js.map +1 -0
  187. package/lib/commonjs/components/FullWindowOverlay.web.js +9 -0
  188. package/lib/commonjs/components/FullWindowOverlay.web.js.map +1 -0
  189. package/lib/commonjs/components/Screen.js +286 -0
  190. package/lib/commonjs/components/Screen.js.map +1 -0
  191. package/lib/commonjs/components/Screen.web.js +47 -0
  192. package/lib/commonjs/components/Screen.web.js.map +1 -0
  193. package/lib/commonjs/components/ScreenContainer.js +32 -0
  194. package/lib/commonjs/components/ScreenContainer.js.map +1 -0
  195. package/lib/commonjs/components/ScreenContainer.web.js +10 -0
  196. package/lib/commonjs/components/ScreenContainer.web.js.map +1 -0
  197. package/lib/commonjs/components/ScreenContentWrapper.js +17 -0
  198. package/lib/commonjs/components/ScreenContentWrapper.js.map +1 -0
  199. package/lib/commonjs/components/ScreenContentWrapper.web.js +10 -0
  200. package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
  201. package/lib/commonjs/components/ScreenFooter.js +25 -0
  202. package/lib/commonjs/components/ScreenFooter.js.map +1 -0
  203. package/lib/commonjs/components/ScreenFooter.web.js +11 -0
  204. package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
  205. package/lib/commonjs/components/ScreenStack.js +67 -0
  206. package/lib/commonjs/components/ScreenStack.js.map +1 -0
  207. package/lib/commonjs/components/ScreenStack.web.js +10 -0
  208. package/lib/commonjs/components/ScreenStack.web.js.map +1 -0
  209. package/lib/commonjs/components/ScreenStackHeaderConfig.js +90 -0
  210. package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -0
  211. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js +27 -0
  212. package/lib/commonjs/components/ScreenStackHeaderConfig.web.js.map +1 -0
  213. package/lib/commonjs/components/ScreenStackItem.js +107 -0
  214. package/lib/commonjs/components/ScreenStackItem.js.map +1 -0
  215. package/lib/commonjs/components/SearchBar.js +63 -0
  216. package/lib/commonjs/components/SearchBar.js.map +1 -0
  217. package/lib/commonjs/components/SearchBar.web.js +10 -0
  218. package/lib/commonjs/components/SearchBar.web.js.map +1 -0
  219. package/lib/commonjs/components/helpers/DelayedFreeze.js +31 -0
  220. package/lib/commonjs/components/helpers/DelayedFreeze.js.map +1 -0
  221. package/lib/commonjs/components/helpers/usePrevious.js +15 -0
  222. package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
  223. package/lib/commonjs/contexts.js +11 -0
  224. package/lib/commonjs/contexts.js.map +1 -0
  225. package/lib/commonjs/core.js +40 -0
  226. package/lib/commonjs/core.js.map +1 -0
  227. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +16 -1
  228. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  229. package/lib/commonjs/fabric/ModalScreenNativeComponent.js +14 -0
  230. package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -0
  231. package/lib/commonjs/fabric/NativeScreensModule.js +10 -0
  232. package/lib/commonjs/fabric/NativeScreensModule.js.map +1 -0
  233. package/lib/commonjs/fabric/NativeScreensModule.web.js +8 -0
  234. package/lib/commonjs/fabric/NativeScreensModule.web.js.map +1 -0
  235. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +8 -11
  236. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  237. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js +18 -0
  238. package/lib/commonjs/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  239. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js +10 -0
  240. package/lib/commonjs/fabric/ScreenFooterNativeComponent.js.map +1 -0
  241. package/lib/commonjs/fabric/ScreenNativeComponent.js +13 -15
  242. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  243. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +2 -1
  244. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  245. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +10 -9
  246. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  247. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -2
  248. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  249. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +8 -11
  250. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  251. package/lib/commonjs/fabric/SearchBarNativeComponent.js +4 -5
  252. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  253. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js +19 -0
  254. package/lib/commonjs/gesture-handler/GestureDetectorProvider.js.map +1 -0
  255. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js +8 -0
  256. package/lib/commonjs/gesture-handler/RNScreensTurboModule.js.map +1 -0
  257. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js +201 -0
  258. package/lib/commonjs/gesture-handler/ScreenGestureDetector.js.map +1 -0
  259. package/lib/commonjs/gesture-handler/constraints.js +64 -0
  260. package/lib/commonjs/gesture-handler/constraints.js.map +1 -0
  261. package/lib/commonjs/gesture-handler/defaults.js +45 -0
  262. package/lib/commonjs/gesture-handler/defaults.js.map +1 -0
  263. package/lib/commonjs/gesture-handler/fabricUtils.js +66 -0
  264. package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -0
  265. package/lib/commonjs/gesture-handler/fabricUtils.web.js +17 -0
  266. package/lib/commonjs/gesture-handler/fabricUtils.web.js.map +1 -0
  267. package/lib/commonjs/gesture-handler/index.js +14 -0
  268. package/lib/commonjs/gesture-handler/index.js.map +1 -0
  269. package/lib/commonjs/index.js +157 -94
  270. package/lib/commonjs/index.js.map +1 -1
  271. package/lib/commonjs/native-stack/contexts/GHContext.js +12 -0
  272. package/lib/commonjs/native-stack/contexts/GHContext.js.map +1 -0
  273. package/lib/commonjs/native-stack/index.js.map +1 -1
  274. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +21 -20
  275. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  276. package/lib/commonjs/native-stack/types.js.map +1 -1
  277. package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  278. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  279. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  280. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  281. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js +22 -0
  282. package/lib/commonjs/native-stack/utils/getStatusBarHeight.js.map +1 -0
  283. package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  284. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +2 -4
  285. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  286. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  287. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -3
  288. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  289. package/lib/commonjs/native-stack/views/FooterComponent.js +17 -0
  290. package/lib/commonjs/native-stack/views/FooterComponent.js.map +1 -0
  291. package/lib/commonjs/native-stack/views/HeaderConfig.js +21 -13
  292. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  293. package/lib/commonjs/native-stack/views/NativeStackView.js +118 -52
  294. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  295. package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  296. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +15 -21
  297. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  298. package/lib/commonjs/reanimated/ReanimatedScreen.js +2 -2
  299. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  300. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +8 -16
  301. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  302. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  303. package/lib/commonjs/reanimated/index.js.map +1 -1
  304. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +2 -2
  305. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  306. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  307. package/lib/commonjs/types.js.map +1 -1
  308. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  309. package/lib/commonjs/utils.js +28 -6
  310. package/lib/commonjs/utils.js.map +1 -1
  311. package/lib/module/TransitionProgressContext.js +2 -0
  312. package/lib/module/TransitionProgressContext.js.map +1 -1
  313. package/lib/module/components/DebugContainer.js +30 -0
  314. package/lib/module/components/DebugContainer.js.map +1 -0
  315. package/lib/module/components/DebugContainer.web.js +6 -0
  316. package/lib/module/components/DebugContainer.web.js.map +1 -0
  317. package/lib/module/components/FullWindowOverlay.js +24 -0
  318. package/lib/module/components/FullWindowOverlay.js.map +1 -0
  319. package/lib/module/components/FullWindowOverlay.web.js +3 -0
  320. package/lib/module/components/FullWindowOverlay.web.js.map +1 -0
  321. package/lib/module/components/Screen.js +282 -0
  322. package/lib/module/components/Screen.js.map +1 -0
  323. package/lib/module/components/Screen.web.js +40 -0
  324. package/lib/module/components/Screen.web.js.map +1 -0
  325. package/lib/module/components/ScreenContainer.js +26 -0
  326. package/lib/module/components/ScreenContainer.js.map +1 -0
  327. package/lib/module/components/ScreenContainer.web.js +4 -0
  328. package/lib/module/components/ScreenContainer.web.js.map +1 -0
  329. package/lib/module/components/ScreenContentWrapper.js +10 -0
  330. package/lib/module/components/ScreenContentWrapper.js.map +1 -0
  331. package/lib/module/components/ScreenContentWrapper.web.js +4 -0
  332. package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
  333. package/lib/module/components/ScreenFooter.js +18 -0
  334. package/lib/module/components/ScreenFooter.js.map +1 -0
  335. package/lib/module/components/ScreenFooter.web.js +6 -0
  336. package/lib/module/components/ScreenFooter.web.js.map +1 -0
  337. package/lib/module/components/ScreenStack.js +63 -0
  338. package/lib/module/components/ScreenStack.js.map +1 -0
  339. package/lib/module/components/ScreenStack.web.js +4 -0
  340. package/lib/module/components/ScreenStack.web.js.map +1 -0
  341. package/lib/module/components/ScreenStackHeaderConfig.js +81 -0
  342. package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -0
  343. package/lib/module/components/ScreenStackHeaderConfig.web.js +14 -0
  344. package/lib/module/components/ScreenStackHeaderConfig.web.js.map +1 -0
  345. package/lib/module/components/ScreenStackItem.js +98 -0
  346. package/lib/module/components/ScreenStackItem.js.map +1 -0
  347. package/lib/module/components/SearchBar.js +57 -0
  348. package/lib/module/components/SearchBar.js.map +1 -0
  349. package/lib/module/components/SearchBar.web.js +4 -0
  350. package/lib/module/components/SearchBar.web.js.map +1 -0
  351. package/lib/module/components/helpers/DelayedFreeze.js +24 -0
  352. package/lib/module/components/helpers/DelayedFreeze.js.map +1 -0
  353. package/lib/module/components/helpers/usePrevious.js +9 -0
  354. package/lib/module/components/helpers/usePrevious.js.map +1 -0
  355. package/lib/module/contexts.js +4 -0
  356. package/lib/module/contexts.js.map +1 -0
  357. package/lib/module/core.js +31 -0
  358. package/lib/module/core.js.map +1 -0
  359. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +16 -0
  360. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  361. package/lib/module/fabric/ModalScreenNativeComponent.js +10 -0
  362. package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -0
  363. package/lib/module/fabric/NativeScreensModule.js +5 -0
  364. package/lib/module/fabric/NativeScreensModule.js.map +1 -0
  365. package/lib/module/fabric/NativeScreensModule.web.js +2 -0
  366. package/lib/module/fabric/NativeScreensModule.web.js.map +1 -0
  367. package/lib/module/fabric/ScreenContainerNativeComponent.js +3 -4
  368. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  369. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js +10 -0
  370. package/lib/module/fabric/ScreenContentWrapperNativeComponent.js.map +1 -0
  371. package/lib/module/fabric/ScreenFooterNativeComponent.js +3 -0
  372. package/lib/module/fabric/ScreenFooterNativeComponent.js.map +1 -0
  373. package/lib/module/fabric/ScreenNativeComponent.js +8 -7
  374. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  375. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +2 -0
  376. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  377. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +8 -2
  378. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  379. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -1
  380. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  381. package/lib/module/fabric/ScreenStackNativeComponent.js +3 -3
  382. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  383. package/lib/module/fabric/SearchBarNativeComponent.js +3 -1
  384. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  385. package/lib/module/gesture-handler/GestureDetectorProvider.js +12 -0
  386. package/lib/module/gesture-handler/GestureDetectorProvider.js.map +1 -0
  387. package/lib/module/gesture-handler/RNScreensTurboModule.js +2 -0
  388. package/lib/module/gesture-handler/RNScreensTurboModule.js.map +1 -0
  389. package/lib/module/gesture-handler/ScreenGestureDetector.js +193 -0
  390. package/lib/module/gesture-handler/ScreenGestureDetector.js.map +1 -0
  391. package/lib/module/gesture-handler/constraints.js +56 -0
  392. package/lib/module/gesture-handler/constraints.js.map +1 -0
  393. package/lib/module/gesture-handler/defaults.js +39 -0
  394. package/lib/module/gesture-handler/defaults.js.map +1 -0
  395. package/lib/module/gesture-handler/fabricUtils.js +61 -0
  396. package/lib/module/gesture-handler/fabricUtils.js.map +1 -0
  397. package/lib/module/gesture-handler/fabricUtils.web.js +10 -0
  398. package/lib/module/gesture-handler/fabricUtils.web.js.map +1 -0
  399. package/lib/module/gesture-handler/index.js +5 -0
  400. package/lib/module/gesture-handler/index.js.map +1 -0
  401. package/lib/module/index.js +29 -64
  402. package/lib/module/index.js.map +1 -1
  403. package/lib/module/native-stack/contexts/GHContext.js +6 -0
  404. package/lib/module/native-stack/contexts/GHContext.js.map +1 -0
  405. package/lib/module/native-stack/index.js.map +1 -1
  406. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +21 -20
  407. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  408. package/lib/module/native-stack/types.js.map +1 -1
  409. package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -1
  410. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  411. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  412. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  413. package/lib/module/native-stack/utils/getStatusBarHeight.js +16 -0
  414. package/lib/module/native-stack/utils/getStatusBarHeight.js.map +1 -0
  415. package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
  416. package/lib/module/native-stack/utils/useBackPressSubscription.js +2 -4
  417. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  418. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  419. package/lib/module/native-stack/views/FontProcessor.js +2 -3
  420. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  421. package/lib/module/native-stack/views/FooterComponent.js +10 -0
  422. package/lib/module/native-stack/views/FooterComponent.js.map +1 -0
  423. package/lib/module/native-stack/views/HeaderConfig.js +13 -6
  424. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  425. package/lib/module/native-stack/views/NativeStackView.js +114 -46
  426. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  427. package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -1
  428. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +8 -12
  429. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  430. package/lib/module/reanimated/ReanimatedScreen.js +1 -2
  431. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  432. package/lib/module/reanimated/ReanimatedScreenProvider.js +7 -15
  433. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  434. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  435. package/lib/module/reanimated/index.js.map +1 -1
  436. package/lib/module/reanimated/useReanimatedHeaderHeight.js +1 -1
  437. package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -1
  438. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  439. package/lib/module/types.js.map +1 -1
  440. package/lib/module/useTransitionProgress.js.map +1 -1
  441. package/lib/module/utils.js +26 -5
  442. package/lib/module/utils.js.map +1 -1
  443. package/lib/typescript/TransitionProgressContext.d.ts +2 -1
  444. package/lib/typescript/TransitionProgressContext.d.ts.map +1 -0
  445. package/lib/typescript/components/DebugContainer.d.ts +15 -0
  446. package/lib/typescript/components/DebugContainer.d.ts.map +1 -0
  447. package/lib/typescript/components/DebugContainer.web.d.ts +4 -0
  448. package/lib/typescript/components/DebugContainer.web.d.ts.map +1 -0
  449. package/lib/typescript/components/FullWindowOverlay.d.ts +6 -0
  450. package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -0
  451. package/lib/typescript/components/FullWindowOverlay.web.d.ts +6 -0
  452. package/lib/typescript/components/FullWindowOverlay.web.d.ts.map +1 -0
  453. package/lib/typescript/components/Screen.d.ts +8 -0
  454. package/lib/typescript/components/Screen.d.ts.map +1 -0
  455. package/lib/typescript/components/Screen.web.d.ts +11 -0
  456. package/lib/typescript/components/Screen.web.d.ts.map +1 -0
  457. package/lib/typescript/components/ScreenContainer.d.ts +5 -0
  458. package/lib/typescript/components/ScreenContainer.d.ts.map +1 -0
  459. package/lib/typescript/components/ScreenContainer.web.d.ts +4 -0
  460. package/lib/typescript/components/ScreenContainer.web.d.ts.map +1 -0
  461. package/lib/typescript/components/ScreenContentWrapper.d.ts +5 -0
  462. package/lib/typescript/components/ScreenContentWrapper.d.ts.map +1 -0
  463. package/lib/typescript/components/ScreenContentWrapper.web.d.ts +4 -0
  464. package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
  465. package/lib/typescript/components/ScreenFooter.d.ts +12 -0
  466. package/lib/typescript/components/ScreenFooter.d.ts.map +1 -0
  467. package/lib/typescript/components/ScreenFooter.web.d.ts +6 -0
  468. package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
  469. package/lib/typescript/components/ScreenStack.d.ts +5 -0
  470. package/lib/typescript/components/ScreenStack.d.ts.map +1 -0
  471. package/lib/typescript/components/ScreenStack.web.d.ts +4 -0
  472. package/lib/typescript/components/ScreenStack.web.d.ts.map +1 -0
  473. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +13 -0
  474. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -0
  475. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +13 -0
  476. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -0
  477. package/lib/typescript/components/ScreenStackItem.d.ts +11 -0
  478. package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -0
  479. package/lib/typescript/components/SearchBar.d.ts +5 -0
  480. package/lib/typescript/components/SearchBar.d.ts.map +1 -0
  481. package/lib/typescript/components/SearchBar.web.d.ts +4 -0
  482. package/lib/typescript/components/SearchBar.web.d.ts.map +1 -0
  483. package/lib/typescript/components/helpers/DelayedFreeze.d.ts +8 -0
  484. package/lib/typescript/components/helpers/DelayedFreeze.d.ts.map +1 -0
  485. package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
  486. package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
  487. package/lib/typescript/contexts.d.ts +5 -0
  488. package/lib/typescript/contexts.d.ts.map +1 -0
  489. package/lib/typescript/core.d.ts +6 -0
  490. package/lib/typescript/core.d.ts.map +1 -0
  491. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +1 -1
  492. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -0
  493. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +76 -0
  494. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -0
  495. package/lib/typescript/fabric/NativeScreensModule.d.ts +6 -0
  496. package/lib/typescript/fabric/NativeScreensModule.d.ts.map +1 -0
  497. package/lib/typescript/fabric/NativeScreensModule.web.d.ts +3 -0
  498. package/lib/typescript/fabric/NativeScreensModule.web.d.ts.map +1 -0
  499. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +1 -0
  500. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts.map +1 -0
  501. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts +6 -0
  502. package/lib/typescript/fabric/ScreenContentWrapperNativeComponent.d.ts.map +1 -0
  503. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts +7 -0
  504. package/lib/typescript/fabric/ScreenFooterNativeComponent.d.ts.map +1 -0
  505. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +34 -24
  506. package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -0
  507. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +1 -1
  508. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts.map +1 -0
  509. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +12 -2
  510. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -0
  511. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
  512. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -0
  513. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +4 -2
  514. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -0
  515. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +17 -16
  516. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -0
  517. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts +5 -0
  518. package/lib/typescript/gesture-handler/GestureDetectorProvider.d.ts.map +1 -0
  519. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts +13 -0
  520. package/lib/typescript/gesture-handler/RNScreensTurboModule.d.ts.map +1 -0
  521. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts +5 -0
  522. package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts.map +1 -0
  523. package/lib/typescript/gesture-handler/constraints.d.ts +6 -0
  524. package/lib/typescript/gesture-handler/constraints.d.ts.map +1 -0
  525. package/lib/typescript/gesture-handler/defaults.d.ts +20 -0
  526. package/lib/typescript/gesture-handler/defaults.d.ts.map +1 -0
  527. package/lib/typescript/gesture-handler/fabricUtils.d.ts +10 -0
  528. package/lib/typescript/gesture-handler/fabricUtils.d.ts.map +1 -0
  529. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts +6 -0
  530. package/lib/typescript/gesture-handler/fabricUtils.web.d.ts.map +1 -0
  531. package/lib/typescript/gesture-handler/index.d.ts +2 -0
  532. package/lib/typescript/gesture-handler/index.d.ts.map +1 -0
  533. package/lib/typescript/index.d.ts +25 -31
  534. package/lib/typescript/index.d.ts.map +1 -0
  535. package/lib/typescript/native-stack/contexts/GHContext.d.ts +4 -0
  536. package/lib/typescript/native-stack/contexts/GHContext.d.ts.map +1 -0
  537. package/lib/typescript/native-stack/index.d.ts +1 -0
  538. package/lib/typescript/native-stack/index.d.ts.map +1 -0
  539. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +4 -0
  540. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -0
  541. package/lib/typescript/native-stack/types.d.ts +191 -33
  542. package/lib/typescript/native-stack/types.d.ts.map +1 -0
  543. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +1 -0
  544. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts.map +1 -0
  545. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +1 -0
  546. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts.map +1 -0
  547. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +2 -1
  548. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts.map +1 -0
  549. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +3 -2
  550. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -0
  551. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts +3 -0
  552. package/lib/typescript/native-stack/utils/getStatusBarHeight.d.ts.map +1 -0
  553. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +2 -1
  554. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
  555. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +1 -0
  556. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts.map +1 -0
  557. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
  558. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts.map +1 -0
  559. package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
  560. package/lib/typescript/native-stack/views/FontProcessor.d.ts.map +1 -0
  561. package/lib/typescript/native-stack/views/FooterComponent.d.ts +7 -0
  562. package/lib/typescript/native-stack/views/FooterComponent.d.ts.map +1 -0
  563. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +3 -2
  564. package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -0
  565. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  566. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -0
  567. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +1 -0
  568. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts.map +1 -0
  569. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +3 -3
  570. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts.map +1 -0
  571. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +3 -3
  572. package/lib/typescript/reanimated/ReanimatedScreen.d.ts.map +1 -0
  573. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +1 -0
  574. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts.map +1 -0
  575. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +2 -1
  576. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts.map +1 -0
  577. package/lib/typescript/reanimated/index.d.ts +1 -0
  578. package/lib/typescript/reanimated/index.d.ts.map +1 -0
  579. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +2 -3
  580. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts.map +1 -0
  581. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +4 -9
  582. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts.map +1 -0
  583. package/lib/typescript/types.d.ts +186 -36
  584. package/lib/typescript/types.d.ts.map +1 -0
  585. package/lib/typescript/useTransitionProgress.d.ts +4 -3
  586. package/lib/typescript/useTransitionProgress.d.ts.map +1 -0
  587. package/lib/typescript/utils.d.ts +27 -1
  588. package/lib/typescript/utils.d.ts.map +1 -0
  589. package/native-stack/README.md +156 -108
  590. package/native-stack/package.json +4 -4
  591. package/package.json +1 -1
  592. package/react-native.config.js +19 -16
  593. package/reanimated/package.json +1 -1
  594. package/src/TransitionProgressContext.tsx +3 -1
  595. package/src/components/DebugContainer.tsx +46 -0
  596. package/src/components/DebugContainer.web.tsx +7 -0
  597. package/src/components/FullWindowOverlay.tsx +33 -0
  598. package/src/components/FullWindowOverlay.web.tsx +6 -0
  599. package/src/components/Screen.tsx +392 -0
  600. package/src/components/Screen.web.tsx +46 -0
  601. package/src/components/ScreenContainer.tsx +28 -0
  602. package/src/components/ScreenContainer.web.tsx +5 -0
  603. package/src/components/ScreenContentWrapper.tsx +9 -0
  604. package/src/components/ScreenContentWrapper.web.tsx +5 -0
  605. package/src/components/ScreenFooter.tsx +20 -0
  606. package/src/components/ScreenFooter.web.tsx +7 -0
  607. package/src/components/ScreenStack.tsx +112 -0
  608. package/src/components/ScreenStack.web.tsx +5 -0
  609. package/src/components/ScreenStackHeaderConfig.tsx +122 -0
  610. package/src/components/ScreenStackHeaderConfig.web.tsx +39 -0
  611. package/src/components/ScreenStackItem.tsx +174 -0
  612. package/src/components/SearchBar.tsx +102 -0
  613. package/src/components/SearchBar.web.tsx +5 -0
  614. package/src/components/helpers/DelayedFreeze.tsx +27 -0
  615. package/src/components/helpers/usePrevious.tsx +11 -0
  616. package/src/contexts.tsx +9 -0
  617. package/src/core.ts +45 -0
  618. package/src/fabric/FullWindowOverlayNativeComponent.ts +16 -0
  619. package/src/fabric/ModalScreenNativeComponent.ts +115 -0
  620. package/src/fabric/NativeScreensModule.ts +8 -0
  621. package/src/fabric/NativeScreensModule.web.ts +1 -0
  622. package/src/fabric/ScreenContainerNativeComponent.ts +3 -3
  623. package/src/fabric/ScreenContentWrapperNativeComponent.ts +14 -0
  624. package/src/fabric/ScreenFooterNativeComponent.ts +6 -0
  625. package/src/fabric/ScreenNativeComponent.ts +34 -23
  626. package/src/fabric/ScreenNavigationContainerNativeComponent.ts +3 -1
  627. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +38 -2
  628. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +5 -1
  629. package/src/fabric/ScreenStackNativeComponent.ts +3 -2
  630. package/src/fabric/SearchBarNativeComponent.ts +17 -13
  631. package/src/gesture-handler/GestureDetectorProvider.tsx +16 -0
  632. package/src/gesture-handler/RNScreensTurboModule.ts +13 -0
  633. package/src/gesture-handler/ScreenGestureDetector.tsx +241 -0
  634. package/src/gesture-handler/constraints.ts +87 -0
  635. package/src/gesture-handler/defaults.ts +46 -0
  636. package/src/gesture-handler/fabricUtils.ts +86 -0
  637. package/src/gesture-handler/fabricUtils.web.ts +10 -0
  638. package/src/gesture-handler/index.tsx +4 -0
  639. package/src/index.tsx +49 -113
  640. package/src/native-stack/contexts/GHContext.tsx +9 -0
  641. package/src/native-stack/navigators/createNativeStackNavigator.tsx +6 -3
  642. package/src/native-stack/types.tsx +204 -31
  643. package/src/native-stack/utils/getDefaultHeaderHeight.tsx +2 -2
  644. package/src/native-stack/utils/getStatusBarHeight.tsx +22 -0
  645. package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +1 -1
  646. package/src/native-stack/utils/useBackPressSubscription.tsx +1 -1
  647. package/src/native-stack/utils/useHeaderHeight.tsx +1 -1
  648. package/src/native-stack/views/FontProcessor.tsx +2 -2
  649. package/src/native-stack/views/FooterComponent.tsx +10 -0
  650. package/src/native-stack/views/HeaderConfig.tsx +20 -5
  651. package/src/native-stack/views/NativeStackView.tsx +137 -53
  652. package/src/reanimated/ReanimatedHeaderHeightContext.tsx +1 -1
  653. package/src/reanimated/ReanimatedNativeStackScreen.tsx +15 -13
  654. package/src/reanimated/ReanimatedScreen.tsx +4 -3
  655. package/src/reanimated/ReanimatedScreenProvider.tsx +3 -2
  656. package/src/reanimated/useReanimatedHeaderHeight.tsx +2 -2
  657. package/src/reanimated/useReanimatedTransitionProgress.tsx +1 -1
  658. package/src/types.tsx +210 -40
  659. package/src/useTransitionProgress.tsx +1 -1
  660. package/src/utils.ts +27 -5
  661. package/windows/README.md +4 -1
  662. package/windows/RNScreens/Screen.h +3 -1
  663. package/SystemBundles/4a5c11b5bb8dfc0553e927a2c8678e1dbd4a75220fe24dfbdba59b5550215de6.bundle +0 -33681
  664. package/SystemBundles/4a5c11b5bb8dfc0553e927a2c8678e1dbd4a75220fe24dfbdba59b5550215de6.map +0 -1
  665. package/SystemModules/amzn__react-native-screens.modules.txt +0 -101
  666. package/SystemModules/amzn__react-native-screens.private.modules.txt +0 -244
  667. package/lib/commonjs/index.native.js +0 -409
  668. package/lib/commonjs/index.native.js.map +0 -1
  669. package/lib/module/index.native.js +0 -412
  670. package/lib/module/index.native.js.map +0 -1
  671. package/lib/typescript/index.native.d.ts +0 -2
  672. package/src/index.native.tsx +0 -601
package/src/types.tsx CHANGED
@@ -1,17 +1,6 @@
1
- /*
2
- * Portions of this file are copyright (c) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.
3
- *
4
- * PORTIONS OF THIS FILE ARE AMAZON PROPRIETARY/CONFIDENTIAL. USE IS SUBJECT TO LICENSE TERMS.
5
- *
6
- * Amazon modifications are indicated by [amznmod_* comments].
7
- */
8
-
9
- /*
10
- * Changelog:
11
- * Set up react-native-screens package to build for Kepler
12
- */
13
-
1
+ import React from 'react';
14
2
  import {
3
+ Animated,
15
4
  NativeSyntheticEvent,
16
5
  ViewProps,
17
6
  View,
@@ -19,6 +8,7 @@ import {
19
8
  TextInputFocusEventData,
20
9
  ColorValue,
21
10
  } from 'react-native';
11
+ import { NativeStackNavigatorProps } from './native-stack/types';
22
12
 
23
13
  export type SearchBarCommands = {
24
14
  focus: () => void;
@@ -26,8 +16,10 @@ export type SearchBarCommands = {
26
16
  clearText: () => void;
27
17
  toggleCancelButton: (show: boolean) => void;
28
18
  setText: (text: string) => void;
19
+ cancelSearch: () => void;
29
20
  };
30
21
 
22
+ export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
31
23
  export type StackPresentationTypes =
32
24
  | 'push'
33
25
  | 'modal'
@@ -45,8 +37,11 @@ export type StackAnimationTypes =
45
37
  | 'simple_push'
46
38
  | 'slide_from_bottom'
47
39
  | 'slide_from_right'
48
- | 'slide_from_left';
40
+ | 'slide_from_left'
41
+ | 'ios_from_right'
42
+ | 'ios_from_left';
49
43
  export type BlurEffectTypes =
44
+ | 'none'
50
45
  | 'extraLight'
51
46
  | 'light'
52
47
  | 'dark'
@@ -102,12 +97,15 @@ export type GestureResponseDistanceType = {
102
97
  bottom?: number;
103
98
  };
104
99
 
105
- export type SheetDetentTypes = 'medium' | 'large' | 'all';
106
100
  export type SearchBarPlacement = 'automatic' | 'inline' | 'stacked';
107
101
 
108
102
  export interface ScreenProps extends ViewProps {
109
- active?: 0 | 1 ;
110
- activityState?: 0 | 1 | 2;
103
+ active?: 0 | 1 | Animated.AnimatedInterpolation<number>;
104
+ activityState?: 0 | 1 | 2 | Animated.AnimatedInterpolation<number>;
105
+ /**
106
+ * Boolean indicating that the screen should be frozen with `react-freeze`.
107
+ */
108
+ shouldFreeze?: boolean;
111
109
  children?: React.ReactNode;
112
110
  /**
113
111
  * Boolean indicating that swipe dismissal should trigger animation provided by `stackAnimation`. Defaults to `false`.
@@ -123,6 +121,10 @@ export interface ScreenProps extends ViewProps {
123
121
  * Internal boolean used to not attach events used only by native-stack. It prevents non native-stack navigators from sending transition progress from their Screen components.
124
122
  */
125
123
  isNativeStack?: boolean;
124
+ /**
125
+ * Internal boolean used to detect if current header has large title on iOS.
126
+ */
127
+ hasLargeHeader?: boolean;
126
128
  /**
127
129
  * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.
128
130
  * When `enableFreeze()` is run at the top of the application defaults to `true`.
@@ -136,6 +138,16 @@ export interface ScreenProps extends ViewProps {
136
138
  * @platform ios
137
139
  */
138
140
  fullScreenSwipeEnabled?: boolean;
141
+ /**
142
+ * Whether the full screen dismiss gesture has shadow under view during transition.
143
+ * When enabled, a custom shadow view is added during the transition which tries to mimic the
144
+ * default iOS shadow. Defaults to `true`.
145
+ *
146
+ * This does not affect the behavior of transitions that don't use gestures, enabled by `fullScreenGestureEnabled` prop.
147
+ *
148
+ * @platform ios
149
+ */
150
+ fullScreenSwipeShadowEnabled?: boolean;
139
151
  /**
140
152
  * Whether you can use gestures to dismiss this screen. Defaults to `true`.
141
153
  *
@@ -174,6 +186,12 @@ export interface ScreenProps extends ViewProps {
174
186
  * @platform android
175
187
  */
176
188
  navigationBarColor?: ColorValue;
189
+ /**
190
+ * Boolean indicating whether the content should be visible behind the navigation bar. Defaults to `false`.
191
+ *
192
+ * @platform android
193
+ */
194
+ navigationBarTranslucent?: boolean;
177
195
  /**
178
196
  * Sets the visibility of the navigation bar. Defaults to `false`.
179
197
  *
@@ -198,7 +216,7 @@ export interface ScreenProps extends ViewProps {
198
216
  * A callback that gets called when the header height has changed.
199
217
  */
200
218
  onHeaderHeightChange?: (
201
- e: NativeSyntheticEvent<HeaderHeightChangeEventType>
219
+ e: NativeSyntheticEvent<HeaderHeightChangeEventType>,
202
220
  ) => void;
203
221
  /**
204
222
  * A callback that gets called after swipe back is canceled.
@@ -216,13 +234,19 @@ export interface ScreenProps extends ViewProps {
216
234
  * @platform ios
217
235
  */
218
236
  onNativeDismissCancelled?: (
219
- e: NativeSyntheticEvent<{ dismissCount: number }>
237
+ e: NativeSyntheticEvent<{ dismissCount: number }>,
238
+ ) => void;
239
+ /**
240
+ * A callback that gets called when the current screen is in `formSheet` presentation and its detent has changed.
241
+ */
242
+ onSheetDetentChanged?: (
243
+ e: NativeSyntheticEvent<{ index: number; isStable: boolean }>,
220
244
  ) => void;
221
245
  /**
222
246
  * An internal callback called every frame during the transition of screens of `native-stack`, used to feed transition context.
223
247
  */
224
248
  onTransitionProgress?: (
225
- e: NativeSyntheticEvent<TransitionProgressEventType>
249
+ e: NativeSyntheticEvent<TransitionProgressEventType>,
226
250
  ) => void;
227
251
  /**
228
252
  * A callback that gets called when the current screen will appear. This is called as soon as the transition begins.
@@ -262,18 +286,41 @@ export interface ScreenProps extends ViewProps {
262
286
  screenOrientation?: ScreenOrientationTypes;
263
287
  /**
264
288
  * Describes heights where a sheet can rest.
265
- * Works only when `stackPresentation` is set to `formSheet`.
266
- * Defaults to `large`.
289
+ * Works only when `presentation` is set to `formSheet`.
267
290
  *
268
- * Available values:
291
+ * Heights should be described as fraction (a number from `[0, 1]` interval) of screen height / maximum detent height.
292
+ * You can pass an array of ascending values each defining allowed sheet detent. iOS accepts any number of detents,
293
+ * while **Android is limited to three**.
269
294
  *
270
- * - `large` - only large detent level will be allowed
271
- * - `medium` - only medium detent level will be allowed
272
- * - `all` - all detent levels will be allowed
295
+ * There is also possibility to specify `fitToContents` literal, which intents to set the sheet height
296
+ * to the height of its contents.
273
297
  *
274
- * @platform ios
298
+ * Please note that the array **must** be sorted in ascending order. This invariant is verified only in developement mode,
299
+ * where violation results in error.
300
+ *
301
+ * **Android is limited to up 3 values in the array** -- any surplus values, beside first three are ignored.
302
+ *
303
+ * There are also legacy & **deprecated** options available:
304
+ *
305
+ * * 'medium' - corresponds to `[0.5]` detent value, around half of the screen height,
306
+ * * 'large' - corresponds to `[1.0]` detent value, maximum height,
307
+ * * 'all' - corresponds to `[0.5, 1.0]` value, the name is deceiving due to compatibility reasons.
308
+ *
309
+ * These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
310
+ *
311
+ * Defaults to `[1.0]`.
275
312
  */
276
- sheetAllowedDetents?: SheetDetentTypes;
313
+ sheetAllowedDetents?: number[] | 'fitToContents' | 'medium' | 'large' | 'all';
314
+ /**
315
+ * Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.
316
+ *
317
+ * Not dynamic - changing it after the component is rendered won't have an effect.
318
+ *
319
+ * Defaults to `24`.
320
+ *
321
+ * @platform Android
322
+ */
323
+ sheetElevation?: number;
277
324
  /**
278
325
  * Whether the sheet should expand to larger detent when scrolling.
279
326
  * Works only when `stackPresentation` is set to `formSheet`.
@@ -305,17 +352,43 @@ export interface ScreenProps extends ViewProps {
305
352
  * The largest sheet detent for which a view underneath won't be dimmed.
306
353
  * Works only when `stackPresentation` is set to `formSheet`.
307
354
  *
308
- * If this prop is set to:
355
+ * This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
356
+ * there won't be a dimming view beneath the sheet.
309
357
  *
310
- * - `large` - the view underneath won't be dimmed at any detent level
311
- * - `medium` - the view underneath will be dimmed only when detent level is `large`
312
- * - `all` - the view underneath will be dimmed for any detent level
358
+ * If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment mode error will be thrown,
359
+ * in production the value will be reset to default value.
313
360
  *
314
- * Defaults to `all`.
361
+ * Additionaly there are following options available:
315
362
  *
316
- * @platform ios
363
+ * * `none` - there will be dimming view for all detents levels,
364
+ * * `last` - there won't be a dimming view for any detent level.
365
+ *
366
+ * There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
367
+ * corresponding legacy prop values for `sheetAllowedDetents` prop.
368
+ *
369
+ * These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
370
+ *
371
+ * Defaults to `none`, indicating that the dimming view should be always present.
317
372
  */
318
- sheetLargestUndimmedDetent?: SheetDetentTypes;
373
+ sheetLargestUndimmedDetentIndex?:
374
+ | number
375
+ | 'none'
376
+ | 'last'
377
+ | 'medium' // deprecated
378
+ | 'large' // deprecated
379
+ | 'all'; // deprecated
380
+ /**
381
+ * Index of the detent the sheet should expand to after being opened.
382
+ * Works only when `stackPresentation` is set to `formSheet`.
383
+ *
384
+ * If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment more error will be thrown,
385
+ * in production the value will be reset to default value.
386
+ *
387
+ * Additionaly there is `last` value available, when set the sheet will expand initially to last (largest) detent.
388
+ *
389
+ * Defaults to `0` - which represents first detent in the detents array.
390
+ */
391
+ sheetInitialDetentIndex?: number | 'last';
319
392
  /**
320
393
  * How the screen should appear/disappear when pushed or popped at the top of the stack.
321
394
  * The following values are currently supported:
@@ -323,10 +396,12 @@ export interface ScreenProps extends ViewProps {
323
396
  * - "fade" – fades screen in or out
324
397
  * - "fade_from_bottom" – performs a fade from bottom animation
325
398
  * - "flip" – flips the screen, requires stackPresentation: "modal" (iOS only)
326
- * - "simple_push" – performs a default animation, but without shadow and native header transition (iOS only)
399
+ * - "simple_push" – performs a default animation, but without native header transition (iOS only)
327
400
  * - `slide_from_bottom` – performs a slide from bottom animation
328
401
  * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
329
- * - "slide_from_left" - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
402
+ * - "slide_from_left" - slide in the new screen from left to right
403
+ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
404
+ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
330
405
  * - "none" – the screen appears/dissapears without an animation
331
406
  */
332
407
  stackAnimation?: StackAnimationTypes;
@@ -377,12 +452,25 @@ export interface ScreenProps extends ViewProps {
377
452
  */
378
453
  swipeDirection?: SwipeDirectionTypes;
379
454
  /**
380
- * Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `350`.
455
+ * Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `500`.
381
456
  * The duration of `default` and `flip` transitions isn't customizable.
382
457
  *
383
458
  * @platform ios
384
459
  */
385
460
  transitionDuration?: number;
461
+ /**
462
+ * Footer component that can be used alongside formSheet stack presentation style.
463
+ *
464
+ * This option is provided, because due to implementation details it might be problematic
465
+ * to implement such layout with JS-only code.
466
+ *
467
+ * Please note that this prop is marked as unstable and might be subject of breaking changes,
468
+ * including removal, in particular when we find solution that will make implementing it with JS
469
+ * straightforward.
470
+ *
471
+ * @platform android
472
+ */
473
+ unstable_sheetFooter?: () => React.ReactNode;
386
474
  }
387
475
 
388
476
  export interface ScreenContainerProps extends ViewProps {
@@ -397,12 +485,19 @@ export interface ScreenContainerProps extends ViewProps {
397
485
  hasTwoStates?: boolean;
398
486
  }
399
487
 
400
- export interface ScreenStackProps extends ViewProps {
488
+ export interface GestureDetectorBridge {
489
+ stackUseEffectCallback: (
490
+ stackRef: React.MutableRefObject<React.Ref<NativeStackNavigatorProps>>,
491
+ ) => void;
492
+ }
493
+
494
+ export interface ScreenStackProps extends ViewProps, GestureProps {
401
495
  children?: React.ReactNode;
402
496
  /**
403
497
  * A callback that gets called when the current screen finishes its transition.
404
498
  */
405
499
  onFinishTransitioning?: (e: NativeSyntheticEvent<TargetedEvent>) => void;
500
+ ref?: React.MutableRefObject<React.Ref<View>>;
406
501
  }
407
502
 
408
503
  export interface ScreenStackHeaderConfigProps extends ViewProps {
@@ -456,6 +551,15 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
456
551
  * @platform ios
457
552
  */
458
553
  disableBackButtonMenu?: boolean;
554
+ /**
555
+ * How the back button behaves by default (when not customized). Available on iOS>=14, and is used only when none of: `backTitleFontFamily`, `backTitleFontSize`, `disableBackButtonMenu` or `backTitle` is set.
556
+ * The following values are currently supported (they correspond to https://developer.apple.com/documentation/uikit/uinavigationitembackbuttondisplaymode?language=objc):
557
+ * - "default" – show given back button previous controller title, system generic or just icon based on available space
558
+ * - "generic" – show given system generic or just icon based on available space
559
+ * - "minimal" – show just an icon
560
+ * @platform ios
561
+ */
562
+ backButtonDisplayMode?: BackButtonDisplayMode;
459
563
  /**
460
564
  * When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
461
565
  */
@@ -558,6 +662,7 @@ export interface SearchBarProps {
558
662
  * * `blur` - removes focus from the search bar
559
663
  * * `clearText` - removes any text present in the search bar input field
560
664
  * * `setText` - sets the search bar's content to given value
665
+ * * `cancelSearch` - cancel search in search bar.
561
666
  * * `toggleCancelButton` - depending on passed boolean value, hides or shows cancel button (iOS only)
562
667
  */
563
668
  ref?: React.RefObject<SearchBarCommands>;
@@ -653,7 +758,7 @@ export interface SearchBarProps {
653
758
  * A callback that gets called when the search button is pressed. It receives the current text value of the search bar.
654
759
  */
655
760
  onSearchButtonPress?: (
656
- e: NativeSyntheticEvent<TextInputFocusEventData>
761
+ e: NativeSyntheticEvent<TextInputFocusEventData>,
657
762
  ) => void;
658
763
  /**
659
764
  * Text displayed when search field is empty
@@ -697,3 +802,68 @@ export interface SearchBarProps {
697
802
  */
698
803
  shouldShowHintSearchIcon?: boolean;
699
804
  }
805
+
806
+ /**
807
+ * Custom Screen Transition
808
+ */
809
+
810
+ /**
811
+ * copy from GestureHandler to avoid strong dependency
812
+ */
813
+ export type PanGestureHandlerEventPayload = {
814
+ x: number;
815
+ y: number;
816
+ absoluteX: number;
817
+ absoluteY: number;
818
+ translationX: number;
819
+ translationY: number;
820
+ velocityX: number;
821
+ velocityY: number;
822
+ };
823
+
824
+ /**
825
+ * copy from Reanimated to avoid strong dependency
826
+ */
827
+ export type GoBackGesture =
828
+ | 'swipeRight'
829
+ | 'swipeLeft'
830
+ | 'swipeUp'
831
+ | 'swipeDown'
832
+ | 'verticalSwipe'
833
+ | 'horizontalSwipe'
834
+ | 'twoDimensionalSwipe';
835
+
836
+ export interface MeasuredDimensions {
837
+ x: number;
838
+ y: number;
839
+ width: number;
840
+ height: number;
841
+ pageX: number;
842
+ pageY: number;
843
+ }
844
+
845
+ export type AnimatedScreenTransition = {
846
+ topScreenStyle: (
847
+ event: PanGestureHandlerEventPayload,
848
+ screenSize: MeasuredDimensions,
849
+ ) => Record<string, unknown>;
850
+ belowTopScreenStyle: (
851
+ event: PanGestureHandlerEventPayload,
852
+ screenSize: MeasuredDimensions,
853
+ ) => Record<string, unknown>;
854
+ };
855
+
856
+ export type ScreensRefsHolder = Record<string, React.RefObject<View>>;
857
+
858
+ export interface GestureProps {
859
+ screensRefs?: React.MutableRefObject<ScreensRefsHolder>;
860
+ currentScreenId?: string;
861
+ goBackGesture?: GoBackGesture;
862
+ transitionAnimation?: AnimatedScreenTransition;
863
+ screenEdgeGesture?: boolean;
864
+ }
865
+
866
+ export interface GestureProviderProps extends GestureProps {
867
+ children?: React.ReactNode;
868
+ gestureDetectorBridge: React.MutableRefObject<GestureDetectorBridge>;
869
+ }
@@ -7,7 +7,7 @@ export default function useTransitionProgress() {
7
7
 
8
8
  if (progress === undefined) {
9
9
  throw new Error(
10
- "Couldn't find values for transition progress. Are you inside a screen in Native Stack?"
10
+ "Couldn't find values for transition progress. Are you inside a screen in Native Stack?",
11
11
  );
12
12
  }
13
13
 
package/src/utils.ts CHANGED
@@ -11,8 +11,30 @@ export function executeNativeBackPress() {
11
11
  return true;
12
12
  }
13
13
 
14
- // Because of a bug introduced in https://github.com/software-mansion/react-native-screens/pull/1646
15
- // react-native-screens v3.21 changed how header's backTitle handles whitespace strings in https://github.com/software-mansion/react-native-screens/pull/1726
16
- // To allow for backwards compatibility in @react-navigation/native-stack we need a way to check if this version or newer is used.
17
- // See https://github.com/react-navigation/react-navigation/pull/11423 for more context.
18
- export const isNewBackTitleImplementation = true;
14
+ /**
15
+ * Exposes information useful for downstream navigation library implementers,
16
+ * so they can keep reasonable backward compatibility, if desired.
17
+ *
18
+ * We don't mean for this object to only grow in number of fields, however at the same time
19
+ * we won't be very hasty to reduce it. Expect gradual changes.
20
+ */
21
+ export const compatibilityFlags = {
22
+ /**
23
+ * Because of a bug introduced in https://github.com/software-mansion/react-native-screens/pull/1646
24
+ * react-native-screens v3.21 changed how header's backTitle handles whitespace strings in https://github.com/software-mansion/react-native-screens/pull/1726
25
+ * To allow for backwards compatibility in @react-navigation/native-stack we need a way to check if this version or newer is used.
26
+ * See https://github.com/react-navigation/react-navigation/pull/11423 for more context.
27
+ */
28
+ isNewBackTitleImplementation: true,
29
+
30
+ /**
31
+ * With version 4.0.0 the header implementation has been changed. To allow for backward compat
32
+ * with native-stack@v6 we want to expose a way to check whether the new implementation
33
+ * is in use or not.
34
+ *
35
+ * See:
36
+ * * https://github.com/software-mansion/react-native-screens/pull/2325
37
+ * * https://github.com/react-navigation/react-navigation/pull/12125
38
+ */
39
+ usesHeaderFlexboxImplementation: true,
40
+ };
package/windows/README.md CHANGED
@@ -1,12 +1,15 @@
1
1
  # react-native-screens Windows Implementation
2
2
 
3
3
  ## Module Installation
4
+
4
5
  You can either use autolinking on react-native-windows 0.63 and later or manually link the module on earlier releases.
5
6
 
6
7
  ## Automatic install with autolinking on RNW >= 0.63
8
+
7
9
  RNScreens supports autolinking. Just call: `npm i react-native-screens --save`
8
10
 
9
11
  ## Manual installation on RNW >= 0.62
12
+
10
13
  1. `npm install react-native-screens --save`
11
14
  2. Open your solution in Visual Studio 2019 (eg. `windows\yourapp.sln`)
12
15
  3. Right-click Solution icon in Solution Explorer > Add > Existing Project...
@@ -22,4 +25,4 @@ If you want to contribute to this module Windows implementation, first you must
22
25
 
23
26
  You must temporarily install the `react-native-windows` package. Versions of `react-native-windows` and `react-native` must match, e.g. if the module uses `react-native@0.62`, install `npm i react-native-windows@^0.62 --dev`.
24
27
 
25
- Now, you will be able to open corresponding `RNScreens...sln` file, e.g. `RNScreens62.sln` for `react-native-windows@0.62`.
28
+ Now, you will be able to open corresponding `RNScreens...sln` file, e.g. `RNScreens62.sln` for `react-native-windows@0.62`.
@@ -10,7 +10,9 @@ enum class StackAnimation {
10
10
  FADE,
11
11
  SIMPLE_FROM_BOTTOM,
12
12
  SLIDE_FROM_RIGHT,
13
- SLIDE_FROM_LEFT
13
+ SLIDE_FROM_LEFT,
14
+ IOS_FROM_RIGHT,
15
+ IOS_FROM_LEFT
14
16
  };
15
17
 
16
18
  enum class ReplaceAnimation { PUSH, POP };