react-native-tvos 0.77.1-0 → 0.78.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 (636) hide show
  1. package/Libraries/Animated/animations/Animation.js +22 -1
  2. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  3. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  4. package/Libraries/Animated/animations/TimingAnimation.js +1 -0
  5. package/Libraries/Animated/nodes/AnimatedAddition.js +9 -2
  6. package/Libraries/Animated/nodes/AnimatedColor.js +4 -1
  7. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +10 -2
  8. package/Libraries/Animated/nodes/AnimatedDivision.js +9 -2
  9. package/Libraries/Animated/nodes/AnimatedInterpolation.js +5 -1
  10. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -2
  11. package/Libraries/Animated/nodes/AnimatedMultiplication.js +9 -2
  12. package/Libraries/Animated/nodes/AnimatedNode.js +25 -46
  13. package/Libraries/Animated/nodes/AnimatedObject.js +9 -2
  14. package/Libraries/Animated/nodes/AnimatedProps.js +5 -1
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +5 -1
  16. package/Libraries/Animated/nodes/AnimatedSubtraction.js +9 -2
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +5 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +5 -1
  19. package/Libraries/Animated/nodes/AnimatedValue.js +63 -4
  20. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  21. package/Libraries/Animated/useAnimatedProps.js +14 -56
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +6 -48
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +5 -230
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.h +21 -0
  25. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +123 -0
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.h +98 -0
  27. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +266 -0
  28. package/Libraries/AppDelegate/RCTRootViewFactory.mm +1 -1
  29. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +0 -1
  30. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +1 -1
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  32. package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
  33. package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
  34. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
  35. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  36. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  37. package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
  38. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  39. package/Libraries/Components/TextInput/TextInput.js +6 -0
  40. package/Libraries/Components/View/ViewPropTypes.d.ts +4 -5
  41. package/Libraries/Components/View/ViewPropTypes.js +0 -9
  42. package/Libraries/Core/ReactNativeVersion.js +2 -2
  43. package/Libraries/Core/setUpBatchedBridge.js +1 -16
  44. package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
  45. package/Libraries/Image/AssetSourceResolver.js +11 -0
  46. package/Libraries/Image/RCTImageView.mm +3 -3
  47. package/Libraries/Inspector/BorderBox.js +26 -14
  48. package/Libraries/Inspector/BoxInspector.js +60 -42
  49. package/Libraries/Inspector/ElementBox.js +55 -48
  50. package/Libraries/Inspector/StyleInspector.js +36 -30
  51. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  52. package/Libraries/Lists/FlatList.d.ts +1 -1
  53. package/Libraries/Modal/Modal.js +2 -0
  54. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +1 -1
  55. package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
  56. package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
  57. package/Libraries/Network/RCTNetworking.android.js +24 -16
  58. package/Libraries/Network/RCTNetworking.ios.js +1 -46
  59. package/Libraries/Network/RCTNetworking.js.flow +1 -46
  60. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
  61. package/Libraries/ReactNative/UIManagerProperties.js +3 -1
  62. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15829 -26461
  63. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
  64. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
  65. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16103 -26908
  66. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
  67. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
  68. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
  69. package/Libraries/StyleSheet/processTransform.js +6 -0
  70. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +9 -0
  71. package/Libraries/Text/Text.d.ts +6 -1
  72. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +2 -0
  73. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +26 -0
  74. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +2 -0
  75. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +25 -0
  76. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +2 -0
  77. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  78. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +26 -0
  79. package/Libraries/Text/TextProps.js +2 -2
  80. package/Libraries/Utilities/BackHandler.android.js +5 -4
  81. package/Libraries/Utilities/BackHandler.ios.js +3 -4
  82. package/README-core.md +2 -2
  83. package/React/Base/RCTVersion.m +2 -2
  84. package/React/CoreModules/RCTDevSettings.h +0 -1
  85. package/React/CoreModules/RCTDeviceInfo.mm +4 -0
  86. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +3 -5
  87. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -6
  88. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
  89. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -24
  90. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -28
  91. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +90 -57
  92. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +241 -104
  93. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +0 -5
  94. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +39 -10
  95. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +3 -3
  96. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +22 -3
  97. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
  98. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  99. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +7 -2
  100. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -0
  101. package/React/Fabric/Mounting/RCTMountingManager.mm +6 -9
  102. package/React/Fabric/RCTScheduler.mm +1 -1
  103. package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
  104. package/React/Modules/RCTUIManager.mm +1 -2
  105. package/React/React-RCTFBReactNativeSpec.podspec +1 -0
  106. package/React/React-RCTFabric.podspec +3 -2
  107. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +12 -12
  108. package/React/Views/RCTComponentData.mm +1 -5
  109. package/React/Views/RCTLayout.m +3 -0
  110. package/React/Views/RCTShadowView.h +3 -3
  111. package/React/Views/RCTShadowView.m +52 -20
  112. package/React/Views/RCTView.m +6 -2
  113. package/React/Views/RCTViewManager.m +0 -7
  114. package/React/Views/ScrollView/RCTScrollView.m +46 -19
  115. package/React-Core.podspec +1 -1
  116. package/ReactAndroid/api/ReactAndroid.api +120 -227
  117. package/ReactAndroid/build.gradle.kts +8 -13
  118. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -0
  119. package/ReactAndroid/external-artifacts/build.gradle.kts +5 -5
  120. package/ReactAndroid/gradle.properties +1 -1
  121. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesMemoryDumper.java → HermesMemoryDumper.kt} +5 -5
  122. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesSamplingProfiler.java → HermesSamplingProfiler.kt} +8 -10
  123. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +12 -59
  124. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +12 -1
  125. package/ReactAndroid/src/main/java/com/facebook/react/{ReactPackageLogger.java → ReactPackageLogger.kt} +3 -3
  126. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +8 -8
  127. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -3
  128. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -0
  129. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  130. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +4 -8
  131. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -5
  132. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +0 -7
  133. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -3
  134. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +6 -1
  135. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +11 -23
  136. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +3 -30
  137. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +4 -1
  138. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  139. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +4 -4
  140. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +21 -26
  141. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -14
  142. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +2 -11
  143. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +88 -0
  144. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +6 -6
  145. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -0
  146. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +7 -7
  147. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +21 -21
  148. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +36 -36
  149. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +8 -8
  150. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +10 -10
  151. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +40 -40
  152. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +8 -8
  153. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -3
  154. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +55 -0
  155. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +185 -0
  156. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/{HeadlessJsTaskEventListener.java → HeadlessJsTaskEventListener.kt} +5 -6
  157. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.kt +20 -0
  158. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +4 -4
  159. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +7 -8
  160. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +8 -5
  161. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +11 -17
  162. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  163. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.kt +16 -0
  164. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +107 -0
  165. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +18 -19
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +48 -0
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +397 -0
  169. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -10
  170. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1 -1
  171. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +8 -8
  172. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +4 -10
  173. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +4 -0
  174. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +13 -12
  175. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +15 -12
  176. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ComponentNameResolver.java → ComponentNameResolver.kt} +4 -5
  177. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +5 -2
  178. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -5
  179. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +21 -0
  180. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +18 -0
  181. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{RootView.java → RootView.kt} +11 -12
  182. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +1 -1
  183. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIBlock.java → UIBlock.kt} +3 -3
  184. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -5
  185. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +25 -0
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +1 -1
  187. package/{Libraries/AppDelegate/RCTAppDelegate+Protected.h → ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt} +3 -8
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +12 -5
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +46 -80
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +5 -5
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +5 -5
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +8 -9
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{BatchEventDispatchedListener.java → BatchEventDispatchedListener.kt} +3 -3
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +46 -0
  195. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +40 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -6
  197. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.kt +19 -0
  198. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +23 -0
  199. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +241 -0
  200. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +193 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +44 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +37 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +130 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -1
  205. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.kt +77 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +196 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +16 -17
  208. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +5 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +34 -1
  210. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +11 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/{FpsListener.java → FpsListener.kt} +4 -4
  212. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +3 -3
  214. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +136 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -2
  216. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +152 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +52 -0
  218. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -7
  219. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +8 -13
  220. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +50 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  222. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +1 -9
  223. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +111 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +90 -20
  225. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +2 -2
  226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +22 -1
  227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +43 -1
  228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +86 -2
  229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +44 -2
  230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +7 -1
  231. package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -6
  232. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +6 -1
  233. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +96 -11
  234. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +9 -0
  235. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -0
  236. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -3
  237. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  238. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +41 -25
  239. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
  240. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +63 -91
  241. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -7
  242. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +9 -9
  243. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +6 -10
  244. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  245. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +4 -0
  246. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  247. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +0 -1
  248. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +49 -49
  249. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +11 -11
  250. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -4
  251. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  252. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -1
  253. package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -9
  254. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +0 -4
  255. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +3 -4
  256. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +3 -4
  257. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +6 -0
  258. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -0
  259. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -0
  260. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -0
  261. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +3 -7
  262. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +0 -2
  263. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +0 -1
  264. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +0 -1
  265. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +2 -8
  266. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +2 -8
  267. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -1
  268. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +18 -17
  269. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +1 -1
  270. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -1
  271. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -2
  272. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +0 -1
  273. package/ReactAndroid/src/main/res/views/view/values/ids.xml +5 -0
  274. package/ReactCommon/React-Fabric.podspec +8 -0
  275. package/ReactCommon/React-FabricComponents.podspec +2 -2
  276. package/ReactCommon/React-FabricImage.podspec +4 -1
  277. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -3
  278. package/ReactCommon/cxxreact/Instance.cpp +6 -6
  279. package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
  280. package/ReactCommon/cxxreact/JSExecutor.cpp +4 -2
  281. package/ReactCommon/cxxreact/ModuleRegistry.cpp +6 -6
  282. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -3
  283. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  284. package/ReactCommon/cxxreact/SystraceSection.h +8 -141
  285. package/ReactCommon/cxxreact/TraceSection.h +181 -0
  286. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +19 -0
  287. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -2
  288. package/ReactCommon/jsc/JSCRuntime.cpp +0 -2
  289. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  290. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +27 -19
  291. package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -3
  292. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +16 -16
  293. package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -1
  294. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +252 -246
  295. package/ReactCommon/jsi/jsi/CMakeLists.txt +0 -3
  296. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
  297. package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
  298. package/ReactCommon/jsi/jsi/decorator.h +61 -0
  299. package/ReactCommon/jsi/jsi/jsi-inl.h +4 -0
  300. package/ReactCommon/jsi/jsi/jsi.cpp +37 -0
  301. package/ReactCommon/jsi/jsi/jsi.h +81 -0
  302. package/ReactCommon/jsi/jsi/test/testlib.cpp +88 -0
  303. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +9 -9
  304. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -1
  305. package/ReactCommon/jsinspector-modern/HostAgent.cpp +3 -7
  306. package/ReactCommon/jsinspector-modern/HostTarget.cpp +22 -1
  307. package/ReactCommon/jsinspector-modern/HostTarget.h +1 -1
  308. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +19 -4
  309. package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -0
  310. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +21 -10
  311. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +12 -11
  312. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +2 -16
  313. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +14 -14
  314. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +7 -13
  315. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +1 -1
  316. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -3
  317. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +3 -3
  318. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -1
  319. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +26 -0
  320. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +21 -0
  321. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +187 -0
  322. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +126 -0
  323. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +56 -0
  324. package/ReactCommon/react/featureflags/CMakeLists.txt +3 -0
  325. package/ReactCommon/react/featureflags/React-featureflags.podspec +7 -0
  326. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +15 -15
  327. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +18 -18
  328. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +88 -88
  329. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +9 -9
  330. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +17 -17
  331. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +454 -0
  332. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +5 -5
  333. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsDynamicProviderTest.cpp +78 -0
  334. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -3
  335. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +3 -3
  336. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -5
  337. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -23
  338. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +55 -0
  339. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.cpp +35 -0
  340. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +28 -0
  341. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +18 -18
  342. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +8 -8
  343. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
  344. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +5 -8
  345. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -3
  346. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +22 -43
  347. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +0 -15
  348. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  349. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +22 -2
  350. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  351. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  352. package/ReactCommon/react/renderer/animations/CMakeLists.txt +0 -1
  353. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +1 -1
  354. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +25 -19
  355. package/ReactCommon/react/renderer/animations/primitives.h +1 -1
  356. package/ReactCommon/react/renderer/animations/utils.h +3 -4
  357. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +31 -9
  358. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +81 -31
  359. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +0 -1
  360. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +4 -1
  361. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +2 -0
  362. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -2
  363. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +5 -5
  364. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  365. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +38 -10
  366. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  367. package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -3
  368. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -6
  369. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -4
  370. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +7 -0
  371. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -2
  372. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +2 -2
  373. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +33 -0
  374. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +17 -0
  375. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +3 -2
  376. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +2 -1
  377. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -4
  378. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +7 -0
  379. package/ReactCommon/react/renderer/{uimanager/bindingUtils.h → components/text/ParagraphComponentDescriptor.cpp} +2 -8
  380. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +10 -7
  381. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +23 -0
  382. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +8 -1
  383. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +243 -0
  384. package/ReactCommon/react/renderer/components/textinput/TextInputState.cpp +71 -0
  385. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputState.h → TextInputState.h} +27 -7
  386. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +6 -13
  387. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -2
  388. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +145 -144
  389. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +27 -29
  390. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +4 -5
  391. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +0 -26
  392. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +0 -6
  393. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +0 -147
  394. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +5 -57
  395. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +60 -70
  396. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +3 -3
  397. package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +18 -0
  398. package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +36 -0
  399. package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +28 -0
  400. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +4 -0
  401. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -1
  402. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -22
  403. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  404. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +3 -1
  405. package/ReactCommon/react/renderer/components/view/conversions.h +117 -43
  406. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +3 -2
  407. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +3 -1
  408. package/ReactCommon/react/renderer/components/view/primitives.h +1 -1
  409. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +12 -12
  410. package/ReactCommon/react/renderer/core/CMakeLists.txt +0 -1
  411. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +4 -2
  412. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +4 -2
  413. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -2
  414. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +26 -0
  415. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -0
  416. package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -3
  417. package/ReactCommon/react/renderer/core/Props.cpp +16 -5
  418. package/ReactCommon/react/renderer/core/Props.h +11 -4
  419. package/ReactCommon/react/renderer/core/RawProps.cpp +30 -5
  420. package/ReactCommon/react/renderer/core/RawProps.h +10 -1
  421. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -2
  422. package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -1
  423. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -0
  424. package/ReactCommon/react/renderer/core/RawValue.h +315 -22
  425. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +95 -4
  426. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +19 -4
  427. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +7 -1
  428. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +7 -5
  429. package/ReactCommon/react/renderer/graphics/Transform.cpp +11 -2
  430. package/ReactCommon/react/renderer/graphics/Transform.h +2 -1
  431. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +4 -2
  432. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +7 -0
  433. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +43 -0
  434. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +36 -0
  435. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +43 -0
  436. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +94 -0
  437. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +101 -0
  438. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +9 -1
  439. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  440. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +9 -0
  441. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  442. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +2 -2
  443. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +187 -152
  444. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -5
  445. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -16
  446. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -12
  447. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +44 -14
  448. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +8 -4
  449. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +1 -1
  450. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +116 -193
  451. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +0 -3
  452. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +7 -4
  453. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +2 -1
  454. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -8
  455. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +6 -6
  456. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +3 -1
  457. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +2 -0
  458. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -11
  459. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -15
  460. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -3
  461. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +0 -1
  462. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +6 -37
  463. package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -3
  464. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +15 -11
  465. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -0
  466. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +56 -2
  467. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +23 -3
  468. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  469. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -0
  470. package/ReactCommon/react/renderer/textlayoutmanager/{platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h → TextLayoutManager.h} +18 -17
  471. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +77 -89
  472. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +6 -10
  473. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  474. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +23 -1
  475. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +11 -32
  476. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +9 -23
  477. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.cpp +88 -0
  478. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +50 -0
  479. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +0 -1
  480. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +3 -40
  481. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +23 -18
  482. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -0
  483. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -31
  484. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +0 -4
  485. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  486. package/ReactCommon/react/runtime/CMakeLists.txt +0 -1
  487. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -2
  488. package/ReactCommon/react/runtime/ReactInstance.cpp +43 -57
  489. package/ReactCommon/react/runtime/TimerManager.cpp +4 -4
  490. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +5 -1
  491. package/ReactCommon/react/runtime/hermes/HermesInstance.h +0 -2
  492. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +2 -6
  493. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +6 -15
  494. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
  495. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +15 -15
  496. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +5 -4
  497. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  498. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +33 -17
  499. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +8 -2
  500. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.cpp → ReactPerfettoLogger.cpp} +25 -24
  501. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.h → ReactPerfettoLogger.h} +9 -9
  502. package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -0
  503. package/ReactCommon/yoga/yoga/YGEnums.h +4 -1
  504. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +124 -24
  505. package/ReactCommon/yoga/yoga/YGNodeStyle.h +22 -1
  506. package/ReactCommon/yoga/yoga/YGValue.h +3 -0
  507. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +6 -6
  508. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +2 -2
  509. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +1 -1
  510. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +9 -6
  511. package/ReactCommon/yoga/yoga/enums/Unit.h +4 -1
  512. package/ReactCommon/yoga/yoga/node/Node.cpp +8 -8
  513. package/ReactCommon/yoga/yoga/node/Node.h +5 -5
  514. package/ReactCommon/yoga/yoga/style/Style.h +14 -12
  515. package/ReactCommon/yoga/yoga/style/StyleLength.h +14 -7
  516. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +139 -0
  517. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  518. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +60 -3
  519. package/gradle/libs.versions.toml +6 -2
  520. package/index.js +5 -0
  521. package/package.json +12 -13
  522. package/react-native.config.js +6 -0
  523. package/scripts/cocoapods/codegen_utils.rb +4 -4
  524. package/scripts/cocoapods/new_architecture.rb +3 -3
  525. package/scripts/cocoapods/utils.rb +4 -3
  526. package/scripts/codegen/generate-artifacts-executor.js +8 -4
  527. package/scripts/generate-codegen-artifacts.js +6 -1
  528. package/scripts/react-native-xcode.sh +1 -1
  529. package/scripts/react_native_pods.rb +3 -3
  530. package/scripts/xcode/ccache-clang++.sh +1 -1
  531. package/scripts/xcode/ccache-clang.sh +1 -1
  532. package/sdks/.hermesversion +1 -1
  533. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +1 -1
  534. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  535. package/sdks/hermesc/osx-bin/hermes +0 -0
  536. package/sdks/hermesc/osx-bin/hermesc +0 -0
  537. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  538. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  539. package/src/private/featureflags/README.md +5 -0
  540. package/src/private/featureflags/ReactNativeFeatureFlags.js +33 -27
  541. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
  542. package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
  543. package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
  544. package/src/private/specs/modules/NativeFantom.js +37 -0
  545. package/src/private/utilities/ensureInstance.js +21 -0
  546. package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
  547. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
  548. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
  549. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  550. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
  551. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  552. package/src/private/webapis/performance/Performance.js +0 -12
  553. package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
  554. package/types/index.d.ts +1 -0
  555. package/types/public/ReactNativeTVTypes.d.ts +49 -51
  556. package/Libraries/HeapCapture/HeapCapture.js +0 -29
  557. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
  558. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
  559. package/Libraries/Performance/SamplingProfiler.js +0 -39
  560. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
  561. package/React/Inspector/RCTInspectorPackagerConnection.m +0 -325
  562. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -50
  563. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +0 -314
  564. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -76
  565. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +0 -36
  566. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +0 -33
  567. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +0 -54
  568. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +0 -83
  569. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +0 -121
  570. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +0 -214
  571. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +0 -22
  572. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +0 -143
  573. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +0 -17
  574. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +0 -124
  575. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +0 -58
  576. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +0 -422
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +0 -98
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +0 -25
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +0 -20
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +0 -45
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +0 -37
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +0 -19
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +0 -24
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +0 -257
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +0 -210
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +0 -43
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +0 -39
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +0 -165
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +0 -85
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +0 -204
  591. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +0 -161
  592. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +0 -232
  593. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +0 -70
  594. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +0 -69
  595. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -114
  596. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +0 -31
  597. package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +0 -39
  598. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +0 -82
  599. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +0 -31
  600. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +0 -45
  601. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Doxyfile +0 -18
  602. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +0 -93
  603. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +0 -58
  604. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +0 -266
  605. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +0 -37
  606. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +0 -112
  607. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +0 -43
  608. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +0 -350
  609. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +0 -20
  610. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +0 -20
  611. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +0 -10
  612. package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +0 -102
  613. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +0 -47
  614. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +0 -38
  615. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +0 -41
  616. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +0 -35
  617. package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +0 -243
  618. package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +0 -15
  619. package/ReactCommon/React-nativeconfig.podspec +0 -36
  620. package/ReactCommon/cxxreact/tests/main.cpp +0 -15
  621. package/ReactCommon/react/config/CMakeLists.txt +0 -20
  622. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -28
  623. package/ReactCommon/react/config/ReactNativeConfig.h +0 -42
  624. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -95
  625. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +0 -80
  626. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +0 -10
  627. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -78
  628. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -69
  629. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +0 -123
  630. package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +0 -79
  631. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
  632. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
  633. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
  634. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewComponentDescriptor.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h} +0 -0
  635. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.cpp → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp} +0 -0
  636. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h} +0 -0
