react-native-tvos 0.85.3-0 → 0.86.0-0rc2

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 (667) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  2. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  3. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  4. package/Libraries/Animated/components/AnimatedText.js +3 -3
  5. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  6. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  10. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  11. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  13. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  14. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  17. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  18. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  19. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  20. package/Libraries/AppState/AppState.js +1 -1
  21. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  22. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  23. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  24. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  25. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  26. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  27. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  28. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  29. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  30. package/Libraries/Components/Pressable/Pressable.js +2 -2
  31. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  32. package/Libraries/Components/ScrollView/ScrollView.js +3 -3
  33. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  34. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  35. package/Libraries/Components/Switch/Switch.js +1 -1
  36. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  37. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  38. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  39. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  40. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  41. package/Libraries/Components/TextInput/TextInput.js +5 -5
  42. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  43. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  44. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  45. package/Libraries/Components/Touchable/Touchable.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  47. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  48. package/Libraries/Components/View/View.js +96 -91
  49. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  50. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  51. package/Libraries/Core/ExceptionsManager.js +2 -8
  52. package/Libraries/Core/InitializeCore.js +0 -13
  53. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  54. package/Libraries/Core/ReactNativeVersion.js +3 -3
  55. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  56. package/Libraries/Core/Timers/JSTimers.js +2 -2
  57. package/Libraries/Core/Timers/immediateShim.js +1 -1
  58. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  59. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  60. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  61. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  62. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  63. package/Libraries/Image/Image.android.js +15 -35
  64. package/Libraries/Image/RCTImageLoader.mm +4 -2
  65. package/Libraries/Image/RelativeImageStub.js +2 -2
  66. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  67. package/Libraries/Linking/Linking.js +1 -1
  68. package/Libraries/Lists/FlatList.js +1 -1
  69. package/Libraries/LogBox/LogBox.js +2 -2
  70. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  71. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  72. package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
  73. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  74. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  75. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  76. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  77. package/Libraries/Modal/Modal.js +12 -7
  78. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  79. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  80. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  81. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  82. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  83. package/Libraries/Network/RCTNetworking.android.js +1 -1
  84. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  85. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  86. package/Libraries/Network/RCTNetworking.mm +1 -2
  87. package/Libraries/Network/XMLHttpRequest.js +29 -12
  88. package/Libraries/Pressability/Pressability.js +2 -2
  89. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  90. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  91. package/Libraries/ReactNative/AppContainer.js +0 -1
  92. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  93. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  94. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  95. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  96. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  97. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  98. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  99. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  100. package/Libraries/ReactNative/RendererImplementation.js +26 -143
  101. package/Libraries/ReactNative/RendererProxy.js +4 -15
  102. package/Libraries/ReactNative/renderApplication.js +33 -59
  103. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  104. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  105. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
  106. package/Libraries/Settings/Settings.ios.js +1 -1
  107. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  108. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  109. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  110. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  111. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  112. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  113. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  114. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  115. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  116. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  117. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  118. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  119. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  120. package/Libraries/StyleSheet/processFilter.js +16 -8
  121. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  122. package/Libraries/Text/Text.js +4 -4
  123. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  124. package/Libraries/Text/TextNativeComponent.js +4 -4
  125. package/Libraries/TurboModule/RCTExport.js +1 -1
  126. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  127. package/Libraries/Types/CodegenTypes.js +7 -4
  128. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  129. package/Libraries/Utilities/BackHandler.android.js +11 -3
  130. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  131. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  132. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  133. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  134. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  135. package/Libraries/Utilities/binaryToBase64.js +1 -1
  136. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  137. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  138. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  139. package/Libraries/Utilities/stringifySafe.js +1 -1
  140. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  141. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  142. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  143. package/React/Base/RCTBundleURLProvider.h +19 -1
  144. package/React/Base/RCTBundleURLProvider.mm +82 -0
  145. package/React/Base/RCTDefines.h +1 -1
  146. package/React/Base/RCTMultipartDataTask.h +1 -1
  147. package/React/Base/RCTMultipartDataTask.m +0 -3
  148. package/React/Base/RCTRootView.h +4 -0
  149. package/React/Base/RCTRootViewDelegate.h +5 -2
  150. package/React/Base/RCTVersion.m +3 -3
  151. package/React/Base/Surface/RCTSurface.h +3 -0
  152. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  153. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  154. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  155. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
  156. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  157. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  158. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  159. package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
  160. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  161. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  162. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  163. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  164. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
  165. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  166. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  167. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  168. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  169. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
  170. package/React/Fabric/RCTConversions.h +14 -0
  171. package/React/Fabric/RCTScheduler.mm +18 -0
  172. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  173. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  174. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  175. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  176. package/React/Modules/RCTUIManager.mm +1 -1
  177. package/React/Profiler/RCTProfile.h +5 -0
  178. package/React/Profiler/RCTProfile.m +2 -1
  179. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  180. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  181. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  182. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  183. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  184. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  185. package/React/Views/RCTLayout.m +4 -3
  186. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  187. package/ReactAndroid/api/ReactAndroid.api +37 -27
  188. package/ReactAndroid/build.gradle.kts +28 -21
  189. package/ReactAndroid/gradle.properties +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  192. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  193. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  194. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
  195. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  197. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  198. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  199. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  200. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  206. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  208. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  213. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  214. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  216. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  220. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  223. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
  225. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
  226. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
  227. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
  228. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
  229. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
  230. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  231. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
  232. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  233. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
  236. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  237. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  238. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  239. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  248. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  249. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
  250. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  252. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  253. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  269. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  270. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  271. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  272. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  273. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  278. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  279. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  281. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  282. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  283. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  298. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  299. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  300. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  301. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  302. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  303. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  304. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  305. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  306. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  307. package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
  308. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  309. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  310. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  311. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  312. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  313. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  314. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  315. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  316. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  317. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  318. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  319. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  320. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  321. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
  322. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
  323. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  324. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  325. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  326. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  327. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  328. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  329. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  330. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
  331. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
  332. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  333. package/ReactCommon/React-Fabric.podspec +7 -0
  334. package/ReactCommon/React-FabricComponents.podspec +1 -1
  335. package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
  336. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  337. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  338. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  339. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  340. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  341. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  342. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  343. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  344. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  345. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  346. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  347. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  348. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
  349. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  350. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
  351. package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
  352. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  353. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  354. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  355. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  356. package/ReactCommon/logger/react_native_log.cpp +0 -1
  357. package/ReactCommon/react/bridging/Array.h +1 -1
  358. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
  359. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
  360. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
  361. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
  362. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
  366. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  367. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  368. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  369. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  370. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  371. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  372. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  373. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  374. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
  375. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
  376. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  377. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  378. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  379. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  380. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  381. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  382. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  383. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  384. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  385. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  386. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
  387. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  388. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  389. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  390. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  391. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
  392. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
  393. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  394. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  395. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  396. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  397. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  398. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  399. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  400. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  401. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  402. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  403. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  404. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  405. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  406. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  407. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  408. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  409. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  410. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  411. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  412. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  413. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  414. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  415. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  416. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  417. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +53 -5
  418. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  419. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  420. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  421. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  422. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  423. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  424. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  425. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  426. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  427. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  428. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  429. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  430. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  431. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  432. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  433. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  434. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  435. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  436. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  437. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  438. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  439. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  440. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  441. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  442. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  443. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  444. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  445. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  446. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  447. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  448. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  449. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  450. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  451. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  452. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  453. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  454. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  455. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  456. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  457. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  458. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  460. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  461. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  462. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  463. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  464. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  465. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  466. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  467. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  468. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  469. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  470. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  471. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  472. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  473. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  474. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  475. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  476. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  477. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  478. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  479. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  480. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  481. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  482. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  483. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  484. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  485. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  486. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  487. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
  488. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  489. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  490. package/ReactCommon/react/timing/primitives.h +33 -1
  491. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  492. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  493. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  494. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  495. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  496. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  497. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  498. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  499. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  500. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  501. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  502. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  503. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  504. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  505. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  506. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  507. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  508. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  509. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  510. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  511. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  512. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  513. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  514. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  515. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  516. package/cli.js +1 -1
  517. package/flow/HermesInternalType.js +1 -1
  518. package/flow/bom.js.flow +95 -3
  519. package/flow/dom.js.flow +89 -89
  520. package/gradle/libs.versions.toml +3 -1
  521. package/index.js +30 -3
  522. package/index.js.flow +23 -1
  523. package/package.json +11 -11
  524. package/react-native.config.js +3 -3
  525. package/scripts/cocoapods/rncore.rb +65 -11
  526. package/scripts/cocoapods/rndependencies.rb +65 -11
  527. package/scripts/cocoapods/utils.rb +52 -0
  528. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
  529. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
  530. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  531. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
  532. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
  533. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  534. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
  535. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  536. package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
  537. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  538. package/scripts/generate-codegen-artifacts.js +20 -2
  539. package/scripts/generate-provider-cli.js +1 -1
  540. package/scripts/react_native_pods.rb +25 -2
  541. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  542. package/scripts/replace-rncore-version.js +20 -0
  543. package/scripts/xcode/with-environment.sh +7 -1
  544. package/sdks/.hermesv1version +1 -1
  545. package/sdks/.hermesversion +1 -1
  546. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  547. package/sdks/hermes-engine/version.properties +2 -2
  548. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  549. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  550. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  551. package/src/private/components/virtualcollection/Virtual.js +62 -0
  552. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  553. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  554. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  555. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  556. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  557. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  558. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  559. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  560. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  561. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  562. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  563. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  564. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  565. package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
  566. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  567. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
  568. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  569. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  570. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  571. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  572. package/src/private/renderer/events/ResponderEvent.js +40 -0
  573. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  574. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  575. package/src/private/setup/setUpDOM.js +20 -0
  576. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  577. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  578. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  579. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  580. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  581. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  582. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  583. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  584. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  585. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  586. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  587. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  588. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  589. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  590. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  591. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  592. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  593. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  594. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  595. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  596. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  597. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  598. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  599. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  600. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  601. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  602. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  603. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  604. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  605. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  606. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  607. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  608. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  609. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  610. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  611. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  612. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  613. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  614. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  615. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  616. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  617. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  618. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  619. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  620. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  621. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  622. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  623. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  624. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  625. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  626. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  627. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  628. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  629. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  630. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  631. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  632. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  633. package/src/private/styles/composeStyles.js +1 -1
  634. package/src/private/types/HostComponent.js +1 -1
  635. package/src/private/utilities/toExtendedError.js +1 -1
  636. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  637. package/src/private/webapis/dom/events/Event.js +10 -1
  638. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  639. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  640. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  641. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  642. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  643. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  644. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  645. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  646. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  647. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  648. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  649. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  650. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  651. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  652. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  653. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  654. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  655. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
  656. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  657. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  658. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  659. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  660. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  661. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  662. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  663. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  665. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  666. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  667. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
