react-native-navigation 8.0.0 → 8.1.0-alpha01

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 (319) hide show
  1. package/ReactNativeNavigation.podspec +13 -12
  2. package/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java +1 -1
  3. package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutFactory.java +13 -14
  4. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java +4 -6
  5. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationPackage.kt +5 -4
  6. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactInitializer.java +20 -21
  7. package/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactComponentViewCreator.java +1 -7
  8. package/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java +38 -28
  9. package/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalFrameLayout.kt +1 -1
  10. package/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalLayoutController.kt +4 -6
  11. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentCreator.java +1 -1
  12. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewController.java +2 -4
  13. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/navigator/Navigator.java +2 -2
  14. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java +1 -1
  15. package/lib/android/app/src/main/java/com/reactnativenavigation/views/component/ComponentViewCreator.java +1 -8
  16. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/TopBarBackgroundView.java +2 -2
  17. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/TopBarBackgroundViewCreator.java +1 -7
  18. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarButtonCreator.java +1 -8
  19. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactButtonView.java +3 -3
  20. package/lib/android/app/src/main/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactViewCreator.java +1 -7
  21. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/ReactGateway.java +10 -11
  22. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +8 -42
  23. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +2 -2
  24. package/lib/dist/src/adapters/NativeCommandsSender.js +3 -2
  25. package/lib/dist/src/adapters/NativeEventsReceiver.js +4 -2
  26. package/lib/dist/src/adapters/NativeRNNTurboEventEmitter.d.ts +7 -0
  27. package/lib/dist/src/adapters/NativeRNNTurboEventEmitter.js +13 -0
  28. package/lib/dist/src/adapters/NativeRNNTurboModule.d.ts +28 -0
  29. package/lib/dist/src/adapters/NativeRNNTurboModule.js +16 -0
  30. package/lib/dist/src/commands/Deprecations.js +2 -2
  31. package/lib/dist/src/components/Modal.js +11 -2
  32. package/lib/ios/{AnimatedImageView.m → AnimatedImageView.mm} +1 -1
  33. package/lib/ios/{AnimatedReactView.m → AnimatedReactView.mm} +8 -1
  34. package/lib/ios/{AnimatedTextView.m → AnimatedTextView.mm} +21 -1
  35. package/lib/ios/BoolParser.h +1 -1
  36. package/lib/ios/{BottomTabsBasePresenter.m → BottomTabsBasePresenter.mm} +1 -1
  37. package/lib/ios/ColorParser.h +1 -1
  38. package/lib/ios/Constants.h +8 -0
  39. package/lib/ios/{Constants.m → Constants.mm} +12 -0
  40. package/lib/ios/NumberParser.h +1 -1
  41. package/lib/ios/RNNAppDelegate.h +8 -15
  42. package/lib/ios/RNNAppDelegate.mm +78 -81
  43. package/lib/ios/{RNNBottomTabsController.m → RNNBottomTabsController.mm} +1 -1
  44. package/lib/ios/RNNBridgeEventEmitter.h +4 -0
  45. package/lib/ios/RNNBridgeEventEmitter.mm +7 -0
  46. package/lib/ios/RNNBridgeManager.mm +71 -71
  47. package/lib/ios/{RNNButtonBuilder.m → RNNButtonBuilder.mm} +2 -2
  48. package/lib/ios/{RNNButtonOptions.m → RNNButtonOptions.mm} +2 -2
  49. package/lib/ios/{RNNButtonsParser.m → RNNButtonsParser.mm} +1 -1
  50. package/lib/ios/RNNCommandsHandler.h +8 -2
  51. package/lib/ios/{RNNCommandsHandler.m → RNNCommandsHandler.mm} +29 -10
  52. package/lib/ios/{RNNComponentOptions.m → RNNComponentOptions.mm} +3 -2
  53. package/lib/ios/{RNNComponentPresenter.m → RNNComponentPresenter.mm} +1 -1
  54. package/lib/ios/{RNNComponentViewController.m → RNNComponentViewController.mm} +0 -4
  55. package/lib/ios/RNNCustomTitleView.h +14 -4
  56. package/lib/ios/{RNNCustomTitleView.m → RNNCustomTitleView.mm} +8 -2
  57. package/lib/ios/RNNDotIndicatorPresenter.h +1 -1
  58. package/lib/ios/RNNElementFinder.h +2 -0
  59. package/lib/ios/RNNElementFinder.mm +44 -0
  60. package/lib/ios/RNNEventEmitter.h +1 -2
  61. package/lib/ios/{RNNEventEmitter.m → RNNEventEmitter.mm} +1 -5
  62. package/lib/ios/RNNExternalComponentStore.h +5 -0
  63. package/lib/ios/{RNNExternalComponentStore.m → RNNExternalComponentStore.mm} +12 -0
  64. package/lib/ios/{RNNFontAttributesCreator.m → RNNFontAttributesCreator.mm} +1 -1
  65. package/lib/ios/{RNNIconBackgroundOptions.m → RNNIconBackgroundOptions.mm} +1 -1
  66. package/lib/ios/{RNNInsetsOptions.m → RNNInsetsOptions.mm} +2 -2
  67. package/lib/ios/RNNModalManager.h +6 -0
  68. package/lib/ios/{RNNModalManager.m → RNNModalManager.mm} +71 -2
  69. package/lib/ios/{RNNNavigationOptions.m → RNNNavigationOptions.mm} +1 -1
  70. package/lib/ios/{RNNPushAnimation.m → RNNPushAnimation.mm} +1 -1
  71. package/lib/ios/RNNReactButtonView.h +4 -0
  72. package/lib/ios/RNNReactButtonView.mm +29 -0
  73. package/lib/ios/RNNReactRootViewCreator.h +4 -0
  74. package/lib/ios/{RNNReactRootViewCreator.m → RNNReactRootViewCreator.mm} +31 -8
  75. package/lib/ios/RNNReactView.h +64 -12
  76. package/lib/ios/RNNReactView.mm +119 -15
  77. package/lib/ios/{RNNScreenTransition.m → RNNScreenTransition.mm} +3 -2
  78. package/lib/ios/RNNSideMenu/MMDrawerController/{MMDrawerController.m → MMDrawerController.mm} +1 -1
  79. package/lib/ios/{RNNSideMenuChildVC.h → RNNSideMenuChildViewController.h} +1 -1
  80. package/lib/ios/{RNNSideMenuChildVC.m → RNNSideMenuChildViewController.mm} +4 -3
  81. package/lib/ios/{RNNSideMenuPresenter.m → RNNSideMenuPresenter.mm} +3 -3
  82. package/lib/ios/{RNNSideMenuController.h → RNNSideMenuViewController.h} +5 -5
  83. package/lib/ios/{RNNSideMenuController.m → RNNSideMenuViewController.mm} +8 -8
  84. package/lib/ios/{RNNSplashScreen.h → RNNSplashScreenViewController.h} +1 -1
  85. package/lib/ios/{RNNSplashScreen.m → RNNSplashScreenViewController.mm} +5 -5
  86. package/lib/ios/RNNSplitViewController.h +0 -1
  87. package/lib/ios/{RNNStackPresenter.m → RNNStackPresenter.mm} +2 -1
  88. package/lib/ios/RNNUIBarButtonItem.h +7 -1
  89. package/lib/ios/{RNNUIBarButtonItem.m → RNNUIBarButtonItem.mm} +17 -25
  90. package/lib/ios/RNNUtils.h +1 -0
  91. package/lib/ios/{RNNUtils.m → RNNUtils.mm} +8 -0
  92. package/lib/ios/{RNNControllerFactory.h → RNNViewControllerFactory.h} +10 -1
  93. package/lib/ios/{RNNControllerFactory.m → RNNViewControllerFactory.mm} +37 -7
  94. package/lib/ios/ReactNativeNavigation.h +13 -6
  95. package/lib/ios/ReactNativeNavigation.mm +117 -0
  96. package/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj +976 -1166
  97. package/lib/ios/ScreenAnimationController.h +27 -9
  98. package/lib/ios/ScreenAnimationController.mm +180 -0
  99. package/lib/ios/SharedElementAnimator.mm +98 -0
  100. package/lib/ios/SideMenuOpenMode.h +1 -1
  101. package/lib/ios/StackControllerDelegate.h +10 -0
  102. package/lib/ios/{StackControllerDelegate.m → StackControllerDelegate.mm} +45 -1
  103. package/lib/ios/{TopBarTitlePresenter.m → TopBarTitlePresenter.mm} +2 -3
  104. package/lib/ios/{TransitionOptions.m → TransitionOptions.mm} +3 -2
  105. package/lib/ios/TurboModules/RNNTurboCommandsHandler.h +13 -0
  106. package/lib/ios/TurboModules/RNNTurboCommandsHandler.mm +16 -0
  107. package/lib/ios/TurboModules/RNNTurboEventEmitter.h +14 -0
  108. package/lib/ios/TurboModules/RNNTurboEventEmitter.mm +22 -0
  109. package/lib/ios/TurboModules/RNNTurboManager.h +23 -0
  110. package/lib/ios/TurboModules/RNNTurboManager.mm +114 -0
  111. package/lib/ios/TurboModules/RNNTurboModule.h +8 -0
  112. package/lib/ios/TurboModules/RNNTurboModule.mm +177 -0
  113. package/lib/ios/UISplitViewController+RNNOptions.h +1 -1
  114. package/lib/ios/{UISplitViewController+RNNOptions.m → UISplitViewController+RNNOptions.mm} +0 -1
  115. package/lib/ios/UIViewController+SideMenuController.h +2 -2
  116. package/lib/ios/{UIViewController+SideMenuController.m → UIViewController+SideMenuController.mm} +3 -3
  117. package/lib/ios/UIViewController+SideMenuViewController.h +8 -0
  118. package/lib/ios/Utils/{UIView+Utils.m → UIView+Utils.mm} +14 -0
  119. package/lib/src/adapters/NativeCommandsSender.ts +4 -2
  120. package/lib/src/adapters/NativeEventsReceiver.ts +6 -5
  121. package/lib/src/adapters/NativeRNNTurboEventEmitter.ts +18 -0
  122. package/lib/src/adapters/NativeRNNTurboModule.ts +47 -0
  123. package/lib/src/commands/Deprecations.ts +1 -1
  124. package/lib/src/components/Modal.tsx +23 -4
  125. package/metro.config.js +0 -1
  126. package/package.json +34 -6
  127. package/lib/ios/RNNElementFinder.m +0 -12
  128. package/lib/ios/RNNReactButtonView.m +0 -41
  129. package/lib/ios/RNNSwizzles.h +0 -13
  130. package/lib/ios/RNNSwizzles.m +0 -97
  131. package/lib/ios/ReactNativeNavigation.m +0 -85
  132. package/lib/ios/ScreenAnimationController.m +0 -139
  133. package/lib/ios/SharedElementAnimator.m +0 -83
  134. /package/lib/ios/{AnchorTransition.m → AnchorTransition.mm} +0 -0
  135. /package/lib/ios/{AnimatedUIImageView.m → AnimatedUIImageView.mm} +0 -0
  136. /package/lib/ios/{AnimatedViewFactory.m → AnimatedViewFactory.mm} +0 -0
  137. /package/lib/ios/{AnimationObserver.m → AnimationObserver.mm} +0 -0
  138. /package/lib/ios/{BaseAnimator.m → BaseAnimator.mm} +0 -0
  139. /package/lib/ios/{Bool.m → Bool.mm} +0 -0
  140. /package/lib/ios/{BoolParser.m → BoolParser.mm} +0 -0
  141. /package/lib/ios/{BottomTabPresenter.m → BottomTabPresenter.mm} +0 -0
  142. /package/lib/ios/{BottomTabPresenterCreator.m → BottomTabPresenterCreator.mm} +0 -0
  143. /package/lib/ios/{BottomTabsAfterInitialTabAttacher.m → BottomTabsAfterInitialTabAttacher.mm} +0 -0
  144. /package/lib/ios/{BottomTabsAppearancePresenter.m → BottomTabsAppearancePresenter.mm} +0 -0
  145. /package/lib/ios/{BottomTabsAttachMode.m → BottomTabsAttachMode.mm} +0 -0
  146. /package/lib/ios/{BottomTabsAttachModeFactory.m → BottomTabsAttachModeFactory.mm} +0 -0
  147. /package/lib/ios/{BottomTabsBaseAttacher.m → BottomTabsBaseAttacher.mm} +0 -0
  148. /package/lib/ios/{BottomTabsOnSwitchToTabAttacher.m → BottomTabsOnSwitchToTabAttacher.mm} +0 -0
  149. /package/lib/ios/{BottomTabsPresenterCreator.m → BottomTabsPresenterCreator.mm} +0 -0
  150. /package/lib/ios/{BottomTabsTogetherAttacher.m → BottomTabsTogetherAttacher.mm} +0 -0
  151. /package/lib/ios/{BoundsTransition.m → BoundsTransition.mm} +0 -0
  152. /package/lib/ios/{CenterTransition.m → CenterTransition.mm} +0 -0
  153. /package/lib/ios/{Color+Interpolation.m → Color+Interpolation.mm} +0 -0
  154. /package/lib/ios/{Color.m → Color.mm} +0 -0
  155. /package/lib/ios/{ColorParser.m → ColorParser.mm} +0 -0
  156. /package/lib/ios/{ColorTransition.m → ColorTransition.mm} +0 -0
  157. /package/lib/ios/{CornerRadiusTransition.m → CornerRadiusTransition.mm} +0 -0
  158. /package/lib/ios/{DeprecationOptions.m → DeprecationOptions.mm} +0 -0
  159. /package/lib/ios/{DictionaryParser.m → DictionaryParser.mm} +0 -0
  160. /package/lib/ios/{DisplayLinkAnimator.m → DisplayLinkAnimator.mm} +0 -0
  161. /package/lib/ios/{DotIndicatorOptions.m → DotIndicatorOptions.mm} +0 -0
  162. /package/lib/ios/{DotIndicatorParser.m → DotIndicatorParser.mm} +0 -0
  163. /package/lib/ios/{Double.m → Double.mm} +0 -0
  164. /package/lib/ios/{DoubleParser.m → DoubleParser.mm} +0 -0
  165. /package/lib/ios/{ElementAlphaTransition.m → ElementAlphaTransition.mm} +0 -0
  166. /package/lib/ios/{ElementAnimator.m → ElementAnimator.mm} +0 -0
  167. /package/lib/ios/{ElementBaseTransition.m → ElementBaseTransition.mm} +0 -0
  168. /package/lib/ios/{ElementFrameTransition.m → ElementFrameTransition.mm} +0 -0
  169. /package/lib/ios/{ElementHorizontalTransition.m → ElementHorizontalTransition.mm} +0 -0
  170. /package/lib/ios/{ElementTransitionOptions.m → ElementTransitionOptions.mm} +0 -0
  171. /package/lib/ios/{ElementTransitionsCreator.m → ElementTransitionsCreator.mm} +0 -0
  172. /package/lib/ios/{ElementVerticalTransition.m → ElementVerticalTransition.mm} +0 -0
  173. /package/lib/ios/{Enum.m → Enum.mm} +0 -0
  174. /package/lib/ios/{EnumParser.m → EnumParser.mm} +0 -0
  175. /package/lib/ios/{FloatTransition.m → FloatTransition.mm} +0 -0
  176. /package/lib/ios/{HorizontalScaleTransition.m → HorizontalScaleTransition.mm} +0 -0
  177. /package/lib/ios/{HorizontalTranslationTransition.m → HorizontalTranslationTransition.mm} +0 -0
  178. /package/lib/ios/{Image.m → Image.mm} +0 -0
  179. /package/lib/ios/{ImageParser.m → ImageParser.mm} +0 -0
  180. /package/lib/ios/{IntNumber.m → IntNumber.mm} +0 -0
  181. /package/lib/ios/{IntNumberParser.m → IntNumberParser.mm} +0 -0
  182. /package/lib/ios/{InteractivePopGestureDelegate.m → InteractivePopGestureDelegate.mm} +0 -0
  183. /package/lib/ios/Interpolators/{AccelerateDecelerateInterpolator.m → AccelerateDecelerateInterpolator.mm} +0 -0
  184. /package/lib/ios/Interpolators/{AccelerateInterpolator.m → AccelerateInterpolator.mm} +0 -0
  185. /package/lib/ios/Interpolators/{DecelerateAccelerateInterpolator.m → DecelerateAccelerateInterpolator.mm} +0 -0
  186. /package/lib/ios/Interpolators/{DecelerateInterpolator.m → DecelerateInterpolator.mm} +0 -0
  187. /package/lib/ios/Interpolators/{FastOutSlowIn.m → FastOutSlowIn.mm} +0 -0
  188. /package/lib/ios/Interpolators/{LinearInterpolator.m → LinearInterpolator.mm} +0 -0
  189. /package/lib/ios/Interpolators/{OvershootInterpolator.m → OvershootInterpolator.mm} +0 -0
  190. /package/lib/ios/Interpolators/{SpringInterpolator.m → SpringInterpolator.mm} +0 -0
  191. /package/lib/ios/{LNInterpolable.m → LNInterpolable.mm} +0 -0
  192. /package/lib/ios/{NSArray+utils.m → NSArray+utils.mm} +0 -0
  193. /package/lib/ios/{NoColor.m → NoColor.mm} +0 -0
  194. /package/lib/ios/{NullBool.m → NullBool.mm} +0 -0
  195. /package/lib/ios/{NullColor.m → NullColor.mm} +0 -0
  196. /package/lib/ios/{NullDictionary.m → NullDictionary.mm} +0 -0
  197. /package/lib/ios/{NullDouble.m → NullDouble.mm} +0 -0
  198. /package/lib/ios/{NullEnum.m → NullEnum.mm} +0 -0
  199. /package/lib/ios/{NullImage.m → NullImage.mm} +0 -0
  200. /package/lib/ios/{NullIntNumber.m → NullIntNumber.mm} +0 -0
  201. /package/lib/ios/{NullNumber.m → NullNumber.mm} +0 -0
  202. /package/lib/ios/{NullText.m → NullText.mm} +0 -0
  203. /package/lib/ios/{Number.m → Number.mm} +0 -0
  204. /package/lib/ios/{NumberParser.m → NumberParser.mm} +0 -0
  205. /package/lib/ios/{OptionsArrayParser.m → OptionsArrayParser.mm} +0 -0
  206. /package/lib/ios/{Param.m → Param.mm} +0 -0
  207. /package/lib/ios/{PathTransition.m → PathTransition.mm} +0 -0
  208. /package/lib/ios/{RCTConvert+Interpolation.m → RCTConvert+Interpolation.mm} +0 -0
  209. /package/lib/ios/{RCTConvert+SideMenuOpenGestureMode.m → RCTConvert+SideMenuOpenGestureMode.mm} +0 -0
  210. /package/lib/ios/{RCTConvert+UIBarButtonSystemItem.m → RCTConvert+UIBarButtonSystemItem.mm} +0 -0
  211. /package/lib/ios/{RCTConvert+UIFontWeight.m → RCTConvert+UIFontWeight.mm} +0 -0
  212. /package/lib/ios/{RCTHelpers.m → RCTHelpers.mm} +0 -0
  213. /package/lib/ios/{RNNAnimationsOptions.m → RNNAnimationsOptions.mm} +0 -0
  214. /package/lib/ios/{RNNBackButtonOptions.m → RNNBackButtonOptions.mm} +0 -0
  215. /package/lib/ios/{RNNBackgroundOptions.m → RNNBackgroundOptions.mm} +0 -0
  216. /package/lib/ios/{RNNBaseIconCreator.m → RNNBaseIconCreator.mm} +0 -0
  217. /package/lib/ios/{RNNBasePresenter.m → RNNBasePresenter.mm} +0 -0
  218. /package/lib/ios/{RNNBottomTabOptions.m → RNNBottomTabOptions.mm} +0 -0
  219. /package/lib/ios/{RNNBottomTabsOptions.m → RNNBottomTabsOptions.mm} +0 -0
  220. /package/lib/ios/{RNNBottomTabsPresenter.m → RNNBottomTabsPresenter.mm} +0 -0
  221. /package/lib/ios/{RNNBridgeModule.m → RNNBridgeModule.mm} +0 -0
  222. /package/lib/ios/{RNNButtonsPresenter.m → RNNButtonsPresenter.mm} +0 -0
  223. /package/lib/ios/{RNNComponentRootView.m → RNNComponentRootView.mm} +0 -0
  224. /package/lib/ios/{RNNComponentView.m → RNNComponentView.mm} +0 -0
  225. /package/lib/ios/{RNNConvert.m → RNNConvert.mm} +0 -0
  226. /package/lib/ios/{RNNDefaultOptionsHelper.m → RNNDefaultOptionsHelper.mm} +0 -0
  227. /package/lib/ios/{RNNDictionary.m → RNNDictionary.mm} +0 -0
  228. /package/lib/ios/{RNNDotIndicatorPresenter.m → RNNDotIndicatorPresenter.mm} +0 -0
  229. /package/lib/ios/{RNNDynamicIconCreator.m → RNNDynamicIconCreator.mm} +0 -0
  230. /package/lib/ios/{RNNElement.m → RNNElement.mm} +0 -0
  231. /package/lib/ios/{RNNElementView.m → RNNElementView.mm} +0 -0
  232. /package/lib/ios/{RNNEnterExitAnimation.m → RNNEnterExitAnimation.mm} +0 -0
  233. /package/lib/ios/{RNNErrorHandler.m → RNNErrorHandler.mm} +0 -0
  234. /package/lib/ios/{RNNExternalViewController.m → RNNExternalViewController.mm} +0 -0
  235. /package/lib/ios/{RNNIconCreator.m → RNNIconCreator.mm} +0 -0
  236. /package/lib/ios/{RNNIconDrawer.m → RNNIconDrawer.mm} +0 -0
  237. /package/lib/ios/{RNNInterpolator.m → RNNInterpolator.mm} +0 -0
  238. /package/lib/ios/{RNNLargeTitleOptions.m → RNNLargeTitleOptions.mm} +0 -0
  239. /package/lib/ios/{RNNLayoutInfo.m → RNNLayoutInfo.mm} +0 -0
  240. /package/lib/ios/{RNNLayoutManager.m → RNNLayoutManager.mm} +0 -0
  241. /package/lib/ios/{RNNLayoutNode.m → RNNLayoutNode.mm} +0 -0
  242. /package/lib/ios/{RNNLayoutOptions.m → RNNLayoutOptions.mm} +0 -0
  243. /package/lib/ios/{RNNModalHostViewManagerHandler.m → RNNModalHostViewManagerHandler.mm} +0 -0
  244. /package/lib/ios/{RNNModalManagerEventHandler.m → RNNModalManagerEventHandler.mm} +0 -0
  245. /package/lib/ios/{RNNModalOptions.m → RNNModalOptions.mm} +0 -0
  246. /package/lib/ios/{RNNOptions.m → RNNOptions.mm} +0 -0
  247. /package/lib/ios/{RNNOverlayManager.m → RNNOverlayManager.mm} +0 -0
  248. /package/lib/ios/{RNNOverlayOptions.m → RNNOverlayOptions.mm} +0 -0
  249. /package/lib/ios/{RNNOverlayWindow.m → RNNOverlayWindow.mm} +0 -0
  250. /package/lib/ios/{RNNPreviewOptions.m → RNNPreviewOptions.mm} +0 -0
  251. /package/lib/ios/{RNNReactBackgroundView.m → RNNReactBackgroundView.mm} +0 -0
  252. /package/lib/ios/{RNNReactComponentRegistry.m → RNNReactComponentRegistry.mm} +0 -0
  253. /package/lib/ios/{RNNReactTitleView.m → RNNReactTitleView.mm} +0 -0
  254. /package/lib/ios/{RNNScreenTransitionsCreator.m → RNNScreenTransitionsCreator.mm} +0 -0
  255. /package/lib/ios/{RNNScrollEdgeAppearanceBackgroundOptions.m → RNNScrollEdgeAppearanceBackgroundOptions.mm} +0 -0
  256. /package/lib/ios/{RNNScrollEdgeAppearanceOptions.m → RNNScrollEdgeAppearanceOptions.mm} +0 -0
  257. /package/lib/ios/{RNNSearchBarOptions.m → RNNSearchBarOptions.mm} +0 -0
  258. /package/lib/ios/{RNNSegmentedControl.m → RNNSegmentedControl.mm} +0 -0
  259. /package/lib/ios/{RNNSetRootAnimator.m → RNNSetRootAnimator.mm} +0 -0
  260. /package/lib/ios/{RNNShadowOptions.m → RNNShadowOptions.mm} +0 -0
  261. /package/lib/ios/{RNNSharedElementAnimationOptions.m → RNNSharedElementAnimationOptions.mm} +0 -0
  262. /package/lib/ios/RNNSideMenu/MMDrawerController/{MMDrawerBarButtonItem.m → MMDrawerBarButtonItem.mm} +0 -0
  263. /package/lib/ios/RNNSideMenu/MMDrawerController/{MMDrawerVisualState.m → MMDrawerVisualState.mm} +0 -0
  264. /package/lib/ios/RNNSideMenu/MMDrawerController/{MMExampleDrawerVisualStateManager.m → MMExampleDrawerVisualStateManager.mm} +0 -0
  265. /package/lib/ios/RNNSideMenu/MMDrawerController/{UIViewController+MMDrawerController.m → UIViewController+MMDrawerController.mm} +0 -0
  266. /package/lib/ios/{RNNSideMenuOptions.m → RNNSideMenuOptions.mm} +0 -0
  267. /package/lib/ios/{RNNSideMenuSideOptions.m → RNNSideMenuSideOptions.mm} +0 -0
  268. /package/lib/ios/{RNNSplitViewController.m → RNNSplitViewController.mm} +0 -0
  269. /package/lib/ios/{RNNSplitViewControllerPresenter.m → RNNSplitViewControllerPresenter.mm} +0 -0
  270. /package/lib/ios/{RNNSplitViewOptions.m → RNNSplitViewOptions.mm} +0 -0
  271. /package/lib/ios/{RNNStackController.m → RNNStackController.mm} +0 -0
  272. /package/lib/ios/{RNNStatusBarOptions.m → RNNStatusBarOptions.mm} +0 -0
  273. /package/lib/ios/{RNNSubtitleOptions.m → RNNSubtitleOptions.mm} +0 -0
  274. /package/lib/ios/{RNNTabBarItemCreator.m → RNNTabBarItemCreator.mm} +0 -0
  275. /package/lib/ios/{RNNTitleOptions.m → RNNTitleOptions.mm} +0 -0
  276. /package/lib/ios/{RNNTitleViewHelper.m → RNNTitleViewHelper.mm} +0 -0
  277. /package/lib/ios/{RNNTopBarOptions.m → RNNTopBarOptions.mm} +0 -0
  278. /package/lib/ios/{RNNTopTabOptions.m → RNNTopTabOptions.mm} +0 -0
  279. /package/lib/ios/{RNNTopTabsOptions.m → RNNTopTabsOptions.mm} +0 -0
  280. /package/lib/ios/{RNNTopTabsViewController.m → RNNTopTabsViewController.mm} +0 -0
  281. /package/lib/ios/{RNNTransitionStateHolder.m → RNNTransitionStateHolder.mm} +0 -0
  282. /package/lib/ios/{RNNUIBarBackButtonItem.m → RNNUIBarBackButtonItem.mm} +0 -0
  283. /package/lib/ios/{RNNViewLocation.m → RNNViewLocation.mm} +0 -0
  284. /package/lib/ios/{RectTransition.m → RectTransition.mm} +0 -0
  285. /package/lib/ios/{RotationTransition.m → RotationTransition.mm} +0 -0
  286. /package/lib/ios/{ScreenReversedAnimationController.m → ScreenReversedAnimationController.mm} +0 -0
  287. /package/lib/ios/{SharedElementTransition.m → SharedElementTransition.mm} +0 -0
  288. /package/lib/ios/{SharedElementTransitionOptions.m → SharedElementTransitionOptions.mm} +0 -0
  289. /package/lib/ios/{SideMenuOpenGestureModeParser.m → SideMenuOpenGestureModeParser.mm} +0 -0
  290. /package/lib/ios/{SideMenuOpenMode.m → SideMenuOpenMode.mm} +0 -0
  291. /package/lib/ios/{TabBarItemAppearanceCreator.m → TabBarItemAppearanceCreator.mm} +0 -0
  292. /package/lib/ios/{TabBarItemIOS15Creator.m → TabBarItemIOS15Creator.mm} +0 -0
  293. /package/lib/ios/{Text.m → Text.mm} +0 -0
  294. /package/lib/ios/{TextParser.m → TextParser.mm} +0 -0
  295. /package/lib/ios/{TextStorageTransition.m → TextStorageTransition.mm} +0 -0
  296. /package/lib/ios/{TimeInterval.m → TimeInterval.mm} +0 -0
  297. /package/lib/ios/{TimeIntervalParser.m → TimeIntervalParser.mm} +0 -0
  298. /package/lib/ios/{TopBarAppearancePresenter.m → TopBarAppearancePresenter.mm} +0 -0
  299. /package/lib/ios/{TopBarPresenter.m → TopBarPresenter.mm} +0 -0
  300. /package/lib/ios/{TopBarPresenterCreator.m → TopBarPresenterCreator.mm} +0 -0
  301. /package/lib/ios/{TransformRectTransition.m → TransformRectTransition.mm} +0 -0
  302. /package/lib/ios/{Transition.m → Transition.mm} +0 -0
  303. /package/lib/ios/{TransitionDetailsOptions.m → TransitionDetailsOptions.mm} +0 -0
  304. /package/lib/ios/{UIImage+utils.m → UIImage+utils.mm} +0 -0
  305. /package/lib/ios/{UIImageView+Transition.m → UIImageView+Transition.mm} +0 -0
  306. /package/lib/ios/{UINavigationController+RNNCommands.m → UINavigationController+RNNCommands.mm} +0 -0
  307. /package/lib/ios/{UINavigationController+RNNOptions.m → UINavigationController+RNNOptions.mm} +0 -0
  308. /package/lib/ios/{UITabBar+utils.m → UITabBar+utils.mm} +0 -0
  309. /package/lib/ios/{UITabBarController+RNNOptions.m → UITabBarController+RNNOptions.mm} +0 -0
  310. /package/lib/ios/{UIViewController+LayoutProtocol.m → UIViewController+LayoutProtocol.mm} +0 -0
  311. /package/lib/ios/{UIViewController+RNNOptions.m → UIViewController+RNNOptions.mm} +0 -0
  312. /package/lib/ios/Utils/{UIColor+RNNUtils.m → UIColor+RNNUtils.mm} +0 -0
  313. /package/lib/ios/Utils/{UITabBarController+RNNUtils.m → UITabBarController+RNNUtils.mm} +0 -0
  314. /package/lib/ios/Utils/{UIViewController+Utils.m → UIViewController+Utils.mm} +0 -0
  315. /package/lib/ios/{VICMAImageView.m → VICMAImageView.mm} +0 -0
  316. /package/lib/ios/{VerticalRotationTransition.m → VerticalRotationTransition.mm} +0 -0
  317. /package/lib/ios/{VerticalScaleTransition.m → VerticalScaleTransition.mm} +0 -0
  318. /package/lib/ios/{VerticalTranslationTransition.m → VerticalTranslationTransition.mm} +0 -0
  319. /package/lib/ios/{WindowOptions.m → WindowOptions.mm} +0 -0