@@ -0,0 +1,139 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <yoga/enums/Unit.h>
11
+ #include <yoga/numeric/FloatOptional.h>
12
+
13
+ namespace facebook::yoga {
14
+
15
+ /**
16
+ * This class represents a CSS Value for sizes (e.g. width, height, min-width,
17
+ * etc.). It may be one of:
18
+ * 1. Undefined
19
+ * 2. A keyword (e.g. auto, max-content, stretch, etc.)
20
+ * 3. A CSS <length-percentage> value:
21
+ * a. <length> value (e.g. 10px)
22
+ * b. <percentage> value of a reference <length>
23
+ *
24
+ * References:
25
+ * 1. https://www.w3.org/TR/css-values-4/#lengths
26
+ * 2. https://www.w3.org/TR/css-values-4/#percentage-value
27
+ * 3. https://www.w3.org/TR/css-values-4/#mixed-percentages
28
+ */
29
+ class StyleSizeLength {
30
+ public:
31
+ constexpr StyleSizeLength() = default;
32
+
33
+ constexpr static StyleSizeLength points(float value) {
34
+ return yoga::isUndefined(value) || yoga::isinf(value)
35
+ ? undefined()
36
+ : StyleSizeLength{FloatOptional{value}, Unit::Point};
37
+ }
38
+
39
+ constexpr static StyleSizeLength percent(float value) {
40
+ return yoga::isUndefined(value) || yoga::isinf(value)
41
+ ? undefined()
42
+ : StyleSizeLength{FloatOptional{value}, Unit::Percent};
43
+ }
44
+
45
+ constexpr static StyleSizeLength ofAuto() {
46
+ return StyleSizeLength{{}, Unit::Auto};
47
+ }
48
+
49
+ constexpr static StyleSizeLength ofMaxContent() {
50
+ return StyleSizeLength{{}, Unit::MaxContent};
51
+ }
52
+
53
+ constexpr static StyleSizeLength ofFitContent() {
54
+ return StyleSizeLength{{}, Unit::FitContent};
55
+ }
56
+
57
+ constexpr static StyleSizeLength ofStretch() {
58
+ return StyleSizeLength{{}, Unit::Stretch};
59
+ }
60
+
61
+ constexpr static StyleSizeLength undefined() {
62
+ return StyleSizeLength{{}, Unit::Undefined};
63
+ }
64
+
65
+ constexpr bool isAuto() const {
66
+ return unit_ == Unit::Auto;
67
+ }
68
+
69
+ constexpr bool isMaxContent() const {
70
+ return unit_ == Unit::MaxContent;
71
+ }
72
+
73
+ constexpr bool isFitContent() const {
74
+ return unit_ == Unit::FitContent;
75
+ }
76
+
77
+ constexpr bool isStretch() const {
78
+ return unit_ == Unit::Stretch;
79
+ }
80
+
81
+ constexpr bool isUndefined() const {
82
+ return unit_ == Unit::Undefined;
83
+ }
84
+
85
+ constexpr bool isDefined() const {
86
+ return !isUndefined();
87
+ }
88
+
89
+ constexpr bool isPoints() const {
90
+ return unit_ == Unit::Point;
91
+ }
92
+
93
+ constexpr bool isPercent() const {
94
+ return unit_ == Unit::Percent;
95
+ }
96
+
97
+ constexpr FloatOptional value() const {
98
+ return value_;
99
+ }
100
+
101
+ constexpr FloatOptional resolve(float referenceLength) {
102
+ switch (unit_) {
103
+ case Unit::Point:
104
+ return value_;
105
+ case Unit::Percent:
106
+ return FloatOptional{value_.unwrap() * referenceLength * 0.01f};
107
+ default:
108
+ return FloatOptional{};
109
+ }
110
+ }
111
+
112
+ explicit constexpr operator YGValue() const {
113
+ return YGValue{value_.unwrap(), unscopedEnum(unit_)};
114
+ }
115
+
116
+ constexpr bool operator==(const StyleSizeLength& rhs) const {
117
+ return value_ == rhs.value_ && unit_ == rhs.unit_;
118
+ }
119
+
120
+ constexpr bool inexactEquals(const StyleSizeLength& other) const {
121
+ return unit_ == other.unit_ &&
122
+ facebook::yoga::inexactEquals(value_, other.value_);
123
+ }
124
+
125
+ private:
126
+ // We intentionally do not allow direct construction using value and unit, to
127
+ // avoid invalid, or redundant combinations.
128
+ constexpr StyleSizeLength(FloatOptional value, Unit unit)
129
+ : value_(value), unit_(unit) {}
130
+
131
+ FloatOptional value_{};
132
+ Unit unit_{Unit::Undefined};
133
+ };
134
+
135
+ inline bool inexactEquals(const StyleSizeLength& a, const StyleSizeLength& b) {
136
+ return a.inexactEquals(b);
137
+ }
138
+
139
+ } // namespace facebook::yoga
@@ -62,8 +62,16 @@ class StyleValueHandle {
62
62
  Percent,
63
63
  Number,
64
64
  Auto,
65
+ Keyword
65
66
  };