@@ -23,7 +23,7 @@ type NativeComponentOptions = Readonly<{
23
23
  excludedPlatforms?: ReadonlyArray<'iOS' | 'android'>,
24
24
  }>;
25
25
 
26
- export type NativeComponentType<T: {...}> = HostComponent<T>;
26
+ export type NativeComponentType<T extends {...}> = HostComponent<T>;
27
27
 
28
28
  // If this function runs then that means the view configs were not
29
29
  // generated at build time using `GenerateViewConfigJs.js`. Thus
@@ -31,7 +31,7 @@ export type NativeComponentType<T: {...}> = HostComponent<T>;
31
31
  // `requireNativeComponent` is not available in Bridgeless mode.
32
32
  // e.g. This function runs at runtime if `codegenNativeComponent` was not called
33
33
  // from a file suffixed with NativeComponent.js.
34
- function codegenNativeComponent<Props: {...}>(
34
+ function codegenNativeComponent<Props extends {...}>(
35
35
  componentName: string,
36
36
  options?: NativeComponentOptions,
37
37
  ): NativeComponentType<Props> {
@@ -64,10 +64,10 @@ function codegenNativeComponent<Props: {...}>(
64
64
  }
65
65
  }
66
66
 
67
- return (requireNativeComponent<Props>(
67
+ return requireNativeComponent<Props>(
68
68
  // $FlowFixMe[incompatible-type]
69
69
  componentNameInUse,
70
- ): HostComponent<Props>);
70
+ ) as HostComponent<Props>;
71
71
  }
