react-native-tvos 0.85.3-0 → 0.86.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 (675) 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.d.ts +1 -1
  33. package/Libraries/Components/ScrollView/ScrollView.js +4 -4
  34. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  35. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  36. package/Libraries/Components/Switch/Switch.js +1 -1
  37. package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
  38. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  39. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  40. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  41. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  42. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  43. package/Libraries/Components/TextInput/TextInput.js +5 -5
  44. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  45. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  46. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  47. package/Libraries/Components/Touchable/Touchable.js +1 -1
  48. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  49. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  50. package/Libraries/Components/View/View.js +100 -91
  51. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  52. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  53. package/Libraries/Core/ExceptionsManager.js +2 -8
  54. package/Libraries/Core/InitializeCore.js +0 -13
  55. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  56. package/Libraries/Core/ReactNativeVersion.js +2 -2
  57. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  58. package/Libraries/Core/Timers/JSTimers.js +2 -2
  59. package/Libraries/Core/Timers/immediateShim.js +1 -1
  60. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  61. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  62. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  63. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  64. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  65. package/Libraries/Image/Image.android.js +15 -35
  66. package/Libraries/Image/RCTImageLoader.mm +4 -2
  67. package/Libraries/Image/RelativeImageStub.js +2 -2
  68. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  69. package/Libraries/Linking/Linking.js +1 -1
  70. package/Libraries/Lists/FlatList.js +1 -1
  71. package/Libraries/LogBox/LogBox.js +2 -2
  72. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  73. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  74. package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
  75. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  76. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  77. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  78. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  79. package/Libraries/Modal/Modal.js +12 -7
  80. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  81. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  82. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  83. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  84. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  85. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  86. package/Libraries/Network/RCTNetworking.android.js +1 -1
  87. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  88. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  89. package/Libraries/Network/RCTNetworking.mm +1 -2
  90. package/Libraries/Network/XMLHttpRequest.js +29 -12
  91. package/Libraries/Pressability/Pressability.js +2 -2
  92. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  93. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  94. package/Libraries/ReactNative/AppContainer.js +0 -1
  95. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  96. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  97. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  98. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  99. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  100. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  101. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  103. package/Libraries/ReactNative/RendererImplementation.js +26 -143
  104. package/Libraries/ReactNative/RendererProxy.js +4 -15
  105. package/Libraries/ReactNative/renderApplication.js +33 -59
  106. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  107. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  108. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
  109. package/Libraries/Settings/Settings.ios.js +1 -1
  110. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  111. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  112. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  113. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  114. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  115. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  116. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  117. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  118. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  119. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  120. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  121. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  122. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  123. package/Libraries/StyleSheet/processFilter.js +16 -8
  124. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  125. package/Libraries/Text/Text.js +4 -4
  126. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  127. package/Libraries/Text/TextNativeComponent.js +4 -4
  128. package/Libraries/TurboModule/RCTExport.js +1 -1
  129. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  130. package/Libraries/Types/CodegenTypes.js +7 -4
  131. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  132. package/Libraries/Utilities/BackHandler.android.js +11 -3
  133. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  134. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  135. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  136. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  137. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  138. package/Libraries/Utilities/binaryToBase64.js +1 -1
  139. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  140. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  142. package/Libraries/Utilities/stringifySafe.js +1 -1
  143. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  144. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  145. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  146. package/README.md +13 -1
  147. package/React/Base/RCTBundleURLProvider.h +19 -1
  148. package/React/Base/RCTBundleURLProvider.mm +82 -0
  149. package/React/Base/RCTDefines.h +1 -1
  150. package/React/Base/RCTMultipartDataTask.h +1 -1
  151. package/React/Base/RCTMultipartDataTask.m +0 -3
  152. package/React/Base/RCTRootView.h +4 -0
  153. package/React/Base/RCTRootViewDelegate.h +5 -2
  154. package/React/Base/RCTVersion.m +2 -2
  155. package/React/Base/Surface/RCTSurface.h +3 -0
  156. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  157. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  158. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  159. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
  160. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  161. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  162. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  163. package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
  164. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  165. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  166. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  167. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  168. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
  169. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  170. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  171. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  172. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +35 -15
  173. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  174. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
  175. package/React/Fabric/RCTConversions.h +14 -0
  176. package/React/Fabric/RCTScheduler.mm +18 -0
  177. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  178. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  179. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  180. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  181. package/React/Modules/RCTUIManager.mm +1 -1
  182. package/React/Profiler/RCTProfile.h +5 -0
  183. package/React/Profiler/RCTProfile.m +2 -1
  184. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  185. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  186. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  187. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  188. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  189. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  190. package/React/Views/RCTLayout.m +4 -3
  191. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  192. package/ReactAndroid/api/ReactAndroid.api +37 -27
  193. package/ReactAndroid/build.gradle.kts +28 -21
  194. package/ReactAndroid/gradle.properties +1 -1
  195. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
  200. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  202. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  203. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  219. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
  230. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
  231. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
  232. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
  233. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
  234. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
  235. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  236. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
  237. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  238. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  253. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
  255. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  256. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  257. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  268. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  270. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  271. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  283. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +32 -24
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +33 -24
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +60 -11
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +85 -20
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +46 -65
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  303. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  304. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  305. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  306. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  307. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  308. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  309. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  310. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  311. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  312. package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
  313. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  314. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  315. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  316. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  317. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  318. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  319. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  320. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  321. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  322. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  323. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  324. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  325. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  326. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
  327. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
  328. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  329. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  330. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  331. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  332. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  333. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  334. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  335. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
  336. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
  337. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  338. package/ReactCommon/React-Fabric.podspec +7 -0
  339. package/ReactCommon/React-FabricComponents.podspec +1 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  341. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  342. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  343. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  344. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  345. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  346. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  347. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  348. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  349. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  350. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  351. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  352. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  353. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
  354. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  355. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
  356. package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
  357. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  358. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  359. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  361. package/ReactCommon/logger/react_native_log.cpp +0 -1
  362. package/ReactCommon/react/bridging/Array.h +1 -1
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
  366. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
  367. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
  368. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
  369. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
  371. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  372. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  373. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  374. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  375. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  376. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  377. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  378. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  379. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
  380. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
  381. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  382. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  383. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  384. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  385. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  386. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  387. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  388. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  389. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  390. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  391. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
  392. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  393. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  394. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  395. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  396. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
  397. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
  398. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  399. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  400. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  401. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  402. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  403. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  404. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  405. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  406. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  407. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  408. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  409. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  410. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  411. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  412. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +15 -0
  413. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
  414. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  415. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  416. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  417. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  418. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  419. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  420. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  421. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  422. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  423. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +71 -5
  424. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  425. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  426. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  427. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  428. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  429. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  430. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  431. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  432. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  433. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  434. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  435. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  436. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  437. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  438. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  439. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  440. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  441. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  442. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  443. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  444. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  445. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  446. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  447. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  448. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  449. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  450. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  451. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  452. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  453. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  454. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  455. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  456. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  457. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  458. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  459. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  460. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  461. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  462. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  463. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  464. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  465. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  466. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  467. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  468. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  469. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  470. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  471. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  472. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  473. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  474. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  475. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  476. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  477. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  478. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  479. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  480. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  481. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  482. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  483. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  484. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  485. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  486. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  487. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  488. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  489. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  490. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  491. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  492. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  493. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  494. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
  495. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  496. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  497. package/ReactCommon/react/timing/primitives.h +33 -1
  498. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  499. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  500. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  501. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  502. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  503. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  504. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  505. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  506. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  507. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  508. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  509. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  510. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  511. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  512. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  513. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  514. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  515. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  516. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  517. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  518. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  519. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  520. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  521. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  522. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  523. package/cli.js +1 -1
  524. package/flow/HermesInternalType.js +1 -1
  525. package/flow/bom.js.flow +95 -3
  526. package/flow/dom.js.flow +89 -89
  527. package/gradle/libs.versions.toml +3 -1
  528. package/index.js +30 -3
  529. package/index.js.flow +23 -1
  530. package/package.json +11 -11
  531. package/react-native.config.js +3 -3
  532. package/scripts/cocoapods/rncore.rb +65 -11
  533. package/scripts/cocoapods/rndependencies.rb +65 -11
  534. package/scripts/cocoapods/utils.rb +52 -0
  535. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
  536. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
  537. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  538. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
  539. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
  540. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  541. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
  542. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  543. package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
  544. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  545. package/scripts/generate-codegen-artifacts.js +20 -2
  546. package/scripts/generate-provider-cli.js +1 -1
  547. package/scripts/react_native_pods.rb +25 -2
  548. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  549. package/scripts/replace-rncore-version.js +20 -0
  550. package/scripts/xcode/with-environment.sh +7 -1
  551. package/sdks/.hermesv1version +1 -1
  552. package/sdks/.hermesversion +1 -1
  553. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  554. package/sdks/hermes-engine/version.properties +2 -2
  555. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  556. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  557. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  558. package/src/private/components/virtualcollection/Virtual.js +62 -0
  559. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  560. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  561. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  562. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  563. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  564. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  565. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  566. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  567. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  568. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  569. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  570. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  571. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  572. package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
  573. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  574. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
  575. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  576. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  577. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  578. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  579. package/src/private/renderer/events/ResponderEvent.js +40 -0
  580. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  581. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  582. package/src/private/setup/setUpDOM.js +20 -0
  583. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  584. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  585. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  586. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  587. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  588. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  589. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  590. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  591. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  592. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  593. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  594. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  595. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  596. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  597. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  598. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  599. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  600. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  601. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  602. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  603. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  604. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  605. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  606. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  607. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  608. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  609. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  610. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  611. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  612. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  613. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  614. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  615. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  616. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  617. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  618. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  619. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  620. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  621. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  622. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  623. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  624. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  625. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  626. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  627. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  628. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  629. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  630. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  631. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  632. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  633. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  634. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  635. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  636. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  637. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  638. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  639. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  640. package/src/private/styles/composeStyles.js +1 -1
  641. package/src/private/types/HostComponent.js +1 -1
  642. package/src/private/utilities/toExtendedError.js +1 -1
  643. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  644. package/src/private/webapis/dom/events/Event.js +10 -1
  645. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  646. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  647. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  648. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  649. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  650. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  651. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  652. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  653. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  654. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  655. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  656. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  657. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  658. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  659. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  660. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  661. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  662. package/types/public/ReactNativeTVTypes.d.ts +9 -0
  663. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
  664. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  665. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  666. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  667. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  668. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  669. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  670. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  671. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  673. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  674. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  675. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<ba217edddfa64e855c418651be115181>>
