react-native-navigation 8.0.0 → 8.1.0-alpha

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  @interface RNNCustomTitleView ()
4
4
 
5
- @property(nonatomic, strong) RCTRootView *subView;
5
+ @property(nonatomic, strong) RNNReactView *subView;
6
6
  @property(nonatomic, strong) NSString *alignment;
7
7
 
8
8
  @end
@@ -10,7 +10,7 @@
10
10
  @implementation RNNCustomTitleView
11
11
 
12
12
  - (instancetype)initWithFrame:(CGRect)frame
13
- subView:(RCTRootView *)subView
13
+ subView:(RNNReactView *)subView
14
14
  alignment:(NSString *)alignment {
15
15
  self = [super init];
16
16
 
@@ -53,6 +53,11 @@
53
53
  return _alignment ? _alignment : @"center";
54
54
  }
55
55
 
56
+ #ifdef RCT_NEW_ARCH_ENABLED
57
+ - (void)surface:(RCTSurface *)surface didChangeIntrinsicSize:(CGSize)intrinsicSize {
58
+ // TODO: FILL WITH DATA
59
+ }
60
+ #else
56
61
  - (void)rootViewDidChangeIntrinsicSize:(RCTRootView *)rootView {
57
62
  if ([self.alignment isEqualToString:@"center"]) {
58
63
  [self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y,
@@ -62,5 +67,6 @@
62
67
  rootView.intrinsicContentSize.height)];
63
68
  }
64
69
  }
70
+ #endif
65
71
 
66
72
  @end
@@ -11,7 +11,7 @@
11
11
 
12
12
  - (void)bottomTabsDidLayoutSubviews:(UITabBarController *)bottomTabs;
13
13
 
14
- - (void)mergeOptions:(NSDictionary *)options
14
+ - (void)mergeOptions:(RNNNavigationOptions *)options
15
15
  resolvedOptions:(RNNNavigationOptions *)resolvedOptions
16
16
  child:(UIViewController *)child;
17
17
 
@@ -1,5 +1,7 @@
1
1
  #import <Foundation/Foundation.h>
2
2
 
3
+ @class RNNReactView;
4
+
3
5
  @interface RNNElementFinder : NSObject
4
6
 
5
7
  + (UIView *)findElementForId:(NSString *)elementId inView:(UIView *)view;
