react-native-tvos 0.75.4-0 → 0.76.0-0

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 (965) hide show
  1. package/Libraries/Alert/Alert.js +3 -0
  2. package/Libraries/Animated/AnimatedEvent.js +1 -1
  3. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  4. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  5. package/Libraries/Animated/animations/Animation.js +11 -1
  6. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  7. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  8. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  9. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  10. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  11. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  13. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  14. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  15. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  16. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  19. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  20. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  21. package/Libraries/Animated/useAnimatedProps.js +142 -7
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +10 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +24 -50
  24. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -23
  25. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -26
  26. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  27. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  28. package/Libraries/Blob/FileReader.js +1 -1
  29. package/Libraries/Blob/URL.js +2 -62
  30. package/Libraries/Blob/URLSearchParams.js +71 -0
  31. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  32. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  33. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -0
  34. package/Libraries/Components/Pressable/Pressable.js +3 -36
  35. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  36. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  37. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  38. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  39. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  40. package/Libraries/Components/TV/TVTextScrollView.js +1 -1
  41. package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
  42. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  43. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  44. package/Libraries/Components/TextInput/TextInput.js +230 -94
  45. package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
  46. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  47. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  48. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  49. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  50. package/Libraries/Core/ExceptionsManager.js +2 -0
  51. package/Libraries/Core/InitializeCore.js +3 -1
  52. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  53. package/Libraries/Core/ReactNativeVersion.js +2 -2
  54. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  55. package/Libraries/Core/setUpErrorHandling.js +7 -1
  56. package/Libraries/Core/setUpGlobals.js +1 -0
  57. package/Libraries/Core/setUpReactRefresh.js +0 -4
  58. package/Libraries/Image/AssetSourceResolver.js +28 -1
  59. package/Libraries/Image/Image.android.js +9 -14
  60. package/Libraries/Image/Image.ios.js +11 -22
  61. package/Libraries/Image/ImageBackground.js +1 -8
  62. package/Libraries/Image/ImageUtils.js +9 -9
  63. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  64. package/Libraries/Image/RCTImageLoader.mm +19 -10
  65. package/Libraries/Image/RCTImageView.mm +2 -2
  66. package/Libraries/Image/RCTResizeMode.h +28 -0
  67. package/Libraries/Image/React-RCTImage.podspec +1 -1
  68. package/Libraries/Inspector/Inspector.js +3 -2
  69. package/Libraries/Inspector/InspectorPanel.js +16 -10
  70. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  71. package/Libraries/Interaction/TaskQueue.js +1 -0
  72. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  73. package/Libraries/Lists/FlatList.js +1 -1
  74. package/Libraries/Lists/SectionList.js +2 -2
  75. package/Libraries/Lists/SectionListModern.js +3 -3
  76. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  77. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  78. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  79. package/Libraries/Modal/Modal.js +0 -1
  80. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  81. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  82. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  83. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  84. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  85. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
  86. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  88. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  89. package/Libraries/NativeComponent/TVViewConfig.js +4 -0
  90. package/Libraries/Network/RCTNetworkTask.h +1 -1
  91. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  92. package/Libraries/Network/RCTNetworking.mm +6 -0
  93. package/Libraries/Network/XMLHttpRequest.js +4 -2
  94. package/Libraries/Pressability/Pressability.js +37 -0
  95. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  96. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  97. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  98. package/Libraries/ReactNative/AppContainer.js +0 -1
  99. package/Libraries/ReactNative/AppRegistry.js +0 -6
  100. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  103. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  104. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  105. package/Libraries/ReactNative/renderApplication.js +0 -2
  106. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  107. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  108. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
  109. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  110. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  111. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  112. package/Libraries/StyleSheet/processFilter.js +231 -42
  113. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  114. package/Libraries/Text/RCTTextAttributes.h +1 -0
  115. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  116. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  117. package/Libraries/Text/Text.js +394 -196
  118. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  119. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  120. package/Libraries/Text/TextNativeComponent.js +2 -1
  121. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  122. package/Libraries/Types/CodegenTypes.js +3 -1
  123. package/Libraries/Utilities/Appearance.js +108 -84
  124. package/Libraries/Utilities/DevLoadingView.js +2 -4
  125. package/Libraries/Utilities/HMRClient.js +8 -6
  126. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  127. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  128. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  129. package/Libraries/Utilities/useColorScheme.js +3 -3
  130. package/Libraries/WebSocket/WebSocket.js +1 -1
  131. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  132. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  133. package/README.md +38 -26
  134. package/React/Base/RCTBridge.mm +20 -2
  135. package/React/Base/RCTBundleURLProvider.h +19 -0
  136. package/React/Base/RCTBundleURLProvider.mm +62 -8
  137. package/React/Base/RCTConvert.h +0 -3
  138. package/React/Base/RCTConvert.mm +0 -13
  139. package/React/Base/RCTKeyCommands.m +1 -2
  140. package/React/Base/RCTVersion.m +2 -2
  141. package/React/CoreModules/RCTAppearance.mm +5 -0
  142. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  143. package/React/CoreModules/RCTDevMenu.mm +1 -1
  144. package/React/CoreModules/RCTDeviceInfo.mm +15 -8
  145. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  146. package/React/CoreModules/RCTRedBox.mm +4 -0
  147. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  148. package/React/CoreModules/React-CoreModules.podspec +3 -1
  149. package/React/CxxBridge/NSDataBigString.mm +2 -25
  150. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  151. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  152. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  153. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  154. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  155. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  156. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  157. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  158. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  159. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +24 -2
  160. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  161. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -10
  162. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  163. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  164. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  165. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  166. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  167. package/React/Fabric/RCTScheduler.mm +2 -1
  168. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  169. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  170. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  171. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  172. package/React/Views/RCTBorderDrawing.h +9 -5
  173. package/React/Views/RCTBorderDrawing.m +29 -17
  174. package/React/Views/RCTModalHostView.m +1 -1
  175. package/React/Views/RCTModalHostViewController.m +1 -1
  176. package/React/Views/RCTModalHostViewManager.m +23 -3
  177. package/React/Views/RCTView.m +9 -5
  178. package/React/Views/RCTViewManager.h +3 -0
  179. package/React/Views/RCTViewManager.m +64 -8
  180. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  181. package/React/Views/ScrollView/RCTScrollView.m +20 -0
  182. package/React-Core.podspec +4 -1
  183. package/ReactAndroid/api/ReactAndroid.api +623 -268
  184. package/ReactAndroid/build.gradle.kts +109 -278
  185. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  186. package/ReactAndroid/gradle.properties +1 -1
  187. package/ReactAndroid/hermes-engine/build.gradle.kts +1 -2
  188. package/ReactAndroid/publish.gradle +1 -1
  189. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  192. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +6 -1
  193. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  194. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  195. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -3
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  200. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  201. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  202. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  203. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  204. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  208. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  209. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  220. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  232. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  233. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  236. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  237. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  238. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  239. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  240. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +179 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  250. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  251. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  253. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  254. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  257. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  260. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  261. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  262. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  263. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +29 -10
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  269. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  272. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  273. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  274. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  275. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  281. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -38
  285. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  288. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  289. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  290. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  291. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  292. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  293. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +2 -2
  296. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  298. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  299. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  300. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  301. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  302. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  303. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  305. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  306. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  307. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  308. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  311. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  316. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  319. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +46 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  338. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -2
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  342. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +222 -184
  343. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  344. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  345. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  346. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  348. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +119 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +41 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +151 -83
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -99
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +81 -9
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +66 -30
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +87 -26
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  435. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  439. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  440. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  441. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  442. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  443. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +158 -0
  444. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  445. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  446. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  447. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  448. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  449. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  450. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  451. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  452. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  453. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  454. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  455. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  456. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  457. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  458. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  459. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  460. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  461. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  462. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  463. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  464. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  465. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  466. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  467. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  468. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  469. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  470. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  471. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  472. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  473. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  474. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  475. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  476. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  477. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  478. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  479. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  480. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  481. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  482. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  483. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  484. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  485. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  486. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  487. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  488. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  489. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  490. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  491. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  492. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  493. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  494. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  495. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  496. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  497. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  498. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  499. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  500. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  501. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  502. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  503. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  504. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  505. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  506. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  507. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  508. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  509. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  510. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  511. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  512. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  513. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  514. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  515. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  516. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  517. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  518. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  519. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  520. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  521. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  522. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  523. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  524. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  525. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  526. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  527. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  528. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  529. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  530. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  531. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  532. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  533. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  534. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  535. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  536. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  537. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  538. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  539. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  540. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  541. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  542. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  543. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  544. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  545. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  546. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  547. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  548. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  549. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  550. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  551. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  552. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  553. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  554. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  555. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  556. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  557. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  558. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  559. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  560. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  561. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  562. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  563. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  564. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  565. package/ReactCommon/logger/CMakeLists.txt +1 -1
  566. package/ReactCommon/react/bridging/Bool.h +1 -1
  567. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  568. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  569. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  570. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  571. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  572. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  573. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  574. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  575. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  576. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  577. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  578. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  579. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  580. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  581. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  582. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  583. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  584. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  585. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  586. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  588. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  589. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  590. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  591. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  592. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  593. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  594. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  595. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  596. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  597. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  598. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  599. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  600. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  601. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  602. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  603. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  604. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  605. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  606. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  607. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -22
  608. package/ReactCommon/react/renderer/animations/utils.h +45 -0
  609. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  610. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  611. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  612. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  613. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  614. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  615. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  616. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  617. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  620. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  621. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  622. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  623. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  624. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  625. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  626. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  627. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  628. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  629. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  630. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  631. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  632. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  633. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  634. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  635. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  636. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  637. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  638. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  639. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  640. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  641. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  642. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  643. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  644. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  645. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  646. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +115 -75
  647. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  648. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  649. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  650. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  651. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  652. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  653. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  654. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  655. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  656. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  657. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  658. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  659. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  660. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  661. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  662. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  663. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  664. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  665. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  666. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  667. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  668. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  669. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  670. package/ReactCommon/react/renderer/core/Props.h +5 -0
  671. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  672. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  673. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  674. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  675. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  676. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  677. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  678. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  679. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  680. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  681. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  682. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  683. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  684. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  685. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  686. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  687. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  688. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  689. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  690. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  691. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  692. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  693. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  694. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  695. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  696. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  697. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  698. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  699. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  700. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  701. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  702. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  703. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  704. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  705. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  706. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  707. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  708. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  709. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  710. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  711. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  712. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  713. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  714. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  715. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  716. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  717. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  718. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  719. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  720. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  721. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  722. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  723. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  724. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  725. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  726. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  727. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  728. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  729. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  730. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  731. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  732. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  733. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  734. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  735. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  736. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  737. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  738. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  739. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  740. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  741. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  742. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  743. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  744. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  745. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  746. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  747. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  748. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  749. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  750. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  751. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  752. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  753. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  754. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  755. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  756. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  757. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  758. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  759. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  760. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  761. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  762. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  763. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  764. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  765. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  766. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  767. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  768. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  769. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  770. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +9 -4
  771. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
  772. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
  773. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
  774. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
  775. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
  776. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  777. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  778. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  779. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  780. package/ReactCommon/react/timing/primitives.h +31 -0
  781. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  782. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  783. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  784. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  785. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  786. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  787. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  788. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  789. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  790. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  791. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  792. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  793. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  794. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  795. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  796. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  797. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  798. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  799. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  800. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  801. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  802. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  803. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  804. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  805. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  806. package/cli.js +23 -5
  807. package/flow/jest.js +2 -2
  808. package/gradle/libs.versions.toml +5 -5
  809. package/index.js +3 -1
  810. package/jest/mockComponent.js +4 -1
  811. package/jest/mockModal.js +1 -3
  812. package/jest/mockScrollView.js +1 -1
  813. package/jest/renderer.js +2 -2
  814. package/jest/setup.js +16 -13
  815. package/package.json +15 -16
  816. package/react-native.config.js +26 -5
  817. package/scripts/bundle.js +5 -2
  818. package/scripts/cocoapods/helpers.rb +73 -6
  819. package/scripts/cocoapods/new_architecture.rb +17 -3
  820. package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
  821. package/scripts/cocoapods/utils.rb +30 -18
  822. package/scripts/ios-configure-glog.sh +2 -0
  823. package/scripts/react_native_pods.rb +73 -2
  824. package/sdks/.hermesversion +1 -1
  825. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  826. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -16
  827. package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
  828. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  829. package/sdks/hermesc/osx-bin/hermes +0 -0
  830. package/sdks/hermesc/osx-bin/hermesc +0 -0
  831. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  832. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  833. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  834. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  835. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  836. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  837. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  838. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
  839. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  840. package/src/private/components/useSyncOnScroll.js +48 -0
  841. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  842. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  843. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  844. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  845. package/src/private/setup/setUpDOM.js +28 -0
  846. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  847. package/src/private/setup/setUpMutationObserver.js +26 -0
  848. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  849. package/src/private/specs/modules/NativeAppearance.js +3 -3
  850. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  851. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  852. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  853. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  854. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  855. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  856. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  857. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  858. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  859. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  860. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  861. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  862. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  863. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  864. package/src/private/webapis/performance/LongTasks.js +39 -0
  865. package/src/private/webapis/performance/Performance.js +22 -9
  866. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  867. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  868. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  869. package/src/private/webapis/performance/UserTiming.js +17 -12
  870. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  871. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  872. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  873. package/third-party-podspecs/boost.podspec +4 -1
  874. package/third-party-podspecs/fmt.podspec +4 -1
  875. package/third-party-podspecs/glog.podspec +4 -1
  876. package/types/experimental.d.ts +12 -98
  877. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  878. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  879. package/Libraries/Core/setUpMutationObserver.js +0 -16
  880. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  881. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  882. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  883. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  884. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  885. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  886. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  887. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  888. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  889. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  890. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  891. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  892. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  893. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  894. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  895. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  896. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  897. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  898. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  899. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  900. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  901. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  902. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  903. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  904. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  905. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  906. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  907. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  908. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  909. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  910. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  911. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  912. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  913. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  914. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  915. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  916. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  917. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  918. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  919. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  920. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  921. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  922. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  923. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  924. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  925. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  926. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  927. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  928. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  929. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  930. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  931. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  932. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  933. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  934. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  935. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  936. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  937. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  938. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  939. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  940. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  941. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  942. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  943. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  944. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  945. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  946. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  947. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  948. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  949. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  950. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  951. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  952. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  953. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  954. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  955. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  956. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  957. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  958. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  959. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  960. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  961. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  962. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  963. package/src/private/core/setUpDOM.js +0 -18
  964. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  965. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -8,11 +8,16 @@