@@ -1,13 +1,21 @@
1
1
  #import "RNNReactView.h"
2
+ #import "RNNAppDelegate.h"
2
3
  #import <React/RCTRootContentView.h>
3
4
 
4
5
  #ifdef RCT_NEW_ARCH_ENABLED
6
+ #import <React-RuntimeApple/ReactCommon/RCTHost.h>
5
7
  #import <React/RCTFabricSurface.h>
8
+ #import <React/RCTSurfacePresenter.h>
9
+
6
10
  #endif
7
11
 
8
12
  @implementation RNNReactView {
9
- BOOL _isAppeared;
13
+ BOOL _isMounted;
14
+ BOOL _pendingDidAppear;
15
+ BOOL _didAppear;
16
+ BOOL _willAppear;
10
17
  }
18
+
11
19
  #ifdef RCT_NEW_ARCH_ENABLED
12
20
  - (instancetype)initWithBridge:(RCTBridge *)bridge
13
21
  moduleName:(NSString *)moduleName
@@ -15,9 +23,11 @@
15
23
  eventEmitter:(RNNEventEmitter *)eventEmitter
16
24
  sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
17
25
  reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock {
18
- RCTFabricSurface *surface = [[RCTFabricSurface alloc] initWithBridge:bridge moduleName:moduleName initialProperties:initialProperties];
19
- self = [super initWithSurface:surface sizeMeasureMode:sizeMeasureMode];
20
- [surface start];
26
+ RCTFabricSurface *surface = [[RCTFabricSurface alloc]
27
+ initWithSurfacePresenter:(RCTSurfacePresenter *)bridge.surfacePresenter
28
+ moduleName:moduleName
29
+ initialProperties:initialProperties];
30
+ self = [super initWithSurface:surface sizeMeasureMode:sizeMeasureMode];
21
31
  #else
22
32
  - (instancetype)initWithBridge:(RCTBridge *)bridge
23
33
  moduleName:(NSString *)moduleName
@@ -27,15 +37,49 @@
27
37
  self = [super initWithBridge:bridge moduleName:moduleName initialProperties:initialProperties];
28
38
  #endif
29
39
 
40
+ _reactViewReadyBlock = reactViewReadyBlock;
41
+ _eventEmitter = eventEmitter;
42
+
43
+ #ifdef RCT_NEW_ARCH_ENABLED
44
+ [surface start];
45
+ #else
30
46
  [[NSNotificationCenter defaultCenter] addObserver:self
31
47
  selector:@selector(contentDidAppear:)
32
48
  name:RCTContentDidAppearNotification
33
49
  object:nil];
50
+ #endif
51
+
52
+ return self;
53
+ }
54
+
55
+ #ifdef RCT_NEW_ARCH_ENABLED
56
+ - (instancetype)initWithHost:(RCTHost *)host
57
+ moduleName:(NSString *)moduleName
58
+ initialProperties:(NSDictionary *)initialProperties
59
+ eventEmitter:(RNNEventEmitter *)eventEmitter
60
+ sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
61
+ reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock {
62
+ RCTFabricSurface *surface = [host createSurfaceWithModuleName:moduleName
63
+ initialProperties:initialProperties];
64
+ [host.surfacePresenter addObserver:self];
65
+ self = [super initWithSurface:surface sizeMeasureMode:sizeMeasureMode];
66
+
34
67
  _reactViewReadyBlock = reactViewReadyBlock;
35
68
  _eventEmitter = eventEmitter;
36
69
 
37
70
  return self;
38
71
  }