@@ -0,0 +1,44 @@
1
+ #import "RNNElementFinder.h"
2
+ #import "RNNReactView.h"
3
+ #import <React/RCTSurfaceView.h>
4
+ #import <React/RCTUIManager.h>
5
+ #import <React/RCTRootView.h>
6
+ #import <React/RCTUIManager.h>
7
+
8
+ #ifdef RCT_NEW_ARCH_ENABLED
9
+ #import <React/RCTViewComponentView.h>
10
+ #endif
11
+
12
+ @implementation RNNElementFinder
13
+
14
+ // TODO: Low performant search, improve later with using UIManager (investigate how to get it with Fabric)
15
+ #ifdef RCT_NEW_ARCH_ENABLED
16
+ + (UIView *)findElementForId:(NSString *)elementId inView:(UIView *)view {
17
+ auto nativeId = view.nativeID;
18
+ auto casted = (RCTViewComponentView *)view;
19
+
20
+ if (!nativeId && [casted respondsToSelector:@selector(nativeId)]) {
21
+ nativeId = casted.nativeId;
22
+ }
23
+
24
+ if ([elementId isEqualToString:nativeId]) {
25
+ return view;
26
+ }
27
+
28
+ if (view.subviews.count > 0) {
29
+ for (UIView* subview in view.subviews) {
30
+ UIView* found = [RNNElementFinder findElementForId:elementId inView:subview];
31
+
32
+ if (found != nil) return found;
33
+ }
34
+ }
35
+
36
+ return nil;
37
+ #else
38
+ + (UIView *)findElementForId:(NSString *)elementId inView:(RCTRootView *)view {
39
+ UIView *subView = [view.bridge.uiManager viewForNativeID:elementId withRootTag:view.reactTag];
40
+ return subView;
41
+ #endif
42
+ }
43
+
44
+ @end
@@ -1,8 +1,7 @@
1
1
  #import <Foundation/Foundation.h>
2
- #import <React/RCTBridgeModule.h>
3
2
  #import <React/RCTEventEmitter.h>
4
3
 
5
- @interface RNNEventEmitter : RCTEventEmitter <RCTBridgeModule>
4
+ @interface RNNEventEmitter : RCTEventEmitter
6
5
 
7
6
  - (void)sendOnAppLaunched;
8
7
 
@@ -2,12 +2,11 @@
2
2
  #import "RNNUtils.h"
3
3
 
4
4
  @implementation RNNEventEmitter {
5
+ RCTEventEmitter *_emitter;
5
6
  NSInteger _appLaunchedListenerCount;
6
7
  BOOL _appLaunchedEventDeferred;
7
8
  }
8
9
 
9
- RCT_EXPORT_MODULE();
10
-
11
10
  static NSString *const AppLaunched = @"RNN.AppLaunched";
12
11
  static NSString *const CommandCompleted = @"RNN.CommandCompleted";
13
12
  static NSString *const BottomTabSelected = @"RNN.BottomTabSelected";
@@ -155,9 +154,6 @@ static NSString *const BottomTabPressed = @"RNN.BottomTabPressed";
155
154
  #pragma mark private
156
155
 
157
156
  - (void)send:(NSString *)eventName body:(id)body {
158
- if (self.bridge == nil) {
159
- return;
160
- }
161
157
  [self sendEventWithName:eventName body:body];
162
158
  }
163
159
 
@@ -9,4 +9,9 @@
9
9
  - (void)registerExternalComponent:(NSString *)name callback:(RNNExternalViewCreator)callback;
10
10
  - (UIViewController *)getExternalComponent:(RNNLayoutInfo *)layoutInfo bridge:(RCTBridge *)bridge;
11
11
 
12
+ #ifdef RCT_NEW_ARCH_ENABLED
13
+ - (void)registerExternalHostComponent:(NSString *)name callback:(RNNExternalHostViewCreator)callback;
14
+ - (UIViewController *)getExternalHostComponent:(RNNLayoutInfo *)layoutInfo host:(RCTHost *)host;
15
+ #endif
16
+
12
17
  @end
@@ -23,4 +23,16 @@
23
23
  return creator(layoutInfo.props, bridge);
24
24
  }
25
25
 
26
+
27
+ #ifdef RCT_NEW_ARCH_ENABLED
28
+ - (void)registerExternalHostComponent:(NSString *)name callback:(RNNExternalHostViewCreator)callback {
29
+ [_externalComponentCreators setObject:[callback copy] forKey:name];
30
+ }
31
+
32
+ - (UIViewController *)getExternalHostComponent:(RNNLayoutInfo *)layoutInfo host:(RCTHost *)host {
33
+ RNNExternalHostViewCreator creator = [_externalComponentCreators objectForKey:layoutInfo.name];
34
+ return creator(layoutInfo.props, host);
35
+ }
36
+ #endif
37
+
26
38
  @end
@@ -39,7 +39,7 @@
39
39
  style:nil
40
40
  variant:nil
41
41
  scaleMultiplier:1.0];
42
- NSMutableParagraphStyle *paragraphStyle = NSMutableParagraphStyle.new;
42
+ NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
43
43
  if (centered)
44
44
  paragraphStyle.alignment = NSTextAlignmentCenter;
45
45
 
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  - (RNNIconBackgroundOptions *)copyWithZone:(NSZone *)zone {
40
- RNNIconBackgroundOptions *newOptions = RNNIconBackgroundOptions.new;
40
+ RNNIconBackgroundOptions *newOptions = [RNNIconBackgroundOptions new];
41
41
  newOptions.color = self.color.copy;
42
42
  newOptions.disabledColor = self.disabledColor.copy;
43
43
  newOptions.cornerRadius = self.cornerRadius.copy;
@@ -14,7 +14,7 @@
14
14
  }
15
15
 
