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 <gtest/gtest.h>
11
11
  #include <react/debug/flags.h>
12
12
  #include <react/renderer/core/ConcreteShadowNode.h>
13
+ #include <react/renderer/core/PropsParserContext.h>
13
14
  #include <react/renderer/core/ShadowNode.h>
14
15
  #include <react/renderer/core/propsConversions.h>
15
16
 
@@ -21,9 +22,11 @@ class PropsSingleFloat : public Props {
21
22
  public:
22
23
  PropsSingleFloat() = default;
23
24
  PropsSingleFloat(
25
+ const PropsParserContext &context,
24
26
  const PropsSingleFloat &sourceProps,
25
27
  const RawProps &rawProps)
26
28
  : floatValue(convertRawProp(
29
+ context,
27
30
  rawProps,
28
31
  "floatValue",
29
32
  sourceProps.floatValue,
@@ -37,9 +40,11 @@ class PropsSingleDouble : public Props {
37
40
  public:
38
41
  PropsSingleDouble() = default;
39
42
  PropsSingleDouble(
43
+ const PropsParserContext &context,
40
44
  const PropsSingleDouble &sourceProps,
41
45
  const RawProps &rawProps)
42
46
  : doubleValue(convertRawProp(
47
+ context,
43
48
  rawProps,
44
49
  "doubleValue",
45
50
  sourceProps.doubleValue,
@@ -52,9 +57,16 @@ class PropsSingleDouble : public Props {
52
57
  class PropsSingleInt : public Props {
53
58
  public:
54
59
  PropsSingleInt() = default;
55
- PropsSingleInt(const PropsSingleInt &sourceProps, const RawProps &rawProps)
56
- : intValue(
57
- convertRawProp(rawProps, "intValue", sourceProps.intValue, 17)) {}
60
+ PropsSingleInt(
61
+ const PropsParserContext &context,
62
+ const PropsSingleInt &sourceProps,
63
+ const RawProps &rawProps)
64
+ : intValue(convertRawProp(
65
+ context,
66
+ rawProps,
67
+ "intValue",
68
+ sourceProps.intValue,
69
+ 17)) {}
58
70
 
59
71
  private:
60
72
  const int intValue{17};
@@ -64,26 +76,35 @@ class PropsPrimitiveTypes : public Props {
64
76
  public:
65
77
  PropsPrimitiveTypes() = default;
66
78
  PropsPrimitiveTypes(
79
+ const PropsParserContext &context,
67
80
  const PropsPrimitiveTypes &sourceProps,
68
81
  const RawProps &rawProps)
69
- : intValue(
70
- convertRawProp(rawProps, "intValue", sourceProps.intValue, 17)),
82
+ : intValue(convertRawProp(
83
+ context,
84
+ rawProps,
85
+ "intValue",
86
+ sourceProps.intValue,
87
+ 17)),
71
88
  doubleValue(convertRawProp(
89
+ context,
72
90
  rawProps,
73
91
  "doubleValue",
74
92
  sourceProps.doubleValue,
75
93
  17.56)),
76
94
  floatValue(convertRawProp(
95
+ context,
77
96
  rawProps,
78
97
  "floatValue",
79
98
  sourceProps.floatValue,
80
99
  56.75)),
81
100
  stringValue(convertRawProp(
101
+ context,
82
102
  rawProps,
83
103
  "stringValue",
84
104
  sourceProps.stringValue,
85
105
  "")),
86
106
  boolValue(convertRawProp(
107
+ context,
87
108
  rawProps,
88
109
  "boolValue",
89
110
  sourceProps.boolValue,
@@ -101,9 +122,11 @@ class PropsMultiLookup : public Props {
101
122
  public:
102
123
  PropsMultiLookup() = default;
103
124
  PropsMultiLookup(
125
+ const PropsParserContext &context,
104
126
  const PropsMultiLookup &sourceProps,
105
127
  const RawProps &rawProps)
106
128
  : floatValue(convertRawProp(
129
+ context,
107
130
  rawProps,
108
131
  "floatValue",
109
132
  sourceProps.floatValue,
@@ -112,7 +135,12 @@ class PropsMultiLookup : public Props {
112
135
  // pattern that does occur a lot: nested structs that access props we
113
136
  // have already accessed populating Props
114
137
  derivedFloatValue(
115
- convertRawProp(rawProps, "floatValue", sourceProps.floatValue, 40) *
138
+ convertRawProp(
139
+ context,
140
+ rawProps,
141
+ "floatValue",
142
+ sourceProps.floatValue,
143
+ 40) *
116
144
  2) {}
117
145
 
118
146
  const float floatValue{17.5};
@@ -120,12 +148,15 @@ class PropsMultiLookup : public Props {
120
148
  };
121
149
 
122
150
  TEST(RawPropsTest, handleProps) {
151
+ ContextContainer contextContainer{};
152
+ PropsParserContext parserContext{-1, contextContainer};
153
+
123
154
  const auto &raw = RawProps(folly::dynamic::object("nativeID", "abc"));
124
155
  auto parser = RawPropsParser();
125
156
  parser.prepare<Props>();
126
- raw.parse(parser);
157
+ raw.parse(parser, parserContext);
127
158
 
128
- auto props = std::make_shared<Props>(Props(), raw);
159
+ auto props = std::make_shared<Props>(parserContext, Props(), raw);
129
160
 
130
161
  // Props are not sealed after applying raw props.
131
162
  EXPECT_FALSE(props->getSealed());
@@ -134,10 +165,13 @@ TEST(RawPropsTest, handleProps) {
134
165
  }
135
166
 
136
167
  TEST(RawPropsTest, handleRawPropsSingleString) {
168
+ ContextContainer contextContainer{};
169
+ PropsParserContext parserContext{-1, contextContainer};
170
+
137
171
  const auto &raw = RawProps(folly::dynamic::object("nativeID", "abc"));
138
172
  auto parser = RawPropsParser();
139
173
  parser.prepare<Props>();
140
- raw.parse(parser);
174
+ raw.parse(parser, parserContext);
141
175
 
142
176
  std::string value = (std::string)*raw.at("nativeID", nullptr, nullptr);
143
177
 
@@ -145,11 +179,14 @@ TEST(RawPropsTest, handleRawPropsSingleString) {
145
179
  }
146
180
 
147
181
  TEST(RawPropsTest, handleRawPropsSingleFloat) {
182
+ ContextContainer contextContainer{};
183
+ PropsParserContext parserContext{-1, contextContainer};
184
+
148
185
  const auto &raw =
149
186
  RawProps(folly::dynamic::object("floatValue", (float)42.42));
150
187
  auto parser = RawPropsParser();
151
188
  parser.prepare<PropsSingleFloat>();
152
- raw.parse(parser);
189
+ raw.parse(parser, parserContext);
153
190
 
154
191
  float value = (float)*raw.at("floatValue", nullptr, nullptr);
155
192
 
@@ -157,11 +194,14 @@ TEST(RawPropsTest, handleRawPropsSingleFloat) {
157
194
  }
158
195
 
159
196
  TEST(RawPropsTest, handleRawPropsSingleDouble) {
197
+ ContextContainer contextContainer{};
198
+ PropsParserContext parserContext{-1, contextContainer};
199
+
160
200
  const auto &raw =
161
201
  RawProps(folly::dynamic::object("doubleValue", (double)42.42));
162
202
  auto parser = RawPropsParser();
163
203
  parser.prepare<PropsSingleDouble>();
164
- raw.parse(parser);
204
+ raw.parse(parser, parserContext);
165
205
 
166
206
  double value = (double)*raw.at("doubleValue", nullptr, nullptr);
167
207
 
@@ -169,10 +209,13 @@ TEST(RawPropsTest, handleRawPropsSingleDouble) {
169
209
  }
170
210
 
171
211
  TEST(RawPropsTest, handleRawPropsSingleInt) {
212
+ ContextContainer contextContainer{};
213
+ PropsParserContext parserContext{-1, contextContainer};
214
+
172
215
  const auto &raw = RawProps(folly::dynamic::object("intValue", (int)42.42));
173
216
  auto parser = RawPropsParser();
174
217
  parser.prepare<PropsSingleInt>();
175
- raw.parse(parser);
218
+ raw.parse(parser, parserContext);
176
219
 
177
220
  int value = (int)*raw.at("intValue", nullptr, nullptr);
178
221
 
@@ -180,10 +223,13 @@ TEST(RawPropsTest, handleRawPropsSingleInt) {
180
223
  }
181
224
 
182
225
  TEST(RawPropsTest, handleRawPropsSingleIntGetManyTimes) {
226
+ ContextContainer contextContainer{};
227
+ PropsParserContext parserContext{-1, contextContainer};
228
+
183
229
  const auto &raw = RawProps(folly::dynamic::object("intValue", (int)42.42));
184
230
  auto parser = RawPropsParser();
185
231
  parser.prepare<PropsSingleInt>();
186
- raw.parse(parser);
232
+ raw.parse(parser, parserContext);
187
233
 
188
234
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
189
235
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
@@ -191,6 +237,9 @@ TEST(RawPropsTest, handleRawPropsSingleIntGetManyTimes) {
191
237
  }
192
238
 
193
239
  TEST(RawPropsTest, handleRawPropsPrimitiveTypes) {
240
+ ContextContainer contextContainer{};
241
+ PropsParserContext parserContext{-1, contextContainer};
242
+
194
243
  const auto &raw = RawProps(
195
244
  folly::dynamic::object("intValue", (int)42)("doubleValue", (double)17.42)(
196
245
  "floatValue",
@@ -198,7 +247,7 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypes) {
198
247
 
199
248
  auto parser = RawPropsParser();
200
249
  parser.prepare<PropsPrimitiveTypes>();
201
- raw.parse(parser);
250
+ raw.parse(parser, parserContext);
202
251
 
203
252
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
204
253
  EXPECT_NEAR((double)*raw.at("doubleValue", nullptr, nullptr), 17.42, 0.0001);
@@ -210,6 +259,9 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypes) {
210
259
  }
211
260
 
212
261
  TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetTwice) {
262
+ ContextContainer contextContainer{};
263
+ PropsParserContext parserContext{-1, contextContainer};
264
+
213
265
  const auto &raw = RawProps(
214
266
  folly::dynamic::object("intValue", (int)42)("doubleValue", (double)17.42)(
215
267
  "floatValue",
@@ -217,7 +269,7 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetTwice) {
217
269
 
218
270
  auto parser = RawPropsParser();
219
271
  parser.prepare<PropsPrimitiveTypes>();
220
- raw.parse(parser);
272
+ raw.parse(parser, parserContext);
221
273
 
222
274
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
223
275
  EXPECT_NEAR((double)*raw.at("doubleValue", nullptr, nullptr), 17.42, 0.0001);
@@ -237,6 +289,9 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetTwice) {
237
289
  }
238
290
 
239
291
  TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetOutOfOrder) {
292
+ ContextContainer contextContainer{};
293
+ PropsParserContext parserContext{-1, contextContainer};
294
+
240
295
  const auto &raw = RawProps(
241
296
  folly::dynamic::object("intValue", (int)42)("doubleValue", (double)17.42)(
242
297
  "floatValue",
@@ -244,7 +299,7 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetOutOfOrder) {
244
299
 
245
300
  auto parser = RawPropsParser();
246
301
  parser.prepare<PropsPrimitiveTypes>();
247
- raw.parse(parser);
302
+ raw.parse(parser, parserContext);
248
303
 
249
304
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
250
305
  EXPECT_NEAR((double)*raw.at("doubleValue", nullptr, nullptr), 17.42, 0.0001);
@@ -264,11 +319,14 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesGetOutOfOrder) {
264
319
  }
265
320
 
266
321
  TEST(RawPropsTest, handleRawPropsPrimitiveTypesIncomplete) {
322
+ ContextContainer contextContainer{};
323
+ PropsParserContext parserContext{-1, contextContainer};
324
+
267
325
  const auto &raw = RawProps(folly::dynamic::object("intValue", (int)42));
268
326
 
269
327
  auto parser = RawPropsParser();
270
328
  parser.prepare<PropsPrimitiveTypes>();
271
- raw.parse(parser);
329
+ raw.parse(parser, parserContext);
272
330
 
273
331
  EXPECT_EQ((int)*raw.at("intValue", nullptr, nullptr), 42);
274
332
  EXPECT_EQ(raw.at("doubleValue", nullptr, nullptr), nullptr);
@@ -281,11 +339,14 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesIncomplete) {
281
339
 
282
340
  #ifdef REACT_NATIVE_DEBUG
283
341
  TEST(RawPropsTest, handleRawPropsPrimitiveTypesIncorrectLookup) {
342
+ ContextContainer contextContainer{};
343
+ PropsParserContext parserContext{-1, contextContainer};
344
+
284
345
  const auto &raw = RawProps(folly::dynamic::object("intValue", (int)42));
285
346
 
286
347
  auto parser = RawPropsParser();
287
348
  parser.prepare<PropsPrimitiveTypes>();
288
- raw.parse(parser);
349
+ raw.parse(parser, parserContext);
289
350
 
290
351
  // Before D18662135, looking up an invalid key would trigger
291
352
  // an infinite loop. This is out of contract, so we should only
@@ -296,12 +357,16 @@ TEST(RawPropsTest, handleRawPropsPrimitiveTypesIncorrectLookup) {
296
357
  #endif
297
358
 
298
359
  TEST(RawPropsTest, handlePropsMultiLookup) {
360
+ ContextContainer contextContainer{};
361
+ PropsParserContext parserContext{-1, contextContainer};
362
+
299
363
  const auto &raw = RawProps(folly::dynamic::object("floatValue", (float)10.0));
300
364
  auto parser = RawPropsParser();
301
365
  parser.prepare<PropsMultiLookup>();
302
- raw.parse(parser);
366
+ raw.parse(parser, parserContext);
303
367
 
304
- auto props = std::make_shared<PropsMultiLookup>(PropsMultiLookup(), raw);
368
+ auto props = std::make_shared<PropsMultiLookup>(
369
+ parserContext, PropsMultiLookup(), raw);
305
370
 
306
371
  // Props are not sealed after applying raw props.
307
372
  EXPECT_FALSE(props->getSealed());
@@ -14,6 +14,7 @@
14
14
  #include <react/renderer/components/view/ViewEventEmitter.h>
15
15
  #include <react/renderer/components/view/ViewProps.h>
16
16
  #include <react/renderer/core/ConcreteComponentDescriptor.h>
17
+ #include <react/renderer/core/PropsParserContext.h>
17
18
  #include <react/renderer/core/RawProps.h>
18
19
  #include <react/renderer/core/ShadowNode.h>
19
20
 
@@ -35,8 +36,11 @@ class TestProps : public ViewProps {
35
36
  public:
36
37
  TestProps() = default;
37
38
 
38
- TestProps(const TestProps &sourceProps, const RawProps &rawProps)
39
- : ViewProps(sourceProps, rawProps) {}
39
+ TestProps(
40
+ const PropsParserContext &context,
41
+ const TestProps &sourceProps,
42
+ const RawProps &rawProps)
43
+ : ViewProps(context, sourceProps, rawProps) {}
40
44
  };
41
45
 
42
46
  using SharedTestProps = std::shared_ptr<const TestProps>;
@@ -11,11 +11,11 @@ LOCAL_MODULE := react_render_graphics
11
11
 
12
12
  LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp $(LOCAL_PATH)/platform/cxx/react/renderer/graphics/*.cpp)
13
13
 
14
- LOCAL_SHARED_LIBRARIES := libfolly_json libreact_debug
14
+ LOCAL_SHARED_LIBRARIES := libfolly_json libreact_debug libfb libfbjni libfolly_json glog
15
15
 
16
16
  LOCAL_STATIC_LIBRARIES :=
17
17
 
18
- LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
18
+ LOCAL_C_INCLUDES := $(LOCAL_PATH)/ $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
19
19
 
20
20
  LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
21
21
 
@@ -26,5 +26,8 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
26
26
 
27
27
  include $(BUILD_SHARED_LIBRARY)
28
28
 
29
+ $(call import-module,glog)
30
+ $(call import-module,fbjni)
31
+ $(call import-module,fb)
29
32
  $(call import-module,folly)
30
33
  $(call import-module,react/debug)
@@ -3,10 +3,12 @@ load(
3
3
  "ANDROID",
4
4
  "APPLE",
5
5
  "CXX",
6
+ "FBJNI_TARGET",
6
7
  "fb_xplat_cxx_test",
7
8
  "get_apple_compiler_flags",
8
9
  "get_apple_inspector_flags",
9
10
  "get_preprocessor_flags_for_build_mode",
11
+ "react_native_target",
10
12
  "react_native_xplat_target",
11
13
  "rn_xplat_cxx_library",
12
14
  "subdir_glob",
@@ -51,23 +53,32 @@ rn_xplat_cxx_library(
51
53
  "platform/cxx/react/renderer/graphics/**/*.cpp",
52
54
  ],
53
55
  ),
56
+ fbandroid_allow_jni_merging = True,
57
+ fbandroid_deps = [
58
+ FBJNI_TARGET,
59
+ react_native_target("jni/react/jni:jni"),
60
+ ],
54
61
  fbandroid_exported_headers = subdir_glob(
55
62
  [
63
+ ("platform/android/react/renderer/graphics", "**/*.h"),
56
64
  ("platform/cxx/react/renderer/graphics", "**/*.h"),
57
65
  ],
66
+ exclude = ["platform/cxx/react/renderer/graphics/PlatformColorParser.h"],
58
67
  prefix = "react/renderer/graphics",
59
68
  ),
60
69
  fbandroid_srcs = glob(
61
70
  [
62
71
  "platform/cxx/react/renderer/graphics/**/*.cpp",
72
+ "platform/android/react/renderer/graphics/**/*.cpp",
63
73
  ],
74
+ exclude = ["platform/cxx/react/renderer/graphics/PlatformColorParser.h"],
64
75
  ),
65
76
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
66
77
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
67
78
  force_static = True,
68
79
  ios_deps = [
69
- "//xplat/js:RCTImage",
70
80
  "//xplat/js/react-native-github:RCTCxxBridge",
81
+ "//xplat/js/react-native-github:RCTImage",
71
82
  ],
72
83
  ios_exported_headers = subdir_glob(
73
84
  [
@@ -17,7 +17,7 @@ else
17
17
  end
18
18
 
19
19
  folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
20
- folly_version = '2021.06.28.00'
20
+ folly_version = '2021.06.28.00-v2'
21
21
  boost_compiler_flags = '-Wno-documentation'
22
22
 
23
23
  Pod::Spec.new do |s|
@@ -39,4 +39,5 @@ Pod::Spec.new do |s|
39
39
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_TARGET_SRCROOT)/../../../\" \"$(PODS_ROOT)/RCT-Folly\"" }
40
40
 
41
41
  s.dependency "RCT-Folly/Fabric", folly_version
42
+ s.dependency "React-Core/Default", version
42
43
  end
@@ -183,7 +183,7 @@ TransformOperation Transform::DefaultTransformOperation(
183
183
  }
184
184
 
185
185
  Transform Transform::Interpolate(
186
- float animationProgress,
186
+ Float animationProgress,
187
187
  Transform const &lhs,
188
188
  Transform const &rhs) {
189
189
  // Iterate through operations and reconstruct an interpolated resulting
@@ -117,7 +117,7 @@ struct Transform {
117
117
  * @return
118
118
  */
119
119
  static Transform Interpolate(
120
- float animationProgress,
120
+ Float animationProgress,
121
121
  Transform const &lhs,
122
122
  Transform const &rhs);
123
123
 
@@ -8,42 +8,45 @@
8
8
  #pragma once
9
9
 
10
10
  #include <better/map.h>
11
- #include <folly/dynamic.h>
12
11
  #include <glog/logging.h>
13
12
  #include <react/debug/react_native_assert.h>
13
+ #include <react/renderer/core/PropsParserContext.h>
14
14
  #include <react/renderer/core/RawProps.h>
15
15
  #include <react/renderer/graphics/Color.h>
16
16
  #include <react/renderer/graphics/Geometry.h>
17
+ #include <react/renderer/graphics/PlatformColorParser.h>
17
18
 
18
19
  namespace facebook {
19
20
  namespace react {
20
21
 
21
22
  #pragma mark - Color
22
23
 
23
- inline void fromRawValue(const RawValue &value, SharedColor &result) {
24
- float red = 0;
25
- float green = 0;
26
- float blue = 0;
27
- float alpha = 0;
24
+ inline void fromRawValue(
25
+ const PropsParserContext &context,
26
+ const RawValue &value,
27
+ SharedColor &result) {
28
+ ColorComponents colorComponents = {0, 0, 0, 0};
28
29
 
29
30
  if (value.hasType<int>()) {
30
31
  auto argb = (int64_t)value;
31
32
  auto ratio = 255.f;
32
- alpha = ((argb >> 24) & 0xFF) / ratio;
33
- red = ((argb >> 16) & 0xFF) / ratio;
34
- green = ((argb >> 8) & 0xFF) / ratio;
35
- blue = (argb & 0xFF) / ratio;
33
+ colorComponents.alpha = ((argb >> 24) & 0xFF) / ratio;
34
+ colorComponents.red = ((argb >> 16) & 0xFF) / ratio;
35
+ colorComponents.green = ((argb >> 8) & 0xFF) / ratio;
36
+ colorComponents.blue = (argb & 0xFF) / ratio;
36
37
  } else if (value.hasType<std::vector<float>>()) {
37
38
  auto items = (std::vector<float>)value;
38
39
  auto length = items.size();
39
40
  react_native_assert(length == 3 || length == 4);
40
- red = items.at(0);
41
- green = items.at(1);
42
- blue = items.at(2);
43
- alpha = length == 4 ? items.at(3) : 1.0f;
41
+ colorComponents.red = items.at(0);
42
+ colorComponents.green = items.at(1);
43
+ colorComponents.blue = items.at(2);
44
+ colorComponents.alpha = length == 4 ? items.at(3) : 1.0f;
45
+ } else {
46
+ colorComponents = parsePlatformColor(context, value);
44
47
  }
45
48
 
46
- result = colorFromComponents({red, green, blue, alpha});
49
+ result = colorFromComponents(colorComponents);
47
50
  }
48
51
 
49
52
  #ifdef ANDROID
@@ -81,7 +84,10 @@ inline std::string toString(const SharedColor &value) {
81
84
 
82
85
  #pragma mark - Geometry
83
86
 
84
- inline void fromRawValue(const RawValue &value, Point &result) {
87
+ inline void fromRawValue(
88
+ const PropsParserContext &context,
89
+ const RawValue &value,
90
+ Point &result) {
85
91
  if (value.hasType<better::map<std::string, Float>>()) {
86
92
  auto map = (better::map<std::string, Float>)value;
87
93
  for (const auto &pair : map) {
@@ -109,7 +115,10 @@ inline void fromRawValue(const RawValue &value, Point &result) {
109
115
  }
110
116
  }
111
117
 
112
- inline void fromRawValue(const RawValue &value, Size &result) {
118
+ inline void fromRawValue(
119
+ const PropsParserContext &context,
120
+ const RawValue &value,
121
+ Size &result) {
113
122
  if (value.hasType<better::map<std::string, Float>>()) {
114
123
  auto map = (better::map<std::string, Float>)value;
115
124
  for (const auto &pair : map) {
@@ -140,7 +149,10 @@ inline void fromRawValue(const RawValue &value, Size &result) {
140
149
  }
141
150
  }
142
151
 
143
- inline void fromRawValue(const RawValue &value, EdgeInsets &result) {
152
+ inline void fromRawValue(
153
+ const PropsParserContext &context,
154
+ const RawValue &value,
155
+ EdgeInsets &result) {
144
156
  if (value.hasType<Float>()) {
145
157
  auto number = (Float)value;
146
158
  result = {number, number, number, number};
@@ -180,7 +192,10 @@ inline void fromRawValue(const RawValue &value, EdgeInsets &result) {
180
192
  }
181
193
  }
182
194
 
183
- inline void fromRawValue(const RawValue &value, CornerInsets &result) {
195
+ inline void fromRawValue(
196
+ const PropsParserContext &context,
197
+ const RawValue &value,
198
+ CornerInsets &result) {
184
199
  if (value.hasType<Float>()) {
185
200
  auto number = (Float)value;
186
201
  result = {number, number, number, number};
@@ -0,0 +1,67 @@
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 <fbjni/fbjni.h>
11
+ #include <react/jni/ReadableNativeMap.h>
12
+ #include <react/renderer/core/PropsParserContext.h>
13
+ #include <react/renderer/core/RawProps.h>
14
+ #include <react/renderer/graphics/ColorComponents.h>
15
+
16
+ namespace facebook {
17
+ namespace react {
18
+
19
+ inline ColorComponents parsePlatformColor(
20
+ const PropsParserContext &context,
21
+ const RawValue &value) {
22
+ ColorComponents colorComponents = {0, 0, 0, 0};
23
+
24
+ if (value.hasType<better::map<std::string, std::vector<std::string>>>()) {
25
+ auto map = (better::map<std::string, std::vector<std::string>>)value;
26
+ auto resourcePaths = map["resource_paths"];
27
+ auto dynamicResourcePaths = folly::dynamic::array();
28
+ for (const auto &resourcePath : resourcePaths) {
29
+ dynamicResourcePaths.push_back(resourcePath);
30
+ }
31
+ folly::dynamic dynamicPlatformColor = folly::dynamic::object();
32
+ dynamicPlatformColor["resource_paths"] = dynamicResourcePaths;
33
+
34
+ auto fabricUIManager =
35
+ context.contextContainer.at<jni::global_ref<jobject>>(
36
+ "FabricUIManager");
37
+
38
+ static auto getColorFromJava =
39
+ facebook::jni::findClassStatic(
40
+ "com/facebook/react/fabric/FabricUIManager")
41
+ ->getMethod<jint(jint, ReadableMap::javaobject)>("getColor");
42
+
43
+ jni::local_ref<ReadableNativeMap::javaobject> dynamicPlatformColorRNM =
44
+ ReadableNativeMap::newObjectCxxArgs(dynamicPlatformColor);
45
+ jni::local_ref<ReadableMap::javaobject> dynamicPlatformColorRM =
46
+ jni::make_local(reinterpret_cast<ReadableMap::javaobject>(
47
+ dynamicPlatformColorRNM.get()));
48
+
49
+ auto color = getColorFromJava(
50
+ fabricUIManager, context.surfaceId, dynamicPlatformColorRM.get());
51
+
52
+ dynamicPlatformColorRM.reset();
53
+ dynamicPlatformColorRNM.reset();
54
+
55
+ auto argb = (int64_t)color;
56
+ auto ratio = 255.f;
57
+ colorComponents.alpha = ((argb >> 24) & 0xFF) / ratio;
58
+ colorComponents.red = ((argb >> 16) & 0xFF) / ratio;
59
+ colorComponents.green = ((argb >> 8) & 0xFF) / ratio;
60
+ colorComponents.blue = (argb & 0xFF) / ratio;
61
+ }
62
+
63
+ return colorComponents;
64
+ }
65
+
66
+ } // namespace react
67
+ } // namespace facebook
@@ -0,0 +1,29 @@
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
+
14
+ namespace facebook {
15
+ namespace react {
16
+
17
+ inline ColorComponents parsePlatformColor(
18
+ const PropsParserContext &context,
19
+ const RawValue &value) {
20
+ float alpha = 0;
21
+ float red = 0;
22
+ float green = 0;
23
+ float blue = 0;
24
+
25
+ return {red, green, blue, alpha};
26
+ }
27
+
28
+ } // namespace react
29
+ } // namespace facebook