@amazon-devices/react-native-screens 2.0.1758683737

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 (381) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +223 -0
  3. package/RNScreens.podspec +53 -0
  4. package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.bundle +33668 -0
  5. package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.map +1 -0
  6. package/SystemModules/amzn__react-native-screens.modules.txt +101 -0
  7. package/SystemModules/amzn__react-native-screens.private.modules.txt +244 -0
  8. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  9. package/THIRD_PARTY_NOTICES.txt +707 -0
  10. package/android/build.gradle +133 -0
  11. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +49 -0
  12. package/android/src/main/AndroidManifest.xml +5 -0
  13. package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +77 -0
  14. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +7 -0
  15. package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +29 -0
  16. package/android/src/main/java/com/swmansion/rnscreens/FragmentHolder.kt +7 -0
  17. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +21 -0
  18. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +289 -0
  19. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +372 -0
  20. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +40 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +21 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +331 -0
  23. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +22 -0
  24. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +336 -0
  25. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +282 -0
  26. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +15 -0
  27. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +398 -0
  28. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +204 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +38 -0
  30. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +41 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +75 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +186 -0
  33. package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +296 -0
  34. package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +19 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +133 -0
  36. package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +178 -0
  37. package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +67 -0
  38. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +22 -0
  39. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +22 -0
  40. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +22 -0
  41. package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +26 -0
  42. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +18 -0
  43. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +18 -0
  44. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +20 -0
  45. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +32 -0
  46. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +18 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +18 -0
  48. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +22 -0
  49. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +28 -0
  50. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +22 -0
  51. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +22 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +22 -0
  53. package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +24 -0
  54. package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +18 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +12 -0
  56. package/android/src/main/jni/CMakeLists.txt +72 -0
  57. package/android/src/main/jni/rnscreens.cpp +16 -0
  58. package/android/src/main/jni/rnscreens.h +28 -0
  59. package/android/src/main/res/base/anim/rns_default_enter_in.xml +18 -0
  60. package/android/src/main/res/base/anim/rns_default_enter_out.xml +19 -0
  61. package/android/src/main/res/base/anim/rns_default_exit_in.xml +17 -0
  62. package/android/src/main/res/base/anim/rns_default_exit_out.xml +18 -0
  63. package/android/src/main/res/base/anim/rns_fade_from_bottom.xml +14 -0
  64. package/android/src/main/res/base/anim/rns_fade_in.xml +7 -0
  65. package/android/src/main/res/base/anim/rns_fade_out.xml +7 -0
  66. package/android/src/main/res/base/anim/rns_fade_to_bottom.xml +15 -0
  67. package/android/src/main/res/base/anim/rns_no_animation_20.xml +6 -0
  68. package/android/src/main/res/base/anim/rns_no_animation_250.xml +7 -0
  69. package/android/src/main/res/base/anim/rns_no_animation_350.xml +6 -0
  70. package/android/src/main/res/base/anim/rns_no_animation_medium.xml +7 -0
  71. package/android/src/main/res/base/anim/rns_slide_in_from_bottom.xml +7 -0
  72. package/android/src/main/res/base/anim/rns_slide_in_from_left.xml +5 -0
  73. package/android/src/main/res/base/anim/rns_slide_in_from_right.xml +5 -0
  74. package/android/src/main/res/base/anim/rns_slide_out_to_bottom.xml +7 -0
  75. package/android/src/main/res/base/anim/rns_slide_out_to_left.xml +5 -0
  76. package/android/src/main/res/base/anim/rns_slide_out_to_right.xml +5 -0
  77. package/android/src/main/res/base/anim/rns_standard_accelerate_interpolator.xml +6 -0
  78. package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +38 -0
  79. package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +38 -0
  80. package/android/src/main/res/v33/anim-v33/rns_default_exit_in.xml +38 -0
  81. package/android/src/main/res/v33/anim-v33/rns_default_exit_out.xml +38 -0
  82. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +111 -0
  83. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +44 -0
  84. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +107 -0
  85. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +42 -0
  86. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +31 -0
  87. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +17 -0
  88. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +25 -0
  89. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +16 -0
  90. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +10 -0
  91. package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +41 -0
  92. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +9 -0
  93. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +30 -0
  94. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +14 -0
  95. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +45 -0
  96. package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.h +11 -0
  97. package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.mm +14 -0
  98. package/ios/RNSConvert.h +36 -0
  99. package/ios/RNSConvert.mm +154 -0
  100. package/ios/RNSEnums.h +71 -0
  101. package/ios/RNSFullWindowOverlay.h +34 -0
  102. package/ios/RNSFullWindowOverlay.mm +241 -0
  103. package/ios/RNSScreen.h +144 -0
  104. package/ios/RNSScreen.mm +1599 -0
  105. package/ios/RNSScreenContainer.h +45 -0
  106. package/ios/RNSScreenContainer.mm +343 -0
  107. package/ios/RNSScreenNavigationContainer.h +16 -0
  108. package/ios/RNSScreenNavigationContainer.mm +66 -0
  109. package/ios/RNSScreenStack.h +37 -0
  110. package/ios/RNSScreenStack.mm +1111 -0
  111. package/ios/RNSScreenStackAnimator.h +8 -0
  112. package/ios/RNSScreenStackAnimator.mm +320 -0
  113. package/ios/RNSScreenStackHeaderConfig.h +74 -0
  114. package/ios/RNSScreenStackHeaderConfig.mm +967 -0
  115. package/ios/RNSScreenStackHeaderSubview.h +44 -0
  116. package/ios/RNSScreenStackHeaderSubview.mm +147 -0
  117. package/ios/RNSScreenWindowTraits.h +26 -0
  118. package/ios/RNSScreenWindowTraits.mm +266 -0
  119. package/ios/RNSSearchBar.h +43 -0
  120. package/ios/RNSSearchBar.mm +465 -0
  121. package/ios/RNScreens.xcodeproj/project.pbxproj +461 -0
  122. package/ios/UIViewController+RNScreens.h +9 -0
  123. package/ios/UIViewController+RNScreens.mm +78 -0
  124. package/ios/UIWindow+RNScreens.h +9 -0
  125. package/ios/UIWindow+RNScreens.mm +17 -0
  126. package/ios/events/RNSHeaderHeightChangeEvent.h +8 -0
  127. package/ios/events/RNSHeaderHeightChangeEvent.mm +44 -0
  128. package/ios/events/RNSScreenViewEvent.h +12 -0
  129. package/ios/events/RNSScreenViewEvent.mm +59 -0
  130. package/ios/utils/RNSUIBarButtonItem.h +5 -0
  131. package/ios/utils/RNSUIBarButtonItem.mm +22 -0
  132. package/kepler-compatibility.json +8 -0
  133. package/kepler-transformed-package-info.json +3 -0
  134. package/lib/commonjs/TransitionProgressContext.js +11 -0
  135. package/lib/commonjs/TransitionProgressContext.js.map +1 -0
  136. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +11 -0
  137. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
  138. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +33 -0
  139. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -0
  140. package/lib/commonjs/fabric/ScreenNativeComponent.js +70 -0
  141. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -0
  142. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +11 -0
  143. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
  144. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +31 -0
  145. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -0
  146. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +12 -0
  147. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -0
  148. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +35 -0
  149. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -0
  150. package/lib/commonjs/fabric/SearchBarNativeComponent.js +19 -0
  151. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -0
  152. package/lib/commonjs/index.js +147 -0
  153. package/lib/commonjs/index.js.map +1 -0
  154. package/lib/commonjs/index.native.js +407 -0
  155. package/lib/commonjs/index.native.js.map +1 -0
  156. package/lib/commonjs/native-stack/index.js +49 -0
  157. package/lib/commonjs/native-stack/index.js.map +1 -0
  158. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +75 -0
  159. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
  160. package/lib/commonjs/native-stack/types.js +6 -0
  161. package/lib/commonjs/native-stack/types.js.map +1 -0
  162. package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js +12 -0
  163. package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -0
  164. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js +12 -0
  165. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -0
  166. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js +75 -0
  167. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -0
  168. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js +35 -0
  169. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -0
  170. package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js +19 -0
  171. package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
  172. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +54 -0
  173. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -0
  174. package/lib/commonjs/native-stack/utils/useHeaderHeight.js +19 -0
  175. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -0
  176. package/lib/commonjs/native-stack/views/FontProcessor.js +21 -0
  177. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -0
  178. package/lib/commonjs/native-stack/views/HeaderConfig.js +141 -0
  179. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -0
  180. package/lib/commonjs/native-stack/views/NativeStackView.js +354 -0
  181. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -0
  182. package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js +12 -0
  183. package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -0
  184. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +101 -0
  185. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -0
  186. package/lib/commonjs/reanimated/ReanimatedScreen.js +22 -0
  187. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -0
  188. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +47 -0
  189. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -0
  190. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +12 -0
  191. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -0
  192. package/lib/commonjs/reanimated/index.js +28 -0
  193. package/lib/commonjs/reanimated/index.js.map +1 -0
  194. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +19 -0
  195. package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -0
  196. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js +19 -0
  197. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -0
  198. package/lib/commonjs/types.js +6 -0
  199. package/lib/commonjs/types.js.map +1 -0
  200. package/lib/commonjs/useTransitionProgress.js +19 -0
  201. package/lib/commonjs/useTransitionProgress.js.map +1 -0
  202. package/lib/commonjs/utils.js +21 -0
  203. package/lib/commonjs/utils.js.map +1 -0
  204. package/lib/module/TransitionProgressContext.js +3 -0
  205. package/lib/module/TransitionProgressContext.js.map +1 -0
  206. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +4 -0
  207. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
  208. package/lib/module/fabric/ScreenContainerNativeComponent.js +25 -0
  209. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -0
  210. package/lib/module/fabric/ScreenNativeComponent.js +63 -0
  211. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -0
  212. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +4 -0
  213. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
  214. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +23 -0
  215. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -0
  216. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +7 -0
  217. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -0
  218. package/lib/module/fabric/ScreenStackNativeComponent.js +28 -0
  219. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -0
  220. package/lib/module/fabric/SearchBarNativeComponent.js +10 -0
  221. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -0
  222. package/lib/module/index.js +67 -0
  223. package/lib/module/index.js.map +1 -0
  224. package/lib/module/index.native.js +410 -0
  225. package/lib/module/index.native.js.map +1 -0
  226. package/lib/module/native-stack/index.js +22 -0
  227. package/lib/module/native-stack/index.js.map +1 -0
  228. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +72 -0
  229. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
  230. package/lib/module/native-stack/types.js +2 -0
  231. package/lib/module/native-stack/types.js.map +1 -0
  232. package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js +4 -0
  233. package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -0
  234. package/lib/module/native-stack/utils/HeaderHeightContext.js +4 -0
  235. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -0
  236. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js +68 -0
  237. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -0
  238. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js +29 -0
  239. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -0
  240. package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js +10 -0
  241. package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
  242. package/lib/module/native-stack/utils/useBackPressSubscription.js +47 -0
  243. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -0
  244. package/lib/module/native-stack/utils/useHeaderHeight.js +10 -0
  245. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -0
  246. package/lib/module/native-stack/views/FontProcessor.js +13 -0
  247. package/lib/module/native-stack/views/FontProcessor.js.map +1 -0
  248. package/lib/module/native-stack/views/HeaderConfig.js +132 -0
  249. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -0
  250. package/lib/module/native-stack/views/NativeStackView.js +355 -0
  251. package/lib/module/native-stack/views/NativeStackView.js.map +1 -0
  252. package/lib/module/reanimated/ReanimatedHeaderHeightContext.js +5 -0
  253. package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -0
  254. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +97 -0
  255. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -0
  256. package/lib/module/reanimated/ReanimatedScreen.js +17 -0
  257. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -0
  258. package/lib/module/reanimated/ReanimatedScreenProvider.js +40 -0
  259. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -0
  260. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js +5 -0
  261. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -0
  262. package/lib/module/reanimated/index.js +4 -0
  263. package/lib/module/reanimated/index.js.map +1 -0
  264. package/lib/module/reanimated/useReanimatedHeaderHeight.js +10 -0
  265. package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -0
  266. package/lib/module/reanimated/useReanimatedTransitionProgress.js +10 -0
  267. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -0
  268. package/lib/module/types.js +2 -0
  269. package/lib/module/types.js.map +1 -0
  270. package/lib/module/useTransitionProgress.js +10 -0
  271. package/lib/module/useTransitionProgress.js.map +1 -0
  272. package/lib/module/utils.js +14 -0
  273. package/lib/module/utils.js.map +1 -0
  274. package/lib/typescript/TransitionProgressContext.d.ts +9 -0
  275. package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +7 -0
  276. package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +5 -0
  277. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +66 -0
  278. package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +7 -0
  279. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +33 -0
  280. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +10 -0
  281. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +8 -0
  282. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +49 -0
  283. package/lib/typescript/index.d.ts +33 -0
  284. package/lib/typescript/index.native.d.ts +2 -0
  285. package/lib/typescript/native-stack/index.d.ts +19 -0
  286. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +6 -0
  287. package/lib/typescript/native-stack/types.d.ts +438 -0
  288. package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +4 -0
  289. package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +3 -0
  290. package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +11 -0
  291. package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +7 -0
  292. package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +1 -0
  293. package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +16 -0
  294. package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
  295. package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
  296. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +8 -0
  297. package/lib/typescript/native-stack/views/NativeStackView.d.ts +10 -0
  298. package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +4 -0
  299. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +5 -0
  300. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +5 -0
  301. package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +2 -0
  302. package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +9 -0
  303. package/lib/typescript/reanimated/index.d.ts +3 -0
  304. package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +3 -0
  305. package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +11 -0
  306. package/lib/typescript/types.d.ts +612 -0
  307. package/lib/typescript/useTransitionProgress.d.ts +5 -0
  308. package/lib/typescript/utils.d.ts +3 -0
  309. package/native-stack/README.md +814 -0
  310. package/native-stack/package.json +6 -0
  311. package/package.json +1 -0
  312. package/react-native.config.js +42 -0
  313. package/reanimated/package.json +6 -0
  314. package/src/TransitionProgressContext.tsx +12 -0
  315. package/src/fabric/FullWindowOverlayNativeComponent.ts +7 -0
  316. package/src/fabric/ScreenContainerNativeComponent.ts +28 -0
  317. package/src/fabric/ScreenNativeComponent.ts +158 -0
  318. package/src/fabric/ScreenNavigationContainerNativeComponent.ts +10 -0
  319. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +61 -0
  320. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +22 -0
  321. package/src/fabric/ScreenStackNativeComponent.ts +33 -0
  322. package/src/fabric/SearchBarNativeComponent.ts +79 -0
  323. package/src/index.native.tsx +599 -0
  324. package/src/index.tsx +119 -0
  325. package/src/native-stack/index.tsx +27 -0
  326. package/src/native-stack/navigators/createNativeStackNavigator.tsx +107 -0
  327. package/src/native-stack/types.tsx +486 -0
  328. package/src/native-stack/utils/AnimatedHeaderHeightContext.tsx +8 -0
  329. package/src/native-stack/utils/HeaderHeightContext.tsx +5 -0
  330. package/src/native-stack/utils/SafeAreaProviderCompat.tsx +78 -0
  331. package/src/native-stack/utils/getDefaultHeaderHeight.tsx +41 -0
  332. package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +15 -0
  333. package/src/native-stack/utils/useBackPressSubscription.tsx +66 -0
  334. package/src/native-stack/utils/useHeaderHeight.tsx +15 -0
  335. package/src/native-stack/views/FontProcessor.tsx +14 -0
  336. package/src/native-stack/views/HeaderConfig.tsx +187 -0
  337. package/src/native-stack/views/NativeStackView.tsx +466 -0
  338. package/src/reanimated/ReanimatedHeaderHeightContext.tsx +7 -0
  339. package/src/reanimated/ReanimatedNativeStackScreen.tsx +130 -0
  340. package/src/reanimated/ReanimatedScreen.tsx +25 -0
  341. package/src/reanimated/ReanimatedScreenProvider.tsx +42 -0
  342. package/src/reanimated/ReanimatedTransitionProgressContext.tsx +13 -0
  343. package/src/reanimated/index.tsx +3 -0
  344. package/src/reanimated/useReanimatedHeaderHeight.tsx +14 -0
  345. package/src/reanimated/useReanimatedTransitionProgress.tsx +14 -0
  346. package/src/types.tsx +699 -0
  347. package/src/useTransitionProgress.tsx +15 -0
  348. package/src/utils.ts +18 -0
  349. package/windows/README.md +25 -0
  350. package/windows/RNScreens/PropertySheet.props +16 -0
  351. package/windows/RNScreens/RNScreens.cpp +66 -0
  352. package/windows/RNScreens/RNScreens.def +3 -0
  353. package/windows/RNScreens/RNScreens.h +41 -0
  354. package/windows/RNScreens/RNScreens.idl +8 -0
  355. package/windows/RNScreens/RNScreens.vcxproj +187 -0
  356. package/windows/RNScreens/RNScreens.vcxproj.filters +52 -0
  357. package/windows/RNScreens/ReactPackageProvider.cpp +30 -0
  358. package/windows/RNScreens/ReactPackageProvider.h +17 -0
  359. package/windows/RNScreens/ReactPackageProvider.idl +9 -0
  360. package/windows/RNScreens/Screen.cpp +122 -0
  361. package/windows/RNScreens/Screen.h +64 -0
  362. package/windows/RNScreens/ScreenContainer.cpp +49 -0
  363. package/windows/RNScreens/ScreenContainer.h +23 -0
  364. package/windows/RNScreens/ScreenContainerViewManager.cpp +133 -0
  365. package/windows/RNScreens/ScreenContainerViewManager.h +78 -0
  366. package/windows/RNScreens/ScreenStack.cpp +65 -0
  367. package/windows/RNScreens/ScreenStack.h +23 -0
  368. package/windows/RNScreens/ScreenStackHeaderConfig.cpp +19 -0
  369. package/windows/RNScreens/ScreenStackHeaderConfig.h +14 -0
  370. package/windows/RNScreens/ScreenStackHeaderConfigViewManager.cpp +89 -0
  371. package/windows/RNScreens/ScreenStackHeaderConfigViewManager.h +62 -0
  372. package/windows/RNScreens/ScreenStackViewManager.cpp +132 -0
  373. package/windows/RNScreens/ScreenStackViewManager.h +78 -0
  374. package/windows/RNScreens/ScreenViewManager.cpp +154 -0
  375. package/windows/RNScreens/ScreenViewManager.h +78 -0
  376. package/windows/RNScreens/packages.config +4 -0
  377. package/windows/RNScreens/pch.cpp +1 -0
  378. package/windows/RNScreens/pch.h +9 -0
  379. package/windows/RNScreens62.sln +254 -0
  380. package/windows/RNScreens63.sln +225 -0
  381. package/windows/RNScreens65.sln +144 -0