16
16
  - (id)copyWithZone:(NSZone *)zone {
17
- RNNInsetsOptions *newOptions = RNNInsetsOptions.new;
17
+ RNNInsetsOptions *newOptions = [RNNInsetsOptions new];
18
18
  newOptions.top = self.top.copy;
19
19
  newOptions.left = self.left.copy;
20
20
  newOptions.bottom = self.bottom.copy;
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  + (RNNInsetsOptions *)withValue:(UIEdgeInsets)insets {
37
- RNNInsetsOptions *insetsOptions = RNNInsetsOptions.new;
37
+ RNNInsetsOptions *insetsOptions = [RNNInsetsOptions new];
38
38
  insetsOptions.top = [Double withValue:insets.top];
39
39
  insetsOptions.left = [Double withValue:insets.left];
40
40
  insetsOptions.bottom = [Double withValue:insets.bottom];
@@ -3,6 +3,7 @@
3
3
  #import <React/RCTBridge.h>
4
4
  #import <UIKit/UIKit.h>
5
5
 
6
+ @class RCTHost;
6
7
  typedef void (^RNNTransitionCompletionBlock)(void);
7
8
  typedef void (^RNNTransitionWithComponentIdCompletionBlock)(NSString *_Nonnull componentId);
8
9
  typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_Nonnull message,
@@ -13,6 +14,11 @@ typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_
13
14
  - (instancetype _Nonnull)initWithBridge:(RCTBridge *_Nonnull)bridge
14
15
  eventHandler:(RNNModalManagerEventHandler *_Nonnull)eventHandler;
15
16
 
17
+ #ifdef RCT_NEW_ARCH_ENABLED
18
+ - (instancetype _Nonnull)initWithHost:(RCTHost *_Nonnull)host
19
+ eventHandler:(RNNModalManagerEventHandler *_Nonnull)eventHandler;
20
+ #endif
21
+
16
22
  - (void)showModal:(UIViewController *_Nonnull)viewController
17
23
  animated:(BOOL)animated
18
24
  completion:(RNNTransitionWithComponentIdCompletionBlock _Nullable)completion;
@@ -14,6 +14,9 @@
14
14
  NSMutableArray *_pendingModalIdsToDismiss;
15
15
  NSMutableArray *_presentedModals;
16
16
  RCTBridge *_bridge;
17
+ #ifdef RCT_NEW_ARCH_ENABLED
18
+ RCTHost *_host;
19
+ #endif
17
20
  RNNModalManagerEventHandler *_eventHandler;
18
21
  }
19
22
 
@@ -32,6 +35,16 @@
32
35
  return self;
33
36
  }
34
37
 
38
+ #ifdef RCT_NEW_ARCH_ENABLED
39
+ - (instancetype _Nonnull)initWithHost:(RCTHost *_Nonnull)host
40
+ eventHandler:(RNNModalManagerEventHandler *_Nonnull)eventHandler {
41
+ self = [self init];
42
+ _host = host;
43
+ _eventHandler = eventHandler;
44
+ return self;
45
+ }
46
+ #endif
47
+
35
48
  - (void)showModal:(UIViewController<RNNLayoutProtocol> *)viewController
36
49
  animated:(BOOL)animated
