react-native 0.0.0-16bb2ae4f → 0.0.0-18697adec

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 (616) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  5. package/Libraries/BatchedBridge/MessageQueue.js +10 -10
  6. package/Libraries/Blob/FileReader.js +1 -1
  7. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  8. package/Libraries/Blob/URL.js +1 -1
  9. package/Libraries/Components/Button.js +3 -0
  10. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  11. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  12. package/Libraries/Components/ScrollView/ScrollView.js +14 -5
  13. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  15. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
  16. package/Libraries/Components/StatusBar/StatusBar.js +6 -14
  17. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -3
  18. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
  19. package/Libraries/Components/TextInput/TextInput.js +27 -1
  20. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  21. package/Libraries/Components/View/ViewAccessibility.js +1 -0
  22. package/Libraries/Core/ExceptionsManager.js +3 -1
  23. package/Libraries/Core/ReactNativeVersion.js +1 -1
  24. package/Libraries/Core/Timers/JSTimers.js +37 -28
  25. package/Libraries/Core/Timers/immediateShim.js +67 -0
  26. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  27. package/Libraries/Core/polyfillPromise.js +1 -1
  28. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  29. package/Libraries/Core/setUpGlobals.js +2 -0
  30. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  31. package/Libraries/Core/setUpTimers.js +65 -6
  32. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +1 -1
  33. package/Libraries/Image/Image.ios.js +6 -0
  34. package/Libraries/Image/ImageBackground.js +10 -8
  35. package/Libraries/Image/ImageProps.js +28 -0
  36. package/Libraries/Image/ImageSource.js +1 -1
  37. package/Libraries/Image/React-RCTImage.podspec +1 -1
  38. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  39. package/Libraries/Lists/FlatList.js +43 -26
  40. package/Libraries/Lists/VirtualizedList.js +3 -1
  41. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  42. package/Libraries/LogBox/Data/LogBoxData.js +18 -18
  43. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  44. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  45. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  46. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  47. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  48. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  49. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  50. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  51. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -11
  52. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  53. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  54. package/Libraries/Network/XMLHttpRequest.js +3 -1
  55. package/Libraries/NewAppScreen/components/logo.png +0 -0
  56. package/Libraries/Performance/QuickPerformanceLogger.js +2 -1
  57. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  58. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  59. package/Libraries/Pressability/Pressability.js +1 -0
  60. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  61. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  62. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  63. package/Libraries/ReactNative/AppRegistry.js +1 -1
  64. package/Libraries/ReactNative/PaperUIManager.js +1 -0
  65. package/Libraries/ReactNative/renderApplication.js +1 -1
  66. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  67. package/Libraries/Reliability/UserFlow.js +7 -0
  68. package/Libraries/Renderer/REVISION +1 -1
  69. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +4485 -3842
  70. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2060 -1709
  71. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2148 -1796
  72. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +4264 -3695
  73. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1303 -1063
  74. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +1374 -1139
  75. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  76. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  77. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  78. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  79. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  80. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  81. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  82. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  83. package/Libraries/Text/Text.js +11 -0
  84. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  85. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  86. package/Libraries/Text/TextProps.js +1 -7
  87. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  88. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  89. package/Libraries/UTFSequence.js +1 -1
  90. package/Libraries/Utilities/Dimensions.js +9 -14
  91. package/Libraries/Utilities/FeatureDetection.js +31 -0
  92. package/Libraries/Utilities/HMRClient.js +10 -6
  93. package/Libraries/Utilities/MatrixMath.js +1 -1
  94. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  95. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  96. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  97. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  98. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  99. package/React/Base/RCTBridge+Private.h +8 -0
  100. package/React/Base/RCTBridge.h +13 -0
  101. package/React/Base/RCTBridge.m +30 -7
  102. package/React/Base/RCTBridgeModule.h +3 -12
  103. package/React/Base/RCTBundleURLProvider.h +26 -1
  104. package/React/Base/RCTBundleURLProvider.mm +79 -15
  105. package/React/Base/RCTConstants.h +6 -7
  106. package/React/Base/RCTConstants.m +12 -12
  107. package/React/Base/RCTConvert.h +1 -1
  108. package/React/Base/RCTConvert.m +1 -1
  109. package/React/Base/RCTCxxConvert.h +1 -1
  110. package/React/Base/RCTDefines.h +12 -3
  111. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  112. package/React/Base/RCTJSThread.h +29 -0
  113. package/React/Base/RCTJSThread.m +19 -0
  114. package/React/Base/RCTMultipartStreamReader.m +0 -2
  115. package/React/Base/RCTRootView.h +15 -0
  116. package/React/Base/RCTRootView.m +15 -0
  117. package/React/Base/RCTTouchHandler.m +4 -9
  118. package/React/Base/RCTUtils.h +3 -0
  119. package/React/Base/RCTUtils.m +14 -7
  120. package/React/Base/RCTVersion.m +1 -1
  121. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  122. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  123. package/React/CoreModules/BUCK +3 -3
  124. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  125. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  126. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  127. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  128. package/React/CoreModules/RCTDevSettings.mm +12 -10
  129. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  130. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  131. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  132. package/React/CoreModules/RCTLogBox.mm +14 -10
  133. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  134. package/React/CoreModules/RCTRedBox.mm +1 -5
  135. package/React/CoreModules/React-CoreModules.podspec +1 -1
  136. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  137. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  138. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  139. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  140. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
  141. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +64 -62
  142. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +31 -11
  143. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  144. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +108 -4
  145. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  146. package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
  147. package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
  148. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  149. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  150. package/React/Fabric/RCTConversions.h +3 -0
  151. package/React/Fabric/RCTScheduler.mm +12 -5
  152. package/React/Fabric/RCTSurfacePresenter.mm +6 -7
  153. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  154. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  155. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  156. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  157. package/React/Modules/RCTI18nUtil.h +14 -6
  158. package/React/Modules/RCTI18nUtil.m +1 -47
  159. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  160. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  161. package/React/React-RCTFabric.podspec +1 -1
  162. package/React/Views/RCTFont.mm +54 -38
  163. package/React/Views/RCTModalHostView.h +1 -1
  164. package/React/Views/RCTModalHostView.m +16 -0
  165. package/React/Views/RCTModalHostViewManager.m +1 -0
  166. package/React/Views/RCTView.m +2 -7
  167. package/React/Views/RCTViewManager.m +4 -2
  168. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  169. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  170. package/React/Views/ScrollView/RCTScrollView.m +111 -36
  171. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -7
  172. package/React/Views/UIView+React.m +2 -11
  173. package/React-Core.podspec +1 -1
  174. package/ReactAndroid/Android-prebuilt.mk +8 -0
  175. package/ReactAndroid/README.md +1 -1
  176. package/ReactAndroid/build.gradle +12 -5
  177. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  178. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  179. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  180. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  181. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  182. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  183. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  184. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  185. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  186. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  187. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  188. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  189. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +2 -0
  192. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +89 -44
  194. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  195. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +5 -4
  197. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
  199. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +4 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  201. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  209. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +32 -4
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  218. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +14 -9
  219. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  220. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +64 -31
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +3 -3
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +54 -10
  229. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +7 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +14 -6
  231. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +4 -4
  232. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +40 -11
  233. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  234. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  236. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  238. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  239. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  240. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  253. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  254. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  256. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  258. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  262. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  264. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  267. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  268. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  269. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  273. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +2 -2
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +12 -20
  284. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +14 -13
  286. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +21 -5
  287. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  288. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +9 -1
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +24 -1
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +8 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +14 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +114 -62
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +24 -3
  314. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  315. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  316. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
  317. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
  318. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  319. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  320. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  321. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  322. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  323. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  324. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  325. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
  326. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  327. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  328. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  329. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  330. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  331. package/ReactCommon/React-Fabric.podspec +10 -1
  332. package/ReactCommon/ReactCommon.podspec +2 -1
  333. package/ReactCommon/callinvoker/BUCK +2 -2
  334. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  335. package/ReactCommon/cxxreact/Android.mk +2 -1
  336. package/ReactCommon/cxxreact/BUCK +1 -0
  337. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  338. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  339. package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  341. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  342. package/ReactCommon/hermes/executor/Android.mk +4 -4
  343. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  344. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  345. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  346. package/ReactCommon/jsi/Android.mk +1 -1
  347. package/ReactCommon/jsi/BUCK +0 -2
  348. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  349. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  350. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  351. package/ReactCommon/logger/Android.mk +23 -0
  352. package/ReactCommon/logger/BUCK +43 -0
  353. package/ReactCommon/logger/React-logger.podspec +40 -0
  354. package/ReactCommon/logger/react_native_log.cpp +52 -0
  355. package/ReactCommon/logger/react_native_log.h +33 -0
  356. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  357. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  358. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  359. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  360. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  361. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  362. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  363. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  364. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
  365. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +51 -29
  366. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +45 -34
  367. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  368. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  369. package/ReactCommon/react/renderer/animations/BUCK +1 -0
  370. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  371. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  372. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  373. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1136
  374. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  375. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  376. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  377. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +9 -6
  378. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  379. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  380. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  381. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  382. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  383. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  384. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  385. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  386. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  387. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  388. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  389. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +10 -4
  390. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  391. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  392. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  393. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  394. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  395. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  396. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  397. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  398. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  399. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  400. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  401. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  402. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  403. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
  404. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  405. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +8 -4
  406. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  407. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  408. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +45 -4
  409. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +5 -1
  410. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  411. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  412. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  413. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  414. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  415. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  416. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  417. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  418. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  419. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +0 -6
  420. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  421. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  422. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +0 -6
  423. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  424. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  425. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  426. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  427. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  428. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +15 -3
  429. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  430. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  431. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  432. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  433. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  434. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  435. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +21 -0
  436. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  437. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +3 -0
  438. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  439. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  440. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  441. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  442. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  443. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  444. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -10
  445. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -4
  446. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  447. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  448. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  449. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  450. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  451. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +62 -8
  452. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  453. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  454. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  455. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  456. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  457. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  458. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  459. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +12 -31
  460. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -4
  461. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  462. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  463. package/ReactCommon/react/renderer/core/Props.h +6 -1
  464. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  465. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  466. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  467. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  468. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  469. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  470. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  471. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  472. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  473. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +11 -1
  474. package/ReactCommon/react/renderer/core/propsConversions.h +18 -8
  475. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  476. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +85 -20
  477. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  478. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  479. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  480. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  481. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  482. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  483. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  484. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  485. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  486. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +42 -1
  487. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  488. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  489. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  490. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  491. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  492. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  493. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  494. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  495. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -2
  496. package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -1
  497. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  498. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  499. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +12 -1
  500. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -1
  501. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +10 -3
  502. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  503. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  504. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +10 -4
  505. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +9 -2
  506. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -2
  507. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  508. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  509. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  510. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  511. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  512. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
  513. package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
  514. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  515. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +34 -0
  516. package/ReactCommon/react/renderer/{core/Constants.h → scheduler/InspectorData.h} +9 -8
  517. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +44 -29
  518. package/ReactCommon/react/renderer/scheduler/Scheduler.h +14 -0
  519. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -29
  520. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -4
  521. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  522. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  523. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  524. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  525. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +34 -30
  526. package/ReactCommon/react/renderer/uimanager/UIManager.h +6 -3
  527. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  528. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +101 -108
  529. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +4 -7
  530. package/ReactCommon/react/test_utils/BUCK +3 -0
  531. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +25 -0
  532. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
  533. package/ReactCommon/react/utils/Android.mk +3 -1
  534. package/ReactCommon/react/utils/BUCK +1 -0
  535. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  536. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  537. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  538. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  539. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar → 0.0.0-18697adec/react-native-0.0.0-18697adec.aar} +0 -0
  540. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
  541. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
  542. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
  543. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
  544. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module → 0.0.0-18697adec/react-native-0.0.0-18697adec.module} +30 -17
  545. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
  546. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
  547. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
  548. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
  549. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +8 -2
  550. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
  551. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
  552. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
  553. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
  554. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  555. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  556. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  557. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  558. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  559. package/flow/HermesInternalType.js +114 -0
  560. package/flow/global.js +68 -0
  561. package/index.js +37 -24
  562. package/jest/renderer.js +3 -7
  563. package/jest/setup.js +2 -1
  564. package/package.json +55 -16
  565. package/react.gradle +19 -13
  566. package/scripts/generate-specs-cli.js +20 -2
  567. package/scripts/ios-configure-glog.sh +4 -0
  568. package/scripts/react-native-xcode.sh +1 -1
  569. package/scripts/react_native_pods.rb +195 -38
  570. package/template/_flowconfig +1 -1
  571. package/template/android/app/build.gradle +2 -2
  572. package/template/android/build.gradle +1 -2
  573. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  574. package/template/android/gradle.properties +1 -1
  575. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  576. package/template/ios/Podfile +1 -0
  577. package/template/package.json +3 -4
  578. package/third-party-podspecs/RCT-Folly.podspec +6 -3
  579. package/Libraries/BUCK +0 -26
  580. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  581. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  582. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  583. package/Libraries/Components/StaticContainer.react.js +0 -51
  584. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  585. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  586. package/Libraries/Interaction/InteractionMixin.js +0 -54
  587. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  588. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  589. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  595. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  596. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  597. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  598. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  599. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  600. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  601. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  602. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.md5 +0 -1
  603. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha1 +0 -1
  604. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha256 +0 -1
  605. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha512 +0 -1
  606. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.md5 +0 -1
  607. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha1 +0 -1
  608. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha256 +0 -1
  609. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha512 +0 -1
  610. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.md5 +0 -1
  611. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha1 +0 -1
  612. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha256 +0 -1
  613. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha512 +0 -1
  614. package/scripts/generate-specs.sh +0 -100
  615. package/template/_editorconfig +0 -3
  616. package/template/_gitattributes +0 -3
