react-native-tvos 0.77.0-0rc5 → 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 (655) 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/TV/TVFocusGuideView.js +0 -1
  37. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  38. package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
  39. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  40. package/Libraries/Components/TextInput/TextInput.js +6 -0
  41. package/Libraries/Components/View/ViewPropTypes.d.ts +8 -7
  42. package/Libraries/Components/View/ViewPropTypes.js +0 -9
  43. package/Libraries/Core/ReactNativeVersion.js +2 -2
  44. package/Libraries/Core/setUpBatchedBridge.js +1 -16
  45. package/Libraries/Core/setUpDeveloperTools.js +2 -3
  46. package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
  47. package/Libraries/Image/AssetSourceResolver.js +11 -0
  48. package/Libraries/Image/RCTImageLoader.mm +9 -1
  49. package/Libraries/Image/RCTImageView.mm +3 -3
  50. package/Libraries/Inspector/BorderBox.js +26 -14
  51. package/Libraries/Inspector/BoxInspector.js +60 -42
  52. package/Libraries/Inspector/ElementBox.js +55 -48
  53. package/Libraries/Inspector/StyleInspector.js +36 -30
  54. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  55. package/Libraries/Lists/FlatList.d.ts +1 -1
  56. package/Libraries/Modal/Modal.js +2 -0
  57. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +1 -1
  58. package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
  59. package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
  60. package/Libraries/Network/RCTNetworking.android.js +24 -16
  61. package/Libraries/Network/RCTNetworking.ios.js +1 -46
  62. package/Libraries/Network/RCTNetworking.js.flow +1 -46
  63. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
  64. package/Libraries/Pressability/Pressability.js +2 -2
  65. package/Libraries/ReactNative/UIManagerProperties.js +3 -1
  66. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15829 -26461
  67. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
  68. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
  69. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16103 -26908
  70. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
  71. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
  72. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
  73. package/Libraries/StyleSheet/processTransform.js +6 -0
  74. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +9 -0
  75. package/Libraries/Text/Text.d.ts +6 -1
  76. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +2 -0
  77. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +26 -0
  78. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +2 -0
  79. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +26 -1
  80. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +2 -0
  81. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  82. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +26 -0
  83. package/Libraries/Text/TextProps.js +2 -2
  84. package/Libraries/Utilities/BackHandler.android.js +5 -4
  85. package/Libraries/Utilities/BackHandler.ios.js +3 -4
  86. package/Libraries/Utilities/HMRClient.js +0 -28
  87. package/Libraries/Utilities/HMRClientProdShim.js +0 -1
  88. package/README-core.md +2 -2
  89. package/React/Base/RCTConvert.mm +3 -1
  90. package/React/Base/RCTVersion.m +2 -2
  91. package/React/CoreModules/RCTDevSettings.h +0 -1
  92. package/React/CoreModules/RCTDeviceInfo.mm +4 -0
  93. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +3 -5
  94. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -6
  95. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
  96. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -24
  97. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -28
  98. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +90 -57
  99. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +241 -104
  100. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +0 -5
  101. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +39 -10
  102. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +3 -3
  103. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +107 -34
  104. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
  105. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  106. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -4
  107. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -0
  108. package/React/Fabric/Mounting/RCTMountingManager.mm +6 -9
  109. package/React/Fabric/RCTScheduler.mm +1 -1
  110. package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
  111. package/React/Modules/RCTUIManager.mm +1 -2
  112. package/React/React-RCTFBReactNativeSpec.podspec +1 -0
  113. package/React/React-RCTFabric.podspec +3 -2
  114. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +12 -12
  115. package/React/Views/RCTComponentData.mm +1 -5
  116. package/React/Views/RCTLayout.m +3 -0
  117. package/React/Views/RCTShadowView.h +3 -3
  118. package/React/Views/RCTShadowView.m +52 -20
  119. package/React/Views/RCTTVView.m +5 -2
  120. package/React/Views/RCTView.m +6 -2
  121. package/React/Views/RCTViewManager.m +0 -7
  122. package/React/Views/ScrollView/RCTScrollView.m +109 -45
  123. package/React-Core.podspec +1 -1
  124. package/ReactAndroid/api/ReactAndroid.api +123 -227
  125. package/ReactAndroid/build.gradle.kts +8 -13
  126. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +13 -3
  127. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -0
  128. package/ReactAndroid/external-artifacts/build.gradle.kts +5 -5
  129. package/ReactAndroid/gradle.properties +3 -3
  130. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesMemoryDumper.java → HermesMemoryDumper.kt} +5 -5
  131. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesSamplingProfiler.java → HermesSamplingProfiler.kt} +8 -10
  132. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +12 -59
  133. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  134. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +8 -0
  135. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +37 -0
  136. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +12 -1
  137. package/ReactAndroid/src/main/java/com/facebook/react/{ReactPackageLogger.java → ReactPackageLogger.kt} +3 -3
  138. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +8 -8
  139. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
  140. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -3
  141. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -0
  142. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  143. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +4 -8
  144. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -5
  145. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +0 -7
  146. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -3
  147. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +6 -1
  148. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +11 -23
  149. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +3 -30
  150. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +4 -1
  151. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  152. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +4 -4
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +21 -26
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -14
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +2 -11
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +88 -0
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +6 -6
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +39 -8
  159. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +7 -7
  160. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +21 -21
  161. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +36 -36
  162. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +8 -8
  163. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +10 -10
  164. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +40 -40
  165. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +8 -8
  166. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -3
  167. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +55 -0
  168. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +185 -0
  169. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/{HeadlessJsTaskEventListener.java → HeadlessJsTaskEventListener.kt} +5 -6
  170. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.kt +20 -0
  171. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +4 -4
  172. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +7 -8
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +8 -5
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +11 -17
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  176. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.kt +16 -0
  177. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +107 -0
  178. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +18 -19
  179. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +48 -0
  180. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  181. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +397 -0
  182. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -10
  183. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1 -1
  184. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +8 -8
  185. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +4 -10
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +4 -0
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +13 -12
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +15 -12
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ComponentNameResolver.java → ComponentNameResolver.kt} +4 -5
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +5 -2
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -5
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +21 -0
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +18 -0
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{RootView.java → RootView.kt} +11 -12
  195. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +1 -1
  196. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIBlock.java → UIBlock.kt} +3 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -5
  198. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +25 -0
  199. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +1 -1
  200. package/{Libraries/AppDelegate/RCTAppDelegate+Protected.h → ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt} +3 -8
  201. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +12 -5
  202. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +46 -80
  203. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +5 -5
  204. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +5 -5
  205. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{BatchEventDispatchedListener.java → BatchEventDispatchedListener.kt} +3 -3
  206. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +46 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +40 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -6
  209. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.kt +19 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +23 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +241 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +193 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +44 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +37 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +130 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -1
  217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.kt +77 -0
  218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +196 -0
  219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +16 -17
  220. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +5 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +56 -3
  222. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +11 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/{FpsListener.java → FpsListener.kt} +4 -4
  224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +3 -3
  226. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +136 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -2
  228. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +152 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +52 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -7
  231. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
  232. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +8 -13
  233. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +50 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  235. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +1 -9
  236. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +111 -0
  237. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +91 -20
  238. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +14 -2
  239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +22 -1
  240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +43 -1
  241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +86 -2
  242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +44 -2
  243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +7 -1
  244. package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -6
  245. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +6 -1
  246. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +96 -11
  247. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +9 -0
  248. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -0
  249. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -3
  250. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  251. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +41 -25
  252. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
  253. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +63 -91
  254. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -7
  255. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +9 -9
  256. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +6 -10
  257. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  258. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +4 -0
  259. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  260. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +0 -1
  261. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +49 -49
  262. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +11 -11
  263. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -4
  264. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  265. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -1
  266. package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -9
  267. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +0 -4
  268. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +3 -4
  269. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +3 -4
  270. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +6 -0
  271. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -0
  272. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -0
  273. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -0
  274. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +3 -7
  275. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +0 -2
  276. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +0 -1
  277. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +0 -1
  278. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +2 -8
  279. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +2 -8
  280. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -1
  281. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +18 -17
  282. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +1 -1
  283. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -1
  284. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -2
  285. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +0 -1
  286. package/ReactAndroid/src/main/res/views/view/values/ids.xml +5 -0
  287. package/ReactCommon/React-Fabric.podspec +8 -0
  288. package/ReactCommon/React-FabricComponents.podspec +2 -2
  289. package/ReactCommon/React-FabricImage.podspec +4 -1
  290. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -3
  291. package/ReactCommon/cxxreact/Instance.cpp +6 -6
  292. package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
  293. package/ReactCommon/cxxreact/JSExecutor.cpp +4 -2
  294. package/ReactCommon/cxxreact/ModuleRegistry.cpp +6 -6
  295. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -3
  296. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  297. package/ReactCommon/cxxreact/SystraceSection.h +8 -141
  298. package/ReactCommon/cxxreact/TraceSection.h +181 -0
  299. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +19 -0
  300. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -2
  301. package/ReactCommon/jsc/JSCRuntime.cpp +0 -2
  302. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  303. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +27 -19
  304. package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -3
  305. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +16 -16
  306. package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -1
  307. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +252 -246
  308. package/ReactCommon/jsi/jsi/CMakeLists.txt +0 -3
  309. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
  310. package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
  311. package/ReactCommon/jsi/jsi/decorator.h +61 -0
  312. package/ReactCommon/jsi/jsi/jsi-inl.h +4 -0
  313. package/ReactCommon/jsi/jsi/jsi.cpp +37 -0
  314. package/ReactCommon/jsi/jsi/jsi.h +81 -0
  315. package/ReactCommon/jsi/jsi/test/testlib.cpp +88 -0
  316. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +9 -9
  317. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -1
  318. package/ReactCommon/jsinspector-modern/HostAgent.cpp +3 -7
  319. package/ReactCommon/jsinspector-modern/HostTarget.cpp +22 -1
  320. package/ReactCommon/jsinspector-modern/HostTarget.h +1 -1
  321. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +19 -4
  322. package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -0
  323. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +21 -10
  324. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +12 -11
  325. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +2 -16
  326. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +14 -14
  327. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +7 -13
  328. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +1 -1
  329. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -3
  330. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +3 -3
  331. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -1
  332. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +26 -0
  333. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +21 -0
  334. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +187 -0
  335. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +126 -0
  336. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +56 -0
  337. package/ReactCommon/react/featureflags/CMakeLists.txt +3 -0
  338. package/ReactCommon/react/featureflags/React-featureflags.podspec +7 -0
  339. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +15 -15
  340. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +18 -18
  341. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +88 -88
  342. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +9 -9
  343. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +17 -17
  344. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +454 -0
  345. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +5 -5
  346. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsDynamicProviderTest.cpp +78 -0
  347. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -3
  348. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +3 -3
  349. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +13 -4
  350. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -0
  351. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +19 -11
  352. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +55 -0
  353. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.cpp +35 -0
  354. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +28 -0
  355. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +18 -18
  356. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +8 -8
  357. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
  358. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +5 -8
  359. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -3
  360. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +22 -43
  361. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +0 -15
  362. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  363. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +22 -2
  364. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  365. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  366. package/ReactCommon/react/renderer/animations/CMakeLists.txt +0 -1
  367. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +1 -1
  368. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +25 -19
  369. package/ReactCommon/react/renderer/animations/primitives.h +1 -1
  370. package/ReactCommon/react/renderer/animations/utils.h +3 -4
  371. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +31 -9
  372. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +85 -29
  373. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  374. package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
  375. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +0 -1
  376. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +4 -1
  377. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +2 -0
  378. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -2
  379. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +5 -5
  380. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  381. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +38 -10
  382. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  383. package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -3
  384. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -6
  385. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -4
  386. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +7 -0
  387. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -2
  388. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +2 -2
  389. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +33 -0
  390. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +17 -0
  391. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +3 -2
  392. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +2 -1
  393. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -4
  394. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +7 -0
  395. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
  396. package/ReactCommon/react/renderer/{uimanager/bindingUtils.h → components/text/ParagraphComponentDescriptor.cpp} +2 -8
  397. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +10 -7
  398. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +23 -0
  399. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +8 -1
  400. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +243 -0
  401. package/ReactCommon/react/renderer/components/textinput/TextInputState.cpp +71 -0
  402. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputState.h → TextInputState.h} +27 -7
  403. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +6 -13
  404. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -2
  405. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +145 -144
  406. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +27 -29
  407. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +4 -5
  408. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +0 -26
  409. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +0 -6
  410. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +0 -147
  411. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +5 -57
  412. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +60 -70
  413. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +3 -3
  414. package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +18 -0
  415. package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +36 -0
  416. package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +28 -0
  417. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +4 -0
  418. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -1
  419. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -22
  420. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  421. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +3 -1
  422. package/ReactCommon/react/renderer/components/view/conversions.h +117 -43
  423. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +3 -2
  424. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +3 -1
  425. package/ReactCommon/react/renderer/components/view/primitives.h +1 -1
  426. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +12 -12
  427. package/ReactCommon/react/renderer/core/CMakeLists.txt +0 -1
  428. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +4 -2
  429. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +4 -2
  430. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -2
  431. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +26 -0
  432. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -0
  433. package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -3
  434. package/ReactCommon/react/renderer/core/Props.cpp +16 -5
  435. package/ReactCommon/react/renderer/core/Props.h +11 -4
  436. package/ReactCommon/react/renderer/core/RawProps.cpp +30 -5
  437. package/ReactCommon/react/renderer/core/RawProps.h +10 -1
  438. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -2
  439. package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -1
  440. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -0
  441. package/ReactCommon/react/renderer/core/RawValue.h +315 -22
  442. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +95 -4
  443. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +19 -4
  444. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +7 -1
  445. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +7 -5
  446. package/ReactCommon/react/renderer/graphics/Transform.cpp +11 -2
  447. package/ReactCommon/react/renderer/graphics/Transform.h +2 -1
  448. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +4 -2
  449. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +7 -0
  450. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +43 -0
  451. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +36 -0
  452. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +43 -0
  453. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +94 -0
  454. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +101 -0
  455. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +9 -1
  456. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  457. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +9 -0
  458. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +2 -2
  460. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +187 -152
  461. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -5
  462. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -16
  463. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -12
  464. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +44 -14
  465. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +8 -4
  466. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +1 -1
  467. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +116 -193
  468. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +0 -3
  469. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +7 -4
  470. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +2 -1
  471. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -8
  472. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +6 -6
  473. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +3 -1
  474. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +2 -0
  475. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -11
  476. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -15
  477. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -3
  478. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +0 -1
  479. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +6 -37
  480. package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -3
  481. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +15 -11
  482. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -0
  483. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +56 -2
  484. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +23 -3
  485. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  486. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -0
  487. package/ReactCommon/react/renderer/textlayoutmanager/{platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h → TextLayoutManager.h} +18 -17
  488. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
  489. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +77 -89
  490. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +6 -10
  491. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +11 -5
  492. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +23 -1
  493. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +11 -32
  494. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +9 -23
  495. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.cpp +88 -0
  496. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +50 -0
  497. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +0 -1
  498. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +3 -40
  499. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +23 -18
  500. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -0
  501. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -31
  502. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +0 -4
  503. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  504. package/ReactCommon/react/runtime/CMakeLists.txt +0 -1
  505. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -2
  506. package/ReactCommon/react/runtime/ReactInstance.cpp +43 -57
  507. package/ReactCommon/react/runtime/TimerManager.cpp +4 -4
  508. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +5 -1
  509. package/ReactCommon/react/runtime/hermes/HermesInstance.h +0 -2
  510. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +2 -6
  511. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +6 -15
  512. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
  513. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +15 -15
  514. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +5 -4
  515. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  516. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +33 -17
  517. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +8 -2
  518. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.cpp → ReactPerfettoLogger.cpp} +25 -24
  519. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.h → ReactPerfettoLogger.h} +9 -9
  520. package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -0
  521. package/ReactCommon/yoga/yoga/YGEnums.h +4 -1
  522. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +124 -24
  523. package/ReactCommon/yoga/yoga/YGNodeStyle.h +22 -1
  524. package/ReactCommon/yoga/yoga/YGValue.h +3 -0
  525. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +6 -6
  526. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +2 -2
  527. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +1 -1
  528. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +9 -6
  529. package/ReactCommon/yoga/yoga/enums/Unit.h +4 -1
  530. package/ReactCommon/yoga/yoga/node/Node.cpp +8 -8
  531. package/ReactCommon/yoga/yoga/node/Node.h +5 -5
  532. package/ReactCommon/yoga/yoga/style/Style.h +14 -12
  533. package/ReactCommon/yoga/yoga/style/StyleLength.h +14 -7
  534. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +139 -0
  535. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  536. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +60 -3
  537. package/gradle/libs.versions.toml +6 -2
  538. package/index.js +5 -0
  539. package/package.json +17 -15
  540. package/react-native.config.js +6 -0
  541. package/scripts/cocoapods/codegen_utils.rb +4 -4
  542. package/scripts/cocoapods/new_architecture.rb +3 -3
  543. package/scripts/cocoapods/utils.rb +4 -3
  544. package/scripts/codegen/generate-artifacts-executor.js +8 -4
  545. package/scripts/generate-codegen-artifacts.js +6 -1
  546. package/scripts/react-native-xcode.sh +1 -1
  547. package/scripts/react_native_pods.rb +3 -3
  548. package/scripts/xcode/ccache-clang++.sh +1 -1
  549. package/scripts/xcode/ccache-clang.sh +1 -1
  550. package/sdks/.hermesversion +1 -1
  551. package/sdks/hermes-engine/hermes-utils.rb +2 -2
  552. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +1 -1
  553. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  554. package/sdks/hermesc/osx-bin/hermes +0 -0
  555. package/sdks/hermesc/osx-bin/hermesc +0 -0
  556. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  557. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  558. package/src/private/featureflags/README.md +5 -0
  559. package/src/private/featureflags/ReactNativeFeatureFlags.js +32 -26
  560. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
  561. package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
  562. package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
  563. package/src/private/specs/modules/NativeFantom.js +37 -0
  564. package/src/private/utilities/ensureInstance.js +21 -0
  565. package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
  566. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
  567. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
  568. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  569. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
  570. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  571. package/src/private/webapis/performance/Performance.js +0 -12
  572. package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
  573. package/types/index.d.ts +1 -0
  574. package/types/public/ReactNativeTVTypes.d.ts +49 -51
  575. package/Libraries/HeapCapture/HeapCapture.js +0 -29
  576. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
  577. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
  578. package/Libraries/Performance/SamplingProfiler.js +0 -39
  579. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
  580. package/React/Inspector/RCTInspectorPackagerConnection.m +0 -325
  581. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -50
  582. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +0 -314
  583. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -76
  584. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +0 -36
  585. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +0 -33
  586. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +0 -54
  587. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +0 -83
  588. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +0 -121
  589. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +0 -214
  590. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +0 -22
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +0 -143
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +0 -17
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +0 -124
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +0 -58
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +0 -422
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +0 -98
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +0 -25
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +0 -20
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +0 -45
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +0 -37
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +0 -19
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +0 -24
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +0 -257
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +0 -210
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +0 -43
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +0 -39
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +0 -165
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +0 -85
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +0 -204
  610. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +0 -161
  611. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +0 -232
  612. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +0 -70
  613. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +0 -69
  614. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -114
  615. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +0 -31
  616. package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +0 -39
  617. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +0 -82
  618. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +0 -31
  619. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +0 -45
  620. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Doxyfile +0 -18
  621. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +0 -93
  622. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +0 -58
  623. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +0 -266
  624. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +0 -37
  625. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +0 -112
  626. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +0 -43
  627. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +0 -350
  628. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +0 -20
  629. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +0 -20
  630. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +0 -10
  631. package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +0 -102
  632. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +0 -47
  633. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +0 -38
  634. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +0 -41
  635. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +0 -35
  636. package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +0 -243
  637. package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +0 -15
  638. package/ReactCommon/React-nativeconfig.podspec +0 -36
  639. package/ReactCommon/cxxreact/tests/main.cpp +0 -15
  640. package/ReactCommon/react/config/CMakeLists.txt +0 -20
  641. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -28
  642. package/ReactCommon/react/config/ReactNativeConfig.h +0 -42
  643. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -95
  644. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +0 -80
  645. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +0 -10
  646. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -78
  647. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -69
  648. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +0 -123
  649. package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +0 -79
  650. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
  651. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
  652. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
  653. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewComponentDescriptor.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h} +0 -0
  654. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.cpp → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp} +0 -0
  655. /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,19 +1,22 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.77.0-0rc5",
