react-native 0.71.6 → 0.72.0-rc.1

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 (1274) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.d.ts +4 -4
  4. package/Libraries/Animated/Animated.d.ts +17 -6
  5. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  6. package/Libraries/Animated/bezier.js +1 -1
  7. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  8. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  9. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  10. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  11. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  13. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  14. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  18. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  19. package/Libraries/Animated/useAnimatedProps.js +7 -10
  20. package/Libraries/AppDelegate/RCTAppDelegate.h +1 -8
  21. package/Libraries/AppDelegate/RCTAppDelegate.mm +49 -25
  22. package/{React/AppSetup → Libraries/AppDelegate}/RCTAppSetupUtils.h +7 -1
  23. package/{React/AppSetup → Libraries/AppDelegate}/RCTAppSetupUtils.mm +16 -9
  24. package/{React/Base/RCTWeakProxy.h → Libraries/AppDelegate/RCTLegacyInteropComponents.h} +5 -3
  25. package/{React/Views/RCTSliderManager.h → Libraries/AppDelegate/RCTLegacyInteropComponents.mm} +7 -2
  26. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +26 -5
  27. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  28. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  30. package/Libraries/Blob/Blob.js +4 -0
  31. package/Libraries/Blob/FileReader.js +30 -2
  32. package/Libraries/Blob/React-RCTBlob.podspec +15 -2
  33. package/Libraries/Blob/URL.js +3 -1
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  37. package/Libraries/Components/Button.js +3 -2
  38. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  40. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  41. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  42. package/Libraries/Components/Pressable/Pressable.js +1 -1
  43. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  49. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  50. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  51. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  52. package/Libraries/Components/Switch/Switch.js +3 -1
  53. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  54. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  55. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  56. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  57. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  58. package/Libraries/Components/TextInput/TextInput.js +130 -103
  59. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  60. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  61. package/Libraries/Components/Touchable/Touchable.js +6 -3
  62. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  63. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  64. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  65. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  66. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  67. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  68. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  69. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  70. package/Libraries/Components/View/View.js +35 -16
  71. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  72. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  73. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  74. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  75. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  76. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  77. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  78. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  79. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  80. package/Libraries/Core/ExceptionsManager.js +2 -2
  81. package/Libraries/Core/InitializeCore.js +2 -1
  82. package/Libraries/Core/ReactNativeVersion.js +3 -3
  83. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  84. package/Libraries/Core/Timers/JSTimers.js +1 -1
  85. package/Libraries/Core/Timers/immediateShim.js +1 -0
  86. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  87. package/Libraries/Core/setUpAlert.js +1 -1
  88. package/Libraries/Core/setUpDOM.js +18 -0
  89. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  90. package/Libraries/Core/setUpGlobals.js +5 -2
  91. package/Libraries/Core/setUpNavigator.js +6 -5
  92. package/Libraries/Core/setUpPerformance.js +23 -13
  93. package/Libraries/Core/setUpReactDevTools.js +2 -0
  94. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  95. package/Libraries/Core/setUpTimers.js +2 -2
  96. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  97. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  98. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  99. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  100. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  101. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  102. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  103. package/Libraries/DOM/OldStyleCollections/DOMRectList.js.flow +27 -0
  104. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  105. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js.flow +27 -0
  106. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  107. package/Libraries/DOM/OldStyleCollections/NodeList.js.flow +31 -0
  108. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  109. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  110. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  111. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  112. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  113. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  114. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  115. package/Libraries/Events/EventPolyfill.js +1 -1
  116. package/Libraries/FBLazyVector/BUCK +2 -2
  117. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  118. package/Libraries/Image/AssetRegistry.js +1 -1
  119. package/Libraries/Image/AssetSourceResolver.js +3 -3
  120. package/Libraries/Image/Image.android.js +4 -1
  121. package/Libraries/Image/Image.d.ts +63 -2
  122. package/Libraries/Image/Image.ios.js +3 -0
  123. package/Libraries/Image/ImageBackground.js +1 -0
  124. package/Libraries/Image/ImageProps.js +1 -1
  125. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  126. package/Libraries/Image/ImageViewNativeComponent.js.flow +1 -4
  127. package/Libraries/Image/RCTImageCache.h +1 -1
  128. package/Libraries/Image/RCTImageCache.m +4 -4
  129. package/Libraries/Image/RCTImageView.mm +1 -1
  130. package/Libraries/Image/React-RCTImage.podspec +15 -2
  131. package/Libraries/Image/RelativeImageStub.js +1 -1
  132. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  133. package/Libraries/Image/resolveAssetSource.js +1 -1
  134. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  135. package/Libraries/Inspector/ElementBox.js +4 -1
  136. package/Libraries/Inspector/Inspector.js +5 -6
  137. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  138. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  139. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  140. package/Libraries/Interaction/PanResponder.js +5 -6
  141. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  142. package/Libraries/Linking/Linking.js +1 -4
  143. package/Libraries/LinkingIOS/React-RCTLinking.podspec +15 -2
  144. package/Libraries/Lists/FillRateHelper.js +4 -238
  145. package/Libraries/Lists/FlatList.d.ts +15 -22
  146. package/Libraries/Lists/FlatList.js +9 -6
  147. package/Libraries/Lists/FlatList.js.flow +4 -3
  148. package/Libraries/Lists/SectionList.d.ts +10 -6
  149. package/Libraries/Lists/SectionList.js +5 -3
  150. package/Libraries/Lists/SectionListModern.js +3 -3
  151. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  152. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  153. package/Libraries/Lists/VirtualizedList.js +10 -1867
  154. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  155. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  156. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  157. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  158. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  159. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  160. package/Libraries/LogBox/LogBox.js +1 -1
  161. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  162. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  163. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  164. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  165. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  166. package/Libraries/Modal/Modal.js +2 -2
  167. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +3 -2
  168. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +14 -0
  169. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +108 -102
  170. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +1 -1
  171. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +6 -1
  172. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +1 -1
  173. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +5 -0
  174. package/Libraries/NativeAnimation/RCTAnimationUtils.h +16 -11
  175. package/Libraries/NativeAnimation/RCTAnimationUtils.m +24 -6
  176. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +15 -2
  177. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  178. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  179. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  180. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  181. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  182. package/Libraries/Network/RCTNetworking.android.js +2 -2
  183. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  184. package/Libraries/Network/RCTNetworking.mm +3 -2
  185. package/Libraries/Network/React-RCTNetwork.podspec +15 -2
  186. package/Libraries/Network/XMLHttpRequest.js +1 -1
  187. package/Libraries/Pressability/Pressability.js +10 -4
  188. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +15 -2
  189. package/Libraries/RCTRequired/BUCK +3 -2
  190. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  191. package/Libraries/ReactNative/AppContainer.js +7 -1
  192. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  193. package/Libraries/ReactNative/AppRegistry.js +10 -13
  194. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  195. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  196. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  197. package/Libraries/ReactNative/UIManager.js +168 -1
  198. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  199. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  200. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  201. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  202. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  203. package/Libraries/Renderer/REVISION +1 -1
  204. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  205. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  206. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  207. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  208. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  209. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  210. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  211. package/Libraries/Settings/React-RCTSettings.podspec +15 -2
  212. package/Libraries/Share/Share.js +1 -1
  213. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  214. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  215. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  216. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  217. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  218. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  219. package/Libraries/StyleSheet/processColor.js +1 -1
  220. package/Libraries/Text/React-RCTText.podspec +1 -1
  221. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +3 -3
  222. package/Libraries/Text/Text/RCTTextView.m +4 -4
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +1 -1
  226. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +12 -6
  227. package/Libraries/Text/TextProps.js +3 -4
  228. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  229. package/Libraries/TypeSafety/RCTConvertHelpers.h +1 -1
  230. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  231. package/Libraries/Types/CodegenTypes.js +1 -0
  232. package/Libraries/UTFSequence.js +3 -1
  233. package/Libraries/Utilities/Appearance.d.ts +10 -0
  234. package/Libraries/Utilities/Appearance.js +13 -0
  235. package/Libraries/Utilities/Dimensions.js +1 -1
  236. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  237. package/Libraries/Utilities/HMRClient.js +16 -10
  238. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  239. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  240. package/Libraries/Utilities/LoadingView.android.js +28 -11
  241. package/Libraries/Utilities/NativeAppearance.js +1 -0
  242. package/Libraries/Utilities/PixelRatio.js +2 -2
  243. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  244. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  245. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  246. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  247. package/Libraries/Utilities/stringifySafe.js +2 -7
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/Vibration/React-RCTVibration.podspec +15 -2
  250. package/Libraries/WebPerformance/EventCounts.js +78 -0
  251. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  252. package/Libraries/WebPerformance/NativePerformance.cpp +74 -0
  253. package/Libraries/WebPerformance/NativePerformance.h +76 -0
  254. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  255. package/Libraries/WebPerformance/NativePerformanceObserver.cpp +69 -11
  256. package/Libraries/WebPerformance/NativePerformanceObserver.h +38 -7
  257. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  258. package/Libraries/WebPerformance/Performance.js +312 -0
  259. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  260. package/Libraries/WebPerformance/PerformanceEntryReporter.cpp +408 -0
  261. package/Libraries/WebPerformance/PerformanceEntryReporter.h +219 -0
  262. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  263. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  264. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  265. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  266. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  267. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  268. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +10 -10
  269. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  270. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  271. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  272. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  273. package/README.md +1 -1
  274. package/React/Base/RCTBridge+Private.h +1 -1
  275. package/React/Base/RCTBridge.h +2 -11
  276. package/React/Base/RCTBridge.m +0 -34
  277. package/React/Base/RCTBridgeModuleDecorator.h +1 -1
  278. package/React/Base/RCTBundleURLProvider.mm +5 -1
  279. package/React/Base/RCTConvert.h +2 -1
  280. package/React/Base/RCTConvert.m +28 -15
  281. package/React/Base/RCTDefines.h +37 -8
  282. package/React/Base/RCTDisplayLink.m +7 -0
  283. package/React/Base/RCTJSScriptLoaderModule.h +5 -1
  284. package/React/Base/RCTRootContentView.h +1 -1
  285. package/React/Base/RCTRootContentView.m +1 -1
  286. package/React/Base/RCTRootView.m +1 -1
  287. package/React/Base/RCTVersion.m +3 -3
  288. package/React/Base/Surface/RCTSurfaceRootShadowViewDelegate.h +1 -1
  289. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +3 -3
  290. package/React/CoreModules/BUCK +3 -6
  291. package/React/CoreModules/RCTAccessibilityManager+Internal.h +1 -1
  292. package/React/CoreModules/RCTAlertManager.mm +0 -14
  293. package/React/CoreModules/RCTAppearance.h +1 -0
  294. package/React/CoreModules/RCTAppearance.mm +12 -0
  295. package/React/CoreModules/RCTDevLoadingView.h +0 -1
  296. package/React/CoreModules/RCTDevMenu.mm +2 -2
  297. package/React/CoreModules/RCTDevSettings.mm +16 -2
  298. package/React/CoreModules/RCTDevSplitBundleLoader.mm +6 -4
  299. package/React/CoreModules/RCTExceptionsManager.mm +13 -6
  300. package/React/CoreModules/RCTFPSGraph.m +8 -3
  301. package/React/CoreModules/RCTPlatform.mm +2 -2
  302. package/React/CoreModules/RCTTiming.h +8 -4
  303. package/React/CoreModules/RCTWebSocketExecutor.mm +10 -10
  304. package/React/CoreModules/RCTWebSocketModule.mm +13 -13
  305. package/React/CoreModules/React-CoreModules.podspec +16 -2
  306. package/React/CxxBridge/RCTCxxBridge.mm +3 -2
  307. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +1 -10
  308. package/React/CxxModule/RCTNativeModule.mm +3 -2
  309. package/React/CxxUtils/RCTFollyConvert.mm +1 -0
  310. package/React/DevSupport/RCTInspectorDevServerHelper.h +1 -1
  311. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -1
  312. package/React/DevSupport/RCTPackagerConnection.mm +1 -1
  313. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +1 -1
  314. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -1
  315. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -2
  316. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  317. package/React/{Views/RCTDatePicker.h → Fabric/Mounting/ComponentViews/ScrollView/RCTCustomPullToRefreshViewProtocol.h} +4 -1
  318. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h +2 -1
  319. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  320. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +91 -1
  321. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +14 -24
  322. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -5
  323. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +0 -2
  324. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +0 -2
  325. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +0 -6
  326. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +1 -2
  327. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +16 -16
  328. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +4 -3
  329. package/React/Fabric/Mounting/RCTMountingManager.h +2 -1
  330. package/React/Fabric/Mounting/RCTMountingManager.mm +12 -14
  331. package/React/Fabric/RCTConversions.h +0 -1
  332. package/React/Fabric/RCTScheduler.h +1 -1
  333. package/React/Fabric/RCTScheduler.mm +2 -11
  334. package/React/Fabric/RCTSurfacePointerHandler.h +28 -0
  335. package/React/Fabric/RCTSurfacePointerHandler.mm +882 -0
  336. package/React/Fabric/RCTSurfacePresenter.h +1 -1
  337. package/React/Fabric/RCTSurfacePresenter.mm +16 -6
  338. package/React/Fabric/RCTSurfaceRegistry.mm +5 -6
  339. package/React/Fabric/RCTSurfaceTouchHandler.mm +27 -600
  340. package/React/Fabric/Utils/RCTIdentifierPool.h +44 -0
  341. package/React/Fabric/Utils/RCTReactTaggedView.h +1 -1
  342. package/React/Inspector/RCTInspector.h +1 -1
  343. package/React/Inspector/RCTInspector.mm +1 -2
  344. package/React/Inspector/RCTInspectorPackagerConnection.h +1 -1
  345. package/React/Inspector/RCTInspectorPackagerConnection.m +11 -11
  346. package/React/Modules/RCTEventEmitter.m +14 -11
  347. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  348. package/React/React-RCTFabric.podspec +31 -4
  349. package/React/Views/RCTComponentData.m +3 -15
  350. package/React/Views/RCTConvert+Transform.m +1 -1
  351. package/React/Views/RCTFont.mm +2 -2
  352. package/React/Views/RCTView.h +11 -0
  353. package/React/Views/RCTView.m +40 -18
  354. package/React/Views/RCTViewManager.m +17 -1
  355. package/React/Views/RefreshControl/RCTRefreshControl.h +1 -1
  356. package/React/Views/RefreshControl/RCTRefreshControl.m +7 -0
  357. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +1 -1
  358. package/React/Views/ScrollView/RCTScrollView.m +17 -7
  359. package/React/Views/ScrollView/RCTScrollableProtocol.h +5 -1
  360. package/React-Core.podspec +15 -4
  361. package/React.podspec +1 -1
  362. package/ReactAndroid/build.gradle +82 -12
  363. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +2 -0
  364. package/ReactAndroid/gradle.properties +6 -6
  365. package/ReactAndroid/hermes-engine/build.gradle +14 -5
  366. package/ReactAndroid/libs/BUCK +1 -1
  367. package/ReactAndroid/proguard-rules.pro +7 -0
  368. package/ReactAndroid/publish.gradle +1 -1
  369. package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -3
  370. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +15 -14
  371. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +54 -2
  372. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +7 -35
  373. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +12 -11
  374. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +40 -1
  375. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +22 -7
  376. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +10 -8
  377. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +11 -1
  378. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +111 -14
  380. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +63 -55
  381. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.java +1 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +5 -8
  383. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +143 -88
  384. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +9 -22
  385. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +7 -16
  386. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +3 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +8 -1
  388. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +1 -2
  389. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +14 -19
  390. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +1 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +11 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.java +33 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +110 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
  395. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -2
  396. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +30 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +3 -3
  398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +13 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +11 -27
  400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -12
  401. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -7
  402. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +2 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +0 -1
  404. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +18 -2
  405. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  406. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +5 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +32 -25
  408. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +29 -7
  409. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +20 -16
  410. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +6 -9
  411. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +18 -2
  412. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{DevLoadingViewController.java → DefaultDevLoadingViewImplementation.java} +10 -33
  413. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +15 -7
  414. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +38 -12
  415. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -1
  416. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +4 -4
  417. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +1 -8
  418. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -6
  419. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +56 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.java +21 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/fabric/.clang-tidy +1 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +10 -13
  423. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +3 -24
  424. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +22 -3
  425. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -14
  426. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +6 -37
  427. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +2 -5
  428. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +4 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +0 -4
  430. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +9 -7
  431. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -11
  432. package/ReactAndroid/src/main/java/com/facebook/react/modules/.clang-tidy +1 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +12 -23
  434. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +11 -9
  435. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +3 -14
  437. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +5 -8
  438. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.java +1 -1
  439. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +1 -8
  440. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +1 -7
  441. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -3
  442. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/NativeDevSplitBundleLoaderModule.java +1 -9
  443. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +1 -7
  444. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +1 -8
  445. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +3 -12
  446. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +1 -8
  447. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +1 -8
  448. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +1 -1
  449. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +1 -8
  450. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -8
  451. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.java +2 -12
  452. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +1 -8
  453. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +5 -15
  454. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/BUCK +25 -0
  455. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +67 -0
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/BUCK +25 -0
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.java +53 -0
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +2 -8
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +2 -13
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +0 -2
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +6 -9
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +29 -11
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +5 -8
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +1 -9
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +1 -9
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +48 -14
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +5 -8
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +66 -63
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.java +26 -25
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +1 -7
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +1 -7
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +0 -2
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.java +1 -8
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -7
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +1 -6
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +2 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +1 -7
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +1 -7
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +1 -8
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +2 -14
  482. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +2 -1
  483. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +47 -26
  484. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +8 -10
  485. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +188 -4
  486. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +0 -1
  487. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/.clang-tidy +1 -0
  488. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +57 -63
  489. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +7 -14
  490. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +12 -14
  491. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +26 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewManagerWithChildren.java +1 -1
  493. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +95 -53
  494. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +36 -20
  495. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +10 -1
  496. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +355 -2
  497. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.java +21 -3
  498. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +9 -11
  499. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +3 -3
  500. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +16 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -55
  502. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +5 -11
  503. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +15 -6
  505. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +16 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -7
  507. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +1 -1
  508. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +3 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +23 -11
  510. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +12 -38
  511. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +4 -4
  512. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -5
  513. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +5 -8
  514. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +7 -8
  515. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +30 -0
  516. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +11 -5
  517. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +10 -15
  518. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +10 -11
  519. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +4 -3
  520. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +2 -4
  521. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +15 -12
  522. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -0
  523. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +6 -4
  524. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -7
  525. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +181 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +77 -9
  527. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -2
  528. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +72 -13
  529. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +9 -3
  530. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -6
  531. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +5 -7
  532. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +5 -8
  533. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +5 -8
  534. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -1
  535. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +4 -0
  536. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java +4 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +4 -0
  538. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.java +1 -2
  539. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +8 -5
  540. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +7 -6
  541. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +7 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +1 -5
  543. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -7
  544. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +13 -5
  545. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +23 -20
  546. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +5 -3
  547. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +22 -16
  548. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +17 -17
  549. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +6 -5
  551. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +204 -117
  552. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +49 -23
  553. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +4 -3
  554. package/ReactAndroid/src/main/java/com/facebook/react/views/{slider → traceupdateoverlay}/BUCK +7 -7
  555. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlay.java +70 -0
  556. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlayManager.java +83 -0
  557. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +5 -8
  558. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +6 -9
  559. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +2 -10
  560. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +17 -5
  561. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +147 -32
  562. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +5 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +18 -6
  564. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +5 -5
  565. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -8
  566. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -11
  567. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +5 -1
  568. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +1 -1
  569. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogger.java +1 -1
  570. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -2
  571. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -8
  572. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +18 -0
  573. package/ReactAndroid/src/main/jni/CMakeLists.txt +112 -3
  574. package/ReactAndroid/src/main/jni/CircularDepsValidator.cmake +32 -0
  575. package/ReactAndroid/src/main/jni/first-party/.clang-tidy +1 -0
  576. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +3 -0
  577. package/ReactAndroid/src/main/jni/first-party/yogajni/BUCK +1 -1
  578. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +0 -1
  579. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +0 -15
  580. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +4 -4
  581. package/ReactAndroid/src/main/jni/react/fabric/BUCK +0 -2
  582. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +22 -48
  583. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +5 -10
  584. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -2
  585. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h +1 -7
  586. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +2 -3
  587. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +3 -2
  588. package/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.h +1 -2
  589. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +32 -66
  590. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -6
  591. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +1 -3
  592. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -3
  593. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  594. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +3 -7
  595. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +2 -2
  596. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +3 -1
  597. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +10 -2
  598. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +1 -1
  599. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -0
  600. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -5
  601. package/ReactAndroid/src/main/jni/react/jni/.clang-tidy +1 -0
  602. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -4
  603. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +2 -0
  604. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +4 -8
  605. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +9 -2
  606. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +1 -0
  607. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +2 -2
  608. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +2 -2
  609. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +2 -2
  610. package/ReactAndroid/src/main/jni/react/jni/NativeArray.cpp +1 -3
  611. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +13 -3
  612. package/ReactAndroid/src/main/jni/react/jni/NativeMap.cpp +2 -2
  613. package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +10 -4
  614. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +6 -0
  615. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +0 -6
  616. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +4 -1
  617. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +11 -7
  618. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +2 -2
  619. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +1 -5
  620. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +9 -43
  621. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -9
  622. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -1
  623. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +15 -15
  624. package/ReactAndroid/src/main/res/devsupport/values-af/strings.xml +0 -1
  625. package/ReactAndroid/src/main/res/devsupport/values-ar/strings.xml +0 -1
  626. package/ReactAndroid/src/main/res/devsupport/values-as/strings.xml +0 -1
  627. package/ReactAndroid/src/main/res/devsupport/values-az/strings.xml +0 -1
  628. package/ReactAndroid/src/main/res/devsupport/values-be/strings.xml +6 -0
  629. package/ReactAndroid/src/main/res/devsupport/values-bg/strings.xml +0 -1
  630. package/ReactAndroid/src/main/res/devsupport/values-bn/strings.xml +0 -1
  631. package/ReactAndroid/src/main/res/devsupport/values-bs/strings.xml +0 -1
  632. package/ReactAndroid/src/main/res/devsupport/values-ca/strings.xml +0 -1
  633. package/ReactAndroid/src/main/res/devsupport/values-cb/strings.xml +0 -1
  634. package/ReactAndroid/src/main/res/devsupport/values-cs/strings.xml +0 -1
  635. package/ReactAndroid/src/main/res/devsupport/values-da/strings.xml +0 -1
  636. package/ReactAndroid/src/main/res/devsupport/values-de/strings.xml +0 -1
  637. package/ReactAndroid/src/main/res/devsupport/values-el/strings.xml +0 -1
  638. package/ReactAndroid/src/main/res/devsupport/values-en-rGB/strings.xml +0 -1
  639. package/ReactAndroid/src/main/res/devsupport/values-es/strings.xml +0 -1
  640. package/ReactAndroid/src/main/res/devsupport/values-es-rES/strings.xml +0 -1
  641. package/ReactAndroid/src/main/res/devsupport/values-et/strings.xml +0 -1
  642. package/ReactAndroid/src/main/res/devsupport/values-fa/strings.xml +0 -1
  643. package/ReactAndroid/src/main/res/devsupport/values-fb/strings.xml +0 -1
  644. package/ReactAndroid/src/main/res/devsupport/values-fb-rLS/strings.xml +0 -1
  645. package/ReactAndroid/src/main/res/devsupport/values-fi/strings.xml +0 -1
  646. package/ReactAndroid/src/main/res/devsupport/values-fr/strings.xml +0 -1
  647. package/ReactAndroid/src/main/res/devsupport/values-fr-rCA/strings.xml +0 -1
  648. package/ReactAndroid/src/main/res/devsupport/values-gu/strings.xml +0 -1
  649. package/ReactAndroid/src/main/res/devsupport/values-ha/strings.xml +6 -0
  650. package/ReactAndroid/src/main/res/devsupport/values-hi/strings.xml +0 -1
  651. package/ReactAndroid/src/main/res/devsupport/values-hr/strings.xml +0 -1
  652. package/ReactAndroid/src/main/res/devsupport/values-hu/strings.xml +0 -1
  653. package/ReactAndroid/src/main/res/devsupport/values-hy/strings.xml +6 -0
  654. package/ReactAndroid/src/main/res/devsupport/values-in/strings.xml +0 -1
  655. package/ReactAndroid/src/main/res/devsupport/values-is/strings.xml +0 -1
  656. package/ReactAndroid/src/main/res/devsupport/values-it/strings.xml +0 -1
  657. package/ReactAndroid/src/main/res/devsupport/values-iw/strings.xml +0 -1
  658. package/ReactAndroid/src/main/res/devsupport/values-ja/strings.xml +0 -1
  659. package/ReactAndroid/src/main/res/devsupport/values-jv/strings.xml +6 -0
  660. package/ReactAndroid/src/main/res/devsupport/values-ka/strings.xml +0 -1
  661. package/ReactAndroid/src/main/res/devsupport/values-kk/strings.xml +6 -0
  662. package/ReactAndroid/src/main/res/devsupport/values-km/strings.xml +0 -1
  663. package/ReactAndroid/src/main/res/devsupport/values-kn/strings.xml +0 -1
  664. package/ReactAndroid/src/main/res/devsupport/values-ko/strings.xml +0 -1
  665. package/ReactAndroid/src/main/res/devsupport/values-ku/strings.xml +6 -0
  666. package/ReactAndroid/src/main/res/devsupport/values-ky/strings.xml +6 -0
  667. package/ReactAndroid/src/main/res/devsupport/values-lo/strings.xml +0 -1
  668. package/ReactAndroid/src/main/res/devsupport/values-lt/strings.xml +0 -1
  669. package/ReactAndroid/src/main/res/devsupport/values-lv/strings.xml +0 -1
  670. package/ReactAndroid/src/main/res/devsupport/values-mk/strings.xml +0 -1
  671. package/ReactAndroid/src/main/res/devsupport/values-ml/strings.xml +0 -1
  672. package/ReactAndroid/src/main/res/devsupport/values-mn/strings.xml +0 -1
  673. package/ReactAndroid/src/main/res/devsupport/values-mr/strings.xml +0 -1
  674. package/ReactAndroid/src/main/res/devsupport/values-ms/strings.xml +0 -1
  675. package/ReactAndroid/src/main/res/devsupport/values-my/strings.xml +0 -1
  676. package/ReactAndroid/src/main/res/devsupport/values-nb/strings.xml +0 -1
  677. package/ReactAndroid/src/main/res/devsupport/values-ne/strings.xml +0 -1
  678. package/ReactAndroid/src/main/res/devsupport/values-nl/strings.xml +0 -1
  679. package/ReactAndroid/src/main/res/devsupport/values-pa/strings.xml +0 -1
  680. package/ReactAndroid/src/main/res/devsupport/values-pl/strings.xml +0 -1
  681. package/ReactAndroid/src/main/res/devsupport/values-ps/strings.xml +6 -0
  682. package/ReactAndroid/src/main/res/devsupport/values-pt/strings.xml +0 -1
  683. package/ReactAndroid/src/main/res/devsupport/values-pt-rPT/strings.xml +0 -1
  684. package/ReactAndroid/src/main/res/devsupport/values-qz/strings.xml +0 -1
  685. package/ReactAndroid/src/main/res/devsupport/values-ro/strings.xml +0 -1
  686. package/ReactAndroid/src/main/res/devsupport/values-ru/strings.xml +0 -1
  687. package/ReactAndroid/src/main/res/devsupport/values-si/strings.xml +0 -1
  688. package/ReactAndroid/src/main/res/devsupport/values-sk/strings.xml +0 -1
  689. package/ReactAndroid/src/main/res/devsupport/values-sl/strings.xml +0 -1
  690. package/ReactAndroid/src/main/res/devsupport/values-sn/strings.xml +0 -1
  691. package/ReactAndroid/src/main/res/devsupport/values-so/strings.xml +6 -0
  692. package/ReactAndroid/src/main/res/devsupport/values-sq/strings.xml +0 -1
  693. package/ReactAndroid/src/main/res/devsupport/values-sr/strings.xml +0 -1
  694. package/ReactAndroid/src/main/res/devsupport/values-sv/strings.xml +0 -1
  695. package/ReactAndroid/src/main/res/devsupport/values-sw/strings.xml +0 -1
  696. package/ReactAndroid/src/main/res/devsupport/values-ta/strings.xml +0 -1
  697. package/ReactAndroid/src/main/res/devsupport/values-te/strings.xml +0 -1
  698. package/ReactAndroid/src/main/res/devsupport/values-tg/strings.xml +6 -0
  699. package/ReactAndroid/src/main/res/devsupport/values-th/strings.xml +0 -1
  700. package/ReactAndroid/src/main/res/devsupport/values-tk/strings.xml +6 -0
  701. package/ReactAndroid/src/main/res/devsupport/values-tl/strings.xml +0 -1
  702. package/ReactAndroid/src/main/res/devsupport/values-tr/strings.xml +0 -1
  703. package/ReactAndroid/src/main/res/devsupport/values-uk/strings.xml +0 -1
  704. package/ReactAndroid/src/main/res/devsupport/values-ur/strings.xml +0 -1
  705. package/ReactAndroid/src/main/res/devsupport/values-uz/strings.xml +6 -0
  706. package/ReactAndroid/src/main/res/devsupport/values-vi/strings.xml +0 -1
  707. package/ReactAndroid/src/main/res/devsupport/values-wo/strings.xml +0 -1
  708. package/ReactAndroid/src/main/res/devsupport/values-zh-rCN/strings.xml +0 -1
  709. package/ReactAndroid/src/main/res/devsupport/values-zh-rHK/strings.xml +0 -1
  710. package/ReactAndroid/src/main/res/devsupport/values-zh-rTW/strings.xml +0 -1
  711. package/ReactAndroid/src/main/res/devsupport/values-zu/strings.xml +0 -1
  712. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +4 -1
  713. package/ReactCommon/React-Fabric.podspec +43 -49
  714. package/ReactCommon/React-rncore.podspec +13 -4
  715. package/ReactCommon/ReactCommon.podspec +8 -17
  716. package/ReactCommon/butter/BUCK +1 -9
  717. package/ReactCommon/butter/function.h +51 -0
  718. package/ReactCommon/butter/map.h +3 -3
  719. package/ReactCommon/callinvoker/.clang-tidy +1 -0
  720. package/ReactCommon/callinvoker/BUCK +0 -1
  721. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  722. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +11 -2
  723. package/ReactCommon/{butter/mutex.h → callinvoker/ReactCommon/SchedulerPriority.h} +10 -6
  724. package/ReactCommon/cxxreact/.clang-tidy +1 -0
  725. package/ReactCommon/cxxreact/BUCK +3 -1
  726. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  727. package/ReactCommon/cxxreact/Instance.h +2 -2
  728. package/ReactCommon/cxxreact/JSBigString.h +5 -5
  729. package/ReactCommon/cxxreact/JSExecutor.cpp +12 -0
  730. package/ReactCommon/cxxreact/JSExecutor.h +2 -0
  731. package/ReactCommon/cxxreact/MethodCall.cpp +3 -3
  732. package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -6
  733. package/ReactCommon/cxxreact/ModuleRegistry.h +3 -3
  734. package/ReactCommon/cxxreact/NativeModule.h +2 -2
  735. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  736. package/ReactCommon/cxxreact/ReactMarker.cpp +55 -2
  737. package/ReactCommon/cxxreact/ReactMarker.h +36 -2
  738. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  739. package/ReactCommon/hermes/.clang-tidy +1 -0
  740. package/ReactCommon/hermes/React-hermes.podspec +3 -2
  741. package/ReactCommon/hermes/executor/CMakeLists.txt +8 -1
  742. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -20
  743. package/ReactCommon/hermes/inspector/BUCK +12 -6
  744. package/ReactCommon/hermes/inspector/CMakeLists.txt +1 -1
  745. package/ReactCommon/hermes/inspector/DEFS.bzl +2 -2
  746. package/ReactCommon/hermes/inspector/Inspector.cpp +2 -2
  747. package/ReactCommon/hermes/inspector/Inspector.h +7 -7
  748. package/ReactCommon/hermes/inspector/InspectorState.h +5 -5
  749. package/ReactCommon/hermes/inspector/README.md +7 -7
  750. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +1 -1
  751. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +12 -12
  752. package/ReactCommon/hermes/inspector/chrome/MessageConverters.h +3 -3
  753. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +96 -97
  754. package/ReactCommon/hermes/inspector/chrome/MessageTypesInlines.h +4 -3
  755. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +39 -38
  756. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +67 -64
  757. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +3 -3
  758. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.h +3 -3
  759. package/ReactCommon/hermes/inspector/detail/SerialExecutor.h +1 -1
  760. package/ReactCommon/hermes/inspector/tools/format +1 -1
  761. package/ReactCommon/hermes/inspector/tools/sandcastle/build_and_test.sh +4 -4
  762. package/ReactCommon/jsc/CMakeLists.txt +4 -0
  763. package/ReactCommon/jsc/JSCRuntime.cpp +11 -9
  764. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  765. package/ReactCommon/jsengineinstance/.clang-tidy +1 -0
  766. package/ReactCommon/jserrorhandler/BUCK +1 -1
  767. package/ReactCommon/jsi/.clang-tidy +1 -0
  768. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  769. package/ReactCommon/jsi/jsi/decorator.h +16 -10
  770. package/ReactCommon/jsi/jsi/jsi-inl.h +7 -5
  771. package/ReactCommon/jsi/jsi/jsi.cpp +51 -61
  772. package/ReactCommon/jsi/jsi/jsi.h +22 -16
  773. package/ReactCommon/jsiexecutor/.clang-tidy +1 -0
  774. package/ReactCommon/jsiexecutor/CMakeLists.txt +5 -1
  775. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  776. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +16 -16
  777. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +7 -7
  778. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +7 -7
  779. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +3 -3
  780. package/ReactCommon/jsinspector/.clang-tidy +1 -0
  781. package/ReactCommon/jsinspector/CMakeLists.txt +3 -1
  782. package/ReactCommon/jsinspector/React-jsinspector.podspec +2 -1
  783. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +3 -3
  784. package/ReactCommon/logger/React-logger.podspec +1 -1
  785. package/ReactCommon/react/bridging/BUCK +1 -2
  786. package/ReactCommon/react/bridging/Base.h +3 -3
  787. package/ReactCommon/react/bridging/CallbackWrapper.h +3 -39
  788. package/ReactCommon/react/bridging/Function.h +36 -17
  789. package/ReactCommon/react/bridging/LongLivedObject.cpp +6 -13
  790. package/ReactCommon/react/bridging/LongLivedObject.h +9 -8
  791. package/ReactCommon/react/bridging/Number.h +11 -0
  792. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +16 -1
  793. package/ReactCommon/react/config/.clang-tidy +1 -0
  794. package/ReactCommon/react/config/ReactNativeConfig.cpp +6 -0
  795. package/ReactCommon/react/config/ReactNativeConfig.h +1 -1
  796. package/ReactCommon/react/debug/CMakeLists.txt +4 -0
  797. package/ReactCommon/react/debug/flags.h +3 -1
  798. package/ReactCommon/react/debug/react_native_assert.h +6 -0
  799. package/ReactCommon/react/debug/react_native_expect.h +41 -0
  800. package/ReactCommon/react/nativemodule/.clang-tidy +1 -0
  801. package/ReactCommon/react/nativemodule/core/BUCK +3 -1
  802. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +6 -1
  803. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +26 -8
  804. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +31 -3
  805. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +39 -44
  806. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +5 -14
  807. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +2 -2
  808. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -1
  809. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +28 -48
  810. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +3 -9
  811. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +56 -0
  812. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTBlockGuard.h → ReactCommon/RCTBlockGuard.h} +1 -1
  813. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModule.h → ReactCommon/RCTTurboModule.h} +0 -6
  814. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModule.mm → ReactCommon/RCTTurboModule.mm} +24 -51
  815. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModuleManager.h → ReactCommon/RCTTurboModuleManager.h} +5 -1
  816. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModuleManager.mm → ReactCommon/RCTTurboModuleManager.mm} +14 -69
  817. package/ReactCommon/react/nativemodule/samples/BUCK +3 -1
  818. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +12 -0
  819. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +1 -0
  820. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +4 -0
  821. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +1 -0
  822. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +59 -0
  823. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  824. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +15 -0
  825. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +8 -0
  826. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTNativeSampleTurboModuleSpec.h → ReactCommon/RCTNativeSampleTurboModuleSpec.h} +1 -0
  827. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTNativeSampleTurboModuleSpec.mm → ReactCommon/RCTNativeSampleTurboModuleSpec.mm} +11 -0
  828. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboModule.mm → ReactCommon/RCTSampleTurboModule.mm} +5 -0
  829. package/ReactCommon/react/nativemodule/samples/platform/ios/{SampleTurboCxxModuleLegacyImpl.cpp → ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp} +10 -0
  830. package/ReactCommon/react/nativemodule/samples/platform/ios/{SampleTurboCxxModuleLegacyImpl.h → ReactCommon/SampleTurboCxxModuleLegacyImpl.h} +1 -0
  831. package/ReactCommon/react/renderer/.clang-tidy +7 -0
  832. package/ReactCommon/react/renderer/animations/BUCK +2 -0
  833. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +41 -65
  834. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +3 -20
  835. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +1 -1
  836. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +1 -1
  837. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +1 -1
  838. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  839. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -1
  840. package/ReactCommon/react/renderer/attributedstring/conversions.h +48 -49
  841. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +1 -1
  842. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +1 -1
  843. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +4 -4
  844. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +4 -5
  845. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -5
  846. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +2 -2
  847. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +9 -7
  848. package/ReactCommon/react/renderer/components/image/conversions.h +4 -4
  849. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +1 -2
  850. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +31 -0
  851. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
  852. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +50 -3
  853. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +38 -0
  854. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -2
  855. package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -4
  856. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +3 -3
  857. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -1
  858. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  859. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +50 -36
  860. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +4 -0
  861. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +4 -1
  862. package/ReactCommon/react/renderer/components/scrollview/conversions.h +35 -0
  863. package/ReactCommon/react/renderer/components/scrollview/primitives.h +17 -0
  864. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +1 -1
  865. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +0 -1
  866. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +1 -0
  867. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.cpp +84 -0
  868. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.h +71 -0
  869. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +4 -2
  870. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +13 -15
  871. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +2 -6
  872. package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -11
  873. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +4 -25
  874. package/ReactCommon/react/renderer/components/text/TextProps.h +0 -1
  875. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +5 -23
  876. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +7 -10
  877. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +56 -50
  878. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -1
  879. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +2 -1
  880. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +3 -0
  881. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputEventEmitter.cpp → react/renderer/components/iostextinput/TextInputEventEmitter.cpp} +31 -1
  882. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputEventEmitter.h → react/renderer/components/iostextinput/TextInputEventEmitter.h} +5 -0
  883. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputProps.cpp → react/renderer/components/iostextinput/TextInputProps.cpp} +1 -1
  884. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputShadowNode.cpp → react/renderer/components/iostextinput/TextInputShadowNode.cpp} +2 -1
  885. package/ReactCommon/react/renderer/components/textinput/iostextinput/{propsConversions.h → react/renderer/components/iostextinput/propsConversions.h} +4 -3
  886. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +1 -1
  887. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +3 -3
  888. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -20
  889. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +0 -2
  890. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +4 -2
  891. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  892. package/ReactCommon/react/renderer/components/view/PointerEvent.h +1 -1
  893. package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
  894. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +63 -74
  895. package/ReactCommon/react/renderer/components/view/ViewProps.h +0 -1
  896. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +1 -1
  897. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +207 -91
  898. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +28 -31
  899. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +155 -7
  900. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +38 -1
  901. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +10 -7
  902. package/ReactCommon/react/renderer/components/view/conversions.h +133 -59
  903. package/ReactCommon/react/renderer/components/view/primitives.h +49 -18
  904. package/ReactCommon/react/renderer/components/view/propsConversions.h +65 -8
  905. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +88 -2
  906. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +21 -3
  907. package/ReactCommon/react/renderer/core/BUCK +7 -3
  908. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  909. package/ReactCommon/react/renderer/core/CoreFeatures.cpp +4 -0
  910. package/ReactCommon/react/renderer/core/CoreFeatures.h +20 -1
  911. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +1 -0
  912. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +8 -4
  913. package/ReactCommon/react/renderer/core/EventBeat.h +1 -1
  914. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +10 -4
  915. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  916. package/ReactCommon/react/renderer/core/EventListener.cpp +3 -3
  917. package/ReactCommon/react/renderer/core/EventListener.h +2 -3
  918. package/ReactCommon/react/renderer/core/EventLogger.cpp +22 -0
  919. package/ReactCommon/react/renderer/core/EventLogger.h +44 -0
  920. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +12 -2
  921. package/ReactCommon/react/renderer/core/LayoutConstraints.h +1 -1
  922. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -1
  923. package/ReactCommon/react/renderer/core/LayoutMetrics.h +2 -1
  924. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +16 -2
  925. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -26
  926. package/ReactCommon/react/renderer/core/PropsMacros.h +21 -7
  927. package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +2 -3
  928. package/ReactCommon/react/renderer/core/PropsMapBuffer.h +1 -0
  929. package/ReactCommon/react/renderer/core/RawEvent.h +2 -0
  930. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  931. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +1 -1
  932. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
  933. package/ReactCommon/react/renderer/core/Sealable.h +2 -2
  934. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -3
  935. package/ReactCommon/react/renderer/core/ShadowNode.h +6 -20
  936. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -3
  937. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +9 -2
  938. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +6 -11
  939. package/ReactCommon/react/renderer/core/TraitCast.h +90 -0
  940. package/ReactCommon/react/renderer/core/graphicsConversions.h +260 -0
  941. package/ReactCommon/react/renderer/core/propsConversions.h +1 -2
  942. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +2 -2
  943. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +147 -1
  944. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +1 -1
  945. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +12 -2
  946. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -0
  947. package/ReactCommon/react/renderer/debug/SystraceSection.h +13 -3
  948. package/ReactCommon/react/renderer/element/BUCK +2 -0
  949. package/ReactCommon/react/renderer/element/CMakeLists.txt +29 -0
  950. package/ReactCommon/react/renderer/graphics/BUCK +9 -12
  951. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +4 -8
  952. package/ReactCommon/react/renderer/graphics/{platform/cxx/react/renderer/graphics/Color.cpp → Color.cpp} +1 -1
  953. package/ReactCommon/react/renderer/graphics/{platform/ios/Color.h → Color.h} +12 -16
  954. package/ReactCommon/react/renderer/graphics/Geometry.h +3 -12
  955. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +18 -3
  956. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +11 -1
  957. package/ReactCommon/react/renderer/graphics/Transform.h +5 -2
  958. package/{ReactAndroid/src/main/jni/react/jni/NativeTime.h → ReactCommon/react/renderer/graphics/Vector.h} +8 -1
  959. package/ReactCommon/react/renderer/graphics/conversions.h +18 -252
  960. package/ReactCommon/{yoga/yoga/internal/experiments.h → react/renderer/graphics/platform/android/react/renderer/graphics/Float.h} +8 -12
  961. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +0 -1
  962. package/ReactCommon/react/renderer/graphics/platform/ios/{RCTPlatformColorUtils.mm → react/renderer/graphics/RCTPlatformColorUtils.mm} +1 -2
  963. package/ReactCommon/react/renderer/imagemanager/BUCK +4 -2
  964. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +1 -1
  965. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +64 -0
  966. package/ReactCommon/react/renderer/imagemanager/platform/ios/{ImageManager.mm → react/renderer/imagemanager/ImageManager.mm} +1 -1
  967. package/ReactCommon/react/renderer/imagemanager/platform/ios/{ImageRequest.cpp → react/renderer/imagemanager/ImageRequest.cpp} +1 -1
  968. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManager.h → react/renderer/imagemanager/RCTImageManager.h} +1 -1
  969. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTSyncImageManager.h → react/renderer/imagemanager/RCTSyncImageManager.h} +1 -1
  970. package/ReactCommon/react/renderer/imagemanager/primitives.h +2 -1
  971. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +4 -2
  972. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +1 -1
  973. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
  974. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
  975. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +21 -17
  976. package/ReactCommon/react/renderer/mounting/ShadowTree.h +11 -5
  977. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +2 -2
  978. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +11 -6
  979. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +6 -3
  980. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +1 -0
  981. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -8
  982. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +8 -8
  983. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -2
  984. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  985. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +17 -5
  986. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +6 -3
  987. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +3 -3
  988. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +11 -2
  989. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +4 -3
  990. package/ReactCommon/react/renderer/runtimescheduler/{SchedulerPriority.h → SchedulerPriorityUtils.h} +3 -28
  991. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +23 -6
  992. package/ReactCommon/react/renderer/runtimescheduler/Task.h +13 -7
  993. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +15 -4
  994. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  995. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +1 -0
  996. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +42 -10
  997. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -1
  998. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +3 -5
  999. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +32 -34
  1000. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -3
  1001. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
  1002. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +2 -1
  1003. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -1
  1004. package/ReactCommon/react/renderer/templateprocessor/BUCK +2 -0
  1005. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -2
  1006. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +1 -0
  1007. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +14 -3
  1008. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +7 -1
  1009. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +9 -1
  1010. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +7 -1
  1011. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{NSTextStorage+FontScaling.m → react/renderer/textlayoutmanager/NSTextStorage+FontScaling.m} +3 -3
  1012. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextLayoutManager.h → react/renderer/textlayoutmanager/RCTTextLayoutManager.h} +10 -4
  1013. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextLayoutManager.mm → react/renderer/textlayoutmanager/RCTTextLayoutManager.mm} +140 -96
  1014. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{TextLayoutManager.h → react/renderer/textlayoutmanager/TextLayoutManager.h} +7 -1
  1015. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{TextLayoutManager.mm → react/renderer/textlayoutmanager/TextLayoutManager.mm} +24 -3
  1016. package/ReactCommon/react/renderer/timeline/TimelineController.h +1 -1
  1017. package/ReactCommon/react/renderer/uimanager/BUCK +2 -0
  1018. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +4 -4
  1019. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +2 -2
  1020. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +158 -41
  1021. package/ReactCommon/react/renderer/uimanager/UIManager.h +16 -3
  1022. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +8 -0
  1023. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +86 -4
  1024. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +2 -1
  1025. package/ReactCommon/react/renderer/uimanager/primitives.h +48 -24
  1026. package/ReactCommon/react/utils/.clang-tidy +1 -0
  1027. package/ReactCommon/react/utils/BUCK +6 -2
  1028. package/ReactCommon/react/utils/ContextContainer.h +8 -8
  1029. package/ReactCommon/react/utils/SharedFunction.h +4 -6
  1030. package/ReactCommon/reactperflogger/.clang-tidy +1 -0
  1031. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  1032. package/ReactCommon/runtimeexecutor/.clang-tidy +1 -0
  1033. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  1034. package/ReactCommon/yoga/yoga/CMakeLists.txt +41 -0
  1035. package/ReactCommon/yoga/yoga/CompactValue.h +8 -0
  1036. package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
  1037. package/ReactCommon/yoga/yoga/Utils.h +2 -4
  1038. package/ReactCommon/yoga/yoga/YGEnums.cpp +4 -0
  1039. package/ReactCommon/yoga/yoga/YGEnums.h +3 -1
  1040. package/ReactCommon/yoga/yoga/YGLayout.h +1 -26
  1041. package/ReactCommon/yoga/yoga/YGNode.cpp +0 -47
  1042. package/ReactCommon/yoga/yoga/YGNode.h +0 -4
  1043. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +3 -1
  1044. package/ReactCommon/yoga/yoga/Yoga-internal.h +6 -3
  1045. package/ReactCommon/yoga/yoga/Yoga.cpp +55 -127
  1046. package/ReactCommon/yoga/yoga/Yoga.h +0 -5
  1047. package/ReactCommon/yoga/yoga/event/event.h +0 -5
  1048. package/build.gradle.kts +10 -123
  1049. package/flow/global.js +29 -4
  1050. package/flow/jest.js +258 -164
  1051. package/flow/use-sync-external-store.js +1 -0
  1052. package/gradle.properties +1 -12
  1053. package/index.js +56 -42
  1054. package/interface.js +1 -1
  1055. package/jest/local-setup.js +33 -0
  1056. package/jest/mockComponent.js +4 -2
  1057. package/jest/mockNativeComponent.js +1 -1
  1058. package/jest/mockScrollView.js +2 -1
  1059. package/jest/react-native-env.js +1 -3
  1060. package/jest/setup.js +11 -8
  1061. package/local-cli/cli.js +0 -0
  1062. package/package.json +23 -101
  1063. package/react-native.config.js +2 -2
  1064. package/rn-get-polyfills.js +1 -1
  1065. package/scripts/cocoapods/__tests__/codegen-test.rb +242 -0
  1066. package/scripts/cocoapods/__tests__/codegen_utils-test.rb +597 -0
  1067. package/scripts/cocoapods/__tests__/fabric-test.rb +68 -0
  1068. package/scripts/cocoapods/__tests__/flipper-test.rb +153 -0
  1069. package/scripts/cocoapods/__tests__/jsengine-test.rb +126 -0
  1070. package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +167 -0
  1071. package/scripts/cocoapods/__tests__/new_architecture-test.rb +297 -0
  1072. package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +21 -0
  1073. package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +108 -0
  1074. package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +72 -0
  1075. package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +21 -0
  1076. package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +113 -0
  1077. package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +40 -0
  1078. package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +28 -0
  1079. package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +222 -0
  1080. package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +14 -0
  1081. package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +43 -0
  1082. package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +42 -0
  1083. package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +144 -0
  1084. package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +30 -0
  1085. package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +21 -0
  1086. package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +12 -0
  1087. package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +38 -0
  1088. package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +14 -0
  1089. package/scripts/cocoapods/__tests__/utils-test.rb +780 -0
  1090. package/scripts/cocoapods/codegen.rb +23 -19
  1091. package/scripts/cocoapods/codegen_utils.rb +73 -37
  1092. package/scripts/cocoapods/fabric.rb +2 -2
  1093. package/scripts/cocoapods/flipper.rb +1 -4
  1094. package/scripts/cocoapods/jsengine.rb +1 -46
  1095. package/scripts/cocoapods/local_podspec_patch.rb +6 -6
  1096. package/scripts/cocoapods/new_architecture.rb +32 -4
  1097. package/scripts/cocoapods/utils.rb +253 -19
  1098. package/scripts/codegen/__test_fixtures__/fixtures.js +132 -0
  1099. package/scripts/codegen/__tests__/generate-artifacts-executor-test.js +500 -0
  1100. package/scripts/codegen/__tests__/generate-specs-cli-executor-test.js +88 -0
  1101. package/scripts/codegen/codegen-utils.js +2 -2
  1102. package/scripts/codegen/generate-artifacts-executor.js +45 -18
  1103. package/scripts/codegen/generate-legacy-interop-components.js +123 -0
  1104. package/scripts/find-node-for-xcode.sh +4 -1
  1105. package/scripts/generate-provider-cli.js +1 -1
  1106. package/scripts/hermes/prepare-hermes-for-build.js +1 -1
  1107. package/scripts/packager.sh +3 -3
  1108. package/scripts/react-native-xcode.sh +2 -3
  1109. package/scripts/react_native_pods.rb +42 -21
  1110. package/scripts/react_native_pods_utils/script_phases.rb +1 -1
  1111. package/scripts/react_native_pods_utils/script_phases.sh +4 -4
  1112. package/scripts/xcode/with-environment.sh +6 -6
  1113. package/sdks/.hermesversion +1 -1
  1114. package/sdks/hermes-engine/hermes-engine.podspec +21 -50
  1115. package/sdks/hermes-engine/hermes-utils.rb +122 -4
  1116. package/sdks/hermes-engine/utils/build-apple-framework.sh +12 -2
  1117. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +7 -0
  1118. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +9 -2
  1119. package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +1 -16
  1120. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +30 -0
  1121. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1122. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1123. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1124. package/settings.gradle.kts +12 -15
  1125. package/template/Gemfile +2 -2
  1126. package/template/__tests__/{App-test.tsx → App.test.tsx} +3 -0
  1127. package/template/_eslintrc.js +1 -1
  1128. package/template/_gitignore +3 -0
  1129. package/template/_watchmanconfig +1 -1
  1130. package/template/android/app/build.gradle +2 -47
  1131. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +1 -4
  1132. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +1 -1
  1133. package/template/android/build.gradle +1 -1
  1134. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  1135. package/template/android/gradle/wrapper/gradle-wrapper.properties +2 -1
  1136. package/template/android/gradle.properties +1 -1
  1137. package/template/android/gradlew +14 -4
  1138. package/template/android/gradlew.bat +9 -6
  1139. package/template/android/settings.gradle +1 -1
  1140. package/template/app.json +1 -1
  1141. package/template/ios/HelloWorld/AppDelegate.mm +0 -10
  1142. package/template/ios/Podfile +8 -6
  1143. package/template/jest.config.js +3 -0
  1144. package/template/metro.config.js +7 -13
  1145. package/template/package.json +8 -7
  1146. package/types/index.d.ts +2 -6
  1147. package/types/modules/Codegen.d.ts +4 -4
  1148. package/types/modules/globals.d.ts +27 -25
  1149. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  1150. package/types/public/ReactNativeRenderer.d.ts +2 -7
  1151. package/types/tslint.json +2 -1
  1152. package/CHANGELOG.md +0 -4860
  1153. package/Libraries/.npmignore +0 -1
  1154. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  1155. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  1156. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  1157. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  1158. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  1159. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  1160. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  1161. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  1162. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  1163. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  1164. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  1165. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  1166. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  1167. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  1168. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  1169. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  1170. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  1171. package/Libraries/Components/Slider/Slider.js +0 -282
  1172. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  1173. package/Libraries/Interaction/Batchinator.js +0 -76
  1174. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  1175. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1176. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  1177. package/Libraries/Lists/CellRenderMask.js +0 -155
  1178. package/Libraries/Lists/ChildListCollection.js +0 -72
  1179. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  1180. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  1181. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  1182. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  1183. package/Libraries/Performance/PureComponentDebug.js +0 -74
  1184. package/Libraries/Reliability/UserFlow.js +0 -158
  1185. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  1186. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  1187. package/Libraries/Utilities/MatrixMath.js +0 -748
  1188. package/Libraries/Utilities/PixelRatio.js.flow +0 -21
  1189. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  1190. package/Libraries/Utilities/clamp.js +0 -23
  1191. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  1192. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1193. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1194. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1195. package/Libraries/Utilities/truncate.js +0 -51
  1196. package/Libraries/WebSocket/RCTSRWebSocket.h +0 -136
  1197. package/Libraries/WebSocket/RCTSRWebSocket.m +0 -1746
  1198. package/React/Base/RCTWeakProxy.m +0 -30
  1199. package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.h +0 -21
  1200. package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.mm +0 -352
  1201. package/React/Views/RCTDatePicker.m +0 -70
  1202. package/React/Views/RCTDatePickerManager.h +0 -19
  1203. package/React/Views/RCTDatePickerManager.m +0 -105
  1204. package/React/Views/RCTProgressViewManager.h +0 -12
  1205. package/React/Views/RCTProgressViewManager.m +0 -45
  1206. package/React/Views/RCTSlider.h +0 -26
  1207. package/React/Views/RCTSlider.m +0 -104
  1208. package/React/Views/RCTSliderManager.m +0 -91
  1209. package/ReactAndroid/.npmignore +0 -10
  1210. package/ReactAndroid/Android-prebuilt.mk +0 -211
  1211. package/ReactAndroid/external-artifacts/.npmignore +0 -3
  1212. package/ReactAndroid/hermes-engine/.npmignore +0 -3
  1213. package/ReactAndroid/src/main/AndroidManifest.xml +0 -5
  1214. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +0 -47
  1215. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java +0 -116
  1216. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -54
  1217. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +0 -336
  1218. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -54
  1219. package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +0 -44
  1220. package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +0 -22
  1221. package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +0 -66
  1222. package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +0 -26
  1223. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +0 -51
  1224. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +0 -47
  1225. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +0 -73
  1226. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +0 -64
  1227. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +0 -100
  1228. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +0 -39
  1229. package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +0 -26
  1230. package/ReactCommon/react/renderer/components/slider/BUCK +0 -117
  1231. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +0 -45
  1232. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -58
  1233. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +0 -100
  1234. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +0 -77
  1235. package/ReactCommon/react/renderer/components/slider/SliderState.cpp +0 -44
  1236. package/ReactCommon/react/renderer/components/slider/SliderState.h +0 -89
  1237. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +0 -72
  1238. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.h +0 -40
  1239. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +0 -23
  1240. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.h +0 -33
  1241. package/ReactCommon/react/renderer/components/slider/tests/SliderTest.cpp +0 -14
  1242. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -80
  1243. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +0 -63
  1244. package/ReactCommon/yoga/yoga/internal/experiments-inl.h +0 -32
  1245. package/ReactCommon/yoga/yoga/internal/experiments.cpp +0 -38
  1246. package/flow/JSITimerInternalType.js +0 -30
  1247. package/react.gradle +0 -486
  1248. package/template/_node-version +0 -1
  1249. package/types/.npmignore +0 -1
  1250. /package/ReactCommon/react/nativemodule/core/platform/ios/{RCTBlockGuard.mm → ReactCommon/RCTBlockGuard.mm} +0 -0
  1251. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboCxxModule.h → ReactCommon/RCTSampleTurboCxxModule.h} +0 -0
  1252. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboCxxModule.mm → ReactCommon/RCTSampleTurboCxxModule.mm} +0 -0
  1253. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboModule.h → ReactCommon/RCTSampleTurboModule.h} +0 -0
  1254. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputComponentDescriptor.h → react/renderer/components/iostextinput/TextInputComponentDescriptor.h} +0 -0
  1255. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputProps.h → react/renderer/components/iostextinput/TextInputProps.h} +0 -0
  1256. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputShadowNode.h → react/renderer/components/iostextinput/TextInputShadowNode.h} +0 -0
  1257. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputState.cpp → react/renderer/components/iostextinput/TextInputState.cpp} +0 -0
  1258. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputState.h → react/renderer/components/iostextinput/TextInputState.h} +0 -0
  1259. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{conversions.h → react/renderer/components/iostextinput/conversions.h} +0 -0
  1260. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{primitives.h → react/renderer/components/iostextinput/primitives.h} +0 -0
  1261. /package/ReactCommon/react/renderer/graphics/platform/ios/{Float.h → react/renderer/graphics/Float.h} +0 -0
  1262. /package/ReactCommon/react/renderer/graphics/platform/ios/{PlatformColorParser.h → react/renderer/graphics/PlatformColorParser.h} +0 -0
  1263. /package/ReactCommon/react/renderer/graphics/platform/ios/{RCTPlatformColorUtils.h → react/renderer/graphics/RCTPlatformColorUtils.h} +0 -0
  1264. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManager.mm → react/renderer/imagemanager/RCTImageManager.mm} +0 -0
  1265. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManagerProtocol.h → react/renderer/imagemanager/RCTImageManagerProtocol.h} +0 -0
  1266. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImagePrimitivesConversions.h → react/renderer/imagemanager/RCTImagePrimitivesConversions.h} +0 -0
  1267. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTSyncImageManager.mm → react/renderer/imagemanager/RCTSyncImageManager.mm} +0 -0
  1268. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{NSTextStorage+FontScaling.h → react/renderer/textlayoutmanager/NSTextStorage+FontScaling.h} +0 -0
  1269. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTAttributedTextUtils.h → react/renderer/textlayoutmanager/RCTAttributedTextUtils.h} +0 -0
  1270. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTAttributedTextUtils.mm → react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm} +0 -0
  1271. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontProperties.h → react/renderer/textlayoutmanager/RCTFontProperties.h} +0 -0
  1272. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontUtils.h → react/renderer/textlayoutmanager/RCTFontUtils.h} +0 -0
  1273. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontUtils.mm → react/renderer/textlayoutmanager/RCTFontUtils.mm} +0 -0
  1274. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextPrimitivesConversions.h → react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h} +0 -0