7
+ * @generated SignedSource<<17621e5f711352812633c125b7858537>>
8
8
  */
9
9
 
10
10
  /**
@@ -44,13 +44,12 @@ class ReactNativeFeatureFlagsAccessor {
44
44
  bool disableViewPreallocationAndroid();
45
45
  bool enableAccessibilityOrder();
46
46
  bool enableAccumulatedUpdatesInRawPropsAndroid();
47
- bool enableAndroidAntialiasedBorderRadiusClipping();
48
- bool enableAndroidLinearText();
49
47
  bool enableAndroidTextMeasurementOptimizations();
50
48
  bool enableBridgelessArchitecture();
51
49
  bool enableCppPropsIteratorSetter();
52
50
  bool enableCustomFocusSearchOnClippedElementsAndroid();
53
51
  bool enableDestroyShadowTreeRevisionAsync();
52
+ bool enableDifferentiatorMutationVectorPreallocation();
54
53
  bool enableDoubleMeasurementFixAndroid();
55
54
  bool enableEagerMainQueueModulesOnIOS();
56
55
  bool enableEagerRootViewAttachment();
@@ -62,8 +61,6 @@ class ReactNativeFeatureFlagsAccessor {
62
61
  bool enableIOSTextBaselineOffsetPerLine();
63
62
  bool enableIOSViewClipToPaddingBox();
64
63
  bool enableImagePrefetchingAndroid();
65
- bool enableImagePrefetchingJNIBatchingAndroid();
66
- bool enableImagePrefetchingOnUiThreadAndroid();
67
64
  bool enableImmediateUpdateModeForContentOffsetChanges();
68
65
  bool enableImperativeFocus();
69
66
  bool enableInteropViewManagerClassLookUpOptimizationIOS();
@@ -75,9 +72,11 @@ class ReactNativeFeatureFlagsAccessor {
75
72
  bool enableModuleArgumentNSNullConversionIOS();
76
73
  bool enableMutationObserverByDefault();
77
74
  bool enableNativeCSSParsing();
75
+ bool enableNativeViewPropTransformations();
78
76
  bool enableNetworkEventReporting();
79
77
  bool enablePreparedTextLayout();
80
78
  bool enablePropsUpdateReconciliationAndroid();
79
+ bool enableSchedulerDelegateInvalidation();
81
80
  bool enableSwiftUIBasedFilters();
82
81
  bool enableViewCulling();
83
82
  bool enableViewRecycling();
@@ -87,9 +86,10 @@ class ReactNativeFeatureFlagsAccessor {
87
86
  bool enableViewRecyclingForView();
88
87
  bool enableVirtualViewContainerStateExperimental();
89
88
  bool enableVirtualViewDebugFeatures();
89
+ bool fixDifferentiatorParentTagForUnflattenCase();
90
90
  bool fixFindShadowNodeByTagRaceCondition();
91
91
  bool fixMappingOfEventPrioritiesBetweenFabricAndReact();
92
- bool fixTextClippingAndroid15useBoundsForWidth();
92
+ bool fixYogaFlexBasisFitContentInMainAxis();
93
93
  bool fuseboxAssertSingleHostState();
94
94
  bool fuseboxEnabledRelease();
95
95
  bool fuseboxFrameRecordingEnabled();
@@ -106,14 +106,16 @@ class ReactNativeFeatureFlagsAccessor {
106
106
  bool shouldPressibilityUseW3CPointerEventsForHover();
107
107
  bool shouldTriggerResponderTransferOnScrollAndroid();
108
108
  bool skipActivityIdentityAssertionOnHostPause();
109
- bool syncAndroidClipToPaddingWithOverflow();
109
+ bool syncAndroidClipBoundsWithOverflow();
110
110
  bool traceTurboModulePromiseRejectionsOnAndroid();
111
111
  bool updateRuntimeShadowNodeReferencesOnCommit();
112
112
  bool updateRuntimeShadowNodeReferencesOnCommitThread();
113
113
  bool useAlwaysAvailableJSErrorHandling();
114
114
  bool useFabricInterop();
115
+ bool useLISAlgorithmInDifferentiator();
115
116
  bool useNativeViewConfigsInBridgelessMode();
116
117
  bool useNestedScrollViewAndroid();
118
+ bool useOptimizedViewRegistryOnAndroid();
117
119
  bool useSharedAnimatedBackend();
118
120
  bool useTraitHiddenOnAndroid();
119
121
  bool useTurboModuleInterop();
@@ -133,7 +135,7 @@ class ReactNativeFeatureFlagsAccessor {
133
135
  std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
134
136
  bool wasOverridden_;
135
137
 
136
- std::array<std::atomic<const char*>, 90> accessedFeatureFlags_;
138
+ std::array<std::atomic<const char*>, 92> accessedFeatureFlags_;
137
139
 
138
140
  std::atomic<std::optional<bool>> commonTestFlag_;
139
141
  std::atomic<std::optional<bool>> cdpInteractionMetricsEnabled_;
@@ -147,13 +149,12 @@ class ReactNativeFeatureFlagsAccessor {
147
149
  std::atomic<std::optional<bool>> disableViewPreallocationAndroid_;
148
150
  std::atomic<std::optional<bool>> enableAccessibilityOrder_;
149
151
  std::atomic<std::optional<bool>> enableAccumulatedUpdatesInRawPropsAndroid_;
150
- std::atomic<std::optional<bool>> enableAndroidAntialiasedBorderRadiusClipping_;
151
- std::atomic<std::optional<bool>> enableAndroidLinearText_;
152
152
  std::atomic<std::optional<bool>> enableAndroidTextMeasurementOptimizations_;
153
153
  std::atomic<std::optional<bool>> enableBridgelessArchitecture_;
154
154
  std::atomic<std::optional<bool>> enableCppPropsIteratorSetter_;
155
155
  std::atomic<std::optional<bool>> enableCustomFocusSearchOnClippedElementsAndroid_;
156
156
  std::atomic<std::optional<bool>> enableDestroyShadowTreeRevisionAsync_;
157
+ std::atomic<std::optional<bool>> enableDifferentiatorMutationVectorPreallocation_;
157
158
  std::atomic<std::optional<bool>> enableDoubleMeasurementFixAndroid_;
158
159
  std::atomic<std::optional<bool>> enableEagerMainQueueModulesOnIOS_;
159
160
  std::atomic<std::optional<bool>> enableEagerRootViewAttachment_;
@@ -165,8 +166,6 @@ class ReactNativeFeatureFlagsAccessor {
165
166
  std::atomic<std::optional<bool>> enableIOSTextBaselineOffsetPerLine_;
166
167
  std::atomic<std::optional<bool>> enableIOSViewClipToPaddingBox_;
167
168
  std::atomic<std::optional<bool>> enableImagePrefetchingAndroid_;
168
- std::atomic<std::optional<bool>> enableImagePrefetchingJNIBatchingAndroid_;
169
- std::atomic<std::optional<bool>> enableImagePrefetchingOnUiThreadAndroid_;
170
169
  std::atomic<std::optional<bool>> enableImmediateUpdateModeForContentOffsetChanges_;
171
170
  std::atomic<std::optional<bool>> enableImperativeFocus_;
172
171
  std::atomic<std::optional<bool>> enableInteropViewManagerClassLookUpOptimizationIOS_;
@@ -178,9 +177,11 @@ class ReactNativeFeatureFlagsAccessor {
178
177
  std::atomic<std::optional<bool>> enableModuleArgumentNSNullConversionIOS_;
179
178
  std::atomic<std::optional<bool>> enableMutationObserverByDefault_;
180
179
  std::atomic<std::optional<bool>> enableNativeCSSParsing_;
180
+ std::atomic<std::optional<bool>> enableNativeViewPropTransformations_;
181
181
  std::atomic<std::optional<bool>> enableNetworkEventReporting_;
182
182
  std::atomic<std::optional<bool>> enablePreparedTextLayout_;
183
183
  std::atomic<std::optional<bool>> enablePropsUpdateReconciliationAndroid_;
184
+ std::atomic<std::optional<bool>> enableSchedulerDelegateInvalidation_;
184
185
  std::atomic<std::optional<bool>> enableSwiftUIBasedFilters_;
185
186
  std::atomic<std::optional<bool>> enableViewCulling_;
186
187
  std::atomic<std::optional<bool>> enableViewRecycling_;
@@ -190,9 +191,10 @@ class ReactNativeFeatureFlagsAccessor {
190
191
  std::atomic<std::optional<bool>> enableViewRecyclingForView_;
191
192
  std::atomic<std::optional<bool>> enableVirtualViewContainerStateExperimental_;
192
193
  std::atomic<std::optional<bool>> enableVirtualViewDebugFeatures_;
194
+ std::atomic<std::optional<bool>> fixDifferentiatorParentTagForUnflattenCase_;
193
195
  std::atomic<std::optional<bool>> fixFindShadowNodeByTagRaceCondition_;
194
196
  std::atomic<std::optional<bool>> fixMappingOfEventPrioritiesBetweenFabricAndReact_;
195
- std::atomic<std::optional<bool>> fixTextClippingAndroid15useBoundsForWidth_;
197
+ std::atomic<std::optional<bool>> fixYogaFlexBasisFitContentInMainAxis_;
196
198
  std::atomic<std::optional<bool>> fuseboxAssertSingleHostState_;
197
199
  std::atomic<std::optional<bool>> fuseboxEnabledRelease_;
198
200
  std::atomic<std::optional<bool>> fuseboxFrameRecordingEnabled_;
@@ -209,14 +211,16 @@ class ReactNativeFeatureFlagsAccessor {
209
211
  std::atomic<std::optional<bool>> shouldPressibilityUseW3CPointerEventsForHover_;
210
212
  std::atomic<std::optional<bool>> shouldTriggerResponderTransferOnScrollAndroid_;
211
213
  std::atomic<std::optional<bool>> skipActivityIdentityAssertionOnHostPause_;
212
- std::atomic<std::optional<bool>> syncAndroidClipToPaddingWithOverflow_;
214
+ std::atomic<std::optional<bool>> syncAndroidClipBoundsWithOverflow_;
213
215
  std::atomic<std::optional<bool>> traceTurboModulePromiseRejectionsOnAndroid_;
214
216
  std::atomic<std::optional<bool>> updateRuntimeShadowNodeReferencesOnCommit_;
215
217
  std::atomic<std::optional<bool>> updateRuntimeShadowNodeReferencesOnCommitThread_;
216
218
  std::atomic<std::optional<bool>> useAlwaysAvailableJSErrorHandling_;
217
219
  std::atomic<std::optional<bool>> useFabricInterop_;
220
+ std::atomic<std::optional<bool>> useLISAlgorithmInDifferentiator_;
218
221
  std::atomic<std::optional<bool>> useNativeViewConfigsInBridgelessMode_;
219
222
  std::atomic<std::optional<bool>> useNestedScrollViewAndroid_;
223
+ std::atomic<std::optional<bool>> useOptimizedViewRegistryOnAndroid_;
220
224
  std::atomic<std::optional<bool>> useSharedAnimatedBackend_;
221
225
  std::atomic<std::optional<bool>> useTraitHiddenOnAndroid_;
222
226
  std::atomic<std::optional<bool>> useTurboModuleInterop_;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<b3ede580ac94d728a35ad265c1e34ee9>>
7
+ * @generated SignedSource<<a766c8f5fb2e531712b9e2a4eec08800>>
8
8
  */