66
67
 
68
+ // Intentionally leaving out auto as a fast path
69
+ enum class Keyword : uint8_t { MaxContent, FitContent, Stretch };
70
+
71
+ constexpr bool isKeyword(Keyword keyword) const {
72
+ return type() == Type::Keyword && value() == static_cast<uint16_t>(keyword);
73
+ }
74
+
67
75
  constexpr Type type() const {
68
76
  return static_cast<Type>(repr_ & kHandleTypeMask);
69
77
  }
@@ -13,6 +13,7 @@
13
13
  #include <yoga/numeric/FloatOptional.h>
14
14
  #include <yoga/style/SmallValueBuffer.h>
15
15
  #include <yoga/style/StyleLength.h>
16
+ #include <yoga/style/StyleSizeLength.h>
16
17
  #include <yoga/style/StyleValueHandle.h>
17
18
 
18
19
  namespace facebook::yoga {
@@ -32,13 +33,30 @@ class StyleValuePool {
32
33
  } else if (length.isAuto()) {
33
34
  handle.setType(StyleValueHandle::Type::Auto);
34
35
  } else {
35
- auto type = length.unit() == Unit::Point
36
- ? StyleValueHandle::Type::Point
37
- : StyleValueHandle::Type::Percent;
36
+ auto type = length.isPoints() ? StyleValueHandle::Type::Point
37
+ : StyleValueHandle::Type::Percent;
38
38
  storeValue(handle, length.value().unwrap(), type);
39
39
  }
40
40
  }