@@ -7,6 +7,8 @@
7
7
 
8
8
  package com.facebook.react;
9
9
 
10
+ import androidx.annotation.Nullable;
11
+ import com.facebook.react.bridge.ModuleSpec;
10
12
  import com.facebook.react.bridge.NativeModule;
11
13
  import com.facebook.react.bridge.ReactApplicationContext;
12
14
  import com.facebook.react.devsupport.JSCHeapCapture;
@@ -15,8 +17,15 @@ import com.facebook.react.module.annotations.ReactModuleList;
15
17
  import com.facebook.react.module.model.ReactModuleInfo;
16
18
  import com.facebook.react.module.model.ReactModuleInfoProvider;
17
19
  import com.facebook.react.turbomodule.core.interfaces.TurboModule;
20
+ import com.facebook.react.uimanager.UIManagerModule;
21
+ import com.facebook.react.uimanager.ViewManager;
22
+ import com.facebook.react.views.traceupdateoverlay.TraceUpdateOverlayManager;
23
+ import java.util.ArrayList;
24
+ import java.util.Collection;
18
25
  import java.util.HashMap;
26
+ import java.util.List;
19
27
  import java.util.Map;
28
+ import javax.inject.Provider;
20
29
 
21
30
  /**
22
31
  * Package defining core framework modules (e.g. UIManager). It should be used for modules that
@@ -27,13 +36,15 @@ import java.util.Map;
27
36
  nativeModules = {
28
37
  JSCHeapCapture.class,
29
38
  })
30
- public class DebugCorePackage extends TurboReactPackage {
39
+ public class DebugCorePackage extends TurboReactPackage implements ViewManagerOnDemandReactPackage {
40
+ private @Nullable Map<String, ModuleSpec> mViewManagers;
41
+
31
42
  public DebugCorePackage() {}
32
43
 
33
44
  @Override
34
45
  public NativeModule getModule(String name, ReactApplicationContext reactContext) {
35
46
  switch (name) {
36
- case JSCHeapCapture.TAG:
47
+ case JSCHeapCapture.NAME:
37
48
  return new JSCHeapCapture(reactContext);
38
49
  default:
39
50
  throw new IllegalArgumentException(
@@ -81,4 +92,45 @@ public class DebugCorePackage extends TurboReactPackage {
81
92
  "No ReactModuleInfoProvider for DebugCorePackage$$ReactModuleInfoProvider", e);
82
93
  }
83
94
  }
95
+
96
+ private static void appendMap(
97
+ Map<String, ModuleSpec> map, String name, Provider<? extends NativeModule> provider) {
98
+ map.put(name, ModuleSpec.viewManagerSpec(provider));
99
+ }
100
+
101
+ /** @return a map of view managers that should be registered with {@link UIManagerModule} */
102
+ private Map<String, ModuleSpec> getViewManagersMap(final ReactApplicationContext reactContext) {
103
+ if (mViewManagers == null) {
104
+ Map<String, ModuleSpec> viewManagers = new HashMap<>();
105
+ appendMap(
106
+ viewManagers,
107
+ TraceUpdateOverlayManager.REACT_CLASS,
108
+ new Provider<NativeModule>() {
109
+ @Override
110
+ public NativeModule get() {
111
+ return new TraceUpdateOverlayManager();
112
+ }
113
+ });
114
+
115
+ mViewManagers = viewManagers;
116
+ }
117
+ return mViewManagers;
118
+ }
119
+
120
+ @Override
121
+ public List<ModuleSpec> getViewManagers(ReactApplicationContext reactContext) {
122
+ return new ArrayList<>(getViewManagersMap(reactContext).values());
123
+ }
124
+
125
+ @Override
126
+ public Collection<String> getViewManagerNames(ReactApplicationContext reactContext) {
127
+ return getViewManagersMap(reactContext).keySet();
128
+ }
129
+
130
+ @Override
131
+ public @Nullable ViewManager createViewManager(
132
+ ReactApplicationContext reactContext, String viewManagerName) {
133
+ ModuleSpec spec = getViewManagersMap(reactContext).get(viewManagerName);
134
+ return spec != null ? (ViewManager) spec.getProvider().get() : null;
135
+ }
84
136
  }