9
9
 
10
10
  /**
@@ -75,14 +75,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
75
75
  return false;
76
76
  }
77
77
 
78
- bool enableAndroidAntialiasedBorderRadiusClipping() override {
79
- return false;
80
- }
81
-
82
- bool enableAndroidLinearText() override {
83
- return false;
84
- }
85
-
86
78
  bool enableAndroidTextMeasurementOptimizations() override {
87
79
  return false;
88
80
  }
@@ -103,6 +95,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
103
95
  return false;
104
96
  }
105
97
 
98
+ bool enableDifferentiatorMutationVectorPreallocation() override {
99
+ return false;
100
+ }
101
+
106
102
  bool enableDoubleMeasurementFixAndroid() override {
107
103
  return false;
108
104
  }
@@ -147,14 +143,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
147
143
  return false;
148
144
  }
149
145
 
150
- bool enableImagePrefetchingJNIBatchingAndroid() override {
151
- return false;
152
- }
153
-
154
- bool enableImagePrefetchingOnUiThreadAndroid() override {
155
- return false;
156
- }
157
-
158
146
  bool enableImmediateUpdateModeForContentOffsetChanges() override {
159
147
  return false;
160
148
  }
@@ -199,6 +187,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
199
187
  return false;
200
188
  }
201
189
 
190
+ bool enableNativeViewPropTransformations() override {
191
+ return false;
192
+ }
193
+
202
194
  bool enableNetworkEventReporting() override {
203
195
  return true;
204
196
  }
@@ -211,6 +203,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
211
203
  return false;
212
204
  }
213
205
 
206
+ bool enableSchedulerDelegateInvalidation() override {
207
+ return false;
208
+ }
209
+
214
210
  bool enableSwiftUIBasedFilters() override {
215
211
  return false;
216
212
  }
@@ -247,6 +243,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
247
243
  return false;
248
244
  }
249
245
 
246
+ bool fixDifferentiatorParentTagForUnflattenCase() override {
247
+ return false;
248
+ }
249
+
250
250
  bool fixFindShadowNodeByTagRaceCondition() override {
251
251
  return false;
252
252
  }
@@ -255,7 +255,7 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
255
255
  return false;
256
256
  }
257
257
 
258
- bool fixTextClippingAndroid15useBoundsForWidth() override {
258
+ bool fixYogaFlexBasisFitContentInMainAxis() override {
259
259
  return false;
260
260
  }
261
261
 
@@ -284,7 +284,7 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
284
284
  }
285
285
 
286
286
  bool overrideBySynchronousMountPropsAtMountingAndroid() override {
287
- return false;
287
+ return true;
288
288
  }
289
289
 
290
290
  bool perfIssuesEnabled() override {
@@ -323,7 +323,7 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
323
323
  return false;
324
324
  }
325
325
 
326
- bool syncAndroidClipToPaddingWithOverflow() override {
326
+ bool syncAndroidClipBoundsWithOverflow() override {
327
327
  return false;
328
328
  }
329
329
 
@@ -347,6 +347,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
347
347
  return true;
348
348
  }
349
349
 
350
+ bool useLISAlgorithmInDifferentiator() override {
351
+ return false;
352
+ }
353
+
350
354
  bool useNativeViewConfigsInBridgelessMode() override {
351
355
  return false;
352
356
  }
@@ -355,6 +359,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
355
359
  return false;
356
360
  }
357
361
 
362
+ bool useOptimizedViewRegistryOnAndroid() override {
363
+ return false;
364
+ }
365
+
358
366
  bool useSharedAnimatedBackend() override {
359
367
  return false;
360
368
  }
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<e2a6a7a32ffbf20eb8906dfa526a5f9b>>
7
+ * @generated SignedSource<<23e79788b0820f61ba95288412367247>>
8
8
  */
