@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,461 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 442389EC22DF259000611BBE /* RNSScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 442389EB22DF259000611BBE /* RNSScreen.m */; };
11
+ 448078F52114595900280661 /* RNSScreenContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 448078F12114595900280661 /* RNSScreenContainer.m */; };
12
+ 4482D5EF22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 4482D5EE22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.m */; };
13
+ 44A67C3122C3B8B40017156F /* RNSScreenStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A67C3022C3B8B40017156F /* RNSScreenStack.m */; };
14
+ B5C32A48220C6379000FFB8D /* RNSScreenContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 448078F12114595900280661 /* RNSScreenContainer.m */; };
15
+ /* End PBXBuildFile section */
16
+
17
+ /* Begin PBXCopyFilesBuildPhase section */
18
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
19
+ isa = PBXCopyFilesBuildPhase;
20
+ buildActionMask = 2147483647;
21
+ dstPath = "include/$(PRODUCT_NAME)";
22
+ dstSubfolderSpec = 16;
23
+ files = (
24
+ );
25
+ runOnlyForDeploymentPostprocessing = 0;
26
+ };
27
+ B5C32A4A220C6379000FFB8D /* CopyFiles */ = {
28
+ isa = PBXCopyFilesBuildPhase;
29
+ buildActionMask = 2147483647;
30
+ dstPath = "include/$(PRODUCT_NAME)";
31
+ dstSubfolderSpec = 16;
32
+ files = (
33
+ );
34
+ runOnlyForDeploymentPostprocessing = 0;
35
+ };
36
+ /* End PBXCopyFilesBuildPhase section */
37
+
38
+ /* Begin PBXFileReference section */
39
+ 134814201AA4EA6300B7C361 /* libRNScreens.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNScreens.a; sourceTree = BUILT_PRODUCTS_DIR; };
40
+ 442389EB22DF259000611BBE /* RNSScreen.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNSScreen.m; sourceTree = "<group>"; };
41
+ 448078EF2114595900280661 /* RNSScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSScreen.h; sourceTree = "<group>"; };
42
+ 448078F02114595900280661 /* RNSScreenContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSScreenContainer.h; sourceTree = "<group>"; };
43
+ 448078F12114595900280661 /* RNSScreenContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNSScreenContainer.m; sourceTree = "<group>"; };
44
+ 4482D5ED22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNSScreenStackHeaderConfig.h; sourceTree = "<group>"; };
45
+ 4482D5EE22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNSScreenStackHeaderConfig.m; sourceTree = "<group>"; };
46
+ 44A67C2F22C3B8B40017156F /* RNSScreenStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSScreenStack.h; sourceTree = "<group>"; };
47
+ 44A67C3022C3B8B40017156F /* RNSScreenStack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNSScreenStack.m; sourceTree = "<group>"; };
48
+ A3AF377826398E26003653D6 /* RNSSearchBar.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNSSearchBar.m; sourceTree = "<group>"; };
49
+ A3AF377926398E27003653D6 /* RNSSearchBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNSSearchBar.h; sourceTree = "<group>"; };
50
+ B5C32A4F220C6379000FFB8D /* libRNScreens-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRNScreens-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
51
+ /* End PBXFileReference section */
52
+
53
+ /* Begin PBXFrameworksBuildPhase section */
54
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
55
+ isa = PBXFrameworksBuildPhase;
56
+ buildActionMask = 2147483647;
57
+ files = (
58
+ );
59
+ runOnlyForDeploymentPostprocessing = 0;
60
+ };
61
+ B5C32A49220C6379000FFB8D /* Frameworks */ = {
62
+ isa = PBXFrameworksBuildPhase;
63
+ buildActionMask = 2147483647;
64
+ files = (
65
+ );
66
+ runOnlyForDeploymentPostprocessing = 0;
67
+ };
68
+ /* End PBXFrameworksBuildPhase section */
69
+
70
+ /* Begin PBXGroup section */
71
+ 134814211AA4EA7D00B7C361 /* Products */ = {
72
+ isa = PBXGroup;
73
+ children = (
74
+ 134814201AA4EA6300B7C361 /* libRNScreens.a */,
75
+ );
76
+ name = Products;
77
+ sourceTree = "<group>";
78
+ };
79
+ 58B511D21A9E6C8500147676 = {
80
+ isa = PBXGroup;
81
+ children = (
82
+ A3AF377926398E27003653D6 /* RNSSearchBar.h */,
83
+ A3AF377826398E26003653D6 /* RNSSearchBar.m */,
84
+ 4482D5ED22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.h */,
85
+ 4482D5EE22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.m */,
86
+ 44A67C2F22C3B8B40017156F /* RNSScreenStack.h */,
87
+ 44A67C3022C3B8B40017156F /* RNSScreenStack.m */,
88
+ 448078EF2114595900280661 /* RNSScreen.h */,
89
+ 442389EB22DF259000611BBE /* RNSScreen.m */,
90
+ 448078F02114595900280661 /* RNSScreenContainer.h */,
91
+ 448078F12114595900280661 /* RNSScreenContainer.m */,
92
+ 134814211AA4EA7D00B7C361 /* Products */,
93
+ B5C32A4F220C6379000FFB8D /* libRNScreens-tvOS.a */,
94
+ );
95
+ sourceTree = "<group>";
96
+ };
97
+ /* End PBXGroup section */
98
+
99
+ /* Begin PBXNativeTarget section */
100
+ 58B511DA1A9E6C8500147676 /* RNScreens */ = {
101
+ isa = PBXNativeTarget;
102
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNScreens" */;
103
+ buildPhases = (
104
+ 58B511D71A9E6C8500147676 /* Sources */,
105
+ 58B511D81A9E6C8500147676 /* Frameworks */,
106
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
107
+ );
108
+ buildRules = (
109
+ );
110
+ dependencies = (
111
+ );
112
+ name = RNScreens;
113
+ productName = RCTDataManager;
114
+ productReference = 134814201AA4EA6300B7C361 /* libRNScreens.a */;
115
+ productType = "com.apple.product-type.library.static";
116
+ };
117
+ B5C32A45220C6379000FFB8D /* RNScreens-tvOS */ = {
118
+ isa = PBXNativeTarget;
119
+ buildConfigurationList = B5C32A4B220C6379000FFB8D /* Build configuration list for PBXNativeTarget "RNScreens-tvOS" */;
120
+ buildPhases = (
121
+ B5C32A46220C6379000FFB8D /* Sources */,
122
+ B5C32A49220C6379000FFB8D /* Frameworks */,
123
+ B5C32A4A220C6379000FFB8D /* CopyFiles */,
124
+ );
125
+ buildRules = (
126
+ );
127
+ dependencies = (
128
+ );
129
+ name = "RNScreens-tvOS";
130
+ productName = RCTDataManager;
131
+ productReference = B5C32A4F220C6379000FFB8D /* libRNScreens-tvOS.a */;
132
+ productType = "com.apple.product-type.library.static";
133
+ };
134
+ /* End PBXNativeTarget section */
135
+
136
+ /* Begin PBXProject section */
137
+ 58B511D31A9E6C8500147676 /* Project object */ = {
138
+ isa = PBXProject;
139
+ attributes = {
140
+ LastUpgradeCheck = 920;
141
+ ORGANIZATIONNAME = Facebook;
142
+ TargetAttributes = {
143
+ 58B511DA1A9E6C8500147676 = {
144
+ CreatedOnToolsVersion = 6.1.1;
145
+ };
146
+ };
147
+ };
148
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNScreens" */;
149
+ compatibilityVersion = "Xcode 3.2";
150
+ developmentRegion = English;
151
+ hasScannedForEncodings = 0;
152
+ knownRegions = (
153
+ English,
154
+ en,
155
+ );
156
+ mainGroup = 58B511D21A9E6C8500147676;
157
+ productRefGroup = 58B511D21A9E6C8500147676;
158
+ projectDirPath = "";
159
+ projectRoot = "";
160
+ targets = (
161
+ 58B511DA1A9E6C8500147676 /* RNScreens */,
162
+ B5C32A45220C6379000FFB8D /* RNScreens-tvOS */,
163
+ );
164
+ };
165
+ /* End PBXProject section */
166
+
167
+ /* Begin PBXSourcesBuildPhase section */
168
+ 58B511D71A9E6C8500147676 /* Sources */ = {
169
+ isa = PBXSourcesBuildPhase;
170
+ buildActionMask = 2147483647;
171
+ files = (
172
+ 442389EC22DF259000611BBE /* RNSScreen.m in Sources */,
173
+ 448078F52114595900280661 /* RNSScreenContainer.m in Sources */,
174
+ 44A67C3122C3B8B40017156F /* RNSScreenStack.m in Sources */,
175
+ 4482D5EF22CB391800D5A5B9 /* RNSScreenStackHeaderConfig.m in Sources */,
176
+ );
177
+ runOnlyForDeploymentPostprocessing = 0;
178
+ };
179
+ B5C32A46220C6379000FFB8D /* Sources */ = {
180
+ isa = PBXSourcesBuildPhase;
181
+ buildActionMask = 2147483647;
182
+ files = (
183
+ B5C32A48220C6379000FFB8D /* RNSScreenContainer.m in Sources */,
184
+ );
185
+ runOnlyForDeploymentPostprocessing = 0;
186
+ };
187
+ /* End PBXSourcesBuildPhase section */
188
+
189
+ /* Begin XCBuildConfiguration section */
190
+ 0CE596A6BAEE45CA860361AD /* Testflight */ = {
191
+ isa = XCBuildConfiguration;
192
+ buildSettings = {
193
+ HEADER_SEARCH_PATHS = (
194
+ "$(inherited)",
195
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
196
+ "$(SRCROOT)/../../../React/**",
197
+ "$(SRCROOT)/../../react-native/React/**",
198
+ );
199
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
200
+ OTHER_LDFLAGS = "-ObjC";
201
+ PRODUCT_NAME = RNScreens;
202
+ SKIP_INSTALL = YES;
203
+ };
204
+ name = Testflight;
205
+ };
206
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
207
+ isa = XCBuildConfiguration;
208
+ buildSettings = {
209
+ ALWAYS_SEARCH_USER_PATHS = NO;
210
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
211
+ CLANG_CXX_LIBRARY = "libc++";
212
+ CLANG_ENABLE_MODULES = YES;
213
+ CLANG_ENABLE_OBJC_ARC = YES;
214
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
215
+ CLANG_WARN_BOOL_CONVERSION = YES;
216
+ CLANG_WARN_COMMA = YES;
217
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
218
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
219
+ CLANG_WARN_EMPTY_BODY = YES;
220
+ CLANG_WARN_ENUM_CONVERSION = YES;
221
+ CLANG_WARN_INFINITE_RECURSION = YES;
222
+ CLANG_WARN_INT_CONVERSION = YES;
223
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
224
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
225
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
226
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
227
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
228
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
229
+ CLANG_WARN_UNREACHABLE_CODE = YES;
230
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
231
+ COPY_PHASE_STRIP = NO;
232
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
233
+ ENABLE_TESTABILITY = YES;
234
+ GCC_C_LANGUAGE_STANDARD = gnu99;
235
+ GCC_DYNAMIC_NO_PIC = NO;
236
+ GCC_NO_COMMON_BLOCKS = YES;
237
+ GCC_OPTIMIZATION_LEVEL = 0;
238
+ GCC_PREPROCESSOR_DEFINITIONS = (
239
+ "DEBUG=1",
240
+ "$(inherited)",
241
+ );
242
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
243
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
244
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
245
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
246
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
247
+ GCC_WARN_UNUSED_FUNCTION = YES;
248
+ GCC_WARN_UNUSED_VARIABLE = YES;
249
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
250
+ MTL_ENABLE_DEBUG_INFO = YES;
251
+ ONLY_ACTIVE_ARCH = YES;
252
+ SDKROOT = iphoneos;
253
+ };
254
+ name = Debug;
255
+ };
256
+ 58B511EE1A9E6C8500147676 /* Release */ = {
257
+ isa = XCBuildConfiguration;
258
+ buildSettings = {
259
+ ALWAYS_SEARCH_USER_PATHS = NO;
260
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
261
+ CLANG_CXX_LIBRARY = "libc++";
262
+ CLANG_ENABLE_MODULES = YES;
263
+ CLANG_ENABLE_OBJC_ARC = YES;
264
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
265
+ CLANG_WARN_BOOL_CONVERSION = YES;
266
+ CLANG_WARN_COMMA = YES;
267
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
268
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
269
+ CLANG_WARN_EMPTY_BODY = YES;
270
+ CLANG_WARN_ENUM_CONVERSION = YES;
271
+ CLANG_WARN_INFINITE_RECURSION = YES;
272
+ CLANG_WARN_INT_CONVERSION = YES;
273
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
274
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
275
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
276
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
277
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
278
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
279
+ CLANG_WARN_UNREACHABLE_CODE = YES;
280
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
281
+ COPY_PHASE_STRIP = YES;
282
+ ENABLE_NS_ASSERTIONS = NO;
283
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
284
+ GCC_C_LANGUAGE_STANDARD = gnu99;
285
+ GCC_NO_COMMON_BLOCKS = YES;
286
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
287
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
288
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
289
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
290
+ GCC_WARN_UNUSED_FUNCTION = YES;
291
+ GCC_WARN_UNUSED_VARIABLE = YES;
292
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
293
+ MTL_ENABLE_DEBUG_INFO = NO;
294
+ SDKROOT = iphoneos;
295
+ VALIDATE_PRODUCT = YES;
296
+ };
297
+ name = Release;
298
+ };
299
+ 58B511F01A9E6C8500147676 /* Debug */ = {
300
+ isa = XCBuildConfiguration;
301
+ buildSettings = {
302
+ HEADER_SEARCH_PATHS = (
303
+ "$(inherited)",
304
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
305
+ "$(SRCROOT)/../../../React/**",
306
+ "$(SRCROOT)/../../react-native/React/**",
307
+ );
308
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
309
+ OTHER_LDFLAGS = "-ObjC";
310
+ PRODUCT_NAME = RNScreens;
311
+ SKIP_INSTALL = YES;
312
+ };
313
+ name = Debug;
314
+ };
315
+ 58B511F11A9E6C8500147676 /* Release */ = {
316
+ isa = XCBuildConfiguration;
317
+ buildSettings = {
318
+ HEADER_SEARCH_PATHS = (
319
+ "$(inherited)",
320
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
321
+ "$(SRCROOT)/../../../React/**",
322
+ "$(SRCROOT)/../../react-native/React/**",
323
+ );
324
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
325
+ OTHER_LDFLAGS = "-ObjC";
326
+ PRODUCT_NAME = RNScreens;
327
+ SKIP_INSTALL = YES;
328
+ };
329
+ name = Release;
330
+ };
331
+ B5C32A4C220C6379000FFB8D /* Debug */ = {
332
+ isa = XCBuildConfiguration;
333
+ buildSettings = {
334
+ HEADER_SEARCH_PATHS = (
335
+ "$(inherited)",
336
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
337
+ "$(SRCROOT)/../../../React/**",
338
+ "$(SRCROOT)/../../react-native/React/**",
339
+ );
340
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
341
+ OTHER_LDFLAGS = "-ObjC";
342
+ PRODUCT_NAME = "$(TARGET_NAME)";
343
+ SDKROOT = appletvos;
344
+ SKIP_INSTALL = YES;
345
+ };
346
+ name = Debug;
347
+ };
348
+ B5C32A4D220C6379000FFB8D /* Release */ = {
349
+ isa = XCBuildConfiguration;
350
+ buildSettings = {
351
+ HEADER_SEARCH_PATHS = (
352
+ "$(inherited)",
353
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
354
+ "$(SRCROOT)/../../../React/**",
355
+ "$(SRCROOT)/../../react-native/React/**",
356
+ );
357
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
358
+ OTHER_LDFLAGS = "-ObjC";
359
+ PRODUCT_NAME = "$(TARGET_NAME)";
360
+ SDKROOT = appletvos;
361
+ SKIP_INSTALL = YES;
362
+ };
363
+ name = Release;
364
+ };
365
+ B5C32A4E220C6379000FFB8D /* Testflight */ = {
366
+ isa = XCBuildConfiguration;
367
+ buildSettings = {
368
+ HEADER_SEARCH_PATHS = (
369
+ "$(inherited)",
370
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
371
+ "$(SRCROOT)/../../../React/**",
372
+ "$(SRCROOT)/../../react-native/React/**",
373
+ );
374
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
375
+ OTHER_LDFLAGS = "-ObjC";
376
+ PRODUCT_NAME = "$(TARGET_NAME)";
377
+ SDKROOT = appletvos;
378
+ SKIP_INSTALL = YES;
379
+ };
380
+ name = Testflight;
381
+ };
382
+ C7F03305A3464E75B4F5A6CE /* Testflight */ = {
383
+ isa = XCBuildConfiguration;
384
+ buildSettings = {
385
+ ALWAYS_SEARCH_USER_PATHS = NO;
386
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
387
+ CLANG_CXX_LIBRARY = "libc++";
388
+ CLANG_ENABLE_MODULES = YES;
389
+ CLANG_ENABLE_OBJC_ARC = YES;
390
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
391
+ CLANG_WARN_BOOL_CONVERSION = YES;
392
+ CLANG_WARN_COMMA = YES;
393
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
394
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
395
+ CLANG_WARN_EMPTY_BODY = YES;
396
+ CLANG_WARN_ENUM_CONVERSION = YES;
397
+ CLANG_WARN_INFINITE_RECURSION = YES;
398
+ CLANG_WARN_INT_CONVERSION = YES;
399
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
400
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
401
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
402
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
403
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
404
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
405
+ CLANG_WARN_UNREACHABLE_CODE = YES;
406
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
407
+ COPY_PHASE_STRIP = YES;
408
+ ENABLE_NS_ASSERTIONS = NO;
409
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
410
+ GCC_C_LANGUAGE_STANDARD = gnu99;
411
+ GCC_NO_COMMON_BLOCKS = YES;
412
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
413
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
414
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
415
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
416
+ GCC_WARN_UNUSED_FUNCTION = YES;
417
+ GCC_WARN_UNUSED_VARIABLE = YES;
418
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
419
+ MTL_ENABLE_DEBUG_INFO = NO;
420
+ SDKROOT = iphoneos;
421
+ VALIDATE_PRODUCT = YES;
422
+ };
423
+ name = Testflight;
424
+ };
425
+ /* End XCBuildConfiguration section */
426
+
427
+ /* Begin XCConfigurationList section */
428
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNScreens" */ = {
429
+ isa = XCConfigurationList;
430
+ buildConfigurations = (
431
+ 58B511ED1A9E6C8500147676 /* Debug */,
432
+ 58B511EE1A9E6C8500147676 /* Release */,
433
+ C7F03305A3464E75B4F5A6CE /* Testflight */,
434
+ );
435
+ defaultConfigurationIsVisible = 0;
436
+ defaultConfigurationName = Release;
437
+ };
438
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNScreens" */ = {
439
+ isa = XCConfigurationList;
440
+ buildConfigurations = (
441
+ 58B511F01A9E6C8500147676 /* Debug */,
442
+ 58B511F11A9E6C8500147676 /* Release */,
443
+ 0CE596A6BAEE45CA860361AD /* Testflight */,
444
+ );
445
+ defaultConfigurationIsVisible = 0;
446
+ defaultConfigurationName = Release;
447
+ };
448
+ B5C32A4B220C6379000FFB8D /* Build configuration list for PBXNativeTarget "RNScreens-tvOS" */ = {
449
+ isa = XCConfigurationList;
450
+ buildConfigurations = (
451
+ B5C32A4C220C6379000FFB8D /* Debug */,
452
+ B5C32A4D220C6379000FFB8D /* Release */,
453
+ B5C32A4E220C6379000FFB8D /* Testflight */,
454
+ );
455
+ defaultConfigurationIsVisible = 0;
456
+ defaultConfigurationName = Release;
457
+ };
458
+ /* End XCConfigurationList section */
459
+ };
460
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
461
+ }
@@ -0,0 +1,9 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ NS_ASSUME_NONNULL_BEGIN
4
+
5
+ @interface UIViewController (RNScreens)
6
+
7
+ @end
8
+
9
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,78 @@
1
+ #import "RNSScreenContainer.h"
2
+ #import "UIViewController+RNScreens.h"
3
+
4
+ #import <objc/runtime.h>
5
+
6
+ @implementation UIViewController (RNScreens)
7
+
8
+ #if !TARGET_OS_TV
9
+ - (UIViewController *)reactNativeScreensChildViewControllerForStatusBarStyle
10
+ {
11
+ UIViewController *childVC = [self findChildRNSScreensViewController];
12
+ return childVC ?: [self reactNativeScreensChildViewControllerForStatusBarStyle];
13
+ }
14
+
15
+ - (UIViewController *)reactNativeScreensChildViewControllerForStatusBarHidden
16
+ {
17
+ UIViewController *childVC = [self findChildRNSScreensViewController];
18
+ return childVC ?: [self reactNativeScreensChildViewControllerForStatusBarHidden];
19
+ }
20
+
21
+ - (UIStatusBarAnimation)reactNativeScreensPreferredStatusBarUpdateAnimation
22
+ {
23
+ UIViewController *childVC = [self findChildRNSScreensViewController];
24
+ return childVC ? childVC.preferredStatusBarUpdateAnimation
25
+ : [self reactNativeScreensPreferredStatusBarUpdateAnimation];
26
+ }
27
+
28
+ - (UIInterfaceOrientationMask)reactNativeScreensSupportedInterfaceOrientations
29
+ {
30
+ UIViewController *childVC = [self findChildRNSScreensViewController];
31
+ return childVC ? childVC.supportedInterfaceOrientations : [self reactNativeScreensSupportedInterfaceOrientations];
32
+ }
33
+
34
+ - (UIViewController *)reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden
35
+ {
36
+ UIViewController *childVC = [self findChildRNSScreensViewController];
37
+ return childVC ?: [self reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden];
38
+ }
39
+
40
+ - (UIViewController *)findChildRNSScreensViewController
41
+ {
42
+ UIViewController *lastViewController = [[self childViewControllers] lastObject];
43
+ if ([lastViewController conformsToProtocol:@protocol(RNSViewControllerDelegate)]) {
44
+ return lastViewController;
45
+ }
46
+ return nil;
47
+ }
48
+
49
+ + (void)load
50
+ {
51
+ static dispatch_once_t once_token;
52
+ dispatch_once(&once_token, ^{
53
+ Class uiVCClass = [UIViewController class];
54
+
55
+ method_exchangeImplementations(
56
+ class_getInstanceMethod(uiVCClass, @selector(childViewControllerForStatusBarStyle)),
57
+ class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForStatusBarStyle)));
58
+
59
+ method_exchangeImplementations(
60
+ class_getInstanceMethod(uiVCClass, @selector(childViewControllerForStatusBarHidden)),
61
+ class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForStatusBarHidden)));
62
+
63
+ method_exchangeImplementations(
64
+ class_getInstanceMethod(uiVCClass, @selector(preferredStatusBarUpdateAnimation)),
65
+ class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensPreferredStatusBarUpdateAnimation)));
66
+
67
+ method_exchangeImplementations(
68
+ class_getInstanceMethod(uiVCClass, @selector(supportedInterfaceOrientations)),
69
+ class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensSupportedInterfaceOrientations)));
70
+
71
+ method_exchangeImplementations(
72
+ class_getInstanceMethod(uiVCClass, @selector(childViewControllerForHomeIndicatorAutoHidden)),
73
+ class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden)));
74
+ });
75
+ }
76
+ #endif
77
+
78
+ @end
@@ -0,0 +1,9 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ NS_ASSUME_NONNULL_BEGIN
4
+
5
+ @interface UIWindow (RNScreens)
6
+
7
+ @end
8
+
9
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,17 @@
1
+ #import "RNSFullWindowOverlay.h"
2
+ #import "UIWindow+RNScreens.h"
3
+
4
+ @implementation UIWindow (RNScreens)
5
+
6
+ - (void)didAddSubview:(UIView *)subview
7
+ {
8
+ if (![subview isKindOfClass:[RNSFullWindowOverlayContainer class]]) {
9
+ for (UIView *view in self.subviews) {
10
+ if ([view isKindOfClass:[RNSFullWindowOverlayContainer class]]) {
11
+ [self bringSubviewToFront:view];
12
+ }
13
+ }
14
+ }
15
+ }
16
+
17
+ @end
@@ -0,0 +1,8 @@
1
+ #import <React/RCTBridge+Private.h>
2
+ #import <React/RCTEventDispatcherProtocol.h>
3
+
4
+ @interface RNSHeaderHeightChangeEvent : NSObject <RCTEvent>
5
+
6
+ - (instancetype)initWithEventName:(NSString *)eventName reactTag:(NSNumber *)reactTag headerHeight:(double)headerHeight;
7
+
8
+ @end
@@ -0,0 +1,44 @@
1
+ #import "RNSHeaderHeightChangeEvent.h"
2
+ #import <React/RCTAssert.h>
3
+
4
+ @implementation RNSHeaderHeightChangeEvent {
5
+ double _headerHeight;
6
+ }
7
+
8
+ @synthesize viewTag = _viewTag;
9
+ @synthesize eventName = _eventName;
10
+
11
+ - (instancetype)initWithEventName:(NSString *)eventName reactTag:(NSNumber *)reactTag headerHeight:(double)headerHeight
12
+ {
13
+ RCTAssertParam(reactTag);
14
+
15
+ if ((self = [super init])) {
16
+ _eventName = [eventName copy];
17
+ _viewTag = reactTag;
18
+ _headerHeight = headerHeight;
19
+ }
20
+ return self;
21
+ }
22
+
23
+ RCT_NOT_IMPLEMENTED(-(instancetype)init)
24
+
25
+ - (NSDictionary *)body
26
+ {
27
+ NSDictionary *body = @{
28
+ @"headerHeight" : @(_headerHeight),
29
+ };
30
+
31
+ return body;
32
+ }
33
+
34
+ + (NSString *)moduleDotMethod
35
+ {
36
+ return @"RCTEventEmitter.receiveEvent";
37
+ }
38
+
39
+ - (NSArray *)arguments
40
+ {
41
+ return @[ self.viewTag, RCTNormalizeInputEventName(self.eventName), [self body] ];
42
+ }
43
+
44
+ @end
@@ -0,0 +1,12 @@
1
+ #import <React/RCTBridge+Private.h>
2
+ #import <React/RCTEventDispatcherProtocol.h>
3
+
4
+ @interface RNSScreenViewEvent : NSObject <RCTEvent>
5
+
6
+ - (instancetype)initWithEventName:(NSString *)eventName
7
+ reactTag:(NSNumber *)reactTag
8
+ progress:(double)progress
9
+ closing:(int)closing
10
+ goingForward:(int)goingForward;
11
+
12
+ @end