@@ -10,6 +10,7 @@
10
10
  #include <better/optional.h>
11
11
  #include <cmath>
12
12
 
13
+ #include <folly/Hash.h>
13
14
  #include <react/renderer/graphics/ColorComponents.h>
14
15
  #include <react/renderer/graphics/Float.h>
15
16
 
@@ -18,7 +19,40 @@ namespace react {
18
19
 
19
20
  using Color = int32_t;
20
21
 
21
- using SharedColor = better::optional<Color>;
22
+ class SharedColor {
23
+ public:
24
+ static const Color UndefinedColor = std::numeric_limits<Color>::max();
25
+
26
+ SharedColor() : color_(UndefinedColor) {}
27
+
28
+ SharedColor(const SharedColor &sharedColor) : color_(sharedColor.color_) {}
29
+
30
+ SharedColor(Color color) : color_(color) {}
31
+
32
+ SharedColor &operator=(const SharedColor &sharedColor) {
33
+ color_ = sharedColor.color_;
34
+ return *this;
35
+ }
36
+
37
+ Color operator*() const {
38
+ return color_;
39
+ }
40
+
41
+ bool operator==(const SharedColor &otherColor) const {
42
+ return color_ == otherColor.color_;
43
+ }
44
+
45
+ bool operator!=(const SharedColor &otherColor) const {
46
+ return color_ != otherColor.color_;
47
+ }
48
+
49
+ operator bool() const {
50
+ return color_ != UndefinedColor;
51
+ }
52
+
53
+ private:
54
+ Color color_;
55
+ };
22
56
 
23
57
  bool isColorMeaningful(SharedColor const &color) noexcept;
24
58
  SharedColor colorFromComponents(ColorComponents components);
@@ -30,3 +64,10 @@ SharedColor whiteColor();
30
64
 
31
65
  } // namespace react