41
41
 
42
+ void store(StyleValueHandle& handle, StyleSizeLength sizeValue) {
43
+ if (sizeValue.isUndefined()) {
44
+ handle.setType(StyleValueHandle::Type::Undefined);
45
+ } else if (sizeValue.isAuto()) {
46
+ handle.setType(StyleValueHandle::Type::Auto);
47
+ } else if (sizeValue.isMaxContent()) {
48
+ storeKeyword(handle, StyleValueHandle::Keyword::MaxContent);
49
+ } else if (sizeValue.isStretch()) {
50
+ storeKeyword(handle, StyleValueHandle::Keyword::Stretch);
51
+ } else if (sizeValue.isFitContent()) {
52
+ storeKeyword(handle, StyleValueHandle::Keyword::FitContent);
53
+ } else {
54
+ auto type = sizeValue.isPoints() ? StyleValueHandle::Type::Point
55
+ : StyleValueHandle::Type::Percent;
56
+ storeValue(handle, sizeValue.value().unwrap(), type);
57
+ }
58
+ }
59
+
42
60
  void store(StyleValueHandle& handle, FloatOptional number) {
43
61
  if (number.isUndefined()) {
44
62
  handle.setType(StyleValueHandle::Type::Undefined);
@@ -66,6 +84,31 @@ class StyleValuePool {
66
84
  }
67
85
  }
68
86
 
87
+ StyleSizeLength getSize(StyleValueHandle handle) const {
88
+ if (handle.isUndefined()) {
89
+ return StyleSizeLength::undefined();
90
+ } else if (handle.isAuto()) {
91
+ return StyleSizeLength::ofAuto();
92
+ } else if (handle.isKeyword(StyleValueHandle::Keyword::MaxContent)) {
93
+ return StyleSizeLength::ofMaxContent();
94
+ } else if (handle.isKeyword(StyleValueHandle::Keyword::FitContent)) {
95
+ return StyleSizeLength::ofFitContent();
96
+ } else if (handle.isKeyword(StyleValueHandle::Keyword::Stretch)) {
97
+ return StyleSizeLength::ofStretch();
98
+ } else {
99
+ assert(
100
+ handle.type() == StyleValueHandle::Type::Point ||
101
+ handle.type() == StyleValueHandle::Type::Percent);
102
+ float value = (handle.isValueIndexed())
103
+ ? std::bit_cast<float>(buffer_.get32(handle.value()))
104
+ : unpackInlineInteger(handle.value());
105
+
106
+ return handle.type() == StyleValueHandle::Type::Point
107
+ ? StyleSizeLength::points(value)
108
+ : StyleSizeLength::percent(value);
109
+ }
110
+ }
111
+
69
112
  FloatOptional getNumber(StyleValueHandle handle) const {
70
113
  if (handle.isUndefined()) {
71
114
  return FloatOptional{};
@@ -98,6 +141,20 @@ class StyleValuePool {
98
141
  }
99
142
  }
100
143
 
144
+ void storeKeyword(
145
+ StyleValueHandle& handle,
146
+ StyleValueHandle::Keyword keyword) {
147
+ handle.setType(StyleValueHandle::Type::Keyword);
148
+
149
+ if (handle.isValueIndexed()) {
150
+ auto newIndex =
151
+ buffer_.replace(handle.value(), static_cast<uint32_t>(keyword));
152
+ handle.setValue(newIndex);
153
+ } else {
154
+ handle.setValue(static_cast<uint16_t>(keyword));
155
+ }
156
+ }
157
+
101
158
  static constexpr bool isIntegerPackable(float f) {
102
159
  constexpr uint16_t kMaxInlineAbsValue = (1 << 11) - 1;
103
160
 
@@ -6,7 +6,7 @@ compileSdk = "35"
6
6
  buildTools = "35.0.0"
7
7
  ndkVersion = "27.1.12297006"
8
8
  # Dependencies versions
9
- agp = "8.7.2"
9
+ agp = "8.8.0"
10
10
  androidx-annotation = "1.6.0"
11
11
  androidx-appcompat = "1.6.1"
12
12
  androidx-autofill = "1.1.0"
@@ -17,14 +17,16 @@ assertj = "3.21.0"
17
17
  binary-compatibility-validator = "0.13.2"
18
18
  download = "5.4.0"
19
19
  fbjni = "0.7.0"
20
- fresco = "3.4.0"
20
+ fresco = "3.6.0"
21
21
  infer-annotation = "0.18.0"
22
22
  javax-annotation-api = "1.3.2"
23
23
  javax-inject = "1"
24
+ jsc-android = "2026004.0.1"
24
25
  jsr305 = "3.0.2"
25
26
  junit = "4.13.2"
26
27
  kotlin = "2.0.21"
27
28
  mockito = "3.12.4"
29
+ mockito-kotlin = "3.2.0"
28
30
  nexus-publish = "1.3.0"
29
31
  okhttp = "4.9.2"
30
32
  okio = "2.9.0"
@@ -66,10 +68,12 @@ okhttp3 = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
66
68
  okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
67
69
  javax-inject = { module = "javax.inject:javax.inject", version.ref = "javax-inject" }
68
70
  javax-annotation-api = { module = "javax.annotation:javax.annotation-api", version.ref = "javax-annotation-api" }
71
+ jsc-android = { module = "io.github.react-native-community:jsc-android", version.ref = "jsc-android" }
69
72
 
70
73
  junit = {module = "junit:junit", version.ref = "junit" }
71
74
  assertj = {module = "org.assertj:assertj-core", version.ref = "assertj" }
72
75
  mockito = {module = "org.mockito:mockito-inline", version.ref = "mockito" }
76
+ mockito-kotlin = {module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockito-kotlin" }
73
77
  robolectric = {module = "org.robolectric:robolectric", version.ref = "robolectric" }
74
78
  thoughtworks = {module = "com.thoughtworks.xstream:xstream", version.ref = "xstream" }
75
79
 
package/index.js CHANGED
@@ -28,6 +28,7 @@ import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
28
28
  import typeof DrawerLayoutAndroid from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid';
29
29
  import typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';
30
30
  import typeof KeyboardAvoidingView from './Libraries/Components/Keyboard/KeyboardAvoidingView';
31
+ import typeof LayoutConformance from './Libraries/Components/LayoutConformance/LayoutConformance';
31
32
  import typeof Pressable from './Libraries/Components/Pressable/Pressable';
32
33
  import typeof ProgressBarAndroid from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';
33
34
  import typeof RefreshControl from './Libraries/Components/RefreshControl/RefreshControl';
@@ -141,6 +142,10 @@ module.exports = {
141
142
  return require('./Libraries/Components/TextInput/InputAccessoryView')
142
143
  .default;
143
144
  },
145
+ get experimental_LayoutConformance(): LayoutConformance {
146
+ return require('./Libraries/Components/LayoutConformance/LayoutConformance')
147
+ .default;
148
+ },
144
149
  get KeyboardAvoidingView(): KeyboardAvoidingView {
145
150
  return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')
146
151
  .default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.77.1-0",
3
+ "version": "0.78.0-0",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -102,8 +102,8 @@
102
102
  "featureflags-check": "node ./scripts/featureflags/index.js --verify-unchanged"
103
103
  },
104
104
  "peerDependencies": {
105
- "@types/react": "^18.2.6",
106
- "react": "^18.2.0"
105
+ "@types/react": "^19.0.0",
106
+ "react": "^19.0.0"
107
107
  },
108
108
  "peerDependenciesMeta": {
109
109
  "@types/react": {
@@ -112,13 +112,12 @@
112
112
  },
113
113
  "dependencies": {
114
114
  "@jest/create-cache-key-function": "^29.6.3",
115
- "@react-native/assets-registry": "0.77.1",
116
- "@react-native/codegen": "0.77.1",
117
- "@react-native/community-cli-plugin": "0.77.1",
118
- "@react-native/gradle-plugin": "0.77.1",
119
- "@react-native/js-polyfills": "0.77.1",
120
- "@react-native/normalize-colors": "0.77.1",
121
- "@react-native-tvos/virtualized-lists": "0.77.1-0",
115
+ "@react-native/assets-registry": "0.78.0",
116
+ "@react-native/codegen": "0.78.0",
117
+ "@react-native/community-cli-plugin": "0.78.0",
118
+ "@react-native/gradle-plugin": "0.78.0",
119
+ "@react-native/js-polyfills": "0.78.0",
120
+ "@react-native/normalize-colors": "0.78.0",
122
121
  "abort-controller": "^3.0.0",
123
122
  "anser": "^1.4.9",
124
123
  "ansi-regex": "^5.0.0",
@@ -132,7 +131,6 @@
132
131
  "glob": "^7.1.1",
133
132
  "invariant": "^2.2.4",
134
133
  "jest-environment-node": "^29.6.3",
135
- "jsc-android": "^250231.0.0",
136
134
  "memoize-one": "^5.0.0",
137
135
  "metro-runtime": "^0.81.0",
138
136
  "metro-source-map": "^0.81.0",
@@ -142,12 +140,13 @@
142
140
  "react-devtools-core": "^6.0.1",
143
141
  "react-refresh": "^0.14.0",
144
142
  "regenerator-runtime": "^0.13.2",
145
- "scheduler": "0.24.0-canary-efb381bbf-20230505",
143
+ "scheduler": "0.25.0",
146
144
  "semver": "^7.1.3",
147
145
  "stacktrace-parser": "^0.1.10",
148
146
  "whatwg-fetch": "^3.0.0",
149
147
  "ws": "^6.2.3",
150
- "yargs": "^17.6.2"
148
+ "yargs": "^17.6.2",
149
+ "@react-native-tvos/virtualized-lists": "0.78.0-0"
151
150
  },
152
151
  "codegenConfig": {
153
152
  "libraries": [
@@ -84,12 +84,18 @@ const codegenCommand = {
84
84
  name: '--outputPath <path>',
85
85
  description: 'Path where generated artifacts will be output to.',
86
86
  },
87
+ {
88
+ name: '--source <string>',
89
+ description: 'Whether the script is invoked from an `app` or a `library`',
90
+ default: 'app',
91
+ },
87
92
  ],
88
93
  func: (argv, config, args) =>
89
94
  require('./scripts/codegen/generate-artifacts-executor').execute(
90
95
  args.path,
91
96
  args.platform,
92
97
  args.outputPath,
98
+ args.source,
93
99
  ),
94
100
  };
95
101
 
@@ -69,13 +69,13 @@ class CodegenUtils
69
69
  # - hermes_enabled: whether hermes is enabled or not.
70
70
  # - script_phases: whether we want to add some build script phases or not.
71
71
  # - file_manager: a class that implements the `File` interface. Defaults to `File`, the Dependency can be injected for testing purposes.
72
- def get_react_codegen_spec(package_json_file, folly_version: get_folly_config()[:version], hermes_enabled: true, script_phases: nil, file_manager: File, logger: CodegenUtils::UI)
72
+ def get_react_codegen_spec(package_json_file, folly_version: Helpers::Constants.folly_config[:version], hermes_enabled: true, script_phases: nil, file_manager: File, logger: CodegenUtils::UI)
73
73
  package = JSON.parse(file_manager.read(package_json_file))
74
74
  version = package['version']
75
75
  use_frameworks = ENV['USE_FRAMEWORKS'] != nil
76
76
 
77
- folly_compiler_flags = get_folly_config()[:compiler_flags]
78
- boost_compiler_flags = get_boost_config()[:compiler_flags]
77
+ folly_compiler_flags = Helpers::Constants.folly_config[:compiler_flags]
78
+ boost_compiler_flags = Helpers::Constants.boost_config[:compiler_flags]
79
79
 
80
80
  header_search_paths = [
81
81
  "\"$(PODS_ROOT)/boost\"",
@@ -282,7 +282,7 @@ class CodegenUtils
282
282
  config_file_dir: '',
283
283
  codegen_output_dir: 'build/generated/ios',
284
284
  config_key: 'codegenConfig',
285
- folly_version: get_folly_config()[:version],
285
+ folly_version: Helpers::Constants.folly_config[:version],
286
286
  codegen_utils: CodegenUtils.new(),
287
287
  file_manager: File,
288
288
  logger: CodegenUtils::UI
@@ -68,10 +68,10 @@ class NewArchitectureHelper
68
68
  end
69
69
  end
70
70
 
71
- def self.install_modules_dependencies(spec, new_arch_enabled, folly_version = get_folly_config()[:version])
71
+ def self.install_modules_dependencies(spec, new_arch_enabled, folly_version = Helpers::Constants.folly_config[:version])
72
72
  # Pod::Specification does not have getters so, we have to read
73
73
  # the existing values from a hash representation of the object.
74
- folly_config = get_folly_config()
74
+ folly_config = Helpers::Constants.folly_config
75
75
  folly_compiler_flags = folly_config[:compiler_flags]
76
76
 
77
77
  hash = spec.to_hash
@@ -145,7 +145,7 @@ class NewArchitectureHelper
145
145
  end
146
146
 
147
147
  def self.folly_compiler_flags
148
- folly_config = get_folly_config()
148
+ folly_config = Helpers::Constants.folly_config
149
149
  return folly_config[:compiler_flags]
150
150
  end
151
151
 
@@ -105,6 +105,7 @@ class ReactNativePodsUtils
105
105
  config.build_settings["LD"] = ccache_clang_sh
106
106
  config.build_settings["CXX"] = ccache_clangpp_sh
107
107
  config.build_settings["LDPLUSPLUS"] = ccache_clangpp_sh
108
+ config.build_settings["CCACHE_BINARY"] = ccache_path
108
109
  end
109
110
 
110
111
  project.save()
@@ -370,7 +371,7 @@ class ReactNativePodsUtils
370
371
  Pod::UI.puts "Setting -DRCT_DYNAMIC_FRAMEWORKS=1 to React-RCTFabric".green
371
372
  rct_dynamic_framework_flag = " -DRCT_DYNAMIC_FRAMEWORKS=1"
372
373
  target_installation_result.native_target.build_configurations.each do |config|
373
- prev_build_settings = config.build_settings['OTHER_CPLUSPLUSFLAGS'] != nil ? config.build_settings['OTHER_CPLUSPLUSFLAGS'] : "$(inherithed)"
374
+ prev_build_settings = config.build_settings['OTHER_CPLUSPLUSFLAGS'] != nil ? config.build_settings['OTHER_CPLUSPLUSFLAGS'] : "$(inherited)"
374
375
  config.build_settings['OTHER_CPLUSPLUSFLAGS'] = prev_build_settings + rct_dynamic_framework_flag
375
376
  end
376
377
  end
@@ -668,7 +669,7 @@ class ReactNativePodsUtils
668
669
 
669
670
  installer.aggregate_targets.each do |aggregate_target|
670
671
  aggregate_target.xcconfigs.each do |config_name, config_file|
671
- is_release = config_name.downcase.include?("release") || config_name.downcase.include?("production")
672
+ is_release = aggregate_target.user_build_configurations[config_name] == :release
672
673
  unless is_release
673
674
  next
674
675
  end
@@ -682,7 +683,7 @@ class ReactNativePodsUtils
682
683
 
683
684
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
684
685
  target_installation_result.native_target.build_configurations.each do |config|
685
- is_release = config.name.downcase.include?("release") || config.name.downcase.include?("production")
686
+ is_release = config.type == :release
686
687
  unless is_release
687
688
  next
688
689
  end
@@ -900,11 +900,12 @@ function generateFBReactNativeSpecIOS(projectRoot /*: string */) /*: void*/ {
900
900
  * @parameter projectRoot: the directory with the app source code, where the package.json lives.
901
901
  * @parameter baseOutputPath: the base output path for the CodeGen.
902
902
  * @parameter targetPlatform: the target platform. Supported values: 'android', 'ios', 'all'.
903
+ * @parameter source: the source that is invoking codegen. Supported values: 'app', 'library'.
903
904
  * @throws If it can't find a config file for react-native.
904
905
  * @throws If it can't find a CodeGen configuration in the file.
905
906
  * @throws If it can't find a cli for the CodeGen.
906
907
  */
907
- function execute(projectRoot, targetPlatform, baseOutputPath) {
908
+ function execute(projectRoot, targetPlatform, baseOutputPath, source) {
908
909
  try {
909
910
  codegenLog(`Analyzing ${path.join(projectRoot, 'package.json')}`);
910
911
 
@@ -952,9 +953,12 @@ function execute(projectRoot, targetPlatform, baseOutputPath) {
952
953
  platform,
953
954
  );
954
955
 
955
- generateRCTThirdPartyComponents(libraries, outputPath);
956
- generateCustomURLHandlers(libraries, outputPath);
957
- generateAppDependencyProvider(outputPath);
956
+ if (source === 'app') {
957
+ // These components are only required by apps, not by libraries
958
+ generateRCTThirdPartyComponents(libraries, outputPath);
959
+ generateCustomURLHandlers(libraries, outputPath);
960
+ generateAppDependencyProvider(outputPath);
961
+ }
958
962
 
959
963
  cleanupEmptyFilesAndFolders(outputPath);
960
964
  }
@@ -25,7 +25,12 @@ const argv = yargs
25
25
  alias: 'outputPath',
26
26
  description: 'Path where generated artifacts will be output to.',
27
27
  })
28
+ .option('s', {
29
+ alias: 'source',
30
+ description: 'Whether the script is invoked from an `app` or a `library`',
31
+ default: 'app',
32
+ })
28
33
  .usage('Usage: $0 -p [path to app] -t [target platform] -o [output path]')
29
34
  .demandOption(['p', 't']).argv;
30
35
 
31
- executor.execute(argv.path, argv.targetPlatform, argv.outputPath);
36
+ executor.execute(argv.path, argv.targetPlatform, argv.outputPath, argv.source);
@@ -148,7 +148,7 @@ if [[ -n "$CONFIG_JSON" ]]; then
148
148
  elif [[ -n "$CONFIG_CMD" ]]; then
149
149
  EXTRA_ARGS+=("--config-cmd" "$CONFIG_CMD")
150
150
  else
151
- EXTRA_ARGS+=("--config-cmd" "$NODE_BINARY $NODE_ARGS $REACT_NATIVE_DIR/cli.js config")
151
+ EXTRA_ARGS+=("--config-cmd" "'$NODE_BINARY' $NODE_ARGS '$REACT_NATIVE_DIR/cli.js' config")
152
152
  fi
153
153
 
154
154
  # shellcheck disable=SC2086
@@ -41,9 +41,9 @@ end
41
41
  # This function prepares the project for React Native, before processing
42
42
  # all the target exposed by the framework.
43
43
  def prepare_react_native_project!
44
- # Temporary solution to suppress duplicated GUID error.
44
+ # Temporary solution to suppress duplicated GUID error & master specs repo warning.
45
45
  # Can be removed once we move to generate files outside pod install.
46
- install! 'cocoapods', :deterministic_uuids => false
46
+ install! 'cocoapods', :deterministic_uuids => false, :warn_for_unused_master_specs_repo => false
47
47
 
48
48
  ReactNativePodsUtils.create_xcode_env_if_missing
49
49
  end
@@ -128,7 +128,6 @@ def use_react_native! (
128
128
  pod 'React-defaultsnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/defaults"
129
129
  pod 'React-Mapbuffer', :path => "#{prefix}/ReactCommon"
130
130
  pod 'React-jserrorhandler', :path => "#{prefix}/ReactCommon/jserrorhandler"
131
- pod 'React-nativeconfig', :path => "#{prefix}/ReactCommon"
132
131
  pod 'RCTDeprecation', :path => "#{prefix}/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
133
132
  pod 'React-RCTFBReactNativeSpec', :path => "#{prefix}/React"
134
133
 
@@ -140,6 +139,7 @@ def use_react_native! (
140
139
 
141
140
  pod 'React-jsiexecutor', :path => "#{prefix}/ReactCommon/jsiexecutor"
142
141
  pod 'React-jsinspector', :path => "#{prefix}/ReactCommon/jsinspector-modern"
142
+ pod 'React-jsinspectortracing', :path => "#{prefix}/ReactCommon/jsinspector-modern/tracing"
143
143
 
144
144
  pod 'React-callinvoker', :path => "#{prefix}/ReactCommon/callinvoker"
145
145
  pod 'React-performancetimeline', :path => "#{prefix}/ReactCommon/react/performance/timeline"
@@ -11,4 +11,4 @@ REACT_NATIVE_CCACHE_CONFIGPATH=$SCRIPT_DIR/ccache.conf
11
11
  # Provide our config file if none is already provided
12
12
  export CCACHE_CONFIGPATH="${CCACHE_CONFIGPATH:-$REACT_NATIVE_CCACHE_CONFIGPATH}"
13
13
 
14
- exec ccache clang++ "$@"
14
+ exec $CCACHE_BINARY clang++ "$@"
@@ -11,4 +11,4 @@ REACT_NATIVE_CCACHE_CONFIGPATH=$SCRIPT_DIR/ccache.conf
11
11
  # Provide our config file if none is already provided
12
12
  export CCACHE_CONFIGPATH="${CCACHE_CONFIGPATH:-$REACT_NATIVE_CCACHE_CONFIGPATH}"
13
13
 
14
- exec ccache clang "$@"
14
+ exec $CCACHE_BINARY clang "$@"
@@ -1 +1 @@
1
- hermes-2024-11-25-RNv0.77.0-d4f25d534ab744866448b36ca3bf3d97c08e638c
1
+ hermes-2025-01-13-RNv0.78.0-a942ef374897d85da38e9c8904574f8376555388
@@ -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
- set -x
7
+ set -x -e
8
8
 
9
9
  release_version="$1"; shift
10
10
  hermesc_path="$1"; shift
Binary file
Binary file
Binary file
Binary file
@@ -20,7 +20,7 @@ export function validateInterpolation<OutputT: number | string>(
20
20
  config: InterpolationConfigType<OutputT>,
21
21
  ): void {
22
22
  for (const key in config) {
23
- if (!isSupportedInterpolationParam(key)) {
23
+ if (key !== 'debugID' && !isSupportedInterpolationParam(key)) {
24
24
  console.error(
25
25
  `Interpolation property '${key}' is not supported by native animated module`,
26
26
  );
@@ -0,0 +1,5 @@
1
+ # Feature Flags
2
+
3
+ This directory contains the JS bindings for the internal React Native feature flags system.
4
+
5
+ See the [`README.md`](../../../scripts/featureflags/README.md) file in `scripts/featureflags` for the full documentation of the system.