37
50
  completion:(RNNTransitionWithComponentIdCompletionBlock)completion {
@@ -50,13 +63,31 @@
50
63
  if (viewController.resolveOptionsWithDefault.animations.showModal.hasAnimation) {
51
64
  RNNEnterExitAnimation *enterExitAnimationOptions =
52
65
  viewController.resolveOptionsWithDefault.animations.showModal;
66
+ #ifdef RCT_NEW_ARCH_ENABLED
67
+ if (_host != nil) {
68
+ _showModalTransitionDelegate = [[ScreenAnimationController alloc]
69
+ initWithContentTransition:enterExitAnimationOptions
70
+ elementTransitions:enterExitAnimationOptions.elementTransitions
71
+ sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
72
+ duration:enterExitAnimationOptions.maxDuration
73
+ host:_host];
74
+ } else {
75
+ _showModalTransitionDelegate = [[ScreenAnimationController alloc]
76
+ initWithContentTransition:enterExitAnimationOptions
77
+ elementTransitions:enterExitAnimationOptions.elementTransitions
78
+ sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
79
+ duration:enterExitAnimationOptions.maxDuration
80
+ bridge:_bridge];
81
+ }
82
+ #else
53
83
  _showModalTransitionDelegate = [[ScreenAnimationController alloc]
54
84
  initWithContentTransition:enterExitAnimationOptions
55
85
  elementTransitions:enterExitAnimationOptions.elementTransitions
56
86
  sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
57
87
  duration:enterExitAnimationOptions.maxDuration
58
88
  bridge:_bridge];
59
-
89
+ #endif
90
+
60
91
  viewController.transitioningDelegate = _showModalTransitionDelegate;
61
92
  }
62
93
 
@@ -86,13 +117,31 @@
86
117
  RNNEnterExitAnimation *dismissModalOptions =
87
118
  root.presentedViewController.resolveOptionsWithDefault.animations.dismissModal;
88
119
  if (dismissModalOptions.hasAnimation) {
120
+ #ifdef RCT_NEW_ARCH_ENABLED
121
+ if (_host != nil) {
122
+ _dismissModalTransitionDelegate = [[ScreenAnimationController alloc]
123
+ initWithContentTransition:dismissModalOptions
124
+ elementTransitions:dismissModalOptions.elementTransitions
125
+ sharedElementTransitions:dismissModalOptions.sharedElementTransitions
126
+ duration:dismissModalOptions.maxDuration
127
+ host:_host];
128
+ } else {
129
+ _dismissModalTransitionDelegate = [[ScreenAnimationController alloc]
130
+ initWithContentTransition:dismissModalOptions
131
+ elementTransitions:dismissModalOptions.elementTransitions
132
+ sharedElementTransitions:dismissModalOptions.sharedElementTransitions
133
+ duration:dismissModalOptions.maxDuration
134
+ bridge:_bridge];
135
+
136
+ }
137
+ #else
89
138
  _dismissModalTransitionDelegate = [[ScreenAnimationController alloc]
90
139
  initWithContentTransition:dismissModalOptions
91
140
  elementTransitions:dismissModalOptions.elementTransitions
92
141
  sharedElementTransitions:dismissModalOptions.sharedElementTransitions
93
142
  duration:dismissModalOptions.maxDuration
94
143
  bridge:_bridge];
95
-
144
+ #endif
96
145
  root.presentedViewController.transitioningDelegate = _dismissModalTransitionDelegate;
97
146
  }
98
147
 
@@ -125,12 +174,32 @@
125
174
  if (optionsWithDefault.animations.dismissModal.hasAnimation) {
126
175
  RNNEnterExitAnimation *enterExitAnimationOptions =
127
176
  modalToDismiss.resolveOptionsWithDefault.animations.dismissModal;
177
+
178
+ #ifdef RCT_NEW_ARCH_ENABLED
179
+ if (_host != nil) {
180
+ _dismissModalTransitionDelegate = [[ScreenReversedAnimationController alloc]
181
+ initWithContentTransition:enterExitAnimationOptions
182
+ elementTransitions:enterExitAnimationOptions.elementTransitions
183
+ sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
184
+ duration:enterExitAnimationOptions.maxDuration
185
+ host:_host];
186
+ } else {
187
+ _dismissModalTransitionDelegate = [[ScreenReversedAnimationController alloc]
188
+ initWithContentTransition:enterExitAnimationOptions
189
+ elementTransitions:enterExitAnimationOptions.elementTransitions
190
+ sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
191
+ duration:enterExitAnimationOptions.maxDuration
192
+ bridge:_bridge];
193
+
194
+ }
195
+ #else
128
196
  _dismissModalTransitionDelegate = [[ScreenReversedAnimationController alloc]
129
197
  initWithContentTransition:enterExitAnimationOptions
130
198
  elementTransitions:enterExitAnimationOptions.elementTransitions
131
199
  sharedElementTransitions:enterExitAnimationOptions.sharedElementTransitions
132
200
  duration:enterExitAnimationOptions.maxDuration
133
201
  bridge:_bridge];
202
+ #endif
134
203
 
135
204
  [self topViewControllerParent:modalToDismiss].transitioningDelegate =
136
205
  _dismissModalTransitionDelegate;
@@ -1,7 +1,7 @@
1
1
  #import "RNNNavigationOptions.h"
2
2
  #import "RNNBottomTabsController.h"
3
3
  #import "RNNComponentViewController.h"
4
- #import "RNNSideMenuController.h"
4
+ #import "RNNSideMenuViewController.h"
5
5
  #import "RNNSplitViewController.h"
6
6
  #import "RNNSplitViewOptions.h"
7
7
  #import "RNNStackController.h"
@@ -29,7 +29,7 @@
29
29
  [self animateElement:self.screenTransition.topBar
30
30
  view:toViewController.navigationController.navigationBar
31
31
  elementName:@"topBar"];
32
- [self animateElement:self.screenTransition.content
32
+ [self animateElement:(ElementTransitionOptions *)self.screenTransition.content
33
33
  view:toViewController.view
34
34
  elementName:@"content"];
35
35
  [self animateElement:self.screenTransition.bottomTabs
@@ -1,4 +1,8 @@
1
1
  #import "RNNComponentView.h"
2
+ #import <React-RuntimeApple/ReactCommon/RCTHost.h>
3
+ #import <React/RCTSurfacePresenterStub.h>
4
+ #import <React/RCTFabricSurface.h>
5
+ #import <React/RCTSurfacePresenter.h>
2
6
 
3
7
  @interface RNNReactButtonView : RNNComponentView
4
8
 
@@ -0,0 +1,29 @@
1
+ #import "RNNReactButtonView.h"
2
+
3
+ @implementation RNNReactButtonView
4
+
5
+ - (instancetype)initWithHost:(RCTHost *)host
6
+ moduleName:(NSString *)moduleName
7
+ initialProperties:(NSDictionary *)initialProperties
8
+ eventEmitter:(RNNEventEmitter *)eventEmitter
9
+ sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
10
+ reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock {
11
+ self = [super initWithHost:host moduleName:moduleName initialProperties:initialProperties eventEmitter:eventEmitter sizeMeasureMode:convertToSurfaceSizeMeasureMode(RCTRootViewSizeFlexibilityWidthAndHeight) reactViewReadyBlock:reactViewReadyBlock];
12
+ [host.surfacePresenter addObserver:self];
13
+ self.backgroundColor = UIColor.clearColor;
14
+
15
+ return self;
16
+ }
17
+
18
+ - (void)didMountComponentsWithRootTag:(NSInteger)rootTag {
19
+ if (self.surface.rootTag == rootTag) {
20
+ [super didMountComponentsWithRootTag:rootTag];
21
+ [self sizeToFit];
22
+ }
23
+ }
24
+
25
+ - (NSString *)componentType {
26
+ return ComponentTypeButton;
27
+ }
28
+
29
+ @end
@@ -7,4 +7,8 @@
7
7
 
8
8
  - (instancetype)initWithBridge:(RCTBridge *)bridge eventEmitter:(RNNEventEmitter *)eventEmitter;
9
9
 
10
+ #ifdef RCT_NEW_ARCH_ENABLED
11
+ - (instancetype)initWithHost:(RCTHost *)host eventEmitter:(RNNEventEmitter *)eventEmitter;
12
+ #endif
13
+
10
14
  @end
@@ -6,6 +6,9 @@
6
6
 
7
7
  @implementation RNNReactRootViewCreator {
8
8
  RCTBridge *_bridge;
9
+ #ifdef RCT_NEW_ARCH_ENABLED
10
+ RCTHost *_host;
11
+ #endif
9
12
  RNNEventEmitter *_eventEmitter;
10
13
  }
11
14
 
@@ -16,20 +19,40 @@
16
19
  return self;
17
20
  }
18
21
 
22
+ #ifdef RCT_NEW_ARCH_ENABLED
23
+ - (instancetype)initWithHost:(RCTHost *)host eventEmitter:(RNNEventEmitter *)eventEmitter {
24
+ self = [super init];
25
+ _host = host;
26
+ _eventEmitter = eventEmitter;
27
+ return self;
28
+ }
29
+ #endif
30
+
19
31
  - (RNNReactView *)createRootView:(NSString *)name
20
32
  rootViewId:(NSString *)rootViewId
21
33
  ofType:(RNNComponentType)componentType
22
34
  reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock {
23
35
  [self verifyRootViewId:rootViewId];
24
36
  #ifdef RCT_NEW_ARCH_ENABLED
25
- return [[[self resolveComponentViewClass:componentType] alloc]
26
- initWithBridge:_bridge
27
- moduleName:name
28
- initialProperties:@{@"componentId" : rootViewId}
29
- eventEmitter:_eventEmitter
30
- sizeMeasureMode:RCTSurfaceSizeMeasureModeWidthExact |
31
- RCTSurfaceSizeMeasureModeHeightExact
32
- reactViewReadyBlock:reactViewReadyBlock];
37
+ if (_host != nil) {
38
+ return [[[self resolveComponentViewClass:componentType] alloc]
39
+ initWithHost:_host
40
+ moduleName:name
41
+ initialProperties:@{@"componentId" : rootViewId}
42
+ eventEmitter:_eventEmitter
43
+ sizeMeasureMode:RCTSurfaceSizeMeasureModeWidthExact |
44
+ RCTSurfaceSizeMeasureModeHeightExact
45
+ reactViewReadyBlock:reactViewReadyBlock];
46
+ } else {
47
+ return [[[self resolveComponentViewClass:componentType] alloc]
48
+ initWithBridge:_bridge
49
+ moduleName:name
50
+ initialProperties:@{@"componentId" : rootViewId}
51
+ eventEmitter:_eventEmitter
52
+ sizeMeasureMode:RCTSurfaceSizeMeasureModeWidthExact |
53
+ RCTSurfaceSizeMeasureModeHeightExact
54
+ reactViewReadyBlock:reactViewReadyBlock];
55
+ }
33
56
  #else
34
57
  return [[[self resolveComponentViewClass:componentType] alloc]
35
58
  initWithBridge:_bridge
@@ -1,5 +1,6 @@
1
1
  #ifdef RCT_NEW_ARCH_ENABLED
2
2
  #import <React/RCTSurfaceHostingProxyRootView.h>
3
+ #import <React/RCTSurfacePresenterStub.h>
3
4
  #else
4
5
  #import <React/RCTRootView.h>
5
6
  #endif
@@ -14,7 +15,40 @@
14
15
  #define ComponentTypeButton @"TopBarButton"
15
16
  #define ComponentTypeBackground @"TopBarBackground"
16
17
 
18
+ #ifdef RCT_NEW_ARCH_ENABLED
19
+ static RCTSurfaceSizeMeasureMode convertToSurfaceSizeMeasureMode(RCTRootViewSizeFlexibility sizeFlexibility)
20
+ {
21
+ switch (sizeFlexibility) {
22
+ case RCTRootViewSizeFlexibilityWidthAndHeight:
23
+ return RCTSurfaceSizeMeasureModeWidthUndefined | RCTSurfaceSizeMeasureModeHeightUndefined;
24
+ case RCTRootViewSizeFlexibilityWidth:
25
+ return RCTSurfaceSizeMeasureModeWidthUndefined | RCTSurfaceSizeMeasureModeHeightExact;
26
+ case RCTRootViewSizeFlexibilityHeight:
27
+ return RCTSurfaceSizeMeasureModeWidthExact | RCTSurfaceSizeMeasureModeHeightUndefined;
28
+ case RCTRootViewSizeFlexibilityNone:
29
+ return RCTSurfaceSizeMeasureModeWidthExact | RCTSurfaceSizeMeasureModeHeightExact;
30
+ }
31
+ }
32
+
33
+ static RCTRootViewSizeFlexibility convertToRootViewSizeFlexibility(RCTSurfaceSizeMeasureMode sizeMeasureMode)
34
+ {
35
+ switch (sizeMeasureMode) {
36
+ case RCTSurfaceSizeMeasureModeWidthUndefined | RCTSurfaceSizeMeasureModeHeightUndefined:
37
+ return RCTRootViewSizeFlexibilityWidthAndHeight;
38
+ case RCTSurfaceSizeMeasureModeWidthUndefined | RCTSurfaceSizeMeasureModeHeightExact:
39
+ return RCTRootViewSizeFlexibilityWidth;
40
+ case RCTSurfaceSizeMeasureModeWidthExact | RCTSurfaceSizeMeasureModeHeightUndefined:
41
+ return RCTRootViewSizeFlexibilityHeight;
42
+ case RCTSurfaceSizeMeasureModeWidthExact | RCTSurfaceSizeMeasureModeHeightExact:
43
+ default:
44
+ return RCTRootViewSizeFlexibilityNone;
45
+ }
46
+ }
47
+
48
+ #endif
49
+
17
50
  typedef void (^RNNReactViewReadyCompletionBlock)(void);
51
+ @class RCTHost;
18
52
 
19
53
  @protocol RNNComponentProtocol <NSObject>
20
54
 
@@ -32,29 +66,47 @@ typedef void (^RNNReactViewReadyCompletionBlock)(void);
32
66
 
33
67
  #ifdef RCT_NEW_ARCH_ENABLED
34
68
  @interface RNNReactView
35
- : RCTSurfaceHostingProxyRootView <RCTRootViewDelegate, RNNComponentProtocol>
69
+ : RCTSurfaceHostingView <RNNComponentProtocol, RCTSurfaceDelegate, RCTSurfacePresenterObserver>
36
70
  #else
37
71
  @interface RNNReactView : RCTRootView <RCTRootViewDelegate, RNNComponentProtocol>
38
72
  #endif
39
73
 
40
74
  #ifdef RCT_NEW_ARCH_ENABLED
41
75
  - (instancetype)initWithBridge:(RCTBridge *)bridge
42
- moduleName:(NSString *)moduleName
43
- initialProperties:(NSDictionary *)initialProperties
44
- eventEmitter:(RNNEventEmitter *)eventEmitter
45
- sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
46
- reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock;
76
+ moduleName:(NSString *)moduleName
77
+ initialProperties:(NSDictionary *)initialProperties
78
+ eventEmitter:(RNNEventEmitter *)eventEmitter
79
+ sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
80
+ reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock;
47
81
  #else
48
82
  - (instancetype)initWithBridge:(RCTBridge *)bridge
49
- moduleName:(NSString *)moduleName
50
- initialProperties:(NSDictionary *)initialProperties
51
- eventEmitter:(RNNEventEmitter *)eventEmitter
52
- reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock;
83
+ moduleName:(NSString *)moduleName
84
+ initialProperties:(NSDictionary *)initialProperties
85
+ eventEmitter:(RNNEventEmitter *)eventEmitter
86
+ reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock;
87
+ #endif
88
+
89
+ #pragma mark - Bridgeless
90
+
91
+ #ifdef RCT_NEW_ARCH_ENABLED
92
+ - (instancetype)initWithHost:(RCTHost *)host
93
+ moduleName:(NSString *)moduleName
94
+ initialProperties:(NSDictionary *)initialProperties
95
+ eventEmitter:(RNNEventEmitter *)eventEmitter
96
+ sizeMeasureMode:(RCTSurfaceSizeMeasureMode)sizeMeasureMode
97
+ reactViewReadyBlock:(RNNReactViewReadyCompletionBlock)reactViewReadyBlock;
98
+
99
+ @property (atomic, readonly) NSString *moduleName;
100
+ @property (atomic, copy, readwrite) NSDictionary *properties;
101
+ @property (nonatomic, strong, readonly) UIView *view;
102
+ @property (nonatomic, strong, readonly) UIView *contentView;
103
+ @property (nonatomic, assign) RCTRootViewSizeFlexibility sizeFlexibility;
104
+ @property (atomic, readwrite, weak, nullable) id<RCTSurfaceDelegate> delegate;
105
+ @property (nonatomic, assign) BOOL passThroughTouches;
106
+
53
107
  #endif
54
108
 
55
109
  @property(nonatomic, copy) RNNReactViewReadyCompletionBlock reactViewReadyBlock;
56
110
  @property(nonatomic, strong) RNNEventEmitter *eventEmitter;
57
111
 
58
- - (void)invalidate;
59
-
60
112
  @end