9
9
 
10
10
  /**
@@ -153,24 +153,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
153
153
  return ReactNativeFeatureFlagsDefaults::enableAccumulatedUpdatesInRawPropsAndroid();
154
154
  }
155
155
 
156
- bool enableAndroidAntialiasedBorderRadiusClipping() override {
157
- auto value = values_["enableAndroidAntialiasedBorderRadiusClipping"];
158
- if (!value.isNull()) {
159
- return value.getBool();
160
- }
161
-
162
- return ReactNativeFeatureFlagsDefaults::enableAndroidAntialiasedBorderRadiusClipping();
163
- }
164
-
165
- bool enableAndroidLinearText() override {
166
- auto value = values_["enableAndroidLinearText"];
167
- if (!value.isNull()) {
168
- return value.getBool();
169
- }
170
-
171
- return ReactNativeFeatureFlagsDefaults::enableAndroidLinearText();
172
- }
173
-
174
156
  bool enableAndroidTextMeasurementOptimizations() override {
175
157
  auto value = values_["enableAndroidTextMeasurementOptimizations"];
176
158
  if (!value.isNull()) {
@@ -216,6 +198,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
216
198
  return ReactNativeFeatureFlagsDefaults::enableDestroyShadowTreeRevisionAsync();
217
199
  }
218
200
 
201
+ bool enableDifferentiatorMutationVectorPreallocation() override {
202
+ auto value = values_["enableDifferentiatorMutationVectorPreallocation"];
203
+ if (!value.isNull()) {
204
+ return value.getBool();
205
+ }
206
+
207
+ return ReactNativeFeatureFlagsDefaults::enableDifferentiatorMutationVectorPreallocation();
208
+ }
209
+
219
210
  bool enableDoubleMeasurementFixAndroid() override {
220
211
  auto value = values_["enableDoubleMeasurementFixAndroid"];
221
212
  if (!value.isNull()) {
@@ -315,24 +306,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
315
306
  return ReactNativeFeatureFlagsDefaults::enableImagePrefetchingAndroid();
316
307
  }
317
308
 
318
- bool enableImagePrefetchingJNIBatchingAndroid() override {
319
- auto value = values_["enableImagePrefetchingJNIBatchingAndroid"];
320
- if (!value.isNull()) {
321
- return value.getBool();
322
- }
323
-
324
- return ReactNativeFeatureFlagsDefaults::enableImagePrefetchingJNIBatchingAndroid();
325
- }
326
-
327
- bool enableImagePrefetchingOnUiThreadAndroid() override {
328
- auto value = values_["enableImagePrefetchingOnUiThreadAndroid"];
329
- if (!value.isNull()) {
330
- return value.getBool();
331
- }
332
-
333
- return ReactNativeFeatureFlagsDefaults::enableImagePrefetchingOnUiThreadAndroid();
334
- }
335
-
336
309
  bool enableImmediateUpdateModeForContentOffsetChanges() override {
337
310
  auto value = values_["enableImmediateUpdateModeForContentOffsetChanges"];
338
311
  if (!value.isNull()) {
@@ -432,6 +405,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
432
405
  return ReactNativeFeatureFlagsDefaults::enableNativeCSSParsing();
433
406
  }
434
407
 
408
+ bool enableNativeViewPropTransformations() override {
409
+ auto value = values_["enableNativeViewPropTransformations"];
410
+ if (!value.isNull()) {
411
+ return value.getBool();
412
+ }
413
+
414
+ return ReactNativeFeatureFlagsDefaults::enableNativeViewPropTransformations();
415
+ }
416
+
435
417
  bool enableNetworkEventReporting() override {
436
418
  auto value = values_["enableNetworkEventReporting"];
437
419
  if (!value.isNull()) {
@@ -459,6 +441,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
459
441
  return ReactNativeFeatureFlagsDefaults::enablePropsUpdateReconciliationAndroid();
460
442
  }
461
443
 
444
+ bool enableSchedulerDelegateInvalidation() override {
445
+ auto value = values_["enableSchedulerDelegateInvalidation"];
446
+ if (!value.isNull()) {
447
+ return value.getBool();
448
+ }
449
+
450
+ return ReactNativeFeatureFlagsDefaults::enableSchedulerDelegateInvalidation();
451
+ }
452
+
462
453
  bool enableSwiftUIBasedFilters() override {
463
454
  auto value = values_["enableSwiftUIBasedFilters"];
464
455
  if (!value.isNull()) {
@@ -540,6 +531,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
540
531
  return ReactNativeFeatureFlagsDefaults::enableVirtualViewDebugFeatures();
541
532
  }
542
533
 
534
+ bool fixDifferentiatorParentTagForUnflattenCase() override {
535
+ auto value = values_["fixDifferentiatorParentTagForUnflattenCase"];
536
+ if (!value.isNull()) {
537
+ return value.getBool();
538
+ }
539
+
540
+ return ReactNativeFeatureFlagsDefaults::fixDifferentiatorParentTagForUnflattenCase();
541
+ }
542
+
543
543
  bool fixFindShadowNodeByTagRaceCondition() override {
544
544
  auto value = values_["fixFindShadowNodeByTagRaceCondition"];
545
545
  if (!value.isNull()) {
@@ -558,13 +558,13 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
558
558
  return ReactNativeFeatureFlagsDefaults::fixMappingOfEventPrioritiesBetweenFabricAndReact();
559
559
  }
560
560
 
561
- bool fixTextClippingAndroid15useBoundsForWidth() override {
562
- auto value = values_["fixTextClippingAndroid15useBoundsForWidth"];
561
+ bool fixYogaFlexBasisFitContentInMainAxis() override {
562
+ auto value = values_["fixYogaFlexBasisFitContentInMainAxis"];
563
563
  if (!value.isNull()) {
564
564
  return value.getBool();
565
565
  }
566
566
 
567
- return ReactNativeFeatureFlagsDefaults::fixTextClippingAndroid15useBoundsForWidth();
567
+ return ReactNativeFeatureFlagsDefaults::fixYogaFlexBasisFitContentInMainAxis();
568
568
  }
569
569
 
570
570
  bool fuseboxAssertSingleHostState() override {
@@ -711,13 +711,13 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
711
711
  return ReactNativeFeatureFlagsDefaults::skipActivityIdentityAssertionOnHostPause();
712
712
  }
713
713
 
714
- bool syncAndroidClipToPaddingWithOverflow() override {
715
- auto value = values_["syncAndroidClipToPaddingWithOverflow"];
714
+ bool syncAndroidClipBoundsWithOverflow() override {
715
+ auto value = values_["syncAndroidClipBoundsWithOverflow"];
716
716
  if (!value.isNull()) {
717
717
  return value.getBool();
718
718
  }
719
719
 
720
- return ReactNativeFeatureFlagsDefaults::syncAndroidClipToPaddingWithOverflow();
720
+ return ReactNativeFeatureFlagsDefaults::syncAndroidClipBoundsWithOverflow();
721
721
  }
722
722
 
723
723
  bool traceTurboModulePromiseRejectionsOnAndroid() override {
@@ -765,6 +765,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
765
765
  return ReactNativeFeatureFlagsDefaults::useFabricInterop();
766
766
  }
767
767
 
768
+ bool useLISAlgorithmInDifferentiator() override {
769
+ auto value = values_["useLISAlgorithmInDifferentiator"];
770
+ if (!value.isNull()) {
771
+ return value.getBool();
772
+ }
773
+
774
+ return ReactNativeFeatureFlagsDefaults::useLISAlgorithmInDifferentiator();
775
+ }
776
+
768
777
  bool useNativeViewConfigsInBridgelessMode() override {
769
778
  auto value = values_["useNativeViewConfigsInBridgelessMode"];
770
779
  if (!value.isNull()) {
@@ -783,6 +792,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
783
792
  return ReactNativeFeatureFlagsDefaults::useNestedScrollViewAndroid();
784
793
  }
785
794
 
795
+ bool useOptimizedViewRegistryOnAndroid() override {
796
+ auto value = values_["useOptimizedViewRegistryOnAndroid"];
797
+ if (!value.isNull()) {
798
+ return value.getBool();
799
+ }
800
+
801
+ return ReactNativeFeatureFlagsDefaults::useOptimizedViewRegistryOnAndroid();
802
+ }
803
+
786
804
  bool useSharedAnimatedBackend() override {
787
805
  auto value = values_["useSharedAnimatedBackend"];
788
806
  if (!value.isNull()) {
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6ded821dda8049a32168bf82333dd4c3>>
7
+ * @generated SignedSource<<887a3ac5f8a93cc5ae5c8d01ec1d5e46>>
8
8
  */