72
72
 
73
73
  export default codegenNativeComponent;
@@ -27,7 +27,7 @@
27
27
  * Freezing the object and adding the throw mechanism is expensive and will
28
28
  * only be used in DEV.
29
29
  */
30
- function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<unknown>>(
30
+ function deepFreezeAndThrowOnMutationInDev<T extends {...} | Array<unknown>>(
31
31
  object: T,
32
32
  ): T {
33
33
  if (__DEV__) {
@@ -43,7 +43,7 @@ function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<unknown>>(
43
43
  }
44
44
 
45
45
  // $FlowFixMe[not-an-object] `object` can be an array, but Object.keys works with arrays too
46
- const keys = Object.keys((object: {...} | Array<unknown>));
46
+ const keys = Object.keys(object as {...} | Array<unknown>);
47
47
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
48
48
  const hasOwnProperty = Object.prototype.hasOwnProperty;
49
49
 
@@ -64,7 +64,7 @@ export function createStringifySafeWithLimits(limits: {
64
64
  retval = `{ ... object with ${keys.length} keys ... }`;
65
65
  } else if (keys.length > maxObjectKeysLimit) {
66
66
  // Return a sample of the keys.
67
- retval = ({}: {[string]: unknown});
67
+ retval = {} as {[string]: unknown};
68
68
  for (let k of keys.slice(0, maxObjectKeysLimit)) {
69
69
  retval[k] = value[k];
70
70
  }
@@ -39,7 +39,7 @@ const rejectionTrackingOptions: NonNullable<Parameters<enable>[0]> = {
39
39
  message =
40
40
  typeof rejection === 'string'
41
41
  ? rejection
42
- : JSON.stringify((rejection: $FlowFixMe));
42
+ : JSON.stringify(rejection as $FlowFixMe);
43
43
  }
44
44
  }
45
45
 
@@ -10,22 +10,22 @@
10
10
 
11
11
  // From @react-native/js-polyfills
12
12
  type ErrorHandler = (error: unknown, isFatal: boolean) => void;
13
- type Fn<Args: ReadonlyArray<unknown>, Return> = (...Args) => Return;
13
+ type Fn<Args extends ReadonlyArray<unknown>, Return> = (...Args) => Return;
14
14
  export type ErrorUtils = {
15
- applyWithGuard<TArgs: ReadonlyArray<unknown>, TOut>(
15
+ applyWithGuard<TArgs extends ReadonlyArray<unknown>, TOut>(
16
16
  fun: Fn<TArgs, TOut>,
17
17
  context?: unknown,
18
18
  args?: ?TArgs,
19
19
  unused_onError?: null,
20
20
  unused_name?: ?string,
21
21
  ): ?TOut,
22
- applyWithGuardIfNeeded<TArgs: ReadonlyArray<unknown>, TOut>(
22
+ applyWithGuardIfNeeded<TArgs extends ReadonlyArray<unknown>, TOut>(
23
23
  fun: Fn<TArgs, TOut>,
24
24
  context?: unknown,
25
25
  args?: ?TArgs,
26
26
  ): ?TOut,
27
27
  getGlobalHandler(): ErrorHandler,
28
- guard<TArgs: ReadonlyArray<unknown>, TOut>(
28
+ guard<TArgs extends ReadonlyArray<unknown>, TOut>(
29
29
  fun: Fn<TArgs, TOut>,
30
30
  name?: ?string,
31
31
  context?: unknown,
@@ -16,22 +16,28 @@ export interface EventSubscription {
16
16
  }
17
17
 
18
18
  export interface IEventEmitter<
19
- TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
19
+ TEventToArgsMap extends Readonly<
20
+ Record<string, ReadonlyArray<UnsafeEventObject>>,
21
+ >,
20
22
  > {
21
- addListener<TEvent: keyof TEventToArgsMap>(
23
+ addListener<TEvent extends keyof TEventToArgsMap>(
22
24
  eventType: TEvent,
23
25
  listener: (...args: TEventToArgsMap[TEvent]) => unknown,
24
26
  context?: unknown,
25
27
  ): EventSubscription;
26
28
 
27
- emit<TEvent: keyof TEventToArgsMap>(
29
+ emit<TEvent extends keyof TEventToArgsMap>(
28
30
  eventType: TEvent,
29
31
  ...args: TEventToArgsMap[TEvent]
30
32
  ): void;
31
33
 
32
- removeAllListeners<TEvent: keyof TEventToArgsMap>(eventType?: ?TEvent): void;
34
+ removeAllListeners<TEvent extends keyof TEventToArgsMap>(
35
+ eventType?: ?TEvent,
36
+ ): void;
33
37
 
34
- listenerCount<TEvent: keyof TEventToArgsMap>(eventType: TEvent): number;
38
+ listenerCount<TEvent extends keyof TEventToArgsMap>(
39
+ eventType: TEvent,
40
+ ): number;
35
41
  }
36
42
 
37
43
  interface Registration<TArgs> {
@@ -41,7 +47,9 @@ interface Registration<TArgs> {
41
47
  }
42
48
 
43
49
  type Registry<
44
- TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
50
+ TEventToArgsMap extends Readonly<
51
+ Record<string, ReadonlyArray<UnsafeEventObject>>,
52
+ >,
45
53
  > = {
46
54
  [K in keyof TEventToArgsMap]: Set<Registration<TEventToArgsMap[K]>>,
47
55
  };
@@ -67,7 +75,7 @@ type Registry<
67
75
  *
68
76
  */
69
77
  export default class EventEmitter<
70
- TEventToArgsMap: Readonly<
78
+ TEventToArgsMap extends Readonly<
71
79
  Record<string, ReadonlyArray<UnsafeEventObject>>,
72
80
  > = Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
73
81
  > implements IEventEmitter<TEventToArgsMap>
@@ -83,7 +91,7 @@ export default class EventEmitter<
83
91
  * Registers a listener that is called when the supplied event is emitted.
84
92
  * Returns a subscription that has a `remove` method to undo registration.
85
93
  */
86
- addListener<TEvent: keyof TEventToArgsMap>(
94
+ addListener<TEvent extends keyof TEventToArgsMap>(
87
95
  eventType: TEvent,
88
96
  listener: (...args: TEventToArgsMap[TEvent]) => unknown,
89
97
  context: unknown,
@@ -116,7 +124,7 @@ export default class EventEmitter<
116
124
  * If a listener modifies the listeners registered for the same event, those
117
125
  * changes will not be reflected in the current invocation of `emit`.
118
126
  */
119
- emit<TEvent: keyof TEventToArgsMap>(
127
+ emit<TEvent extends keyof TEventToArgsMap>(
120
128
  eventType: TEvent,
121
129
  ...args: TEventToArgsMap[TEvent]
122
130
  ): void {
@@ -134,7 +142,9 @@ export default class EventEmitter<
134
142
  /**
135
143
  * Removes all registered listeners.
136
144
  */
137
- removeAllListeners<TEvent: keyof TEventToArgsMap>(eventType?: ?TEvent): void {
145
+ removeAllListeners<TEvent extends keyof TEventToArgsMap>(
146
+ eventType?: ?TEvent,
147
+ ): void {
138
148
  if (eventType == null) {
139
149
  // $FlowFixMe[incompatible-type]
140
150
  this.#registry = {};
@@ -146,7 +156,9 @@ export default class EventEmitter<
146
156
  /**
147
157
  * Returns the number of registered listeners for the supplied event.
148
158
  */
149
- listenerCount<TEvent: keyof TEventToArgsMap>(eventType: TEvent): number {
159
+ listenerCount<TEvent extends keyof TEventToArgsMap>(
160
+ eventType: TEvent,
161
+ ): number {
150
162
  const registrations: ?Set<Registration<TEventToArgsMap[TEvent]>> =
151
163
  this.#registry[eventType];
152
164
  return registrations == null ? 0 : registrations.size;
@@ -154,8 +166,10 @@ export default class EventEmitter<
154
166
  }
155
167
 
156
168
  function allocate<
157
- TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
158
- TEvent: keyof TEventToArgsMap,
169
+ TEventToArgsMap extends Readonly<
170
+ Record<string, ReadonlyArray<UnsafeEventObject>>,
171
+ >,
172
+ TEvent extends keyof TEventToArgsMap,
159
173
  >(
160
174
  registry: Registry<TEventToArgsMap>,
161
175
  eventType: TEvent,
@@ -7,8 +7,9 @@
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
9
 
10
+ #import <React/RCTDefines.h>
11
+
10
12
  #import "RCTBundleManager.h"
11
- #import "RCTDefines.h"
12
13
 
13
14
  RCT_EXTERN NSString *_Nonnull const RCTBundleURLProviderUpdatedNotification;
14
15
  RCT_EXTERN const NSUInteger kRCTBundleURLProviderDefaultPort;
@@ -57,6 +58,23 @@ NS_ASSUME_NONNULL_BEGIN
57
58
  */
58
59
  + (BOOL)isPackagerRunning:(NSString *)hostPort scheme:(NSString *__nullable)scheme;
59
60
 
61
+ /**
62
+ * Asynchronously checks if there's a packager running at the given host:port.
63
+ * The port is optional, if not specified, kRCTBundleURLProviderDefaultPort will be used
64
+ * The completion handler is called on an arbitrary queue.
65
+ */
66
+ + (void)isPackagerRunningAsync:(NSString *)hostPort completion:(void (^)(BOOL isRunning))completion;
67
+
68
+ /**
69
+ * Asynchronously checks if there's a packager running at the given scheme://host:port.
70
+ * The port is optional, if not specified, kRCTBundleURLProviderDefaultPort will be used
71
+ * The scheme is also optional, if not specified, a default http protocol will be used
72
+ * The completion handler is called on an arbitrary queue.
73
+ */
74
+ + (void)isPackagerRunningAsync:(NSString *)hostPort
75
+ scheme:(NSString *__nullable)scheme
76
+ completion:(void (^)(BOOL isRunning))completion;
77
+
60
78
  /**
61
79
  * Returns the jsBundleURL for a given bundle entrypoint and
62
80
  * the fallback offline JS bundle if the packager is not running.
@@ -94,6 +94,9 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
94
94
  }
95
95
 
96
96
  NSURL *url = [serverRootWithHostPort(hostPort, scheme) URLByAppendingPathComponent:@"status"];
97
+ if (url == nil) {
98
+ return NO;
99
+ }
97
100
 
98
101
  NSURLSession *session = [NSURLSession sharedSession];
99
102
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
@@ -133,6 +136,73 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
133
136
  return isRunning;
134
137
  }
135
138
 
139
+ + (void)isPackagerRunningAsync:(NSString *)hostPort completion:(void (^)(BOOL isRunning))completion
140
+ {
141
+ [RCTBundleURLProvider isPackagerRunningAsync:hostPort scheme:nil completion:completion];
142
+ }
143
+
144
+ + (void)isPackagerRunningAsync:(NSString *)hostPort
145
+ scheme:(NSString *)scheme
146
+ completion:(void (^)(BOOL isRunning))completion
147
+ {
148
+ if (!kRCTAllowPackagerAccess) {
149
+ completion(NO);
150
+ return;
151
+ }
152
+
153
+ NSURL *url = [serverRootWithHostPort(hostPort, scheme) URLByAppendingPathComponent:@"status"];
154
+ if (url == nil) {
155
+ completion(NO);
156
+ return;
157
+ }
158
+
159
+ NSURLSession *session = [NSURLSession sharedSession];
160
+ NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
161
+ cachePolicy:NSURLRequestUseProtocolCachePolicy
162
+ timeoutInterval:kRCTPackagerStatusRequestTimeout];
163
+ [[RCTDevSupportHttpHeaders sharedInstance] applyHeadersToRequest:request];
164
+
165
+ __block BOOL hasCompleted = NO;
166
+ NSObject *lock = [[NSObject alloc] init];
167
+
168
+ void (^safeCompletion)(BOOL) = ^(BOOL isRunning) {
169
+ @synchronized(lock) {
170
+ if (!hasCompleted) {
171
+ hasCompleted = YES;
172
+ completion(isRunning);
173
+ }
174
+ }
175
+ };
176
+
177
+ NSURLSessionDataTask *task = [session dataTaskWithRequest:request
178
+ completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
179
+ if (error != nil || data == nil) {
180
+ safeCompletion(NO);
181
+ return;
182
+ }
183
+ NSString *status = [[NSString alloc] initWithData:data
184
+ encoding:NSUTF8StringEncoding];
185
+ BOOL isRunning = [status isEqualToString:@"packager-status:running"];
186
+ safeCompletion(isRunning);
187
+ }];
188
+ [task resume];
189
+
190
+ dispatch_after(
191
+ dispatch_time(
192
+ DISPATCH_TIME_NOW,
193
+ (int64_t)((kRCTPackagerStatusRequestTimeout + kRCTPackagerStatusRequestTimeoutGraceTime) * NSEC_PER_SEC)),
194
+ dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
195
+ ^{
196
+ @synchronized(lock) {
197
+ if (!hasCompleted) {
198
+ hasCompleted = YES;
199
+ [task cancel];
200
+ completion(NO);
201
+ }
202
+ }
203
+ });
204
+ }
205
+
136
206
  - (NSString *)guessPackagerHost
137
207
  {
138
208
  static NSString *ipGuess;
@@ -160,6 +230,18 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
160
230
  {
161
231
  return false;
162
232
  }
233
+
234
+ + (void)isPackagerRunningAsync:(NSString *)hostPort completion:(void (^)(BOOL isRunning))completion
235
+ {
236
+ completion(NO);
237
+ }
238
+
239
+ + (void)isPackagerRunningAsync:(NSString *)hostPort
240
+ scheme:(NSString *)scheme
241
+ completion:(void (^)(BOOL isRunning))completion
242
+ {
243
+ completion(NO);
244
+ }
163
245
  #endif
164
246
 
165
247
  - (NSString *)packagerServerHost
@@ -67,7 +67,7 @@
67
67
  #endif
68
68
 
69
69
  #ifndef RCT_ENABLE_INSPECTOR
70
- #if (RCT_DEV || RCT_REMOTE_PROFILE) && __has_include(<React/RCTInspectorDevServerHelper.h>)
70
+ #if (RCT_DEV || RCT_REMOTE_PROFILE)
71
71
  #define RCT_ENABLE_INSPECTOR 1
72
72
  #else
73
73
  #define RCT_ENABLE_INSPECTOR 0
@@ -17,7 +17,7 @@ typedef void (^RCTMultipartDataTaskCallback)(
17
17
  NSError *error,
18
18
  BOOL done);
19
19
 
20
- typedef NSURLRequest * _Nullable (^RCTMultipartDataTaskRequestInterceptor)(NSURLRequest *request);
20
+ typedef NSURLRequest *_Nullable (^RCTMultipartDataTaskRequestInterceptor)(NSURLRequest *request);
21
21
  /**
22
22
  * The block provided via this function can inspect/modify multipart data task
23
23
  * requests before they are sent. Return a modified request to override, or nil
@@ -14,8 +14,6 @@ void RCTSetCustomMultipartDataTaskRequestInterceptor(RCTMultipartDataTaskRequest
14
14
  multipartRequestInterceptor = interceptor;
15
15
  }
16
16
 
17
- #import "RCTDevSupportHttpHeaders.h"
18
-
19
17
  @interface RCTMultipartDataTask () <NSURLSessionDataDelegate, NSURLSessionDataDelegate>
20
18
 
21
19
  @end
@@ -49,7 +47,6 @@ void RCTSetCustomMultipartDataTaskRequestInterceptor(RCTMultipartDataTaskRequest
49
47
  delegateQueue:nil];
50
48
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_url];
51
49
  [request addValue:@"multipart/mixed" forHTTPHeaderField:@"Accept"];
52
- [[RCTDevSupportHttpHeaders sharedInstance] applyHeadersToRequest:request];
53
50
  NSURLRequest *finalRequest = request;
54
51
  if (multipartRequestInterceptor != nil) {
55
52
  NSURLRequest *intercepted = multipartRequestInterceptor(request);
@@ -54,6 +54,8 @@ extern
54
54
  * like any ordinary UIView. You can have multiple RCTRootViews on screen at
55
55
  * once, all controlled by the same JavaScript application.
56
56
  */
57
+ #pragma clang diagnostic push
58
+ #pragma clang diagnostic warning "-Wdeprecated"
57
59
  __attribute__((deprecated("This API will be removed along with the legacy architecture.")))
58
60
  #if TARGET_OS_TV
59
61
  @interface RCTRootView : UIView <RCTTVRemoteSelectHandlerDelegate>
@@ -190,4 +192,6 @@ __attribute__((deprecated("This API will be removed along with the legacy archit
190
192
 
191
193
  @end
192
194
 
195
+ #pragma clang diagnostic pop
196
+
193
197
  NS_ASSUME_NONNULL_END
@@ -6,8 +6,7 @@
6
6
  */
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
-
10
- @class RCTRootView;
9
+ #import <React/RCTRootView.h>
11
10
 
12
11
  @protocol RCTRootViewDelegate <NSObject>
13
12
 
@@ -25,6 +24,10 @@
25
24
  * The new intrinsic content size is available via the `intrinsicContentSize`
26
25
  * property of the root view. The view will not resize itself.
27
26
  */
27
+
28
+ #pragma clang diagnostic push
29
+ #pragma clang diagnostic ignored "-Wdeprecated"
28
30
  - (void)rootViewDidChangeIntrinsicSize:(RCTRootView *)rootView;
31
+ #pragma clang diagnostic pop
29
32
 
30
33
  @end
@@ -22,9 +22,9 @@ NSDictionary* RCTGetReactNativeVersion(void)
22
22
  dispatch_once(&onceToken, ^(void){
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
- RCTVersionMinor: @(85),
26
- RCTVersionPatch: @(3),
27
- RCTVersionPrerelease: @"0",
25
+ RCTVersionMinor: @(86),
26
+ RCTVersionPatch: @(0),
27
+ RCTVersionPrerelease: @"0rc2",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -32,8 +32,11 @@ NS_ASSUME_NONNULL_BEGIN
32
32
  * * ability to create a UIView instance on demand (later);
33
33
  * * ability to communicate the current stage of the surface granularly.
34
34
  */
35
+ #pragma clang diagnostic push
36
+ #pragma clang diagnostic warning "-Wdeprecated"
35
37
  __deprecated_msg("This API will be removed along with the legacy architecture.") @interface RCTSurface
36
38
  : NSObject<RCTSurfaceProtocol>
39
+ #pragma clang diagnostic pop
37
40
 
38
41
  - (instancetype)initWithBridge:(RCTBridge *)bridge
39
42
  moduleName:(NSString *)moduleName
@@ -7,12 +7,11 @@
7
7
 
8
8
  #import <UIKit/UIKit.h>
9
9
 
10
+ #import <React/RCTSurface.h>
10
11
  #import <React/RCTSurfaceStage.h>
11
12
 
12
13
  NS_ASSUME_NONNULL_BEGIN
13
14
 
14
- @class RCTSurface;
15
-
16
15
  @protocol RCTSurfaceDelegate <NSObject>
17
16
 
18
17
  @optional
@@ -21,13 +20,18 @@ NS_ASSUME_NONNULL_BEGIN
21
20
  * Notifies a receiver that a surface transitioned to a new stage.
22
21
  * See `RCTSurfaceStage` for more details.
23
22
  */
23
+ #pragma clang diagnostic push
24
+ #pragma clang diagnostic ignored "-Wdeprecated"
24
25
  - (void)surface:(RCTSurface *)surface didChangeStage:(RCTSurfaceStage)stage;
25
-
26
+ #pragma clang diagnostic pop
26
27
  /**
27
28
  * Notifies a receiver that root view got a new (intrinsic) size during the last
28
29
  * layout pass.
29
30
  */
31
+ #pragma clang diagnostic push
32
+ #pragma clang diagnostic ignored "-Wdeprecated"
30
33
  - (void)surface:(RCTSurface *)surface didChangeIntrinsicSize:(CGSize)intrinsicSize;
34
+ #pragma clang diagnostic pop
31
35
 
32
36
  @end
33
37
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  #import "RCTSurfaceRootView.h"
9
9
 
10
- #import "RCTDefines.h"
10
+ #import <React/RCTDefines.h>
11
11
 
12
12
  @implementation RCTSurfaceRootView
13
13
 
@@ -8,7 +8,8 @@
8
8
  #import "RCTSurfaceView.h"
9
9
  #import "RCTSurfaceView+Internal.h"
10
10
 
11
- #import "RCTDefines.h"
11
+ #import <React/RCTDefines.h>
12
+
12
13
  #import "RCTSurface.h"
13
14
  #import "RCTSurfaceProtocol.h"
14
15
  #import "RCTSurfaceRootView.h"
@@ -182,6 +182,8 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder)
182
182
  #if TARGET_OS_TV
183
183
  self.tvRemoteHandler = [[RCTTVRemoteHandler alloc] initWithView:[self contentView]];
184
184
  self.tvRemoteSelectHandler = [[RCTTVRemoteSelectHandler alloc] initWithView:self];
185
+ [self setNeedsFocusUpdate];
186
+ [self updateFocusIfNeeded];
185
187
  #endif
186
188
  });
187
189
  }
@@ -12,9 +12,6 @@
12
12
  #import <React/RCTSurfaceSizeMeasureMode.h>
13
13
  #import <React/RCTSurfaceStage.h>
14
14
 
15
- @class RCTBridge;
16
- @class RCTSurface;
17
-
18
15
  typedef UIView *_Nullable (^RCTSurfaceHostingViewActivityIndicatorViewFactory)(void);
19
16
 
20
17
  NS_ASSUME_NONNULL_BEGIN
@@ -6,8 +6,10 @@
6
6
  */
7
7
 
8
8
  #import "RCTSurfaceHostingView.h"
9
+
10
+ #import <React/RCTDefines.h>
11
+
9
12
  #import "RCTConstants.h"
10
- #import "RCTDefines.h"
11
13
  #import "RCTSurface.h"
12
14
  #import "RCTSurfaceDelegate.h"
13
15
  #import "RCTSurfaceView.h"
@@ -15,8 +15,8 @@
15
15
 
16
16
  @property (nonatomic, strong, readonly) RCTDevMenuConfiguration *__nullable devMenuConfiguration;
17
17
 
18
- - (instancetype)initWithDevMenuConfiguration:(RCTDevMenuConfiguration *__nullable)devMenuConfiguration;
19
- - (void)decorate:(id<RCTBridgeModule>)devMenuModule;
18
+ - (instancetype _Nonnull)initWithDevMenuConfiguration:(RCTDevMenuConfiguration *__nullable)devMenuConfiguration;
19
+ - (void)decorate:(id<RCTBridgeModule> _Nonnull)devMenuModule;
20
20
 
21
21
  #endif
22
22
 
@@ -29,7 +29,7 @@ static UIColor *RCTUIColorFromAnsiColor(const AnsiColor &c)
29
29
  }
30
30
 
31
31
  auto spans = parseAnsi(text.UTF8String);
32
- NSMutableAttributedString *result =[NSMutableAttributedString new];
32
+ NSMutableAttributedString *result = [NSMutableAttributedString new];
33
33
  NSDictionary *baseAttributes = @{NSFontAttributeName : font, NSForegroundColorAttributeName : color};
34
34
 
35
35
  for (const auto &span : spans) {
@@ -10,6 +10,7 @@
10
10
  #import <objc/runtime.h>
11
11
 
12
12
  #import <FBReactNativeSpec/FBReactNativeSpec.h>
13
+ #import <React/RCTAssert.h>
13
14
  #import <React/RCTConvert.h>
14
15
  #import <React/RCTUtils.h>
15
16
  #import <SocketRocket/SRWebSocket.h>
@@ -73,6 +74,12 @@ RCT_EXPORT_METHOD(
73
74
  connect : (NSURL *)URL protocols : (NSArray *)protocols options : (JS::NativeWebSocketModule::SpecConnectOptions &)
74
75
  options socketID : (double)socketID)
75
76
  {
77
+ if (URL == nil || URL.absoluteString.length == 0u) {
78
+ RCTAssert(NO, @"RCTWebSocketModule: Invalid WebSocket URL passed to connect");
79
+ [self sendEventWithName:@"websocketFailed" body:@{@"message" : @"Invalid WebSocket URL", @"id" : @(socketID)}];
80
+ return;
81
+ }
82
+
76
83
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
77
84
 
78
85
  // We load cookies from sharedHTTPCookieStorage (shared with XHR and
@@ -84,14 +91,33 @@ RCT_EXPORT_METHOD(
84
91
  }
85
92
 
86
93
  // Load and set the cookie header.
87
- NSArray<NSHTTPCookie *> *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:components.URL];
88
- request.allHTTPHeaderFields = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
94
+ if (components != nil && components.URL != nil) {
95
+ NSArray<NSHTTPCookie *> *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:components.URL];
96
+ request.allHTTPHeaderFields = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
97
+ } else {
98
+ RCTLogError(@"RCTWebSocketModule: Invalid URL components - components or components.URL is nil");
99
+ }
89
100
 
90
101
  // Load supplied headers
91
102
  if ([options.headers() isKindOfClass:NSDictionary.class]) {
92
103
  NSDictionary *headers = (NSDictionary *)options.headers();
93
- [headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
94
- [request addValue:[RCTConvert NSString:value] forHTTPHeaderField:key];
104
+ [headers enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {
105
+ NSString *headerKey = [RCTConvert NSString:key];
106
+ NSString *headerValue = [RCTConvert NSString:value];
107
+
108
+ if (headerKey == nil || headerValue == nil) {
109
+ RCTLogError(
110
+ @"RCTWebSocketModule: Invalid header key and/or value types. "
111
+ "Expected NSString for both, got key of type %@ and value of type %@.",
112
+ NSStringFromClass([key class]),
113
+ NSStringFromClass([value class]));
114
+ }
115
+
116
+ if (headerKey == nil) {
117
+ return;
118
+ }
119
+
120
+ [request addValue:headerValue == nil ? @"" : headerValue forHTTPHeaderField:headerKey];
95
121
  }];
96
122
  }
97
123
 
@@ -153,6 +179,9 @@ RCT_EXPORT_METHOD(close : (double)code reason : (NSString *)reason socketID : (d
153
179
  NSString *type;
154
180
 
155
181
  NSNumber *socketID = [webSocket reactTag];
182
+ if (!socketID) {
183
+ return;
184
+ }
156
185
  id contentHandler = _contentHandlers[socketID];
157
186
  if (contentHandler) {
158
187
  message = [contentHandler processWebsocketMessage:message forSocketID:socketID withType:&type];
@@ -165,18 +194,25 @@ RCT_EXPORT_METHOD(close : (double)code reason : (NSString *)reason socketID : (d
165
194
  }
166
195
  }
167
196
 
168
- [self sendEventWithName:@"websocketMessage" body:@{@"data" : message, @"type" : type, @"id" : webSocket.reactTag}];
197
+ [self sendEventWithName:@"websocketMessage" body:@{@"data" : message, @"type" : type, @"id" : socketID}];
169
198
  }
170
199
 
171
200
  - (void)webSocketDidOpen:(SRWebSocket *)webSocket
172
201
  {
202
+ NSNumber *socketID = [webSocket reactTag];
203
+ if (!socketID) {
204
+ return;
205
+ }
173
206
  [self sendEventWithName:@"websocketOpen"
174
- body:@{@"id" : webSocket.reactTag, @"protocol" : webSocket.protocol ? webSocket.protocol : @""}];
207
+ body:@{@"id" : socketID, @"protocol" : webSocket.protocol ? webSocket.protocol : @""}];
175
208
  }
176
209
 
177
210
  - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error
178
211
  {
179
212
  NSNumber *socketID = [webSocket reactTag];
213
+ if (!socketID) {
214
+ return;
215
+ }
180
216
  _contentHandlers[socketID] = nil;
181
217
  _sockets[socketID] = nil;
182
218
  NSDictionary *body =
@@ -190,6 +226,9 @@ RCT_EXPORT_METHOD(close : (double)code reason : (NSString *)reason socketID : (d
190
226
  wasClean:(BOOL)wasClean
191
227
  {
192
228
  NSNumber *socketID = [webSocket reactTag];
229
+ if (!socketID) {
230
+ return;
231
+ }
193
232
  _contentHandlers[socketID] = nil;
194
233
  _sockets[socketID] = nil;
195
234
  [self sendEventWithName:@"websocketClosed"
@@ -28,7 +28,6 @@ void RCTDefaultCxxLogFunction(ReactNativeLogLevel level, const char *message)
28
28
  break;
29
29
  case ReactNativeLogLevelFatal:
30
30
  LOG(FATAL) << message;
31
- break;
32
31
  }
33
32
  }
34
33