@@ -33,44 +33,16 @@ import java.util.Map;
33
33
  */
34
34
  public abstract class LazyReactPackage implements ReactPackage {
35
35
 
36
+ @Deprecated
36
37
  public static ReactModuleInfoProvider getReactModuleInfoProviderViaReflection(
37
38
  LazyReactPackage lazyReactPackage) {
38
- Class<?> reactModuleInfoProviderClass;
39
- try {
40
- reactModuleInfoProviderClass =
41
- Class.forName(
42
- lazyReactPackage.getClass().getCanonicalName() + "$$ReactModuleInfoProvider");
43
- } catch (ClassNotFoundException e) {
44
- // In OSS case, when the annotation processor does not run, we fall back to non-lazy mode
45
- // For this, we simply return an empty moduleMap.
46
- // NativeModuleRegistryBuilder will eagerly get all the modules, and get the info from the
47
- // modules directly
48
- return new ReactModuleInfoProvider() {
49
- @Override
50
- public Map<String, ReactModuleInfo> getReactModuleInfos() {
51
- return Collections.emptyMap();
52
- }
53
- };
54
- }
55
-
56
- if (reactModuleInfoProviderClass == null) {
57
- throw new RuntimeException(
58
- "ReactModuleInfoProvider class for "
59
- + lazyReactPackage.getClass().getCanonicalName()
60
- + " not found.");
61
- }
62
-
63
- try {
64
- return (ReactModuleInfoProvider) reactModuleInfoProviderClass.newInstance();
65
- } catch (InstantiationException e) {
66
- throw new RuntimeException(
67
- "Unable to instantiate ReactModuleInfoProvider for " + lazyReactPackage.getClass(), e);
68
- } catch (IllegalAccessException e) {
69
- throw new RuntimeException(
70
- "Unable to instantiate ReactModuleInfoProvider for " + lazyReactPackage.getClass(), e);
71
- }
39
+ return new ReactModuleInfoProvider() {
40
+ @Override
41
+ public Map<String, ReactModuleInfo> getReactModuleInfos() {
42
+ return Collections.emptyMap();
43
+ }
44
+ };
72
45
  }
73
-
74
46
  /**
75
47
  * We return an iterable
76
48
  *
@@ -34,7 +34,6 @@ public class ReactActivityDelegate {
34
34
  private @Nullable PermissionListener mPermissionListener;
35
35
  private @Nullable Callback mPermissionsCallback;
36
36
  private ReactDelegate mReactDelegate;
37
- private boolean mConcurrentRootEnabled;
38
37
 
39
38
  @Deprecated
40
39
  public ReactActivityDelegate(Activity activity, @Nullable String mainComponentName) {
@@ -57,9 +56,9 @@ public class ReactActivityDelegate {
57
56
  return null;
58
57
  }
59
58
 
60
- private @NonNull Bundle composeLaunchOptions() {
59
+ protected @NonNull Bundle composeLaunchOptions() {
61
60
  Bundle composedLaunchOptions = getLaunchOptions();
62
- if (isConcurrentRootEnabled()) {
61
+ if (isFabricEnabled()) {
63
62
  if (composedLaunchOptions == null) {
64
63
  composedLaunchOptions = new Bundle();
65
64
  }
@@ -72,6 +71,10 @@ public class ReactActivityDelegate {
72
71
  return new ReactRootView(getContext());
73
72
  }
74
73
 
74
+ protected ReactRootView createRootView(Bundle initialProps) {
75
+ return new ReactRootView(getContext());
76
+ }
77
+
75
78
  /**
76
79
  * Get the {@link ReactNativeHost} used by this app. By default, assumes {@link
77
80
  * Activity#getApplication()} is an instance of {@link ReactApplication} and calls {@link
@@ -93,13 +96,13 @@ public class ReactActivityDelegate {
93
96
 
94
97
  protected void onCreate(Bundle savedInstanceState) {
95
98
  String mainComponentName = getMainComponentName();
96
- Bundle launchOptions = composeLaunchOptions();
99
+ final Bundle launchOptions = composeLaunchOptions();
97
100
  mReactDelegate =
98
101
  new ReactDelegate(
99
102
  getPlainActivity(), getReactNativeHost(), mainComponentName, launchOptions) {
100
103
  @Override
101
104
  protected ReactRootView createRootView() {
102
- return ReactActivityDelegate.this.createRootView();
105
+ return ReactActivityDelegate.this.createRootView(launchOptions);
103
106
  }
104
107
  };
105
108
  if (mainComponentName != null) {
@@ -212,14 +215,12 @@ public class ReactActivityDelegate {
212
215
  }
213
216
 
214
217
  /**
215
- * Override this method to enable Concurrent Root on the surface for this Activity. See:
216
- * https://reactjs.org/blog/2022/03/29/react-v18.html
217
- *
218
- * <p>This requires to be rendering on Fabric (i.e. on the New Architecture).
218
+ * Override this method if you wish to selectively toggle Fabric for a specific surface. This will
219
+ * also control if Concurrent Root (React 18) should be enabled or not.
219
220
  *
220
- * @return Wether you want to enable Concurrent Root for this surface or not.
221
+ * @return true if Fabric is enabled for this Activity, false otherwise.
221
222
  */
222
- protected boolean isConcurrentRootEnabled() {
223
+ protected boolean isFabricEnabled() {
223
224
  return false;
224
225
  }
225
226
  }
@@ -11,6 +11,7 @@ import android.app.Activity;
11
11
  import android.content.Intent;
12
12
  import android.os.Bundle;
13
13
  import android.view.KeyEvent;
14
+ import androidx.annotation.NonNull;
14
15
  import androidx.annotation.Nullable;
15
16
  import com.facebook.infer.annotation.Assertions;
16
17
  import com.facebook.react.devsupport.DoubleTapReloadRecognizer;
@@ -33,6 +34,8 @@ public class ReactDelegate {
33
34
 
34
35
  private ReactNativeHost mReactNativeHost;
35
36
 
37
+ private boolean mFabricEnabled = false;
38
+
36
39
  public ReactDelegate(
37
40
  Activity activity,
38
41
  ReactNativeHost reactNativeHost,
@@ -45,6 +48,20 @@ public class ReactDelegate {
45
48
  mReactNativeHost = reactNativeHost;
46
49
  }
47
50
 
51
+ public ReactDelegate(
52
+ Activity activity,
53
+ ReactNativeHost reactNativeHost,
54
+ @Nullable String appKey,
55
+ @Nullable Bundle launchOptions,
56
+ boolean fabricEnabled) {
57
+ mActivity = activity;
58
+ mMainComponentName = appKey;
59
+ mLaunchOptions = composeLaunchOptions(launchOptions);
60
+ mDoubleTapReloadRecognizer = new DoubleTapReloadRecognizer();
61
+ mReactNativeHost = reactNativeHost;
62
+ mFabricEnabled = fabricEnabled;
63
+ }
64
+
48
65
  public void onHostResume() {
49
66
  if (getReactNativeHost().hasInstance()) {
50
67
  if (mActivity instanceof DefaultHardwareBackBtnHandler) {
@@ -109,7 +126,9 @@ public class ReactDelegate {
109
126
  }
110
127
 
111
128
  protected ReactRootView createRootView() {
112
- return new ReactRootView(mActivity);
129
+ ReactRootView reactRootView = new ReactRootView(mActivity);
130
+ reactRootView.setIsFabric(isFabricEnabled());
131
+ return reactRootView;
113
132
  }
114
133
 
115
134
  /**
@@ -144,4 +163,24 @@ public class ReactDelegate {
144
163
  public ReactInstanceManager getReactInstanceManager() {
145
164
  return getReactNativeHost().getReactInstanceManager();
146
165
  }
166
+
167
+ /**
168
+ * Override this method if you wish to selectively toggle Fabric for a specific surface. This will
169
+ * also control if Concurrent Root (React 18) should be enabled or not.
170
+ *
171
+ * @return true if Fabric is enabled for this Activity, false otherwise.
172
+ */
173
+ protected boolean isFabricEnabled() {
174
+ return mFabricEnabled;
175
+ }
176
+
177
+ private @NonNull Bundle composeLaunchOptions(Bundle composedLaunchOptions) {
178
+ if (isFabricEnabled()) {
179
+ if (composedLaunchOptions == null) {
180
+ composedLaunchOptions = new Bundle();
181
+ }
182
+ composedLaunchOptions.putBoolean("concurrentRoot", true);
183
+ }
184
+ return composedLaunchOptions;
185
+ }
147
186
  }
@@ -16,6 +16,7 @@ import android.view.KeyEvent;
16
16
  import android.view.LayoutInflater;
17
17
  import android.view.View;
18
18
  import android.view.ViewGroup;
19
+ import androidx.annotation.NonNull;
19
20
  import androidx.annotation.Nullable;
20
21
  import androidx.fragment.app.Fragment;
21
22
  import com.facebook.react.modules.core.PermissionAwareActivity;
@@ -29,6 +30,7 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
29
30
 
30
31
  protected static final String ARG_COMPONENT_NAME = "arg_component_name";
31
32
  protected static final String ARG_LAUNCH_OPTIONS = "arg_launch_options";
33
+ protected static final String ARG_FABRIC_ENABLED = "arg_fabric_enabled";
32
34
 
33
35
  private ReactDelegate mReactDelegate;
34
36
 
@@ -40,13 +42,16 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
40
42
 
41
43
  /**
42
44
  * @param componentName The name of the react native component
45
+ * @param fabricEnabled Flag to enable Fabric for ReactFragment
43
46
  * @return A new instance of fragment ReactFragment.
44
47
  */
45
- private static ReactFragment newInstance(String componentName, Bundle launchOptions) {
48
+ private static ReactFragment newInstance(
49
+ String componentName, Bundle launchOptions, Boolean fabricEnabled) {
46
50
  ReactFragment fragment = new ReactFragment();
47
51
  Bundle args = new Bundle();
48
52
  args.putString(ARG_COMPONENT_NAME, componentName);
49
53
  args.putBundle(ARG_LAUNCH_OPTIONS, launchOptions);
54
+ args.putBoolean(ARG_FABRIC_ENABLED, fabricEnabled);
50
55
  fragment.setArguments(args);
51
56
  return fragment;
52
57
  }
@@ -57,15 +62,18 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
57
62
  super.onCreate(savedInstanceState);
58
63
  String mainComponentName = null;
59
64
  Bundle launchOptions = null;
65
+ Boolean fabricEnabled = null;
60
66
  if (getArguments() != null) {
61
67
  mainComponentName = getArguments().getString(ARG_COMPONENT_NAME);
62
68
  launchOptions = getArguments().getBundle(ARG_LAUNCH_OPTIONS);
69
+ fabricEnabled = getArguments().getBoolean(ARG_FABRIC_ENABLED);
63
70
  }
64
71
  if (mainComponentName == null) {
65
72
  throw new IllegalStateException("Cannot loadApp if component name is null");
66
73
  }
67
74
  mReactDelegate =
68
- new ReactDelegate(getActivity(), getReactNativeHost(), mainComponentName, launchOptions);
75
+ new ReactDelegate(
76
+ getActivity(), getReactNativeHost(), mainComponentName, launchOptions, fabricEnabled);
69
77
  }
70
78
 
71
79
  /**
@@ -85,7 +93,7 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
85
93
 
86
94
  @Override
87
95
  public View onCreateView(
88
- LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
96
+ @NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
89
97
  mReactDelegate.loadApp();
90
98
  return mReactDelegate.getReactRootView();
91
99
  }
@@ -140,7 +148,7 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
140
148
 
141
149
  @Override
142
150
  public void onRequestPermissionsResult(
143
- int requestCode, String[] permissions, int[] grantResults) {
151
+ int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
144
152
  super.onRequestPermissionsResult(requestCode, permissions, grantResults);
145
153
  if (mPermissionListener != null
146
154
  && mPermissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults)) {
@@ -170,12 +178,14 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
170
178
  /** Builder class to help instantiate a ReactFragment */
171
179
  public static class Builder {
172
180
 
173
- String mComponentName;
174
- Bundle mLaunchOptions;
181
+ @Nullable String mComponentName;
182
+ @Nullable Bundle mLaunchOptions;
183
+ @Nullable Boolean mFabricEnabled;
175
184
 
176
185
  public Builder() {
177
186
  mComponentName = null;
178
187
  mLaunchOptions = null;
188
+ mFabricEnabled = null;
179
189
  }
180
190
 
181
191
  /**
@@ -201,7 +211,12 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
201
211
  }
202
212
 
203
213
  public ReactFragment build() {
204
- return ReactFragment.newInstance(mComponentName, mLaunchOptions);
214
+ return ReactFragment.newInstance(mComponentName, mLaunchOptions, mFabricEnabled);
215
+ }
216
+
217
+ public Builder setFabricEnabled(boolean fabricEnabled) {
218
+ mFabricEnabled = fabricEnabled;
219
+ return this;
205
220
  }
206
221
  }
207
222
  }
@@ -82,6 +82,7 @@ import com.facebook.react.config.ReactFeatureFlags;
82
82
  import com.facebook.react.devsupport.DevSupportManagerFactory;
83
83
  import com.facebook.react.devsupport.ReactInstanceDevHelper;
84
84
  import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
85
+ import com.facebook.react.devsupport.interfaces.DevLoadingViewManager;
85
86
  import com.facebook.react.devsupport.interfaces.DevSupportManager;
86
87
  import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
87
88
  import com.facebook.react.devsupport.interfaces.RedBoxHandler;
@@ -233,7 +234,8 @@ public class ReactInstanceManager {
233
234
  @Nullable JSIModulePackage jsiModulePackage,
234
235
  @Nullable Map<String, RequestHandler> customPackagerCommandHandlers,
235
236
  @Nullable ReactPackageTurboModuleManagerDelegate.Builder tmmDelegateBuilder,
236
- @Nullable SurfaceDelegateFactory surfaceDelegateFactory) {
237
+ @Nullable SurfaceDelegateFactory surfaceDelegateFactory,
238
+ @Nullable DevLoadingViewManager devLoadingViewManager) {
237
239
  FLog.d(TAG, "ReactInstanceManager.ctor()");
238
240
  initializeSoLoaderIfNecessary(applicationContext);
239
241
 
@@ -261,7 +263,8 @@ public class ReactInstanceManager {
261
263
  devBundleDownloadListener,
262
264
  minNumShakes,
263
265
  customPackagerCommandHandlers,
264
- surfaceDelegateFactory);
266
+ surfaceDelegateFactory,
267
+ devLoadingViewManager);
265
268
  Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
266
269
  mBridgeIdleDebugListener = bridgeIdleDebugListener;
267
270
  mLifecycleState = initialLifecycleState;
@@ -384,7 +387,7 @@ public class ReactInstanceManager {
384
387
  try {
385
388
  handleCxxErrorFunc = ReactInstanceManager.class.getMethod("handleCxxError", parameterTypes);
386
389
  } catch (NoSuchMethodException e) {
387
- FLog.e("ReactInstanceHolder", "Failed to set cxx error hanlder function", e);
390
+ FLog.e("ReactInstanceHolder", "Failed to set cxx error handler function", e);
388
391
  }
389
392
  ReactCxxErrorHandler.setHandleErrorFunc(this, handleCxxErrorFunc);
390
393
  }
@@ -551,9 +554,7 @@ public class ReactInstanceManager {
551
554
  private void toggleElementInspector() {
552
555
  ReactContext currentContext = getCurrentReactContext();
553
556
  if (currentContext != null && currentContext.hasActiveReactInstance()) {
554
- currentContext
555
- .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
556
- .emit("toggleElementInspector", null);
557
+ currentContext.emitDeviceEvent("toggleElementInspector");
557
558
  } else {
558
559
  ReactSoftExceptionLogger.logSoftException(
559
560
  TAG,
@@ -920,10 +921,11 @@ public class ReactInstanceManager {
920
921
  if (mViewManagers == null) {
921
922
  synchronized (mPackages) {
922
923
  if (mViewManagers == null) {
923
- mViewManagers = new ArrayList<>();
924
+ ArrayList<ViewManager> viewManagers = new ArrayList<>();
924
925
  for (ReactPackage reactPackage : mPackages) {
925
- mViewManagers.addAll(reactPackage.createViewManagers(catalystApplicationContext));
926
+ viewManagers.addAll(reactPackage.createViewManagers(catalystApplicationContext));
926
927
  }
928
+ mViewManagers = viewManagers;
927
929
  return mViewManagers;
928
930
  }
929
931
  }
@@ -28,6 +28,7 @@ import com.facebook.react.common.SurfaceDelegateFactory;
28
28
  import com.facebook.react.devsupport.DefaultDevSupportManagerFactory;
29
29
  import com.facebook.react.devsupport.DevSupportManagerFactory;
30
30
  import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
31
+ import com.facebook.react.devsupport.interfaces.DevLoadingViewManager;
31
32
  import com.facebook.react.devsupport.interfaces.DevSupportManager;
32
33
  import com.facebook.react.devsupport.interfaces.RedBoxHandler;
33
34
  import com.facebook.react.jscexecutor.JSCExecutor;
@@ -67,6 +68,7 @@ public class ReactInstanceManagerBuilder {
67
68
  private @Nullable Map<String, RequestHandler> mCustomPackagerCommandHandlers;
68
69
  private @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
69
70
  private @Nullable SurfaceDelegateFactory mSurfaceDelegateFactory;
71
+ private @Nullable DevLoadingViewManager mDevLoadingViewManager;
70
72
  private JSEngineResolutionAlgorithm jsEngineResolutionAlgorithm = null;
71
73
 
72
74
  /* package protected */ ReactInstanceManagerBuilder() {}
@@ -216,6 +218,13 @@ public class ReactInstanceManagerBuilder {
216
218
  return this;
217
219
  }
218
220
 
221
+ /** Sets the Dev Loading View Manager. */
222
+ public ReactInstanceManagerBuilder setDevLoadingViewManager(
223
+ @Nullable DevLoadingViewManager devLoadingViewManager) {
224
+ mDevLoadingViewManager = devLoadingViewManager;
225
+ return this;
226
+ }
227
+
219
228
  /**
220
229
  * Sets the initial lifecycle state of the host. For example, if the host is already resumed at
221
230
  * creation time, we wouldn't expect an onResume call until we get an onPause call.
@@ -337,7 +346,8 @@ public class ReactInstanceManagerBuilder {
337
346
  mJSIModulesPackage,
338
347
  mCustomPackagerCommandHandlers,
339
348
  mTMMDelegateBuilder,
340
- mSurfaceDelegateFactory);
349
+ mSurfaceDelegateFactory,
350
+ mDevLoadingViewManager);
341
351
  }
342
352
 
343
353
  private JavaScriptExecutorFactory getDefaultJSExecutorFactory(
@@ -18,6 +18,7 @@ import com.facebook.react.common.LifecycleState;
18
18
  import com.facebook.react.common.SurfaceDelegate;
19
19
  import com.facebook.react.common.SurfaceDelegateFactory;
20
20
  import com.facebook.react.devsupport.DevSupportManagerFactory;
21
+ import com.facebook.react.devsupport.interfaces.DevLoadingViewManager;
21
22
  import com.facebook.react.devsupport.interfaces.RedBoxHandler;
22
23
  import java.util.List;
23
24
 
@@ -71,6 +72,7 @@ public abstract class ReactNativeHost {
71
72
  .setJSMainModulePath(getJSMainModuleName())
72
73
  .setUseDeveloperSupport(getUseDeveloperSupport())
73
74
  .setDevSupportManagerFactory(getDevSupportManagerFactory())
75
+ .setDevLoadingViewManager(getDevLoadingViewManager())
74
76
  .setRequireActivity(getShouldRequireActivity())
75
77
  .setSurfaceDelegateFactory(getSurfaceDelegateFactory())
76
78
  .setLazyViewManagersEnabled(getLazyViewManagersEnabled())
@@ -149,6 +151,13 @@ public abstract class ReactNativeHost {
149
151
  };
150
152
  }
151
153
 
154
+ /**
155
+ * Get the {@link DevLoadingViewManager}. Override this to use a custom dev loading view manager
156
+ */
157
+ protected @Nullable DevLoadingViewManager getDevLoadingViewManager() {
158
+ return null;
159
+ }
160
+
152
161
  /**
153
162
  * Returns the name of the main module. Determines the URL used to fetch the JS bundle from Metro.
154
163
  * It is only used when dev support is enabled. This is the first file to be executed once the
@@ -11,8 +11,11 @@ import androidx.annotation.Nullable;
11
11
  import com.facebook.infer.annotation.Assertions;
12
12
  import com.facebook.proguard.annotations.DoNotStrip;
13
13
  import com.facebook.react.bridge.CxxModuleWrapper;
14
+ import com.facebook.react.bridge.ModuleSpec;
14
15
  import com.facebook.react.bridge.NativeModule;
15
16
  import com.facebook.react.bridge.ReactApplicationContext;
17
+ import com.facebook.react.config.ReactFeatureFlags;
18
+ import com.facebook.react.module.annotations.ReactModule;
16
19
  import com.facebook.react.module.model.ReactModuleInfo;
17
20
  import com.facebook.react.turbomodule.core.TurboModuleManagerDelegate;
18
21
  import com.facebook.react.turbomodule.core.interfaces.TurboModule;
@@ -20,22 +23,118 @@ import java.util.ArrayList;
20
23
  import java.util.HashMap;
21
24
  import java.util.List;
22
25
  import java.util.Map;
26
+ import javax.inject.Provider;
23
27
 
24
28
  public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModuleManagerDelegate {
25
- private final List<TurboReactPackage> mPackages = new ArrayList<>();
26
- private final Map<TurboReactPackage, Map<String, ReactModuleInfo>> mPackageModuleInfos =
29
+ interface ModuleProvider {
30
+ @Nullable
31
+ NativeModule getModule(String moduleName);
32
+ }
33
+
34
+ private final List<ModuleProvider> mModuleProviders = new ArrayList<>();
35
+ private final Map<ModuleProvider, Map<String, ReactModuleInfo>> mPackageModuleInfos =
27
36
  new HashMap<>();
28
- private final ReactApplicationContext mReactApplicationContext;
37
+
38
+ private static boolean shouldSupportLegacyPackages() {
39
+ return ReactFeatureFlags.enableBridgelessArchitecture
40
+ && ReactFeatureFlags.unstable_useTurboModuleInterop;
41
+ }
29
42
 
30
43
  protected ReactPackageTurboModuleManagerDelegate(
31
44
  ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) {
32
45
  super();
33
- mReactApplicationContext = reactApplicationContext;
46
+ final ReactApplicationContext applicationContext = reactApplicationContext;
34
47
  for (ReactPackage reactPackage : packages) {
35
48
  if (reactPackage instanceof TurboReactPackage) {
36
- TurboReactPackage pkg = (TurboReactPackage) reactPackage;
37
- mPackages.add(pkg);
38
- mPackageModuleInfos.put(pkg, pkg.getReactModuleInfoProvider().getReactModuleInfos());
49
+ final TurboReactPackage turboPkg = (TurboReactPackage) reactPackage;
50
+ final ModuleProvider moduleProvider =
51
+ new ModuleProvider() {
52
+ public NativeModule getModule(String moduleName) {
53
+ return turboPkg.getModule(moduleName, applicationContext);
54
+ }
55
+ };
56
+ mModuleProviders.add(moduleProvider);
57
+ mPackageModuleInfos.put(
58
+ moduleProvider, turboPkg.getReactModuleInfoProvider().getReactModuleInfos());
59
+ continue;
60
+ }
61
+
62
+ if (shouldSupportLegacyPackages() && reactPackage instanceof LazyReactPackage) {
63
+ // TODO(T145105887): Output warnings that LazyReactPackage was used
64
+ final LazyReactPackage lazyPkg = ((LazyReactPackage) reactPackage);
65
+ final List<ModuleSpec> moduleSpecs = lazyPkg.getNativeModules(reactApplicationContext);
66
+ final Map<String, Provider<? extends NativeModule>> moduleSpecProviderMap = new HashMap<>();
67
+ for (final ModuleSpec moduleSpec : moduleSpecs) {
68
+ moduleSpecProviderMap.put(moduleSpec.getName(), moduleSpec.getProvider());
69
+ }
70
+
71
+ final ModuleProvider moduleProvider =
72
+ new ModuleProvider() {
73
+ public NativeModule getModule(String moduleName) {
74
+ Provider<? extends NativeModule> provider = moduleSpecProviderMap.get(moduleName);
75
+ return provider != null ? provider.get() : null;
76
+ }
77
+ };
78
+
79
+ mModuleProviders.add(moduleProvider);
80
+ mPackageModuleInfos.put(
81
+ moduleProvider, lazyPkg.getReactModuleInfoProvider().getReactModuleInfos());
82
+ continue;
83
+ }
84
+
85
+ if (shouldSupportLegacyPackages() && reactPackage instanceof ReactInstancePackage) {
86
+ // TODO(T145105887): Output error that ReactPackage was used
87
+
88
+ continue;
89
+ }
90
+
91
+ if (shouldSupportLegacyPackages()) {
92
+ // TODO(T145105887): Output warnings that ReactPackage was used
93
+
94
+ final List<NativeModule> nativeModules =
95
+ reactPackage.createNativeModules(reactApplicationContext);
96
+
97
+ final Map<String, NativeModule> moduleMap = new HashMap<>();
98
+ final Map<String, ReactModuleInfo> reactModuleInfoMap = new HashMap<>();
99
+
100
+ for (final NativeModule module : nativeModules) {
101
+ final Class<? extends NativeModule> moduleClass = module.getClass();
102
+ final @Nullable ReactModule reactModule = moduleClass.getAnnotation(ReactModule.class);
103
+
104
+ final String moduleName = reactModule != null ? reactModule.name() : module.getName();
105
+
106
+ final ReactModuleInfo moduleInfo =
107
+ reactModule != null
108
+ ? new ReactModuleInfo(
109
+ moduleName,
110
+ moduleClass.getName(),
111
+ reactModule.canOverrideExistingModule(),
112
+ true,
113
+ reactModule.hasConstants(),
114
+ reactModule.isCxxModule(),
115
+ TurboModule.class.isAssignableFrom(moduleClass))
116
+ : new ReactModuleInfo(
117
+ moduleName,
118
+ moduleClass.getName(),
119
+ module.canOverrideExistingModule(),
120
+ true,
121
+ true,
122
+ CxxModuleWrapper.class.isAssignableFrom(moduleClass),
123
+ TurboModule.class.isAssignableFrom(moduleClass));
124
+
125
+ reactModuleInfoMap.put(moduleName, moduleInfo);
126
+ moduleMap.put(moduleName, module);
127
+ }
128
+
129
+ final ModuleProvider moduleProvider =
130
+ new ModuleProvider() {
131
+ public NativeModule getModule(String moduleName) {
132
+ return moduleMap.get(moduleName);
133
+ }
134
+ };
135
+
136
+ mModuleProviders.add(moduleProvider);
137
+ mPackageModuleInfos.put(moduleProvider, reactModuleInfoMap);
39
138
  }
40
139
  }
41
140
  }
@@ -75,16 +174,16 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule
75
174
  private TurboModule resolveModule(String moduleName) {
76
175
  NativeModule resolvedModule = null;
77
176
 
78
- for (final TurboReactPackage pkg : mPackages) {
177
+ for (final ModuleProvider moduleProvider : mModuleProviders) {
79
178
  try {
80
- final ReactModuleInfo moduleInfo = mPackageModuleInfos.get(pkg).get(moduleName);
179
+ final ReactModuleInfo moduleInfo = mPackageModuleInfos.get(moduleProvider).get(moduleName);
81
180
  if (moduleInfo == null
82
181
  || !moduleInfo.isTurboModule()
83
182
  || resolvedModule != null && !moduleInfo.canOverrideExistingModule()) {
84
183
  continue;
85
184
  }
86
185
 
87
- final NativeModule module = pkg.getModule(moduleName, mReactApplicationContext);
186
+ final NativeModule module = moduleProvider.getModule(moduleName);
88
187
  if (module != null) {
89
188
  resolvedModule = module;
90
189
  }
@@ -107,10 +206,8 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule
107
206
  @Override
108
207
  public List<String> getEagerInitModuleNames() {
109
208
  List<String> moduleNames = new ArrayList<>();
110
- for (TurboReactPackage reactPackage : mPackages) {
111
- for (ReactModuleInfo moduleInfo :
112
- reactPackage.getReactModuleInfoProvider().getReactModuleInfos().values()) {
113
-
209
+ for (final ModuleProvider moduleProvider : mModuleProviders) {
210
+ for (final ReactModuleInfo moduleInfo : mPackageModuleInfos.get(moduleProvider).values()) {
114
211
  if (moduleInfo.isTurboModule() && moduleInfo.needsEagerInit()) {
115
212
  moduleNames.add(moduleInfo.name());
116
213
  }