9
9
 
10
10
  /**
@@ -35,11 +35,11 @@ class ReactNativeFeatureFlagsOverridesOSSExperimental : public ReactNativeFeatur
35
35
  return true;
36
36
  }
37
37
 
38
- bool enableSwiftUIBasedFilters() override {
38
+ bool enableSchedulerDelegateInvalidation() override {
39
39
  return true;
40
40
  }
41
41
 
42
- bool fixTextClippingAndroid15useBoundsForWidth() override {
42
+ bool enableSwiftUIBasedFilters() override {
43
43
  return true;
44
44
  }
45
45
 
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<ba443ccb843898a70e1968ba5d4ab62c>>
7
+ * @generated SignedSource<<87316e34516ebbbb34ae384e5a61376b>>
8
8
  */
9
9
 
10
10
  /**
@@ -37,13 +37,12 @@ class ReactNativeFeatureFlagsProvider {
37
37
  virtual bool disableViewPreallocationAndroid() = 0;
38
38
  virtual bool enableAccessibilityOrder() = 0;
39
39
  virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0;
40
- virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0;
41
- virtual bool enableAndroidLinearText() = 0;
42
40
  virtual bool enableAndroidTextMeasurementOptimizations() = 0;
43
41
  virtual bool enableBridgelessArchitecture() = 0;
44
42
  virtual bool enableCppPropsIteratorSetter() = 0;
45
43
  virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0;
46
44
  virtual bool enableDestroyShadowTreeRevisionAsync() = 0;
45
+ virtual bool enableDifferentiatorMutationVectorPreallocation() = 0;
47
46
  virtual bool enableDoubleMeasurementFixAndroid() = 0;
48
47
  virtual bool enableEagerMainQueueModulesOnIOS() = 0;
49
48
  virtual bool enableEagerRootViewAttachment() = 0;
@@ -55,8 +54,6 @@ class ReactNativeFeatureFlagsProvider {
55
54
  virtual bool enableIOSTextBaselineOffsetPerLine() = 0;
56
55
  virtual bool enableIOSViewClipToPaddingBox() = 0;
57
56
  virtual bool enableImagePrefetchingAndroid() = 0;
58
- virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0;
59
- virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0;
60
57
  virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0;
61
58
  virtual bool enableImperativeFocus() = 0;
62
59
  virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0;
@@ -68,9 +65,11 @@ class ReactNativeFeatureFlagsProvider {
68
65
  virtual bool enableModuleArgumentNSNullConversionIOS() = 0;
69
66
  virtual bool enableMutationObserverByDefault() = 0;
70
67
  virtual bool enableNativeCSSParsing() = 0;
68
+ virtual bool enableNativeViewPropTransformations() = 0;
71
69
  virtual bool enableNetworkEventReporting() = 0;
72
70
  virtual bool enablePreparedTextLayout() = 0;
73
71
  virtual bool enablePropsUpdateReconciliationAndroid() = 0;
72
+ virtual bool enableSchedulerDelegateInvalidation() = 0;
74
73
  virtual bool enableSwiftUIBasedFilters() = 0;
75
74
  virtual bool enableViewCulling() = 0;
76
75
  virtual bool enableViewRecycling() = 0;
@@ -80,9 +79,10 @@ class ReactNativeFeatureFlagsProvider {
80
79
  virtual bool enableViewRecyclingForView() = 0;
81
80
  virtual bool enableVirtualViewContainerStateExperimental() = 0;
82
81
  virtual bool enableVirtualViewDebugFeatures() = 0;
82
+ virtual bool fixDifferentiatorParentTagForUnflattenCase() = 0;
83
83
  virtual bool fixFindShadowNodeByTagRaceCondition() = 0;
84
84
  virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
85
- virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0;
85
+ virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0;
86
86
  virtual bool fuseboxAssertSingleHostState() = 0;
87
87
  virtual bool fuseboxEnabledRelease() = 0;
88
88
  virtual bool fuseboxFrameRecordingEnabled() = 0;
@@ -99,14 +99,16 @@ class ReactNativeFeatureFlagsProvider {
99
99
  virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
100
100
  virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
101
101
  virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
102
- virtual bool syncAndroidClipToPaddingWithOverflow() = 0;
102
+ virtual bool syncAndroidClipBoundsWithOverflow() = 0;
103
103
  virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0;
104
104
  virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0;
105
105
  virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0;
106
106
  virtual bool useAlwaysAvailableJSErrorHandling() = 0;
107
107
  virtual bool useFabricInterop() = 0;
108
+ virtual bool useLISAlgorithmInDifferentiator() = 0;
108
109
  virtual bool useNativeViewConfigsInBridgelessMode() = 0;
109
110
  virtual bool useNestedScrollViewAndroid() = 0;
111
+ virtual bool useOptimizedViewRegistryOnAndroid() = 0;
110
112
  virtual bool useSharedAnimatedBackend() = 0;
111
113
  virtual bool useTraitHiddenOnAndroid() = 0;
112
114
  virtual bool useTurboModuleInterop() = 0;
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env fbpython
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
+ # pyre-strict
8
+
9
+ """Rewrite default return values in ReactNativeFeatureFlagsDefaults.h.
10
+
11
+ Reads the header from --input, writes the transformed header to stdout.
12
+ Overrides are passed as a JSON object via --overrides.
13
+ Fails with a non-zero exit code if any requested flag is not found.
14
+ """
15
+
16
+ from __future__ import annotations
17
+
18
+ import argparse
19
+ import json
20
+ import re
21
+ import sys
22
+
23
+ import tree_sitter_cpp
24
+ from tree_sitter import Language, Parser, Query, QueryCursor
25
+
26
+
27
+ _TARGET_CLASS = "ReactNativeFeatureFlagsDefaults"
28
+
29
+
30
+ def _method_query(names: set[str]) -> str:
31
+ alternation = "|".join(re.escape(n) for n in sorted(names))
32
+ return f"""
33
+ (class_specifier
34
+ name: (type_identifier) @class_name
35
+ body: (field_declaration_list
36
+ (function_definition
37
+ declarator: (function_declarator
38
+ declarator: (field_identifier) @method_name)
39
+ body: (compound_statement
40
+ (return_statement (_) @return_value)))
41
+ )
42
+ (#eq? @class_name "{_TARGET_CLASS}")
43
+ (#match? @method_name "^({alternation})$")
44
+ )
45
+ """
46
+
47
+
48
+ def cxx_literal(value: bool | int | float) -> str:
49
+ if isinstance(value, bool):
50
+ return "true" if value else "false"
51
+ if isinstance(value, (int, float)):
52
+ s = str(value)
53
+ if isinstance(value, int) or "." not in s:
54
+ s += ".0"
55
+ return s
56
+ raise ValueError(f"Unsupported value type {type(value).__name__} for override")
57
+
58
+
59
+ def rewrite(source: bytes, overrides: dict[str, object]) -> bytes:
60
+ lang = Language(tree_sitter_cpp.language())
61
+ tree = Parser(lang).parse(source)
62
+ matches = QueryCursor(Query(lang, _method_query(overrides.keys()))).matches(
63
+ tree.root_node
64
+ )
65
+
66
+ matched: set[str] = set()
67
+ replacements: list[tuple[int, int, bytes]] = []
68
+
69
+ for _, match in matches:
70
+ method_node = match["method_name"][0]
71
+ name = source[method_node.start_byte : method_node.end_byte].decode("utf-8")
72
+ rv_node = match["return_value"][0]
73
+ replacements.append(
74
+ (
75
+ rv_node.start_byte,
76
+ rv_node.end_byte,
77
+ cxx_literal(overrides[name]).encode("utf-8"),
78
+ )
79
+ )
80
+ matched.add(name)
81
+
82
+ unmatched = set(overrides.keys()) - matched
83
+ if unmatched:
84
+ raise ValueError(f"Unmatched flags: {', '.join(sorted(unmatched))}")
85
+
86
+ result = bytearray()
87
+ pos = 0
88
+ for start, end, replacement in replacements:
89
+ result.extend(source[pos:start])
90
+ result.extend(replacement)
91
+ pos = end
92
+ result.extend(source[pos:])
93
+
94
+ return bytes(result)
95
+
96
+
97
+ def main() -> None:
98
+ parser = argparse.ArgumentParser()
99
+ parser.add_argument("--overrides", default="{}")
100
+ parser.add_argument("--input", required=True)
101
+ args = parser.parse_args()
102
+
103
+ overrides: dict[str, object] = json.loads(args.overrides)
104
+ with open(args.input, "rb") as f:
105
+ source = f.read()
106
+
107
+ sys.stdout.buffer.write(rewrite(source, overrides))
108
+
109
+
110
+ if __name__ == "__main__":
111
+ main()