@@ -0,0 +1,41 @@
1
+ #pragma once
2
+
3
+ #include <react/debug/react_native_assert.h>
4
+ #include "RNSScreenShadowNode.h"
5
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
6
+
7
+ namespace facebook {
8
+ namespace react {
9
+
10
+ class RNSScreenComponentDescriptor final
11
+ : public ConcreteComponentDescriptor<RNSScreenShadowNode> {
12
+ public:
13
+ using ConcreteComponentDescriptor::ConcreteComponentDescriptor;
14
+
15
+ void adopt(ShadowNode::Unshared const &shadowNode) const override {
16
+ react_native_assert(
17
+ std::dynamic_pointer_cast<RNSScreenShadowNode>(shadowNode));
18
+ auto screenShadowNode =
19
+ std::static_pointer_cast<RNSScreenShadowNode>(shadowNode);
20
+
21
+ react_native_assert(
22
+ std::dynamic_pointer_cast<YogaLayoutableShadowNode>(screenShadowNode));
23
+ auto layoutableShadowNode =
24
+ std::static_pointer_cast<YogaLayoutableShadowNode>(screenShadowNode);
25
+
26
+ auto state =
27
+ std::static_pointer_cast<const RNSScreenShadowNode::ConcreteState>(
28
+ shadowNode->getState());
29
+ auto stateData = state->getData();
30
+
31
+ if (stateData.frameSize.width != 0 && stateData.frameSize.height != 0) {
32
+ layoutableShadowNode->setSize(
33
+ Size{stateData.frameSize.width, stateData.frameSize.height});
34
+ }
35
+
36
+ ConcreteComponentDescriptor::adopt(shadowNode);
37
+ }
38
+ };
39
+
40
+ } // namespace react
41
+ } // namespace facebook
@@ -0,0 +1,9 @@
1
+ #include "RNSScreenShadowNode.h"
2
+
3
+ namespace facebook {
4
+ namespace react {
5
+
6
+ extern const char RNSScreenComponentName[] = "RNSScreen";
7
+
8
+ } // namespace react
9
+ } // namespace facebook
@@ -0,0 +1,30 @@
1
+ #pragma once
2
+
3
+ #include "RNSScreenState.h"
4
+ #include <react/renderer/components/rnscreens/EventEmitters.h>
5
+ #include <react/renderer/components/rnscreens/Props.h>
6
+ #include <react/renderer/components/view/ConcreteViewShadowNode.h>
7
+ #include <jsi/jsi.h>
8
+
9
+ namespace facebook {
10
+ namespace react {
11
+
12
+ JSI_EXPORT extern const char RNSScreenComponentName[];
13
+
14
+ class JSI_EXPORT RNSScreenShadowNode final : public ConcreteViewShadowNode<
15
+ RNSScreenComponentName,
16
+ RNSScreenProps,
17
+ RNSScreenEventEmitter,
18
+ RNSScreenState> {
19
+ public:
20
+ using ConcreteViewShadowNode::ConcreteViewShadowNode;
21
+
22
+ static ShadowNodeTraits BaseTraits() {
23
+ auto traits = ConcreteViewShadowNode::BaseTraits();
24
+ traits.set(ShadowNodeTraits::Trait::RootNodeKind);
25
+ return traits;
26
+ }
27
+ };
28
+
29
+ } // namespace react
30
+ } // namespace facebook
@@ -0,0 +1,14 @@
1
+ #include "RNSScreenState.h"
2
+
3
+ namespace facebook {
4
+ namespace react {
5
+
6
+ #ifdef ANDROID
7
+ folly::dynamic RNSScreenState::getDynamic() const {
8
+ return folly::dynamic::object("frameWidth", frameSize.width)(
9
+ "frameHeight", frameSize.height);
10
+ }
11
+ #endif
12
+
13
+ } // namespace react
14
+ } // namespace facebook
@@ -0,0 +1,45 @@
1
+ #pragma once
2
+
3
+ #include <react/renderer/graphics/Float.h>
4
+ #include <react/renderer/core/graphicsConversions.h>
5
+
6
+ #ifdef ANDROID
7
+ #include <folly/dynamic.h>
8
+ #include <react/renderer/mapbuffer/MapBuffer.h>
9
+ #include <react/renderer/mapbuffer/MapBufferBuilder.h>
10
+ #endif
11
+
12
+ namespace facebook {
13
+ namespace react {
14
+
15
+ class JSI_EXPORT RNSScreenState final {
16
+ public:
17
+ using Shared = std::shared_ptr<const RNSScreenState>;
18
+
19
+ RNSScreenState(){};
20
+ RNSScreenState(Size frameSize_) : frameSize(frameSize_){};
21
+
22
+ #ifdef ANDROID
23
+ RNSScreenState(
24
+ RNSScreenState const &previousState,
25
+ folly::dynamic data)
26
+ : frameSize(Size{
27
+ (Float)data["frameWidth"].getDouble(),
28
+ (Float)data["frameHeight"].getDouble()}){};
29
+ #endif
30
+
31
+ const Size frameSize{};
32
+
33
+ #ifdef ANDROID
34
+ folly::dynamic getDynamic() const;
35
+ MapBuffer getMapBuffer() const {
36
+ return MapBufferBuilder::EMPTY();
37
+ };
38
+
39
+ #endif
40
+
41
+ #pragma mark - Getters
42
+ };
43
+
44
+ } // namespace react
45
+ } // namespace facebook
@@ -0,0 +1,11 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+
3
+ #include <React/RCTImageComponentView.h>
4
+
5
+ @interface RCTImageComponentView (RNSScreenStackHeaderConfig)
6
+
7
+ - (UIImage *)image;
8
+
9
+ @end
10
+
11
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,14 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+
3
+ #include "RCTImageComponentView+RNSScreenStackHeaderConfig.h"
4
+
5
+ @implementation RCTImageComponentView (RNSScreenStackHeaderConfig)
6
+
7
+ - (UIImage *)image
8
+ {
9
+ return _imageView.image;
10
+ }
11
+
12
+ @end
13
+
14
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,36 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+ #import <react/renderer/components/rnscreens/Props.h>
3
+ #import "RNSEnums.h"
4
+
5
+ namespace react = facebook::react;
6
+
7
+ @interface RNSConvert : NSObject
8
+
9
+ + (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
10
+ (react::RNSScreenStackPresentation)stackPresentation;
11
+
12
+ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation;
13
+
14
+ + (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewTypeFromCppEquivalent:
15
+ (react::RNSScreenStackHeaderSubviewType)subviewType;
16
+
17
+ + (RNSScreenReplaceAnimation)RNSScreenReplaceAnimationFromCppEquivalent:
18
+ (react::RNSScreenReplaceAnimation)replaceAnimation;
19
+
20
+ + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection;
21
+
22
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:(react::RNSScreenSheetAllowedDetents)allowedDetents;
23
+
24
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent;
25
+
26
+ + (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
27
+ (const react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance;
28
+
29
+ + (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
30
+ (react::RNSSearchBarAutoCapitalize)autoCapitalize;
31
+
32
+ + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement;
33
+
34
+ @end
35
+
36
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,154 @@
1
+ #import "RNSConvert.h"
2
+
3
+ #ifdef RCT_NEW_ARCH_ENABLED
4
+ @implementation RNSConvert
5
+
6
+ + (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
7
+ (react::RNSScreenStackPresentation)stackPresentation
8
+ {
9
+ switch (stackPresentation) {
10
+ case react::RNSScreenStackPresentation::Push:
11
+ return RNSScreenStackPresentationPush;
12
+ case react::RNSScreenStackPresentation::Modal:
13
+ return RNSScreenStackPresentationModal;
14
+ case react::RNSScreenStackPresentation::FullScreenModal:
15
+ return RNSScreenStackPresentationFullScreenModal;
16
+ case react::RNSScreenStackPresentation::FormSheet:
17
+ return RNSScreenStackPresentationFormSheet;
18
+ case react::RNSScreenStackPresentation::ContainedModal:
19
+ return RNSScreenStackPresentationContainedModal;
20
+ case react::RNSScreenStackPresentation::TransparentModal:
21
+ return RNSScreenStackPresentationTransparentModal;
22
+ case react::RNSScreenStackPresentation::ContainedTransparentModal:
23
+ return RNSScreenStackPresentationContainedTransparentModal;
24
+ }
25
+ }
26
+
27
+ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation
28
+ {
29
+ switch (stackAnimation) {
30
+ // these three are intentionally grouped
31
+ case react::RNSScreenStackAnimation::Slide_from_right:
32
+ case react::RNSScreenStackAnimation::Slide_from_left:
33
+ case react::RNSScreenStackAnimation::Default:
34
+ return RNSScreenStackAnimationDefault;
35
+ case react::RNSScreenStackAnimation::Flip:
36
+ return RNSScreenStackAnimationFlip;
37
+ case react::RNSScreenStackAnimation::Simple_push:
38
+ return RNSScreenStackAnimationSimplePush;
39
+ case react::RNSScreenStackAnimation::None:
40
+ return RNSScreenStackAnimationNone;
41
+ case react::RNSScreenStackAnimation::Fade:
42
+ return RNSScreenStackAnimationFade;
43
+ case react::RNSScreenStackAnimation::Slide_from_bottom:
44
+ return RNSScreenStackAnimationSlideFromBottom;
45
+ case react::RNSScreenStackAnimation::Fade_from_bottom:
46
+ return RNSScreenStackAnimationFadeFromBottom;
47
+ }
48
+ }
49
+
50
+ + (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewTypeFromCppEquivalent:
51
+ (react::RNSScreenStackHeaderSubviewType)subviewType
52
+ {
53
+ switch (subviewType) {
54
+ case react::RNSScreenStackHeaderSubviewType::Left:
55
+ return RNSScreenStackHeaderSubviewTypeLeft;
56
+ case react::RNSScreenStackHeaderSubviewType::Right:
57
+ return RNSScreenStackHeaderSubviewTypeRight;
58
+ case react::RNSScreenStackHeaderSubviewType::Title:
59
+ return RNSScreenStackHeaderSubviewTypeTitle;
60
+ case react::RNSScreenStackHeaderSubviewType::Center:
61
+ return RNSScreenStackHeaderSubviewTypeCenter;
62
+ case react::RNSScreenStackHeaderSubviewType::SearchBar:
63
+ return RNSScreenStackHeaderSubviewTypeSearchBar;
64
+ case react::RNSScreenStackHeaderSubviewType::Back:
65
+ return RNSScreenStackHeaderSubviewTypeBackButton;
66
+ }
67
+ }
68
+
69
+ + (RNSScreenReplaceAnimation)RNSScreenReplaceAnimationFromCppEquivalent:
70
+ (react::RNSScreenReplaceAnimation)replaceAnimation
71
+ {
72
+ switch (replaceAnimation) {
73
+ case react::RNSScreenReplaceAnimation::Pop:
74
+ return RNSScreenReplaceAnimationPop;
75
+ case react::RNSScreenReplaceAnimation::Push:
76
+ return RNSScreenReplaceAnimationPush;
77
+ }
78
+ }
79
+
80
+ + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection
81
+ {
82
+ switch (swipeDirection) {
83
+ case react::RNSScreenSwipeDirection::Horizontal:
84
+ return RNSScreenSwipeDirectionHorizontal;
85
+ case react::RNSScreenSwipeDirection::Vertical:
86
+ return RNSScreenSwipeDirectionVertical;
87
+ }
88
+ }
89
+
90
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:(react::RNSScreenSheetAllowedDetents)allowedDetents
91
+ {
92
+ switch (allowedDetents) {
93
+ case react::RNSScreenSheetAllowedDetents::All:
94
+ return RNSScreenDetentTypeAll;
95
+ case react::RNSScreenSheetAllowedDetents::Large:
96
+ return RNSScreenDetentTypeLarge;
97
+ case react::RNSScreenSheetAllowedDetents::Medium:
98
+ return RNSScreenDetentTypeMedium;
99
+ }
100
+ }
101
+
102
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent
103
+ {
104
+ switch (detent) {
105
+ case react::RNSScreenSheetLargestUndimmedDetent::All:
106
+ return RNSScreenDetentTypeAll;
107
+ case react::RNSScreenSheetLargestUndimmedDetent::Large:
108
+ return RNSScreenDetentTypeLarge;
109
+ case react::RNSScreenSheetLargestUndimmedDetent::Medium:
110
+ return RNSScreenDetentTypeMedium;
111
+ }
112
+ }
113
+
114
+ + (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
115
+ (const react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance
116
+ {
117
+ return @{
118
+ @"start" : @(gestureResponseDistance.start),
119
+ @"end" : @(gestureResponseDistance.end),
120
+ @"top" : @(gestureResponseDistance.top),
121
+ @"bottom" : @(gestureResponseDistance.bottom),
122
+ };
123
+ }
124
+
125
+ + (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
126
+ (react::RNSSearchBarAutoCapitalize)autoCapitalize
127
+ {
128
+ switch (autoCapitalize) {
129
+ case react::RNSSearchBarAutoCapitalize::Words:
130
+ return UITextAutocapitalizationTypeWords;
131
+ case react::RNSSearchBarAutoCapitalize::Sentences:
132
+ return UITextAutocapitalizationTypeSentences;
133
+ case react::RNSSearchBarAutoCapitalize::Characters:
134
+ return UITextAutocapitalizationTypeAllCharacters;
135
+ case react::RNSSearchBarAutoCapitalize::None:
136
+ return UITextAutocapitalizationTypeNone;
137
+ }
138
+ }
139
+
140
+ + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement
141
+ {
142
+ switch (placement) {
143
+ case react::RNSSearchBarPlacement::Stacked:
144
+ return RNSSearchBarPlacementStacked;
145
+ case react::RNSSearchBarPlacement::Automatic:
146
+ return RNSSearchBarPlacementAutomatic;
147
+ case react::RNSSearchBarPlacement::Inline:
148
+ return RNSSearchBarPlacementInline;
149
+ }
150
+ }
151
+
152
+ @end
153
+
154
+ #endif // RCT_NEW_ARCH_ENABLED
package/ios/RNSEnums.h ADDED
@@ -0,0 +1,71 @@
1
+ typedef NS_ENUM(NSInteger, RNSScreenStackPresentation) {
2
+ RNSScreenStackPresentationPush,
3
+ RNSScreenStackPresentationModal,
4
+ RNSScreenStackPresentationTransparentModal,
5
+ RNSScreenStackPresentationContainedModal,
6
+ RNSScreenStackPresentationContainedTransparentModal,
7
+ RNSScreenStackPresentationFullScreenModal,
8
+ RNSScreenStackPresentationFormSheet
9
+ };
10
+
11
+ typedef NS_ENUM(NSInteger, RNSScreenStackAnimation) {
12
+ RNSScreenStackAnimationDefault,
13
+ RNSScreenStackAnimationNone,
14
+ RNSScreenStackAnimationFade,
15
+ RNSScreenStackAnimationFadeFromBottom,
16
+ RNSScreenStackAnimationFlip,
17
+ RNSScreenStackAnimationSlideFromBottom,
18
+ RNSScreenStackAnimationSimplePush,
19
+ };
20
+
21
+ typedef NS_ENUM(NSInteger, RNSScreenReplaceAnimation) {
22
+ RNSScreenReplaceAnimationPop,
23
+ RNSScreenReplaceAnimationPush,
24
+ };
25
+
26
+ typedef NS_ENUM(NSInteger, RNSScreenSwipeDirection) {
27
+ RNSScreenSwipeDirectionHorizontal,
28
+ RNSScreenSwipeDirectionVertical,
29
+ };
30
+
31
+ typedef NS_ENUM(NSInteger, RNSActivityState) {
32
+ RNSActivityStateInactive = 0,
33
+ RNSActivityStateTransitioningOrBelowTop = 1,
34
+ RNSActivityStateOnTop = 2
35
+ };
36
+
37
+ typedef NS_ENUM(NSInteger, RNSStatusBarStyle) {
38
+ RNSStatusBarStyleAuto,
39
+ RNSStatusBarStyleInverted,
40
+ RNSStatusBarStyleLight,
41
+ RNSStatusBarStyleDark,
42
+ };
43
+
44
+ typedef NS_ENUM(NSInteger, RNSWindowTrait) {
45
+ RNSWindowTraitStyle,
46
+ RNSWindowTraitAnimation,
47
+ RNSWindowTraitHidden,
48
+ RNSWindowTraitOrientation,
49
+ RNSWindowTraitHomeIndicatorHidden,
50
+ };
51
+
52
+ typedef NS_ENUM(NSInteger, RNSScreenStackHeaderSubviewType) {
53
+ RNSScreenStackHeaderSubviewTypeBackButton,
54
+ RNSScreenStackHeaderSubviewTypeLeft,
55
+ RNSScreenStackHeaderSubviewTypeRight,
56
+ RNSScreenStackHeaderSubviewTypeTitle,
57
+ RNSScreenStackHeaderSubviewTypeCenter,
58
+ RNSScreenStackHeaderSubviewTypeSearchBar,
59
+ };
60
+
61
+ typedef NS_ENUM(NSInteger, RNSScreenDetentType) {
62
+ RNSScreenDetentTypeMedium,
63
+ RNSScreenDetentTypeLarge,
64
+ RNSScreenDetentTypeAll,
65
+ };
66
+
67
+ typedef NS_ENUM(NSInteger, RNSSearchBarPlacement) {
68
+ RNSSearchBarPlacementAutomatic,
69
+ RNSSearchBarPlacementInline,
70
+ RNSSearchBarPlacementStacked,
71
+ };
@@ -0,0 +1,34 @@
1
+ #import <React/RCTViewManager.h>
2
+
3
+ #ifdef RCT_NEW_ARCH_ENABLED
4
+ #import <React/RCTViewComponentView.h>
5
+ #else
6
+ #import <React/RCTInvalidating.h>
7
+ #import <React/RCTView.h>
8
+ #endif
9
+
10
+ #ifdef RCT_NEW_ARCH_ENABLED
11
+ namespace react = facebook::react;
12
+ #endif // RCT_NEW_ARCH_ENABLED
13
+
14
+ @interface RNSFullWindowOverlayManager : RCTViewManager
15
+
16
+ @end
17
+
18
+ @interface RNSFullWindowOverlayContainer : UIView
19
+
20
+ @end
21
+
22
+ @interface RNSFullWindowOverlay :
23
+ #ifdef RCT_NEW_ARCH_ENABLED
24
+ RCTViewComponentView
25
+ #else
26
+ RCTView <RCTInvalidating>
27
+ #endif // RCT_NEW_ARCH_ENABLED
28
+
29
+ #ifdef RCT_NEW_ARCH_ENABLED
30
+ @property (nonatomic) react::LayoutMetrics oldLayoutMetrics;
31
+ @property (nonatomic) react::LayoutMetrics newLayoutMetrics;
32
+ #endif // RCT_NEW_ARCH_ENABLED
33
+
34
+ @end