32
66
  } // namespace facebook
67
+
68
+ template <>
69
+ struct std::hash<facebook::react::SharedColor> {
70
+ std::size_t operator()(facebook::react::SharedColor const &color) const {
71
+ return hash<int>()(*color);
72
+ }
73
+ };
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <react/renderer/core/PropsParserContext.h>
11
+ #include <react/renderer/core/RawProps.h>
12
+ #include <react/renderer/graphics/ColorComponents.h>
13
+ #include <react/renderer/graphics/RCTPlatformColorUtils.h>
14
+
15
+ namespace facebook {
16
+ namespace react {
17
+
18
+ inline ColorComponents parsePlatformColor(
19
+ const PropsParserContext &context,
20
+ const RawValue &value) {
21
+ if (value.hasType<better::map<std::string, RawValue>>()) {
22
+ auto items = (better::map<std::string, RawValue>)value;
23
+ if (items.find("semantic") != items.end() &&
24
+ items.at("semantic").hasType<std::vector<std::string>>()) {
25
+ auto semanticItems = (std::vector<std::string>)items.at("semantic");
26
+ return RCTPlatformColorComponentsFromSemanticItems(semanticItems);
27
+ }
28
+ }
29
+
30
+ return {0, 0, 0, 0};
31
+ }
32
+
33
+ } // namespace react
34
+ } // namespace facebook
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include <react/renderer/graphics/ColorComponents.h>
9
+ #include <vector>
10
+
11
+ facebook::react::ColorComponents RCTPlatformColorComponentsFromSemanticItems(
12
+ std::vector<std::string> &semanticItems);
@@ -0,0 +1,206 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import "RCTPlatformColorUtils.h"
9
+
10
+ #import <Foundation/Foundation.h>
11
+ #import <React/RCTUtils.h>
12
+ #import <UIKit/UIKit.h>
13
+
14
+ #include <string>
15
+
16
+ NS_ASSUME_NONNULL_BEGIN
17
+
18
+ static NSString *const kColorSuffix = @"Color";
19
+ static NSString *const kFallbackARGBKey = @"fallback-argb";
20
+
21
+ static NSDictionary<NSString *, NSDictionary *> *_PlatformColorSelectorsDict()
22
+ {
23
+ static NSDictionary<NSString *, NSDictionary *> *dict;
24
+ static dispatch_once_t once_token;
25
+ dispatch_once(&once_token, ^(void) {
26
+ dict = @{
27
+ // https://developer.apple.com/documentation/uikit/uicolor/ui_element_colors
28
+ // Label Colors
29
+ @"label" : @{
30
+ kFallbackARGBKey : @(0xFF000000) // iOS 13.0
31
+ },
32
+ @"secondaryLabel" : @{
33
+ kFallbackARGBKey : @(0x993c3c43) // iOS 13.0
34
+ },
35
+ @"tertiaryLabel" : @{
36
+ kFallbackARGBKey : @(0x4c3c3c43) // iOS 13.0
37
+ },
38
+ @"quaternaryLabel" : @{
39
+ kFallbackARGBKey : @(0x2d3c3c43) // iOS 13.0
40
+ },
41
+ // Fill Colors
42
+ @"systemFill" : @{
43
+ kFallbackARGBKey : @(0x33787880) // iOS 13.0
44
+ },
45
+ @"secondarySystemFill" : @{
46
+ kFallbackARGBKey : @(0x28787880) // iOS 13.0
47
+ },
48
+ @"tertiarySystemFill" : @{
49
+ kFallbackARGBKey : @(0x1e767680) // iOS 13.0
50
+ },
51
+ @"quaternarySystemFill" : @{
52
+ kFallbackARGBKey : @(0x14747480) // iOS 13.0
53
+ },
54
+ // Text Colors
55
+ @"placeholderText" : @{
56
+ kFallbackARGBKey : @(0x4c3c3c43) // iOS 13.0
57
+ },
58
+ // Standard Content Background Colors
59
+ @"systemBackground" : @{
60
+ kFallbackARGBKey : @(0xFFffffff) // iOS 13.0
61
+ },
62
+ @"secondarySystemBackground" : @{
63
+ kFallbackARGBKey : @(0xFFf2f2f7) // iOS 13.0
64
+ },
65
+ @"tertiarySystemBackground" : @{
66
+ kFallbackARGBKey : @(0xFFffffff) // iOS 13.0
67
+ },
68
+ // Grouped Content Background Colors
69
+ @"systemGroupedBackground" : @{
70
+ kFallbackARGBKey : @(0xFFf2f2f7) // iOS 13.0
71
+ },
72
+ @"secondarySystemGroupedBackground" : @{
73
+ kFallbackARGBKey : @(0xFFffffff) // iOS 13.0
74
+ },
75
+ @"tertiarySystemGroupedBackground" : @{
76
+ kFallbackARGBKey : @(0xFFf2f2f7) // iOS 13.0
77
+ },
78
+ // Separator Colors
79
+ @"separator" : @{
80
+ kFallbackARGBKey : @(0x493c3c43) // iOS 13.0
81
+ },
82
+ @"opaqueSeparator" : @{
83
+ kFallbackARGBKey : @(0xFFc6c6c8) // iOS 13.0
84
+ },
85
+ // Link Color
86
+ @"link" : @{
87
+ kFallbackARGBKey : @(0xFF007aff) // iOS 13.0
88
+ },
89
+ // Nonadaptable Colors
90
+ @"darkText" : @{},
91
+ @"lightText" : @{},
92
+ // https://developer.apple.com/documentation/uikit/uicolor/standard_colors
93
+ // Adaptable Colors
94
+ @"systemBlue" : @{},
95
+ @"systemBrown" : @{
96
+ kFallbackARGBKey : @(0xFFa2845e) // iOS 13.0
97
+ },
98
+ @"systemGreen" : @{},
99
+ @"systemIndigo" : @{
100
+ kFallbackARGBKey : @(0xFF5856d6) // iOS 13.0
101
+ },
102
+ @"systemOrange" : @{},
103
+ @"systemPink" : @{},
104
+ @"systemPurple" : @{},
105
+ @"systemRed" : @{},
106
+ @"systemTeal" : @{},
107
+ @"systemYellow" : @{},
108
+ // Adaptable Gray Colors
109
+ @"systemGray" : @{},
110
+ @"systemGray2" : @{
111
+ kFallbackARGBKey : @(0xFFaeaeb2) // iOS 13.0
112
+ },
113
+ @"systemGray3" : @{
114
+ kFallbackARGBKey : @(0xFFc7c7cc) // iOS 13.0
115
+ },
116
+ @"systemGray4" : @{
117
+ kFallbackARGBKey : @(0xFFd1d1d6) // iOS 13.0
118
+ },
119
+ @"systemGray5" : @{
120
+ kFallbackARGBKey : @(0xFFe5e5ea) // iOS 13.0
121
+ },
122
+ @"systemGray6" : @{
123
+ kFallbackARGBKey : @(0xFFf2f2f7) // iOS 13.0
124
+ },
125
+ // Transparent Color
126
+ @"clear" : @{
127
+ kFallbackARGBKey : @(0x00000000) // iOS 13.0
128
+ },
129
+ };
130
+ });
131
+ return dict;
132
+ }
133
+
134
+ static UIColor *_UIColorFromHexValue(NSNumber *hexValue)
135
+ {
136
+ NSUInteger hexIntValue = [hexValue unsignedIntegerValue];
137
+
138
+ CGFloat red = ((CGFloat)((hexIntValue & 0xFF000000) >> 24)) / 255.0;
139
+ CGFloat green = ((CGFloat)((hexIntValue & 0xFF0000) >> 16)) / 255.0;
140
+ CGFloat blue = ((CGFloat)((hexIntValue & 0xFF00) >> 8)) / 255.0;
141
+ CGFloat alpha = ((CGFloat)(hexIntValue & 0xFF)) / 255.0;
142
+
143
+ return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
144
+ }
145
+
146
+ static UIColor *_Nullable _UIColorFromSemanticString(NSString *semanticString)
147
+ {
148
+ NSString *platformColorString = [semanticString hasSuffix:kColorSuffix]
149
+ ? [semanticString substringToIndex:[semanticString length] - [kColorSuffix length]]
150
+ : semanticString;
151
+ NSDictionary<NSString *, NSDictionary *> *platformColorSelectorsDict = _PlatformColorSelectorsDict();
152
+ NSDictionary<NSString *, id> *colorInfo = platformColorSelectorsDict[platformColorString];
153
+ if (colorInfo) {
154
+ SEL objcColorSelector = NSSelectorFromString([platformColorString stringByAppendingString:kColorSuffix]);
155
+ if (![UIColor respondsToSelector:objcColorSelector]) {
156
+ NSNumber *fallbackRGB = colorInfo[kFallbackARGBKey];
157
+ if (fallbackRGB) {
158
+ return _UIColorFromHexValue(fallbackRGB);
159
+ }
160
+ } else {
161
+ Class uiColorClass = [UIColor class];
162
+ IMP imp = [uiColorClass methodForSelector:objcColorSelector];
163
+ id (*getUIColor)(id, SEL) = ((id(*)(id, SEL))imp);
164
+ id colorObject = getUIColor(uiColorClass, objcColorSelector);
165
+ if ([colorObject isKindOfClass:[UIColor class]]) {
166
+ return colorObject;
167
+ }
168
+ }
169
+ }
170
+ return nil;
171
+ }
172
+
173
+ static inline NSString *_NSStringFromCString(
174
+ const std::string &string,
175
+ const NSStringEncoding &encoding = NSUTF8StringEncoding)
176
+ {
177
+ return [NSString stringWithCString:string.c_str() encoding:encoding];
178
+ }
179
+
180
+ static inline facebook::react::ColorComponents _ColorComponentsFromUIColor(UIColor *color)
181
+ {
182
+ CGFloat rgba[4];
183
+ RCTGetRGBAColorComponents(color.CGColor, rgba);
184
+ return {(float)rgba[0], (float)rgba[1], (float)rgba[2], (float)rgba[3]};
185
+ }
186
+
187
+ facebook::react::ColorComponents RCTPlatformColorComponentsFromSemanticItems(std::vector<std::string> &semanticItems)
188
+ {
189
+ for (const auto &semanticCString : semanticItems) {
190
+ if (@available(iOS 11.0, *)) {
191
+ NSString *semanticNSString = _NSStringFromCString(semanticCString);
192
+ UIColor *uiColor = [UIColor colorNamed:semanticNSString];
193
+ if (uiColor != nil) {
194
+ return _ColorComponentsFromUIColor(uiColor);
195
+ }
196
+ uiColor = _UIColorFromSemanticString(semanticNSString);
197
+ if (uiColor != nil) {
198
+ return _ColorComponentsFromUIColor(uiColor);
199
+ }
200
+ }
201
+ }
202
+
203
+ return {0, 0, 0, 0};
204
+ }
205
+
206
+ NS_ASSUME_NONNULL_END
@@ -64,8 +64,8 @@ rn_xplat_cxx_library(
64
64
  ],