8
8
  package com.facebook.react.uimanager
9
9
 
10
10
  import android.annotation.TargetApi
11
+ import android.graphics.BlendMode
12
+ import android.graphics.BlendModeColorFilter
13
+ import android.graphics.Color
11
14
  import android.graphics.ColorMatrix
12
15
  import android.graphics.ColorMatrixColorFilter
13
16
  import android.graphics.RenderEffect
14
17
  import android.graphics.Shader
15
18
  import com.facebook.react.bridge.ReadableArray
19
+ import com.facebook.react.bridge.ReadableMap
20
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
16
21
  import kotlin.math.cos
17
22
  import kotlin.math.sin
18
23
 
@@ -26,19 +31,21 @@ internal object FilterHelper {
26
31
  for (i in 0 until filters.size()) {
27
32
  val filter = filters.getMap(i).entryIterator.next()
28
33
  val filterName = filter.key
29
- val amount = (filter.value as Double).toFloat()
30
34
 
31
35
  chainedEffects =
32
36
  when (filterName) {
33
- "brightness" -> createBrightnessEffect(amount, chainedEffects)
34
- "contrast" -> createContrastEffect(amount, chainedEffects)
35
- "grayscale" -> createGrayscaleEffect(amount, chainedEffects)
36
- "sepia" -> createSepiaEffect(amount, chainedEffects)
37
- "saturate" -> createSaturateEffect(amount, chainedEffects)
38
- "hueRotate" -> createHueRotateEffect(amount, chainedEffects)
39
- "invert" -> createInvertEffect(amount, chainedEffects)
40
- "blur" -> createBlurEffect(amount, chainedEffects)
41
- "opacity" -> createOpacityEffect(amount, chainedEffects)
37
+ "brightness" ->
38
+ createBrightnessEffect((filter.value as Double).toFloat(), chainedEffects)
39
+ "contrast" -> createContrastEffect((filter.value as Double).toFloat(), chainedEffects)
40
+ "grayscale" -> createGrayscaleEffect((filter.value as Double).toFloat(), chainedEffects)
41
+ "sepia" -> createSepiaEffect((filter.value as Double).toFloat(), chainedEffects)
42
+ "saturate" -> createSaturateEffect((filter.value as Double).toFloat(), chainedEffects)
43
+ "hueRotate" -> createHueRotateEffect((filter.value as Double).toFloat(), chainedEffects)
44
+ "invert" -> createInvertEffect((filter.value as Double).toFloat(), chainedEffects)
45
+ "blur" -> createBlurEffect((filter.value as Double).toFloat(), chainedEffects)
46
+ "opacity" -> createOpacityEffect((filter.value as Double).toFloat(), chainedEffects)
47
+ "dropShadow" ->
48
+ parseAndCreateDropShadowEffect(filter.value as ReadableMap, chainedEffects)
42
49
  else -> throw IllegalArgumentException("Invalid filter name: $filterName")
43
50
  }
44
51
  }
@@ -76,11 +83,14 @@ internal object FilterHelper {
76
83
 
77
84
  @JvmStatic
78
85
  public fun isOnlyColorMatrixFilters(filters: ReadableArray?): Boolean {
79
- filters ?: return false
86
+ if (filters == null || filters.size() == 0) {
87
+ return false
88
+ }
89
+
80
90
  for (i in 0 until filters.size()) {
81
91
  val filter = filters.getMap(i).entryIterator.next()
82
92
  val filterName = filter.key
83
- if (filterName == "blur") {
93
+ if (filterName == "blur" || filterName == "dropShadow") {
84
94
  return false
85
95
  }
86
96
  }
@@ -93,11 +103,7 @@ internal object FilterHelper {
93
103
  return null
94
104
  }
95
105
 
96
- // Android takes blur amount as a radius while web takes a sigma. This value
97
- // is used under the hood to convert between them on Android
98
- // https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/libs/hwui/jni/RenderEffect.cpp
99
- val sigmaToRadiusRatio = 0.57_735f
100
- val radius = (PixelUtil.toPixelFromDIP(sigma) - 0.5f) / sigmaToRadiusRatio
106
+ val radius: Float = sigmaToRadius(sigma)
101
107
  return if (chainedEffects == null) {
102
108
  RenderEffect.createBlurEffect(radius, radius, Shader.TileMode.DECAL)
103
109
  } else {
@@ -127,6 +133,64 @@ internal object FilterHelper {
127
133
  return createColorMatrixEffect(createOpacityColorMatrix(amount), chainedEffects)
128
134
  }
129
135
 
136
+ // https://www.w3.org/TR/filter-effects-1/#dropshadowEquivalent
137
+ public fun createDropShadowEffect(
138
+ offsetX: Float,
139
+ offsetY: Float,
140
+ blurRadius: Float,
141
+ color: Int,
142
+ chainedEffects: RenderEffect? = null
143
+ ): RenderEffect {
144
+ val identity: RenderEffect
145
+ val offsetEffect: RenderEffect
146
+
147
+ /*
148
+ * identity is set to an offset RenderEffect of 0 to keep track of the identity/original content.
149
+ * we then create offset effect for the first step of the shadow
150
+ */
151
+ if (chainedEffects == null) {
152
+ identity = RenderEffect.createOffsetEffect(0f, 0f)
153
+ offsetEffect = RenderEffect.createOffsetEffect(offsetX, offsetY)
154
+ } else {
155
+ identity = RenderEffect.createOffsetEffect(0f, 0f, chainedEffects)
156
+ offsetEffect = RenderEffect.createOffsetEffect(offsetX, offsetY, chainedEffects)
157
+ }
158
+
159
+ /*
160
+ * create color effect, blend with offset effect with SRC_IN and apply blur on top
161
+ * SRC_IN finds the alpha intersection of colorEffect and offset
162
+ * https://developer.android.com/reference/android/graphics/BlendMode#SRC_IN
163
+ */
164
+ val colorEffect: RenderEffect =
165
+ RenderEffect.createColorFilterEffect(
166
+ BlendModeColorFilter(color, BlendMode.SRC_IN), offsetEffect)
167
+ val blurEffect: RenderEffect =
168
+ RenderEffect.createBlurEffect(blurRadius, blurRadius, colorEffect, Shader.TileMode.DECAL)
169
+
170
+ /*
171
+ * at this point blurEffect contains all of drop-shadow's combined effects (offset, color & blur)
172
+ * we then blend it with identity/original content with SRC_OVER
173
+ * SRC_OVER layers blurEffect's alpha behind identity for the desired result
174
+ * https://developer.android.com/reference/android/graphics/BlendMode#SRC_OVER
175
+ */
176
+ return RenderEffect.createBlendModeEffect(blurEffect, identity, BlendMode.SRC_OVER)
177
+ }
178
+
179
+ public fun parseAndCreateDropShadowEffect(
180
+ filterValues: ReadableMap,
181
+ chainedEffects: RenderEffect? = null
182
+ ): RenderEffect {
183
+ val offsetX: Float = filterValues.getDouble("offsetX").dpToPx()
184
+ val offsetY: Float = filterValues.getDouble("offsetY").dpToPx()
185
+ val color: Int = if (filterValues.hasKey("color")) filterValues.getInt("color") else Color.BLACK
186
+ val radius: Float =
187
+ if (filterValues.hasKey("standardDeviation"))
188
+ sigmaToRadius(filterValues.getDouble("standardDeviation").toFloat())
189
+ else 0f
190
+
191
+ return createDropShadowEffect(offsetX, offsetY, radius, color, chainedEffects)
192
+ }
193
+
130
194
  public fun createOpacityColorMatrix(amount: Float): ColorMatrix {
131
195
  val matrix = ColorMatrix()
132
196
  matrix.setScale(1f, 1f, 1f, amount)
@@ -326,4 +390,12 @@ internal object FilterHelper {
326
390
  RenderEffect.createColorFilterEffect(ColorMatrixColorFilter(colorMatrix), chainedEffects)
327
391
  }
328
392
  }
393
+
394
+ internal fun sigmaToRadius(sigma: Float): Float {
395
+ // Android takes blur amount as a radius while web takes a sigma. This value
396
+ // is used under the hood to convert between them on Android
397
+ // https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/libs/hwui/jni/RenderEffect.cpp
398
+ val sigmaToRadiusRatio = 0.57_735f
399
+ return (PixelUtil.toPixelFromDIP(sigma) - 0.5f) / sigmaToRadiusRatio
400
+ }
329
401
  }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and 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
+ package com.facebook.react.uimanager
9
+
10
+ import android.view.View
11
+ import com.facebook.react.bridge.UiThreadUtil
12
+
13
+ /** Interface providing children management API for view managers of classes extending ViewGroup. */
14
+ public interface IViewGroupManager<T : View> : IViewManagerWithChildren {
15
+
16
+ /** Adds a child view into the parent at the index specified as a parameter */
17
+ public fun addView(parent: T, child: View, index: Int)
18
+
19
+ /** @return child of the parent view at the index specified as a parameter. */
20
+ public fun getChildAt(parent: T, index: Int): View?
21
+
22
+ /** Removes View from the parent View at the index specified as a parameter. */
23
+ public fun removeViewAt(parent: T, index: Int)
24
+
25
+ /** Remove all child views from the parent View. */
26
+ public fun removeAllViews(parent: T) {
27
+ UiThreadUtil.assertOnUiThread()
28
+ for (i in getChildCount(parent) - 1 downTo 0) {
29
+ removeViewAt(parent, i)
30
+ }
31
+ }
32
+
33
+ /** Return the amount of children contained by the view specified as a parameter. */
34
+ public fun getChildCount(parent: T): Int
35
+ }
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.uimanager;
8
+ package com.facebook.react.uimanager
9
9
 
10
- public interface IViewManagerWithChildren {
10
+ public fun interface IViewManagerWithChildren {
11
11
  /**
12
12
  * Returns whether this View type needs to handle laying out its own children instead of deferring
13
13
  * to the standard css-layout algorithm. Returns true for the layout to *not* be automatically
@@ -16,5 +16,5 @@ public interface IViewManagerWithChildren {
16
16
  * of automatically laying out children without going through the ViewGroup's onLayout method. In
17
17
  * that case, onLayout for this View type must *not* call layout on its children.
18
18
  */
19
- boolean needsCustomLayoutForChildren();
19
+ public fun needsCustomLayoutForChildren(): Boolean
20
20
  }
@@ -9,10 +9,15 @@ package com.facebook.react.uimanager;
9
9
 
10
10
  import android.view.MotionEvent;
11
11
  import android.view.ViewGroup;
12
+ import androidx.annotation.Nullable;
12
13
  import com.facebook.common.logging.FLog;
13
14
  import com.facebook.infer.annotation.Assertions;
14
15
  import com.facebook.infer.annotation.Nullsafe;
16
+ import com.facebook.react.bridge.ReactContext;
17
+ import com.facebook.react.bridge.UIManager;
15
18
  import com.facebook.react.common.ReactConstants;
19
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
20
+ import com.facebook.react.uimanager.common.UIManagerType;
16
21
  import com.facebook.react.uimanager.events.EventDispatcher;
17
22
  import com.facebook.react.uimanager.events.TouchEvent;
18
23
  import com.facebook.react.uimanager.events.TouchEventCoalescingKeyHelper;
@@ -30,12 +35,14 @@ public class JSTouchDispatcher {
30
35
  private final float[] mTargetCoordinates = new float[2];
31
36
  private boolean mChildIsHandlingNativeGesture = false;
32
37
  private long mGestureStartTime = TouchEvent.UNSET;
33
- private final ViewGroup mRootViewGroup;
38
+
39
+ private final ViewGroup mViewGroup;
40
+
34
41
  private final TouchEventCoalescingKeyHelper mTouchEventCoalescingKeyHelper =
35
42
  new TouchEventCoalescingKeyHelper();
36
43
 
37
44
  public JSTouchDispatcher(ViewGroup viewGroup) {
38
- mRootViewGroup = viewGroup;
45
+ mViewGroup = viewGroup;
39
46
  }
40
47
 
41
48
  public void onChildStartedNativeGesture(
@@ -57,6 +64,10 @@ public class JSTouchDispatcher {
57
64
  mChildIsHandlingNativeGesture = false;
58
65
  }
59
66
 
67
+ public void handleTouchEvent(MotionEvent ev, EventDispatcher eventDispatcher) {
68
+ handleTouchEvent(ev, eventDispatcher, null);
69
+ }
70
+
60
71
  /**
61
72
  * Main catalyst view is responsible for collecting and sending touch events to JS. This method
62
73
  * reacts for an incoming android native touch events ({@link MotionEvent}) and calls into {@link
@@ -65,7 +76,8 @@ public class JSTouchDispatcher {
65
76
  * method for figuring out a react view ID in the case of ACTION_DOWN event (when the gesture
66
77
  * starts).
67
78
  */
68
- public void handleTouchEvent(MotionEvent ev, EventDispatcher eventDispatcher) {
79
+ public void handleTouchEvent(
80
+ MotionEvent ev, EventDispatcher eventDispatcher, @Nullable ReactContext reactContext) {
69
81
  int action = ev.getAction() & MotionEvent.ACTION_MASK;
70
82
  if (action == MotionEvent.ACTION_DOWN) {
71
83
  if (mTargetTag != -1) {
@@ -78,11 +90,13 @@ public class JSTouchDispatcher {
78
90
  // this gesture
79
91
  mChildIsHandlingNativeGesture = false;
80
92
  mGestureStartTime = ev.getEventTime();
81
-
82
93
  mTargetTag = findTargetTagAndSetCoordinates(ev);
94
+ int surfaceId = UIManagerHelper.getSurfaceId(mViewGroup);
95
+ markActiveTouchForTag(surfaceId, mTargetTag, reactContext);
96
+
83
97
  eventDispatcher.dispatchEvent(
84
98
  TouchEvent.obtain(
85
- UIManagerHelper.getSurfaceId(mRootViewGroup),
99
+ UIManagerHelper.getSurfaceId(mViewGroup),
86
100
  mTargetTag,
87
101
  TouchEventType.START,
88
102
  ev,
@@ -105,9 +119,10 @@ public class JSTouchDispatcher {
105
119
  // End of the gesture. We reset target tag to -1 and expect no further event associated with
106
120
  // this gesture.
107
121
  findTargetTagAndSetCoordinates(ev);
122
+ int surfaceId = UIManagerHelper.getSurfaceId(mViewGroup);
108
123
  eventDispatcher.dispatchEvent(
109
124
  TouchEvent.obtain(
110
- UIManagerHelper.getSurfaceId(mRootViewGroup),
125
+ surfaceId,
111
126
  mTargetTag,
112
127
  TouchEventType.END,
113
128
  ev,
@@ -115,6 +130,7 @@ public class JSTouchDispatcher {
115
130
  mTargetCoordinates[0],
116
131
  mTargetCoordinates[1],
117
132
  mTouchEventCoalescingKeyHelper));
133
+ sweepActiveTouchForTag(surfaceId, mTargetTag, reactContext);
118
134
  mTargetTag = -1;
119
135
  mGestureStartTime = TouchEvent.UNSET;
120
136
  } else if (action == MotionEvent.ACTION_MOVE) {
@@ -122,7 +138,7 @@ public class JSTouchDispatcher {
122
138
  findTargetTagAndSetCoordinates(ev);
123
139
  eventDispatcher.dispatchEvent(
124
140
  TouchEvent.obtain(
125
- UIManagerHelper.getSurfaceId(mRootViewGroup),
141
+ UIManagerHelper.getSurfaceId(mViewGroup),
126
142
  mTargetTag,
127
143
  TouchEventType.MOVE,
128
144
  ev,
@@ -134,7 +150,7 @@ public class JSTouchDispatcher {
134
150
  // New pointer goes down, this can only happen after ACTION_DOWN is sent for the first pointer
135
151
  eventDispatcher.dispatchEvent(
136
152
  TouchEvent.obtain(
137
- UIManagerHelper.getSurfaceId(mRootViewGroup),
153
+ UIManagerHelper.getSurfaceId(mViewGroup),
138
154
  mTargetTag,
139
155
  TouchEventType.START,
140
156
  ev,
@@ -146,7 +162,7 @@ public class JSTouchDispatcher {
146
162
  // Exactly one of the pointers goes up
147
163
  eventDispatcher.dispatchEvent(
148
164
  TouchEvent.obtain(
149
- UIManagerHelper.getSurfaceId(mRootViewGroup),
165
+ UIManagerHelper.getSurfaceId(mViewGroup),
150
166
  mTargetTag,
151
167
  TouchEventType.END,
152
168
  ev,
@@ -162,6 +178,9 @@ public class JSTouchDispatcher {
162
178
  ReactConstants.TAG,
163
179
  "Received an ACTION_CANCEL touch event for which we have no corresponding ACTION_DOWN");
164
180
  }
181
+ int surfaceId = UIManagerHelper.getSurfaceId(mViewGroup);
182
+ sweepActiveTouchForTag(surfaceId, mTargetTag, reactContext);
183
+
165
184
  mTargetTag = -1;
166
185
  mGestureStartTime = TouchEvent.UNSET;
167
186
  } else {
@@ -171,10 +190,38 @@ public class JSTouchDispatcher {
171
190
  }
172
191
  }
173
192
 
193
+ private void markActiveTouchForTag(
194
+ int surfaceId, int reactTag, @Nullable ReactContext reactContext) {
195
+ if (!ReactNativeFeatureFlags.enableEventEmitterRetentionDuringGesturesOnAndroid()) {
196
+ return;
197
+ }
198
+ if (reactContext == null) {
199
+ return;
200
+ }
201
+ UIManager uiManager = UIManagerHelper.getUIManager(reactContext, UIManagerType.FABRIC);
202
+ if (uiManager != null) {
203
+ uiManager.markActiveTouchForTag(surfaceId, reactTag);
204
+ }
205
+ }
206
+
207
+ private void sweepActiveTouchForTag(
208
+ int surfaceId, int reactTag, @Nullable ReactContext reactContext) {
209
+ if (!ReactNativeFeatureFlags.enableEventEmitterRetentionDuringGesturesOnAndroid()) {
210
+ return;
211
+ }
212
+ if (reactContext == null) {
213
+ return;
214
+ }
215
+ UIManager uiManager = UIManagerHelper.getUIManager(reactContext, UIManagerType.FABRIC);
216
+ if (uiManager != null) {
217
+ uiManager.sweepActiveTouchForTag(surfaceId, reactTag);
218
+ }
219
+ }
220
+
174
221
  private int findTargetTagAndSetCoordinates(MotionEvent ev) {
175
222
  // This method updates `mTargetCoordinates` with coordinates for the motion event.
176
223
  return TouchTargetHelper.findTargetTagAndCoordinatesForTouch(
177
- ev.getX(), ev.getY(), mRootViewGroup, mTargetCoordinates, null);
224
+ ev.getX(), ev.getY(), mViewGroup, mTargetCoordinates, null);
178
225
  }
179
226
 
180
227
  private void dispatchCancelEvent(MotionEvent androidEvent, EventDispatcher eventDispatcher) {
@@ -195,7 +242,7 @@ public class JSTouchDispatcher {
195
242
  Assertions.assertNotNull(eventDispatcher)
196
243
  .dispatchEvent(
197
244
  TouchEvent.obtain(
198
- UIManagerHelper.getSurfaceId(mRootViewGroup),
245
+ UIManagerHelper.getSurfaceId(mViewGroup),
199
246
  mTargetTag,
200
247
  TouchEventType.CANCEL,
201
248
  androidEvent,
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and 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
+ package com.facebook.react.uimanager
9
+
10
+ import android.view.View
11
+ import com.facebook.yoga.YogaDirection
12
+
13
+ internal object LayoutDirectionUtil {
14
+ @JvmStatic
15
+ public fun toAndroidFromYoga(direction: YogaDirection): Int =
16
+ when (direction) {
17
+ YogaDirection.LTR -> View.LAYOUT_DIRECTION_LTR
18
+ YogaDirection.RTL -> View.LAYOUT_DIRECTION_RTL
19
+ else -> View.LAYOUT_DIRECTION_INHERIT
20
+ }
21
+
22
+ @JvmStatic
23
+ public fun toYogaFromAndroid(direction: Int): YogaDirection =
24
+ when (direction) {
25
+ View.LAYOUT_DIRECTION_LTR -> YogaDirection.LTR
26
+ View.LAYOUT_DIRECTION_RTL -> YogaDirection.RTL
27
+ else -> YogaDirection.INHERIT
28
+ }
29
+ }
@@ -330,7 +330,7 @@ public class LayoutShadowNode extends ReactShadowNodeImpl {
330
330
  flexBasis.recycle();
331
331
  }
332
332
 
333
- @ReactProp(name = ViewProps.ASPECT_RATIO, defaultFloat = YogaConstants.UNDEFINED)
333
+ @ReactProp(name = ViewProps.ASPECT_RATIO, defaultFloat = Float.NaN)
334
334
  public void setAspectRatio(float aspectRatio) {
335
335
  setStyleAspectRatio(aspectRatio);
336
336
  }
@@ -863,7 +863,7 @@ public class LayoutShadowNode extends ReactShadowNodeImpl {
863
863
  ViewProps.BORDER_LEFT_WIDTH,
864
864
  ViewProps.BORDER_RIGHT_WIDTH,
865
865
  },
866
- defaultFloat = YogaConstants.UNDEFINED)
866
+ defaultFloat = Float.NaN)
867
867
  public void setBorderWidths(int index, float borderWidth) {
868
868
  if (isVirtual()) {
869
869
  return;
@@ -11,6 +11,7 @@ import com.facebook.common.logging.FLog
11
11
  import com.facebook.react.bridge.Dynamic
12
12
  import com.facebook.react.bridge.ReadableType
13
13
  import com.facebook.react.common.ReactConstants
14
+ import com.facebook.react.uimanager.style.CornerRadii
14
15
  import java.lang.NumberFormatException
15
16
 
16
17
  public enum class LengthPercentageType {
@@ -18,9 +19,9 @@ public enum class LengthPercentageType {
18
19
  PERCENT,
19
20
  }
20
21
 
21
- public class LengthPercentage(
22
+ public data class LengthPercentage(
22
23
  private val value: Float,
23
- public val unit: LengthPercentageType,
24
+ public val type: LengthPercentageType,
24
25
  ) {
25
26
  public companion object {
26
27
  @JvmStatic
@@ -29,7 +30,7 @@ public class LengthPercentage(
29
30
  ReadableType.Number -> {
30
31
  val value = dynamic.asDouble()
31
32
  if (value >= 0f) {
32
- LengthPercentage(PixelUtil.toPixelFromDIP(value), LengthPercentageType.POINT)
33
+ LengthPercentage(value.toFloat(), LengthPercentageType.POINT)
33
34
  } else {
34
35
  null
35
36
  }
@@ -61,12 +62,12 @@ public class LengthPercentage(
61
62
  }
62
63
  }
63
64
 
64
- public fun resolve(width: Float, height: Float): Float {
65
- if (unit == LengthPercentageType.PERCENT) {
66
- return (value / 100) * Math.min(width, height)
65
+ public fun resolve(width: Float, height: Float): CornerRadii {
66
+ if (type == LengthPercentageType.PERCENT) {
67
+ return CornerRadii((value / 100) * width, (value / 100) * height)
67
68
  }
68
69
 
69
- return value
70
+ return CornerRadii(value, value)
70
71
  }
71
72
 
72
73
  public constructor() : this(0f, LengthPercentageType.POINT)
@@ -27,11 +27,13 @@ import com.facebook.react.bridge.RetryableMountingLayerException;
27
27
  import com.facebook.react.bridge.SoftAssertions;
28
28
  import com.facebook.react.bridge.UiThreadUtil;
29
29
  import com.facebook.react.common.build.ReactBuildConfig;
30
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
30
31
  import com.facebook.react.touch.JSResponderHandler;
31
32
  import com.facebook.react.uimanager.layoutanimation.LayoutAnimationController;
32
33
  import com.facebook.react.uimanager.layoutanimation.LayoutAnimationListener;
33
34
  import com.facebook.systrace.Systrace;
34
35
  import com.facebook.systrace.SystraceMessage;
36
+ import com.facebook.yoga.YogaDirection;
35
37
  import java.util.HashMap;
36
38
  import java.util.HashSet;
37
39
  import java.util.Set;
@@ -77,7 +79,7 @@ public class NativeViewHierarchyManager {
77
79
  private final LayoutAnimationController mLayoutAnimator = new LayoutAnimationController();
78
80
  private final RectF mBoundingBox = new RectF();
79
81
 
80
- private boolean mLayoutAnimationEnabled;
82
+ private volatile boolean mLayoutAnimationEnabled;
81
83
  private HashMap<Integer, Set<Integer>> mPendingDeletionsForTag;
82
84
 
83
85
  public NativeViewHierarchyManager(ViewManagerRegistry viewManagers) {
@@ -153,8 +155,17 @@ public class NativeViewHierarchyManager {
153
155
  viewManager.updateExtraData(viewToUpdate, extraData);
154
156
  }
155
157
 
158
+ /**
159
+ * @deprecated Please use {@link #updateLayout(int tag, int x, int y, int width, int height,
160
+ * YogaDirection layoutDirection)} instead.
161
+ */
162
+ @Deprecated
163
+ public void updateLayout(int tag, int x, int y, int width, int height) {
164
+ updateLayout(tag, tag, x, y, width, height, YogaDirection.INHERIT);
165
+ }
166
+
156
167
  public synchronized void updateLayout(
157
- int parentTag, int tag, int x, int y, int width, int height) {
168
+ int parentTag, int tag, int x, int y, int width, int height, YogaDirection layoutDirection) {
158
169
  if (DEBUG_MODE) {
159
170
  FLog.d(TAG, "updateLayout[%d]->[%d]: %d %d %d %d", tag, parentTag, x, y, width, height);
160
171
  }
@@ -167,6 +178,10 @@ public class NativeViewHierarchyManager {
167
178
  try {
168
179
  View viewToUpdate = resolveView(tag);
169
180
 
181
+ if (ReactNativeFeatureFlags.setAndroidLayoutDirection()) {
182
+ viewToUpdate.setLayoutDirection(LayoutDirectionUtil.toAndroidFromYoga(layoutDirection));
183
+ }
184
+
170
185
  // Even though we have exact dimensions, we still call measure because some platform views
171
186
  // (e.g.
172
187
  // Switch) assume that method will always be called before onLayout and onDraw. They use it to
@@ -231,7 +246,7 @@ public class NativeViewHierarchyManager {
231
246
  }
232
247
 
233
248
  @Nullable
234
- public long getInstanceHandle(int reactTag) {
249
+ public synchronized long getInstanceHandle(int reactTag) {
235
250
  View view = mTagsToViews.get(reactTag);
236
251
  if (view == null) {
237
252
  throw new IllegalViewOperationException("Unable to find view for tag: " + reactTag);
@@ -799,15 +814,16 @@ public class NativeViewHierarchyManager {
799
814
  mJSResponderHandler.setJSResponder(initialReactTag, view.getParent());
800
815
  }
801
816
 
802
- public void clearJSResponder() {
817
+ public synchronized void clearJSResponder() {
803
818
  mJSResponderHandler.clearJSResponder();
804
819
  }
805
820
 
806
- void configureLayoutAnimation(final ReadableMap config, final Callback onAnimationComplete) {
821
+ synchronized void configureLayoutAnimation(
822
+ final ReadableMap config, final Callback onAnimationComplete) {
807
823
  mLayoutAnimator.initializeFromConfig(config, onAnimationComplete);
808
824
  }
809
825
 
810
- void clearLayoutAnimation() {
826
+ synchronized void clearLayoutAnimation() {
811
827
  mLayoutAnimator.reset();
812
828
  }
813
829
 
@@ -870,7 +886,7 @@ public class NativeViewHierarchyManager {
870
886
  return (ThemedReactContext) view.getContext();
871
887
  }
872
888
 
873
- public void sendAccessibilityEvent(int tag, int eventType) {
889
+ public synchronized void sendAccessibilityEvent(int tag, int eventType) {
874
890
  View view = mTagsToViews.get(tag);
875
891
  if (view == null) {
876
892
  throw new RetryableMountingLayerException("Could not find view with tag " + tag);
@@ -206,7 +206,8 @@ public class NativeViewHierarchyOptimizer {
206
206
  node.getScreenX(),
207
207
  node.getScreenY(),
208
208
  node.getScreenWidth(),
209
- node.getScreenHeight());
209
+ node.getScreenHeight(),
210
+ node.getLayoutDirection());
210
211
  return;
211
212
  }
212
213
 
@@ -370,7 +371,8 @@ public class NativeViewHierarchyOptimizer {
370
371
  x,
371
372
  y,
372
373
  toUpdate.getScreenWidth(),
373
- toUpdate.getScreenHeight());
374
+ toUpdate.getScreenHeight(),
375
+ toUpdate.getLayoutDirection());
374
376
  return;
375
377
  }
376
378
 
@@ -15,6 +15,10 @@ public object PixelUtil {
15
15
  /** Convert from DIP to PX */
16
16
  @JvmStatic
17
17
  public fun toPixelFromDIP(value: Float): Float {
18
+ if (value.isNaN()) {
19
+ return Float.NaN
20
+ }
21
+
18
22
  return TypedValue.applyDimension(
19
23
  TypedValue.COMPLEX_UNIT_DIP, value, DisplayMetricsHolder.getWindowDisplayMetrics())
20
24
  }
@@ -29,6 +33,10 @@ public object PixelUtil {
29
33
  @JvmOverloads
30
34
  @JvmStatic
31
35
  public fun toPixelFromSP(value: Float, maxFontScale: Float = Float.NaN): Float {
36
+ if (value.isNaN()) {
37
+ return Float.NaN
38
+ }
39
+
32
40
  val displayMetrics = DisplayMetricsHolder.getWindowDisplayMetrics()
33
41
  val scaledValue = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, displayMetrics)
34
42
 
@@ -48,6 +56,10 @@ public object PixelUtil {
48
56
  /** Convert from PX to DP */
49
57
  @JvmStatic
50
58
  public fun toDIPFromPixel(value: Float): Float {
59
+ if (value.isNaN()) {
60
+ return Float.NaN
61
+ }
62
+
51
63
  return value / DisplayMetricsHolder.getWindowDisplayMetrics().density
52
64
  }
53
65
 
@@ -55,4 +67,13 @@ public object PixelUtil {
55
67
  @JvmStatic
56
68
  public fun getDisplayMetricDensity(): Float =
57
69
  DisplayMetricsHolder.getWindowDisplayMetrics().density
70
+
71
+ /* Kotlin extensions */
72
+ public fun Float.dpToPx(): Float = PixelUtil.toPixelFromDIP(this)
73
+
74
+ public fun Double.dpToPx(): Float = PixelUtil.toPixelFromDIP(this)
75
+
76
+ public fun Float.pxToDp(): Float = PixelUtil.toDIPFromPixel(this)
77
+
78
+ public fun Double.pxToDp(): Float = PixelUtil.toDIPFromPixel(this.toFloat())
58
79
  }
@@ -406,7 +406,8 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
406
406
  getScreenX(),
407
407
  getScreenY(),
408
408
  getScreenWidth(),
409
- getScreenHeight());
409
+ getScreenHeight(),
410
+ getLayoutDirection());
410
411
  }
411
412
  }
412
413
  }
@@ -135,7 +135,7 @@ public class TouchTargetHelper {
135
135
  firstReactAncestor++;
136
136
  }
137
137
 
138
- if (firstReactAncestor > 0) {
138
+ if (firstReactAncestor > 0 && firstReactAncestor <= pathAccumulator.size()) {
139
139
  // Drop non-React views from the path trace
140
140
  pathAccumulator = pathAccumulator.subList(firstReactAncestor, pathAccumulator.size());
141
141
  }
@@ -204,6 +204,20 @@ public class UIImplementation {
204
204
  dispatchViewUpdatesIfNeeded();
205
205
  }
206
206
 
207
+ public void updateInsetsPadding(int nodeViewTag, int top, int left, int bottom, int right) {
208
+ ReactShadowNode cssNode = mShadowNodeRegistry.getNode(nodeViewTag);
209
+ if (cssNode == null) {
210
+ FLog.w(ReactConstants.TAG, "Tried to update size of non-existent tag: " + nodeViewTag);
211
+ return;
212
+ }
213
+ cssNode.setPadding(Spacing.START, (float) left);
214
+ cssNode.setPadding(Spacing.TOP, (float) top);
215
+ cssNode.setPadding(Spacing.END, (float) right);
216
+ cssNode.setPadding(Spacing.BOTTOM, (float) bottom);
217
+
218
+ dispatchViewUpdatesIfNeeded();
219
+ }
220
+
207
221
  public void setViewLocalData(int tag, Object data) {
208
222
  ReactShadowNode shadowNode = mShadowNodeRegistry.getNode(tag);
209
223