3
+ "version": "0.78.0-0",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/facebook/react-native.git",
8
+ "url": "git+https://github.com/react-native-tvos/react-native-tvos.git",
9
9
  "directory": "packages/react-native"
10
10
  },
11
- "homepage": "https://reactnative.dev/",
11
+ "homepage": "https://github.com/react-native-tvos/react-native-tvos/wiki",
12
12
  "keywords": [
13
13
  "react",
14
14
  "react-native",
15
15
  "android",
16
16
  "ios",
17
+ "tvos",
18
+ "apple tv",
19
+ "android tv",
17
20
  "mobile",
18
21
  "cross-platform",
19
22
  "app-framework",
@@ -99,8 +102,8 @@
99
102
  "featureflags-check": "node ./scripts/featureflags/index.js --verify-unchanged"
100
103
  },
101
104
  "peerDependencies": {
102
- "@types/react": "^18.2.6",
103
- "react": "^18.2.0"
105
+ "@types/react": "^19.0.0",
106
+ "react": "^19.0.0"
104
107
  },
105
108
  "peerDependenciesMeta": {
106
109
  "@types/react": {
@@ -109,13 +112,12 @@
109
112
  },
110
113
  "dependencies": {
111
114
  "@jest/create-cache-key-function": "^29.6.3",
112
- "@react-native/assets-registry": "0.77.0-rc.5",
113
- "@react-native/codegen": "0.77.0-rc.5",
114
- "@react-native/community-cli-plugin": "0.77.0-rc.5",
115
- "@react-native/gradle-plugin": "0.77.0-rc.5",
116
- "@react-native/js-polyfills": "0.77.0-rc.5",
117
- "@react-native/normalize-colors": "0.77.0-rc.5",
118
- "@react-native-tvos/virtualized-lists": "0.77.0-0rc5",
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",
119
121
  "abort-controller": "^3.0.0",
120
122
  "anser": "^1.4.9",
121
123
  "ansi-regex": "^5.0.0",
@@ -129,7 +131,6 @@
129
131
  "glob": "^7.1.1",
130
132
  "invariant": "^2.2.4",
131
133
  "jest-environment-node": "^29.6.3",
132
- "jsc-android": "^250231.0.0",
133
134
  "memoize-one": "^5.0.0",
134
135
  "metro-runtime": "^0.81.0",
135
136
  "metro-source-map": "^0.81.0",
@@ -139,12 +140,13 @@
139
140
  "react-devtools-core": "^6.0.1",
140
141
  "react-refresh": "^0.14.0",
141
142
  "regenerator-runtime": "^0.13.2",
142
- "scheduler": "0.24.0-canary-efb381bbf-20230505",
143
+ "scheduler": "0.25.0",
143
144
  "semver": "^7.1.3",
144
145
  "stacktrace-parser": "^0.1.10",
145
146
  "whatwg-fetch": "^3.0.0",
146
147
  "ws": "^6.2.3",
147
- "yargs": "^17.6.2"
148
+ "yargs": "^17.6.2",
149
+ "@react-native-tvos/virtualized-lists": "0.78.0-0"
148
150
  },
149
151
  "codegenConfig": {
150
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
@@ -113,8 +113,8 @@ def core_version(version)
113
113
  prerelease = match[2]
114
114
  prerelease_match = prerelease.match(/0rc(\d+)/)
115
115
  if prerelease_match.nil?
116
- hermes_log("core_version = #{version}")
117
- return version
116
+ hermes_log("core_version = #{core_base_version}")
117
+ return core_base_version
118
118
  end
119
119
 
120
120
  cv = "#{core_base_version}-rc.#{prerelease_match[1]}"
@@ -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.