72
+ #endif
73
+
74
+ #ifdef RCT_NEW_ARCH_ENABLED
75
+ #pragma mark - RCTSurfaceDelegate
76
+ - (void)surface:(__unused RCTSurface *)surface didChangeStage:(RCTSurfaceStage)stage {
77
+ RCTExecuteOnMainQueue(^{
78
+ [super surface:surface didChangeStage:stage];
79
+ [self reactViewReady];
80
+ });
81
+ }
82
+ #else
39
83
 
40
84
  - (void)contentDidAppear:(NSNotification *)notification {
41
85
  RNNReactView *appearedView = notification.object;
@@ -43,47 +87,107 @@
43
87
  [self reactViewReady];
44
88
  }
45
89
  }
90
+ #endif
46
91
 
47
92
  - (void)reactViewReady {
48
93
  if (_reactViewReadyBlock) {
49
94
  _reactViewReadyBlock();
50
95
  _reactViewReadyBlock = nil;
51
96
  }
97
+ #ifndef RCT_NEW_ARCH_ENABLED
52
98
  [[NSNotificationCenter defaultCenter] removeObserver:self];
99
+ #endif
53
100
  }
54
101
 
55
102
  - (void)componentWillAppear {
56
- if (!_isAppeared) {
103
+ if (!_willAppear) {
57
104
  [_eventEmitter sendComponentWillAppear:self.componentId
58
105
  componentName:self.moduleName
59
106
  componentType:self.componentType];
107
+
108
+ _willAppear = YES;
60
109
  }
61
110
  }
62
111
 
63
112
  - (void)componentDidAppear {
64
- if (!_isAppeared) {
113
+ if (!_isMounted) {
114
+ _pendingDidAppear = YES;
115
+ return;
116
+ }
117
+
118
+ _pendingDidAppear = NO;
119
+ if (!_didAppear) {
65
120
  [_eventEmitter sendComponentDidAppear:self.componentId
66
121
  componentName:self.moduleName
67
122
  componentType:self.componentType];
123
+ _didAppear = YES;
68
124
  }
69
-
70
- _isAppeared = YES;
71
125
  }
72
126
 
73
127
  - (void)componentDidDisappear {
74
- if (_isAppeared) {
75
- [_eventEmitter sendComponentDidDisappear:self.componentId
76
- componentName:self.moduleName
77
- componentType:self.componentType];
128
+ [_eventEmitter sendComponentDidDisappear:self.componentId
129
+ componentName:self.moduleName
130
+ componentType:self.componentType];
131
+ _willAppear = NO;
132
+ _didAppear = NO;
133
+ }
134
+
135
+ #ifdef RCT_NEW_ARCH_ENABLED
136
+
137
+ - (void)didMountComponentsWithRootTag:(NSInteger)rootTag {
138
+ if (self.surface.rootTag == rootTag) {
139
+ _isMounted = YES;
140
+ if (_pendingDidAppear) {
141
+ [self componentDidAppear];
142
+ }
143
+ }
144
+ }
145
+
146
+ - (NSDictionary *)appProperties {
147
+ @synchronized(self) {
148
+ return self.surface.properties;
78
149
  }
150
+ }
151
+
152
+ - (void)setAppProperties:(NSDictionary *)newValue {
153
+ @synchronized(self) {
154
+ self.surface.properties = newValue;
155
+ }
156
+ }
79
157
 
80
- _isAppeared = NO;
158
+ // TODO: Remove delegate in bridgeful
159
+ - (id<RCTSurfaceDelegate>)delegate {
160
+ return self.surface.delegate;
81
161
  }
82
162
 
83
- - (void)invalidate {
84
- [((RCTRootContentView *)self.contentView) invalidate];
163
+ - (void)setDelegate:(id<RCTSurfaceDelegate>)newValue {
164
+ @synchronized(self) {
165
+ self.surface.delegate = newValue;
166
+ }
85
167
  }
86
168
 
169
+ - (NSString *)moduleName {
170
+ return self.surface.moduleName;
171
+ }
172
+
173
+ - (UIView *)view {
174
+ return (UIView *)super.surface.view;
175
+ }
176
+
177
+ - (UIView *)contentView {
178
+ return self;
179
+ }
180
+
181
+ - (RCTRootViewSizeFlexibility)sizeFlexibility {
182
+ return convertToRootViewSizeFlexibility(super.sizeMeasureMode);
183
+ }
184
+
185
+ - (void)setSizeFlexibility:(RCTRootViewSizeFlexibility)sizeFlexibility {
186
+ super.sizeMeasureMode = convertToSurfaceSizeMeasureMode(sizeFlexibility);
187
+ }
188
+
189
+ #endif
190
+
87
191
  - (NSString *)componentId {
88
192
  return self.appProperties[@"componentId"];
89
193
  }
@@ -1,5 +1,6 @@
1
1
  #import "RNNScreenTransition.h"
2
2
  #import "OptionsArrayParser.h"
3
+ #import "RNNUtils.h"
3
4
 
4
5
  @implementation RNNScreenTransition
5
6
 
@@ -10,7 +11,7 @@
10
11
  self.content = [[RNNEnterExitAnimation alloc] initWithDict:dict[@"content"]];
11
12
  self.bottomTabs = [[ElementTransitionOptions alloc] initWithDict:dict[@"bottomTabs"]];
12
13
  self.enable = [BoolParser parse:dict key:@"enabled"];
13
- self.waitForRender = [BoolParser parse:dict key:@"waitForRender"];
14
+ self.waitForRender = [Bool withValue: [[BoolParser parse:dict key:@"waitForRender"] withDefault: [RNNUtils getDefaultWaitForRender]]];
14
15
  self.duration = [TimeIntervalParser parse:dict key:@"duration"];
15
16
  self.sharedElementTransitions = [OptionsArrayParser parse:dict
16
17
  key:@"sharedElementTransitions"
@@ -45,7 +46,7 @@
45
46
  }
46
47
 
47
48
  - (BOOL)shouldWaitForRender {
48
- return [self.waitForRender withDefault:NO] || self.hasCustomAnimation;
49
+ return [self.waitForRender withDefault: [RNNUtils getDefaultWaitForRender]] || self.hasCustomAnimation;
49
50
  }
50
51
 
51
52
  - (NSTimeInterval)maxDuration {
@@ -283,7 +283,7 @@ static NSString *MMDrawerOpenSideKey = @"MMDrawerOpenSide";
283
283
  self.centerViewController = controller;
284
284
  }
285
285
 
286
- if ((openside = [coder decodeIntegerForKey:MMDrawerOpenSideKey])) {
286
+ if ((openside = (MMDrawerSide)[coder decodeIntegerForKey:MMDrawerOpenSideKey])) {
287
287
  [self openDrawerSide:openside animated:false completion:nil];
288
288
  }
289
289
  }
@@ -8,7 +8,7 @@ typedef NS_ENUM(NSInteger, RNNSideMenuChildType) {
8
8
  RNNSideMenuChildTypeRight,
9
9
  };
10
10
 
11
- @interface RNNSideMenuChildVC : UIViewController <RNNLayoutProtocol>
11
+ @interface RNNSideMenuChildViewController : UIViewController <RNNLayoutProtocol>
12
12
 
13
13
  - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
14
14
  creator:(id<RNNComponentViewCreator>)creator
@@ -1,13 +1,14 @@
1
- #import "RNNSideMenuChildVC.h"
1
+ #import "RNNSideMenuChildViewController.h"
2
2
  #import "UIViewController+LayoutProtocol.h"
3
- @interface RNNSideMenuChildVC ()
3
+
4
+ @interface RNNSideMenuChildViewController ()
4
5
 
5
6
  @property(readwrite) RNNSideMenuChildType type;
6
7
  @property(nonatomic, retain) UIViewController<RNNLayoutProtocol> *child;
7
8
 
8
9
  @end
9
10
 
10
- @implementation RNNSideMenuChildVC
11
+ @implementation RNNSideMenuChildViewController
11
12
 
12
13
  - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
13
14
  creator:(id<RNNComponentViewCreator>)creator
@@ -1,5 +1,5 @@
1
1
  #import "RNNSideMenuPresenter.h"
2
- #import "RNNSideMenuController.h"
2
+ #import "RNNSideMenuViewController.h"
3
3
 
4
4
  @implementation RNNSideMenuPresenter
5
5
 
@@ -130,8 +130,8 @@
130
130
  }
131
131
  }
132
132
 
133
- - (RNNSideMenuController *)sideMenuController {
134
- return (RNNSideMenuController *)self.boundViewController;
133
+ - (RNNSideMenuViewController *)sideMenuController {
134
+ return (RNNSideMenuViewController *)self.boundViewController;
135
135
  }
136
136
 
137
137
  @end
@@ -1,10 +1,10 @@
1
1
  #import "MMDrawerController.h"
2
- #import "RNNSideMenuChildVC.h"
2
+ #import "RNNSideMenuChildViewController.h"
3
3
  #import "RNNSideMenuPresenter.h"
4
4
  #import "UIViewController+LayoutProtocol.h"
5
5
  #import <UIKit/UIKit.h>
6
6
 
7
- @interface RNNSideMenuController : MMDrawerController <RNNLayoutProtocol>
7
+ @interface RNNSideMenuViewController : MMDrawerController <RNNLayoutProtocol>
8
8
 
9
9
  - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
10
10
  creator:(id<RNNComponentViewCreator>)creator
@@ -14,9 +14,9 @@
14
14
  presenter:(RNNBasePresenter *)presenter
15
15
  eventEmitter:(RNNEventEmitter *)eventEmitter;
16
16
 
17
- @property(readonly) RNNSideMenuChildVC *center;
18
- @property(readonly) RNNSideMenuChildVC *left;
19
- @property(readonly) RNNSideMenuChildVC *right;
17
+ @property(readonly) RNNSideMenuChildViewController *center;
18
+ @property(readonly) RNNSideMenuChildViewController *left;
19
+ @property(readonly) RNNSideMenuChildViewController *right;
20
20
 
21
21
  - (void)side:(MMDrawerSide)side enabled:(BOOL)enabled;
22
22
  - (void)side:(MMDrawerSide)side visible:(BOOL)visible;
@@ -1,16 +1,16 @@
1
- #import "RNNSideMenuController.h"
1
+ #import "RNNSideMenuViewController.h"
2
2
  #import "MMDrawerVisualState.h"
3
3
 
4
- @interface RNNSideMenuController ()
4
+ @interface RNNSideMenuViewController ()
5
5
 
6
6
  @property(nonatomic, strong) NSArray *childViewControllers;
7
- @property(readwrite) RNNSideMenuChildVC *center;
8
- @property(readwrite) RNNSideMenuChildVC *left;
9
- @property(readwrite) RNNSideMenuChildVC *right;
7
+ @property(readwrite) RNNSideMenuChildViewController *center;
8
+ @property(readwrite) RNNSideMenuChildViewController *left;
9
+ @property(readwrite) RNNSideMenuChildViewController *right;
10
10
 
11
11
  @end
12
12
 
13
- @implementation RNNSideMenuController
13
+ @implementation RNNSideMenuViewController
14
14
 
15
15
  - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
16
16
  creator:(id<RNNComponentViewCreator>)creator
@@ -121,8 +121,8 @@
121
121
  - (void)setChildViewControllers:(NSArray *)childViewControllers {
122
122
  _childViewControllers = childViewControllers;
123
123
  for (id controller in childViewControllers) {
124
- if ([controller isKindOfClass:[RNNSideMenuChildVC class]]) {
125
- RNNSideMenuChildVC *child = (RNNSideMenuChildVC *)controller;
124
+ if ([controller isKindOfClass:[RNNSideMenuChildViewController class]]) {
125
+ RNNSideMenuChildViewController *child = (RNNSideMenuChildViewController *)controller;
126
126
 
127
127
  if (child.type == RNNSideMenuChildTypeCenter) {
128
128
  self.center = child;
@@ -1,7 +1,7 @@
1
1
  #import <Foundation/Foundation.h>
2
2
  #import <UIKit/UIKit.h>
3
3
 
4
- @interface RNNSplashScreen : UIViewController
4
+ @interface RNNSplashScreenViewController : UIViewController
5
5
 
6
6
  + (void)showOnWindow:(UIWindow *)window;
7
7
 
@@ -1,8 +1,8 @@
1
1
 
2
- #import "RNNSplashScreen.h"
2
+ #import "RNNSplashScreenViewController.h"
3
3
  #import <UIKit/UIKit.h>
4
4
 
5
- @implementation RNNSplashScreen
5
+ @implementation RNNSplashScreenViewController
6
6
 
7
7
  + (void)showOnWindow:(UIWindow *)window {
8
8
  CGRect screenBounds = [UIScreen mainScreen].bounds;
@@ -20,7 +20,7 @@
20
20
  bundle:nil];
21
21
  UIViewController *launchVC = [storyboard instantiateInitialViewController];
22
22
 
23
- viewController = [[RNNSplashScreen alloc] init];
23
+ viewController = [[RNNSplashScreenViewController alloc] init];
24
24
  [viewController addChildViewController:launchVC];
25
25
  [viewController.view addSubview:launchVC.view];
26
26
  [launchVC didMoveToParentViewController:viewController];
@@ -31,7 +31,7 @@
31
31
  if (splashView != nil) {
32
32
  splashView.frame =
33
33
  CGRectMake(0, 0, screenBounds.size.width, screenBounds.size.height);
34
- viewController = [[RNNSplashScreen alloc] init];
34
+ viewController = [[RNNSplashScreenViewController alloc] init];
35
35
  viewController.view = splashView;
36
36
  }
37
37
  }
@@ -77,7 +77,7 @@
77
77
  }
78
78
 
79
79
  if (image != nil) {
80
- viewController = [[RNNSplashScreen alloc] init];
80
+ viewController = [[RNNSplashScreenViewController alloc] init];
81
81
  viewController.view = [[UIImageView alloc] initWithImage:image];
82
82
  }
83
83
  }
@@ -1,6 +1,5 @@
1
1
  #import "RNNLayoutProtocol.h"
2
2
  #import "RNNSplitViewControllerPresenter.h"
3
- #import "UISplitViewController+RNNOptions.h"
4
3
  #import <UIKit/UIKit.h>
5
4
 
6
5
  @interface RNNSplitViewController : UISplitViewController <RNNLayoutProtocol>
@@ -6,6 +6,7 @@
6
6
  #import "RNNStackController.h"
7
7
  #import "TopBarPresenterCreator.h"
8
8
  #import "UINavigationController+RNNOptions.h"
9
+ #import "RNNUtils.h"
9
10
 
10
11
  @interface RNNStackPresenter () {
11
12
  RNNReactComponentRegistry *_componentRegistry;
@@ -183,7 +184,7 @@
183
184
  perform:(RNNReactViewReadyCompletionBlock)readyBlock {
184
185
  RNNNavigationOptions *withDefault = [options withDefault:[self defaultOptions]];
185
186
  RNNStackController *stack = self.stackController;
186
- if (![withDefault.topBar.background.component.waitForRender withDefault:NO] && readyBlock) {
187
+ if (![withDefault.topBar.background.component.waitForRender withDefault: [RNNUtils getDefaultWaitForRender]] && readyBlock) {
187
188
  readyBlock();
188
189
  readyBlock = nil;
189
190
  }
@@ -7,7 +7,13 @@
7
7
 
8
8
  typedef void (^RNNButtonPressCallback)(NSString *buttonId);
9
9
 
10
- @interface RNNUIBarButtonItem : UIBarButtonItem <RCTRootViewDelegate>
10
+ @interface RNNUIBarButtonItem : UIBarButtonItem <
11
+ #ifdef RCT_NEW_ARCH_ENABLED
12
+ RCTSurfaceDelegate
13
+ #else
14
+ RCTRootViewDelegate
15
+ #endif
16
+ >
11
17
 
12
18
  @property(nonatomic, strong) NSString *buttonId;
13
19
 
@@ -3,6 +3,10 @@
3
3
  #import "RNNFontAttributesCreator.h"
4
4
  #import "UIImage+utils.h"
5
5
 
6
+ #ifdef RCT_NEW_ARCH_ENABLED
7
+ #import <React/RCTSurface.h>
8
+ #endif
9
+
6
10
  @interface RNNUIBarButtonItem ()
7
11
 
8
12
  @property(nonatomic, strong) NSLayoutConstraint *widthConstraint;
@@ -88,31 +92,6 @@
88
92
  onPress:(RNNButtonPressCallback)onPress {
89
93
  self = [super initWithCustomView:reactView];
90
94
  [self applyOptions:buttonOptions];
91
- reactView.sizeFlexibility = RCTRootViewSizeFlexibilityWidthAndHeight;
92
- reactView.hidden = CGRectEqualToRect(reactView.frame, CGRectZero);
93
-
94
- [NSLayoutConstraint deactivateConstraints:reactView.constraints];
95
- self.widthConstraint =
96
- [NSLayoutConstraint constraintWithItem:reactView
97
- attribute:NSLayoutAttributeWidth
98
- relatedBy:NSLayoutRelationEqual
99
- toItem:nil
100
- attribute:NSLayoutAttributeNotAnAttribute
101
- multiplier:1.0
102
- constant:reactView.intrinsicContentSize.width];
103
- self.heightConstraint =
104
- [NSLayoutConstraint constraintWithItem:reactView
105
- attribute:NSLayoutAttributeHeight
106
- relatedBy:NSLayoutRelationEqual
107
- toItem:nil
108
- attribute:NSLayoutAttributeNotAnAttribute
109
- multiplier:1.0
110
- constant:reactView.intrinsicContentSize.height];
111
- [NSLayoutConstraint activateConstraints:@[ self.widthConstraint, self.heightConstraint ]];
112
- reactView.delegate = self;
113
-
114
- reactView.backgroundColor = [UIColor clearColor];
115
-
116
95
  self.onPress = onPress;
117
96
  return self;
118
97
  }
@@ -213,6 +192,18 @@
213
192
  }
214
193
  }
215
194
 
195
+
196
+ #ifdef RCT_NEW_ARCH_ENABLED
197
+ // TODO: Verify
198
+ - (void)surface:(RCTSurface *)surface didChangeIntrinsicSize:(CGSize)intrinsicSize {
199
+ self.widthConstraint.constant = intrinsicSize.width;
200
+ self.heightConstraint.constant = intrinsicSize.height;
201
+ [surface setSize:intrinsicSize];
202
+ //[rootView setNeedsUpdateConstraints];
203
+ //[rootView updateConstraintsIfNeeded];
204
+ //surface.hidden = NO;
205
+ }
206
+ #else
216
207
  - (void)rootViewDidChangeIntrinsicSize:(RCTRootView *)rootView {
217
208
  self.widthConstraint.constant = rootView.intrinsicContentSize.width;
218
209
  self.heightConstraint.constant = rootView.intrinsicContentSize.height;
@@ -220,6 +211,7 @@
220
211
  [rootView updateConstraintsIfNeeded];
221
212
  rootView.hidden = NO;
222
213
  }
214
+ #endif
223
215
 
224
216
  - (void)onButtonPressed:(RNNUIBarButtonItem *)barButtonItem {
225
217
  self.onPress(self.buttonId);
@@ -9,5 +9,6 @@
9
9
  + (BOOL)getBoolOrKey:(NSDictionary *)dict withKey:(NSString *)key withDefault:(BOOL)defaultResult;
10
10
  + (id)getObjectOrKey:(NSDictionary *)dict withKey:(NSString *)key withDefault:(id)defaultResult;
11
11
  + (NSNumber *)getCurrentTimestamp;
12
+ + (BOOL)getDefaultWaitForRender;
12
13
 
13
14
  @end
@@ -2,6 +2,14 @@
2
2
 
3
3
  @implementation RNNUtils
4
4
 
5
+ + (BOOL)getDefaultWaitForRender {
6
+ #ifdef RCT_NEW_ARCH_ENABLED
7
+ return YES;
8
+ #else
9
+ return NO;
10
+ #endif
11
+ }
12
+
5
13
  + (double)getDoubleOrKey:(NSDictionary *)dict
6
14
  withKey:(NSString *)key
7
15
  withDefault:(double)defaultResult {
@@ -8,7 +8,7 @@
8
8
  #import <Foundation/Foundation.h>
9
9
  #import <UIKit/UIKit.h>
10
10
 
11
- @interface RNNControllerFactory : NSObject
11
+ @interface RNNViewControllerFactory : NSObject
12
12
 
13
13
  - (instancetype)initWithRootViewCreator:(id<RNNComponentViewCreator>)creator
14
14
  eventEmitter:(RNNEventEmitter *)eventEmitter
@@ -17,6 +17,15 @@
17
17
  andBridge:(RCTBridge *)bridge
18
18
  bottomTabsAttachModeFactory:(BottomTabsAttachModeFactory *)bottomTabsAttachModeFactory;
19
19
 
20
+ #ifdef RCT_NEW_ARCH_ENABLED
21
+ - (instancetype)initWithRootViewCreator:(id<RNNComponentViewCreator>)creator
22
+ eventEmitter:(RNNEventEmitter *)eventEmitter
23
+ store:(RNNExternalComponentStore *)store
24
+ componentRegistry:(RNNReactComponentRegistry *)componentRegistry
25
+ andHost:(RCTHost *)host
26
+ bottomTabsAttachModeFactory:(BottomTabsAttachModeFactory *)bottomTabsAttachModeFactory;
27
+ #endif
28
+
20
29
  - (UIViewController *)createLayout:(NSDictionary *)layout;
21
30
 
22
31
  - (NSArray *)createChildrenLayout:(NSArray *)children;
@@ -1,18 +1,22 @@
1
- #import "RNNControllerFactory.h"
1
+ #import "RNNViewControllerFactory.h"
2
2
  #import "BottomTabPresenterCreator.h"
3
3
  #import "BottomTabsPresenterCreator.h"
4
4
  #import "RNNBottomTabsController.h"
5
5
  #import "RNNComponentViewController.h"
6
6
  #import "RNNExternalViewController.h"
7
- #import "RNNSideMenuController.h"
7
+ #import "RNNSideMenuViewController.h"
8
+ #import "RNNSideMenuChildViewController.h"
8
9
  #import "RNNSplitViewController.h"
9
10
  #import "RNNStackController.h"
10
11
  #import "RNNTopTabsViewController.h"
11
12
 
12
- @implementation RNNControllerFactory {
13
+ @implementation RNNViewControllerFactory {
13
14
  id<RNNComponentViewCreator> _creator;
14
15
  RNNExternalComponentStore *_store;
15
16
  RCTBridge *_bridge;
17
+ #ifdef RCT_NEW_ARCH_ENABLED
18
+ RCTHost *_host;
19
+ #endif
16
20
  RNNReactComponentRegistry *_componentRegistry;
17
21
  BottomTabsAttachModeFactory *_bottomTabsAttachModeFactory;
18
22
  }
@@ -38,6 +42,27 @@
38
42
  return self;
39
43
  }
40
44
 
45
+ #ifdef RCT_NEW_ARCH_ENABLED
46
+ - (instancetype)initWithRootViewCreator:(id<RNNComponentViewCreator>)creator
47
+ eventEmitter:(RNNEventEmitter *)eventEmitter
48
+ store:(RNNExternalComponentStore *)store
49
+ componentRegistry:(RNNReactComponentRegistry *)componentRegistry
50
+ andHost:(RCTHost *)host
51
+ bottomTabsAttachModeFactory:(BottomTabsAttachModeFactory *)bottomTabsAttachModeFactory {
52
+
53
+ self = [super init];
54
+
55
+ _creator = creator;
56
+ _eventEmitter = eventEmitter;
57
+ _host = host;
58
+ _store = store;
59
+ _componentRegistry = componentRegistry;
60
+ _bottomTabsAttachModeFactory = bottomTabsAttachModeFactory;
61
+
62
+ return self;
63
+ }
64
+ #endif
65
+
41
66
  - (void)setDefaultOptions:(RNNNavigationOptions *)defaultOptions {
42
67
  _defaultOptions = defaultOptions;
43
68
  _bottomTabsAttachModeFactory.defaultOptions = defaultOptions;
@@ -149,7 +174,12 @@
149
174
  defaultOptions:_defaultOptions
150
175
  buttonsPresenter:buttonsPresenter];
151
176
 
152
- UIViewController *externalVC = [_store getExternalComponent:layoutInfo bridge:_bridge];
177
+ UIViewController *externalVC =
178
+ #ifdef RCT_NEW_ARCH_ENABLED
179
+ [_store getExternalHostComponent:layoutInfo host:_host];
180
+ #else
181
+ [_store getExternalComponent:layoutInfo bridge:_bridge];
182
+ #endif
153
183
 
154
184
  RNNExternalViewController *component =
155
185
  [[RNNExternalViewController alloc] initWithLayoutInfo:layoutInfo
@@ -238,8 +268,8 @@
238
268
 
239
269
  NSArray *childViewControllers = [self extractChildrenViewControllersFromNode:node];
240
270
 
241
- RNNSideMenuController *sideMenu =
242
- [[RNNSideMenuController alloc] initWithLayoutInfo:layoutInfo
271
+ RNNSideMenuViewController *sideMenu =
272
+ [[RNNSideMenuViewController alloc] initWithLayoutInfo:layoutInfo
243
273
  creator:_creator
244
274
  childViewControllers:childViewControllers
245
275
  options:options
@@ -256,7 +286,7 @@
256
286
  RNNNavigationOptions *options =
257
287
  [[RNNNavigationOptions alloc] initWithDict:node.data[@"options"]];
258
288
 
259
- RNNSideMenuChildVC *sideMenuChild = [[RNNSideMenuChildVC alloc]
289
+ RNNSideMenuChildViewController *sideMenuChild = [[RNNSideMenuChildViewController alloc]
260
290
  initWithLayoutInfo:layoutInfo
261
291
  creator:_creator
262
292
  options:options