65
65
  force_static = True,
66
66
  ios_deps = [
67
- "//xplat/js:RCTImage",
68
67
  "//xplat/js/react-native-github:RCTCxxBridge",
68
+ "//xplat/js/react-native-github:RCTImage",
69
69
  ],
70
70
  ios_exported_headers = subdir_glob(
71
71
  [
@@ -92,7 +92,7 @@ using namespace facebook::react;
92
92
 
93
93
  auto result = dispatch_group_wait(imageWaitGroup, dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC));
94
94
  if (result != 0) {
95
- RCTLogError(@"Getting an image timed out");
95
+ RCTLogError(@"Image timed out in test environment for url: %@", loaderRequest.imageURL);
96
96
  }
97
97
  return imageRequest;
98
98
  }
@@ -40,7 +40,7 @@ rn_xplat_cxx_library(
40
40
  force_static = True,
41
41
  labels = ["supermodule:xplat/default/public.react_native.infra"],
42
42
  macosx_tests_override = [],
43
- platforms = (ANDROID),
43
+ platforms = ANDROID,
44
44
  preprocessor_flags = [
45
45
  "-DLOG_TAG=\"ReactNative\"",
46
46
  "-DWITH_FBSYSTRACE=1",
@@ -67,7 +67,7 @@ fb_xplat_cxx_test(
67
67
  "-Wall",
68
68
  ],
69
69
  contacts = ["oncall+react_native@xmail.facebook.com"],
70
- platforms = (ANDROID),
70
+ platforms = ANDROID,
71
71
  deps = [
72
72
  "//xplat/folly:molly",
73
73
  "//xplat/third-party/gmock:gtest",
@@ -21,7 +21,7 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
21
21
 
22
22
  LOCAL_STATIC_LIBRARIES :=
23
23
 
24
- LOCAL_SHARED_LIBRARIES := libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_telemetry
24
+ LOCAL_SHARED_LIBRARIES := libjsi libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_graphics libreact_render_telemetry
25
25
 
26
26
  include $(BUILD_SHARED_LIBRARY)
27
27
 
@@ -36,4 +36,5 @@ $(call import-module,react/renderer/debug)
36
36
  $(call import-module,react/utils)
37
37
  $(call import-module,react/debug)
38
38
  $(call import-module,yogajni)
39
+ $(call import-module,react/renderer/graphics)
39
40
  $(call import-module,react/renderer/telemetry)
@@ -22,7 +22,7 @@ class MountingCoordinator;
22
22
  class MountingOverrideDelegate {
23
23
  public:
24
24
  virtual bool shouldOverridePullTransaction() const = 0;
25
- virtual ~MountingOverrideDelegate(){};
25
+ virtual ~MountingOverrideDelegate() = default;
26
26
 
27
27
  /**
28
28
  * Delegates that override this method are responsible for:
@@ -223,7 +223,8 @@ ShadowTree::ShadowTree(
223
223
  SurfaceId surfaceId,
224
224
  LayoutConstraints const &layoutConstraints,
225
225
  LayoutContext const &layoutContext,
226
- ShadowTreeDelegate const &delegate)
226
+ ShadowTreeDelegate const &delegate,
227
+ ContextContainer const &contextContainer)
227
228
  : surfaceId_(surfaceId), delegate_(delegate) {
228
229
  const auto noopEventEmitter = std::make_shared<const ViewEventEmitter>(
229
230
  nullptr, -1, std::shared_ptr<const EventDispatcher>());
@@ -234,7 +235,10 @@ ShadowTree::ShadowTree(
234
235
  EventDispatcher::Shared{}, nullptr, nullptr});
235
236
 
236
237
  const auto props = std::make_shared<const RootProps>(
237
- *RootShadowNode::defaultSharedProps(), layoutConstraints, layoutContext);
238
+ PropsParserContext{surfaceId, contextContainer},
239
+ *RootShadowNode::defaultSharedProps(),
240
+ layoutConstraints,
241
+ layoutContext);
238
242
 
239
243
  auto const fragment =
240
244
  ShadowNodeFamilyFragment{surfaceId, surfaceId, noopEventEmitter};
@@ -18,6 +18,7 @@
18
18
  #include <react/renderer/mounting/MountingCoordinator.h>
19
19
  #include <react/renderer/mounting/ShadowTreeDelegate.h>
20
20
  #include <react/renderer/mounting/ShadowTreeRevision.h>
21
+ #include <react/utils/ContextContainer.h>
21
22
  #include "MountingOverrideDelegate.h"
22
23
 
23
24
  namespace facebook {
@@ -70,7 +71,8 @@ class ShadowTree final {
70
71
  SurfaceId surfaceId,
71
72
  LayoutConstraints const &layoutConstraints,
72
73
  LayoutContext const &layoutContext,
73
- ShadowTreeDelegate const &delegate);
74
+ ShadowTreeDelegate const &delegate,
75
+ ContextContainer const &contextContainer);
74
76
 
75
77
  ~ShadowTree();
76
78
 
@@ -84,6 +84,18 @@ bool ShadowViewMutation::mutatedViewIsVirtual() const {
84
84
  return viewIsVirtual;
85
85
  }
86
86
 
87
+ ShadowViewMutation::ShadowViewMutation(
88
+ Type type,
89
+ ShadowView parentShadowView,
90
+ ShadowView oldChildShadowView,
91
+ ShadowView newChildShadowView,
92
+ int index)
93
+ : type(type),
94
+ parentShadowView(parentShadowView),
95
+ oldChildShadowView(oldChildShadowView),
96
+ newChildShadowView(newChildShadowView),
97
+ index(index) {}
98
+
87
99
  #if RN_DEBUG_STRING_CONVERTIBLE
88
100
 
89
101
  std::string getDebugName(ShadowViewMutation const &mutation) {
@@ -23,6 +23,8 @@ namespace react {
23
23
  struct ShadowViewMutation final {
24
24
  using List = std::vector<ShadowViewMutation>;
25
25
 
26
+ ShadowViewMutation() = delete;
27
+
26
28
  #pragma mark - Designated Initializers
27
29
 
28
30
  /*
@@ -70,13 +72,20 @@ struct ShadowViewMutation final {
70
72
  ShadowView newChildShadowView = {};
71
73
  int index = -1;
72
74
 
73
- public:
74
75
  // Some platforms can have the notion of virtual views - views that are in the
75
76
  // ShadowTree hierarchy but never are on the platform. Generally this is used
76
77
  // so notify the platform that a view exists so that we can keep EventEmitters
77
78
  // around, to notify JS of something. This mechanism is DEPRECATED and it is
78
79
  // highly recommended that you NOT make use of this in your platform!
79
80
  bool mutatedViewIsVirtual() const;
81
+
82
+ private:
83
+ ShadowViewMutation(
84
+ Type type,
85
+ ShadowView parentShadowView,
86
+ ShadowView oldChildShadowView,
87
+ ShadowView newChildShadowView,
88
+ int index);
80
89
  };
81
90
 
82
91
  using ShadowViewMutationList = std::vector<ShadowViewMutation>;
@@ -9,6 +9,7 @@
9
9
 
10
10
  #include <react/renderer/components/root/RootComponentDescriptor.h>
11
11
  #include <react/renderer/components/view/ViewComponentDescriptor.h>
12
+ #include <react/renderer/core/PropsParserContext.h>
12
13
  #include <react/renderer/mounting/Differentiator.h>
13
14
  #include <react/renderer/mounting/stubs.h>
14
15
 
@@ -31,8 +32,12 @@ static SharedViewProps nonFlattenedDefaultProps(
31
32
  dynamic["nativeId"] = "NativeId";
32
33
  dynamic["accessible"] = true;
33
34
 
35
+ ContextContainer contextContainer{};
36
+ PropsParserContext parserContext{-1, contextContainer};
37
+
34
38
  return std::static_pointer_cast<ViewProps const>(
35
- componentDescriptor.cloneProps(nullptr, RawProps{dynamic}));
39
+ componentDescriptor.cloneProps(
40
+ parserContext, nullptr, RawProps{dynamic}));
36
41
  }
37
42
 
38
43
  static ShadowNode::Shared makeNode(
@@ -78,8 +83,11 @@ TEST(MountingTest, testReorderingInstructionGeneration) {
78
83
  ShadowNodeFragment{RootShadowNode::defaultSharedProps()},
79
84
  rootFamily)));
80
85
 
86
+ PropsParserContext parserContext{-1, *contextContainer};
87
+
81
88
  // Applying size constraints.
82
89
  emptyRootNode = emptyRootNode->clone(
90
+ parserContext,
83
91
  LayoutConstraints{
84
92
  Size{512, 0}, Size{512, std::numeric_limits<Float>::infinity()}},
85
93
  LayoutContext{});
@@ -383,8 +391,11 @@ TEST(MountingTest, testViewReparentingInstructionGeneration) {
383
391
  ShadowNodeFragment{RootShadowNode::defaultSharedProps()},
384
392
  rootFamily)));
385
393
 
394
+ PropsParserContext parserContext{-1, *contextContainer};
395
+
386
396
  // Applying size constraints.
387
397
  emptyRootNode = emptyRootNode->clone(
398
+ parserContext,
388
399
  LayoutConstraints{
389
400
  Size{512, 0}, Size{512, std::numeric_limits<Float>::infinity()}},
390
401
  LayoutContext{});
@@ -12,10 +12,11 @@
12
12
 
13
13
  #include <react/renderer/components/root/RootComponentDescriptor.h>
14
14
  #include <react/renderer/components/view/ViewComponentDescriptor.h>
15
+ #include <react/renderer/core/PropsParserContext.h>
15
16
  #include <react/renderer/mounting/Differentiator.h>
16
17
  #include <react/renderer/mounting/ShadowViewMutation.h>
17
- #include <react/renderer/mounting/stubs.h>
18
18
 
19
+ #include <react/renderer/mounting/stubs.h>
19
20
  #include <react/test_utils/Entropy.h>
20
21
  #include <react/test_utils/shadowTreeGeneration.h>
21
22
 
@@ -44,6 +45,8 @@ static void testShadowNodeTreeLifeCycle(
44
45
  auto noopEventEmitter =
45
46
  std::make_shared<ViewEventEmitter const>(nullptr, -1, eventDispatcher);
46
47
 
48
+ PropsParserContext parserContext{-1, *contextContainer};
49
+
47
50
  auto allNodes = std::vector<ShadowNode::Shared>{};
48
51
 
49
52
  for (int i = 0; i < repeats; i++) {
@@ -61,6 +64,7 @@ static void testShadowNodeTreeLifeCycle(
61
64
 
62
65
  // Applying size constraints.
63
66
  emptyRootNode = emptyRootNode->clone(
67
+ parserContext,
64
68
  LayoutConstraints{
65
69
  Size{512, 0}, Size{512, std::numeric_limits<Float>::infinity()}},
66
70
  LayoutContext{});
@@ -191,6 +195,8 @@ static void testShadowNodeTreeLifeCycleExtensiveFlatteningUnflattening(
191
195
  auto noopEventEmitter =
192
196
  std::make_shared<ViewEventEmitter const>(nullptr, -1, eventDispatcher);
193
197
 
198
+ PropsParserContext parserContext{-1, *contextContainer};
199
+
194
200
  auto allNodes = std::vector<ShadowNode::Shared>{};
195
201
 
196
202
  for (int i = 0; i < repeats; i++) {
@@ -208,6 +214,7 @@ static void testShadowNodeTreeLifeCycleExtensiveFlatteningUnflattening(
208
214
 
209
215
  // Applying size constraints.
210
216
  emptyRootNode = emptyRootNode->clone(
217
+ parserContext,
211
218
  LayoutConstraints{
212
219
  Size{512, 0}, Size{512, std::numeric_limits<Float>::infinity()}},
213
220
  LayoutContext{});
@@ -11,14 +11,15 @@
11
11
 
12
12
  #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
13
13
  #include <react/renderer/components/view/ViewComponentDescriptor.h>
14
+ #include <react/renderer/core/PropsParserContext.h>
14
15
  #include <react/renderer/element/ComponentBuilder.h>
15
16
  #include <react/renderer/element/Element.h>
16
- #include <react/renderer/element/testUtils.h>
17
-
18
17
  #include <react/renderer/mounting/MountingCoordinator.h>
19
18
  #include <react/renderer/mounting/ShadowTree.h>
20
19
  #include <react/renderer/mounting/ShadowTreeDelegate.h>
21
20
 
21
+ #include <react/renderer/element/testUtils.h>
22
+
22
23
  using namespace facebook::react;
23
24
 
24
25
  class DummyShadowTreeDelegate : public ShadowTreeDelegate {
@@ -89,6 +90,8 @@ TEST(StateReconciliationTest, testStateReconciliation) {
89
90
  });
90
91
  // clang-format on
91
92
 
93
+ ContextContainer contextContainer{};
94
+
92
95
  auto shadowNode = builder.build(element);
93
96
 
94
97
  auto rootShadowNodeState1 = shadowNode->ShadowNode::clone({});
@@ -98,7 +101,11 @@ TEST(StateReconciliationTest, testStateReconciliation) {
98
101
  auto state1 = shadowNodeAB->getState();
99
102
  auto shadowTreeDelegate = DummyShadowTreeDelegate{};
100
103
  ShadowTree shadowTree{
101
- SurfaceId{11}, LayoutConstraints{}, LayoutContext{}, shadowTreeDelegate};
104
+ SurfaceId{11},
105
+ LayoutConstraints{},
106
+ LayoutContext{},
107
+ shadowTreeDelegate,
108
+ contextContainer};
102
109
 
103
110
  shadowTree.commit(
104
111
  [&](RootShadowNode const &oldRootShadowNode) {
@@ -15,7 +15,7 @@ LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
15
15
 
16
16
  LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../
17
17
 
18
- LOCAL_SHARED_LIBRARIES := libruntimeexecutor libreact_render_core
18
+ LOCAL_SHARED_LIBRARIES := libruntimeexecutor libreact_render_core libreact_debug libjsi callinvoker
19
19
 
20
20
  LOCAL_CFLAGS := \
21
21
  -DLOG_TAG=\"Fabric\"
@@ -25,3 +25,4 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
25
25
  include $(BUILD_SHARED_LIBRARY)
26
26
 
27
27
  $(call import-module,runtimeexecutor)
28
+ $(call import-module,callinvoker)
@@ -53,6 +53,7 @@ rn_xplat_cxx_library(
53
53
  react_native_xplat_target("runtimeexecutor:runtimeexecutor"),
54
54
  react_native_xplat_target("react/renderer/debug:debug"),
55
55
  react_native_xplat_target("better:better"),
56
+ react_native_xplat_target("callinvoker:callinvoker"),
56
57
  ],
57
58
  )
58
59
 
@@ -7,7 +7,8 @@
7
7
 
8
8
  #include "RuntimeScheduler.h"
9
9
 
10
- namespace facebook::react {
10
+ namespace facebook {
11
+ namespace react {
11
12
 
12
13
  #pragma mark - Public
13
14
 
@@ -41,7 +42,7 @@ std::shared_ptr<Task> RuntimeScheduler::scheduleTask(
41
42
  std::make_shared<Task>(priority, std::move(callback), expirationTime);
42
43
  taskQueue_.push(task);
43
44
 
44
- if (!isCallbackScheduled_) {
45
+ if (!isCallbackScheduled_ && !isPerformingWork_) {
45
46
  isCallbackScheduled_ = true;
46
47
  runtimeExecutor_([this](jsi::Runtime &runtime) {
47
48
  isCallbackScheduled_ = false;
@@ -87,6 +88,7 @@ void RuntimeScheduler::executeNowOnTheSameThread(
87
88
 
88
89
  void RuntimeScheduler::startWorkLoop(jsi::Runtime &runtime) const {
89
90
  auto previousPriority = currentPriority_;
91
+ isPerformingWork_ = true;
90
92
  while (!taskQueue_.empty()) {
91
93
  auto topPriorityTask = taskQueue_.top();
92
94
  auto now = now_();
@@ -103,10 +105,14 @@ void RuntimeScheduler::startWorkLoop(jsi::Runtime &runtime) const {
103
105
  topPriorityTask->callback =
104
106
  result.getObject(runtime).getFunction(runtime);
105
107
  } else {
106
- taskQueue_.pop();
108
+ if (taskQueue_.top() == topPriorityTask) {
109
+ taskQueue_.pop();
110
+ }
107
111
  }
108
112
  }
109
113
  currentPriority_ = previousPriority;
114
+ isPerformingWork_ = false;
110
115
  }
111
116
 
112
- } // namespace facebook::react
117
+ } // namespace react
118
+ } // namespace facebook