@office-iss/react-native-win32 0.0.0-canary.296 → 0.0.0-canary.298

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 (421) hide show
  1. package/.flowconfig +6 -2
  2. package/CHANGELOG.json +49 -1
  3. package/CHANGELOG.md +23 -4
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +1 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/PromiseTest.js +1 -1
  13. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  14. package/IntegrationTests/SyncMethodTest.js +1 -1
  15. package/IntegrationTests/TimersTest.js +1 -1
  16. package/IntegrationTests/WebSocketTest.js +1 -1
  17. package/Libraries/Alert/Alert.js +1 -1
  18. package/Libraries/Alert/Alert.win32.js +1 -1
  19. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
  21. package/Libraries/Animated/Animated.js +0 -1
  22. package/Libraries/Animated/Animated.js.flow +0 -1
  23. package/Libraries/Animated/AnimatedExports.js +2 -3
  24. package/Libraries/Animated/AnimatedExports.js.flow +1 -2
  25. package/Libraries/Animated/Easing.js +1 -1
  26. package/Libraries/Animated/SpringConfig.js +1 -1
  27. package/Libraries/Animated/animations/Animation.js +5 -2
  28. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  29. package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
  30. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  31. package/Libraries/Animated/createAnimatedComponent.js +37 -33
  32. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  33. package/Libraries/Animated/nodes/AnimatedProps.js +37 -5
  34. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  35. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  36. package/Libraries/AppState/AppState.js +6 -1
  37. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  38. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  39. package/Libraries/Blob/BlobManager.js +4 -0
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +5 -1
  42. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  43. package/Libraries/BugReporting/BugReporting.js +1 -1
  44. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  45. package/Libraries/BugReporting/getReactData.js +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  48. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  49. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  50. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +20 -19
  51. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -1
  52. package/Libraries/Components/Button.js +3 -3
  53. package/Libraries/Components/Button.win32.js +3 -3
  54. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  55. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  59. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  60. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  64. package/Libraries/Components/Pressable/Pressable.js +9 -6
  65. package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
  66. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  67. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +14 -2
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  70. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  71. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  72. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  73. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  74. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  75. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  76. package/Libraries/Components/ScrollView/ScrollView.d.ts +23 -5
  77. package/Libraries/Components/ScrollView/ScrollView.js +22 -14
  78. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  79. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  80. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  81. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  82. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  83. package/Libraries/Components/Sound/SoundManager.js +1 -1
  84. package/Libraries/Components/StaticRenderer.js +1 -1
  85. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  86. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  87. package/Libraries/Components/Switch/Switch.js +8 -2
  88. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  89. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -17
  90. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  91. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  92. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  93. package/Libraries/Components/TextInput/TextInput.flow.js +12 -14
  94. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  95. package/Libraries/Components/TextInput/TextInput.js +40 -35
  96. package/Libraries/Components/TextInput/TextInput.win32.js +41 -35
  97. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  98. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  99. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  100. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  101. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  102. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  103. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  104. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  105. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  106. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  107. package/Libraries/Components/Touchable/Position.js +1 -1
  108. package/Libraries/Components/Touchable/Touchable.js +10 -0
  109. package/Libraries/Components/Touchable/Touchable.win32.js +10 -0
  110. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  111. package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
  112. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  113. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
  114. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
  115. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  116. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  117. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  118. package/Libraries/Components/View/View.js +112 -26
  119. package/Libraries/Components/View/View.win32.js +1 -1
  120. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  121. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -1
  122. package/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  123. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  124. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  125. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  126. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  127. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  128. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  129. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  130. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  131. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  132. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  133. package/Libraries/Core/ExceptionsManager.js +1 -1
  134. package/Libraries/Core/InitializeCore.js +2 -23
  135. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  136. package/Libraries/Core/ReactNativeVersion.js +3 -2
  137. package/Libraries/Core/Timers/JSTimers.js +1 -1
  138. package/Libraries/Core/Timers/immediateShim.js +1 -1
  139. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  140. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  141. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  142. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -1
  143. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  144. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  145. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
  146. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  147. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  148. package/Libraries/Image/AssetRegistry.js +4 -10
  149. package/Libraries/Image/AssetSourceResolver.js +17 -4
  150. package/Libraries/Image/Image.android.js +112 -106
  151. package/Libraries/Image/Image.ios.js +10 -2
  152. package/Libraries/Image/Image.win32.js +11 -3
  153. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  154. package/Libraries/Image/ImageInjection.js +1 -1
  155. package/Libraries/Image/RelativeImageStub.js +2 -1
  156. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  157. package/Libraries/Image/resolveAssetSource.js +1 -1
  158. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  159. package/Libraries/Interaction/InteractionManager.js +62 -53
  160. package/Libraries/Interaction/TaskQueue.js +8 -9
  161. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  162. package/Libraries/Linking/Linking.js +1 -1
  163. package/Libraries/Lists/FlatList.d.ts +9 -5
  164. package/Libraries/Lists/FlatList.js +1 -1
  165. package/Libraries/Lists/SectionListModern.js +9 -3
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  167. package/Libraries/LogBox/LogBox.js +2 -0
  168. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  169. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  170. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  171. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  172. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  173. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  174. package/Libraries/Modal/Modal.js +5 -1
  175. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -5
  177. package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -4
  178. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  179. package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -4
  180. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  181. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  182. package/Libraries/Network/FormData.js +1 -1
  183. package/Libraries/Network/RCTNetworking.android.js +2 -2
  184. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  185. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  186. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  187. package/Libraries/Network/XMLHttpRequest.js +3 -3
  188. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +1 -1
  189. package/Libraries/Pressability/Pressability.js +1 -1
  190. package/Libraries/Pressability/Pressability.win32.js +1 -1
  191. package/Libraries/Promise.js +1 -1
  192. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  193. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  194. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  195. package/Libraries/ReactNative/AppContainer.js +1 -1
  196. package/Libraries/ReactNative/AppRegistryImpl.js +2 -3
  197. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  198. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  199. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  200. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  201. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  202. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  203. package/Libraries/ReactNative/RendererProxy.js +1 -1
  204. package/Libraries/ReactNative/RootTag.js +2 -2
  205. package/Libraries/ReactNative/renderApplication.js +1 -1
  206. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  208. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +1 -1
  209. package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
  210. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
  211. package/Libraries/Settings/Settings.ios.js +1 -1
  212. package/Libraries/Settings/Settings.js +1 -1
  213. package/Libraries/Settings/SettingsFallback.js +1 -1
  214. package/Libraries/Share/Share.js +1 -1
  215. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  217. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  218. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  219. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  220. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  221. package/Libraries/StyleSheet/PointPropType.js +1 -1
  222. package/Libraries/StyleSheet/Rect.js +1 -1
  223. package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
  224. package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
  225. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  226. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  227. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  228. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  229. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  230. package/Libraries/StyleSheet/processColor.js +1 -1
  231. package/Libraries/StyleSheet/processColorArray.js +1 -1
  232. package/Libraries/StyleSheet/processFilter.js +1 -2
  233. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  234. package/Libraries/StyleSheet/processTransform.js +1 -1
  235. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  236. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  237. package/Libraries/Text/Text.d.ts +7 -0
  238. package/Libraries/Text/Text.js +256 -245
  239. package/Libraries/Text/Text.win32.js +294 -285
  240. package/Libraries/Text/TextAncestor.js +3 -2
  241. package/Libraries/Text/TextNativeComponent.js +4 -0
  242. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  243. package/Libraries/Text/TextProps.js +2 -34
  244. package/Libraries/Text/TextProps.win32.js +2 -33
  245. package/Libraries/Types/CodegenTypes.js +1 -1
  246. package/Libraries/Types/CodegenTypesNamespace.js +1 -1
  247. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  248. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  249. package/Libraries/Utilities/Appearance.js +1 -1
  250. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  251. package/Libraries/Utilities/DevLoadingView.js +1 -1
  252. package/Libraries/Utilities/DeviceInfo.js +1 -1
  253. package/Libraries/Utilities/Dimensions.js +1 -1
  254. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  255. package/Libraries/Utilities/HMRClient.js +1 -1
  256. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  257. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  258. package/Libraries/Utilities/PixelRatio.js +1 -1
  259. package/Libraries/Utilities/Platform.android.js +1 -1
  260. package/Libraries/Utilities/Platform.ios.js +1 -1
  261. package/Libraries/Utilities/Platform.js +1 -1
  262. package/Libraries/Utilities/Platform.win32.js +1 -1
  263. package/Libraries/Utilities/PlatformTypes.js +1 -1
  264. package/Libraries/Utilities/RCTLog.js +1 -1
  265. package/Libraries/Utilities/SceneTracker.js +1 -1
  266. package/Libraries/Utilities/binaryToBase64.js +1 -1
  267. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  268. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  269. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  270. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  271. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  272. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  273. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  274. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  275. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  276. package/Libraries/Utilities/logError.js +1 -1
  277. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  278. package/Libraries/Utilities/stringifySafe.js +1 -1
  279. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  280. package/Libraries/Utilities/useColorScheme.js +1 -1
  281. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  282. package/Libraries/Utilities/warnOnce.js +1 -1
  283. package/Libraries/Vibration/Vibration.js +1 -2
  284. package/Libraries/WebSocket/WebSocket.js +1 -1
  285. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  286. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  287. package/Libraries/vendor/core/ErrorUtils.js +29 -5
  288. package/index.js +1 -2
  289. package/index.win32.js +3 -1
  290. package/interface.js +1 -1
  291. package/jest/MockNativeMethods.js +9 -3
  292. package/jest/RefreshControlMock.js +32 -0
  293. package/jest/assetFileTransformer.js +1 -0
  294. package/jest/local-setup.js +4 -3
  295. package/jest/mock.js +39 -0
  296. package/jest/mockComponent.js +47 -17
  297. package/jest/mockNativeComponent.js +26 -15
  298. package/jest/mocks/AccessibilityInfo.js +62 -0
  299. package/jest/mocks/ActivityIndicator.js +23 -0
  300. package/jest/mocks/AppState.js +19 -0
  301. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  302. package/jest/mocks/Image.js +23 -0
  303. package/jest/mocks/InitializeCore.js +9 -0
  304. package/jest/mocks/Linking.js +28 -0
  305. package/jest/mocks/Modal.js +33 -0
  306. package/jest/mocks/NativeComponentRegistry.js +30 -0
  307. package/jest/mocks/NativeModules.js +239 -0
  308. package/jest/mocks/RefreshControl.js +31 -0
  309. package/jest/mocks/RendererProxy.js +45 -0
  310. package/jest/mocks/ScrollView.js +58 -0
  311. package/jest/mocks/Text.js +27 -0
  312. package/jest/mocks/TextInput.js +32 -0
  313. package/jest/mocks/UIManager.js +60 -0
  314. package/jest/mocks/Vibration.js +16 -0
  315. package/jest/mocks/View.js +27 -0
  316. package/jest/mocks/ViewNativeComponent.js +23 -0
  317. package/jest/mocks/requireNativeComponent.js +22 -0
  318. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  319. package/jest/react-native-env.js +1 -0
  320. package/jest/renderer.js +1 -2
  321. package/jest/resolver.js +32 -0
  322. package/jest/setup.js +63 -445
  323. package/overrides.json +45 -38
  324. package/package.json +14 -14
  325. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  326. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  327. package/src/private/animated/createAnimatedPropsHook.js +11 -4
  328. package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
  329. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  330. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  331. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  332. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  333. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  334. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  335. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  336. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  337. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  338. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  339. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  340. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  341. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  342. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  343. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  344. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  345. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  346. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  347. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  348. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  349. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  350. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  351. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  352. package/src/private/featureflags/ReactNativeFeatureFlags.js +65 -5
  353. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  354. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -2
  355. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  356. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  357. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  358. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
  359. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  360. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  361. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  362. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
  363. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  364. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  365. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +1 -1
  366. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  367. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  368. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  369. package/src/private/styles/composeStyles.js +12 -5
  370. package/src/private/types/HostInstance.js +1 -1
  371. package/src/private/webapis/dom/events/Event.js +3 -0
  372. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  373. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  374. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  375. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  376. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  377. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  378. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  379. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  380. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  381. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  382. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  383. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  384. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  385. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  386. package/src/private/webapis/errors/DOMException.js +166 -0
  387. package/src/private/webapis/geometry/DOMRect.js +5 -0
  388. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  389. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  390. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +3 -0
  391. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  392. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +70 -18
  393. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +11 -0
  394. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  395. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  396. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  397. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  398. package/src/private/webapis/performance/EventTiming.js +1 -1
  399. package/src/private/webapis/performance/LongTasks.js +1 -1
  400. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  401. package/src/private/webapis/performance/Performance.js +20 -9
  402. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  403. package/src/private/webapis/performance/PerformanceObserver.js +1 -1
  404. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  405. package/src/private/webapis/performance/UserTiming.js +1 -1
  406. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -1
  407. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  408. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  409. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  410. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  411. package/src/types/globals.d.ts +42 -0
  412. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  413. package/src-win/Libraries/Text/Text.d.ts +7 -0
  414. package/types/index.d.ts +1 -1
  415. package/types/modules/Devtools.d.ts +23 -9
  416. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  417. package/flow/HermesInternalType.js +0 -114
  418. package/flow/console.js +0 -49
  419. package/flow/global.js +0 -88
  420. package/jest/mockModal.js +0 -32
  421. package/jest/mockScrollView.js +0 -35
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow strict
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  class FuseboxSessionObserver {
@@ -4,17 +4,16 @@
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
- * @flow strict-local
7
+ * @flow strict
8
8
  * @format
9
9
  */
10
10
 
11
11
  import NativeReactDevToolsSettingsManager from './specs/NativeReactDevToolsSettingsManager';
12
12
 
13
- module.exports = {
14
- setGlobalHookSettings(settings: string) {
15
- NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings);
16
- },
17
- getGlobalHookSettings(): ?string {
18
- return NativeReactDevToolsSettingsManager?.getGlobalHookSettings();
19
- },
20
- };
13
+ export function setGlobalHookSettings(settings: string) {
14
+ NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings);
15
+ }
16
+
17
+ export function getGlobalHookSettings(): ?string {
18
+ return NativeReactDevToolsSettingsManager?.getGlobalHookSettings();
19
+ }
@@ -12,19 +12,16 @@ import Settings from '../../../../Libraries/Settings/Settings';
12
12
 
13
13
  const GLOBAL_HOOK_SETTINGS = 'ReactDevTools::HookSettings';
14
14
 
15
- const ReactDevToolsSettingsManager = {
16
- setGlobalHookSettings(settings: string): void {
17
- Settings.set({
18
- [GLOBAL_HOOK_SETTINGS]: settings,
19
- });
20
- },
21
- getGlobalHookSettings(): ?string {
22
- const value = Settings.get(GLOBAL_HOOK_SETTINGS);
23
- if (typeof value === 'string') {
24
- return value;
25
- }
26
- return null;
27
- },
28
- };
15
+ export function setGlobalHookSettings(settings: string) {
16
+ Settings.set({
17
+ [GLOBAL_HOOK_SETTINGS]: settings,
18
+ });
19
+ }
29
20
 
30
- module.exports = ReactDevToolsSettingsManager;
21
+ export function getGlobalHookSettings(): ?string {
22
+ const value = Settings.get(GLOBAL_HOOK_SETTINGS);
23
+ if (typeof value === 'string') {
24
+ return value;
25
+ }
26
+ return null;
27
+ }
@@ -4,17 +4,16 @@
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
- * @flow strict-local
7
+ * @flow strict
8
8
  * @format
9
9
  */
10
10
 
11
11
  import NativeReactDevToolsSettingsManager from './specs/NativeReactDevToolsSettingsManager';
12
12
 
13
- module.exports = {
14
- setGlobalHookSettings(settings: string) {
15
- NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings);
16
- },
17
- getGlobalHookSettings(): ?string {
18
- return NativeReactDevToolsSettingsManager?.getGlobalHookSettings();
19
- },
20
- };
13
+ export function setGlobalHookSettings(settings: string) {
14
+ NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings);
15
+ }
16
+
17
+ export function getGlobalHookSettings(): ?string {
18
+ return NativeReactDevToolsSettingsManager?.getGlobalHookSettings();
19
+ }
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  type JSONValue =
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
@@ -4,8 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6667fc8e4fdd2db0b54c908155b110cf>>
7
+ * @generated SignedSource<<a4b4716b9b0e9f84c38d83c991ecfba7>>
8
8
  * @flow strict
9
+ * @noformat
9
10
  */
10
11
 
11
12
  /**
@@ -28,17 +29,21 @@ import {
28
29
 
29
30
  export type ReactNativeFeatureFlagsJsOnly = $ReadOnly<{
30
31
  jsOnlyTestFlag: Getter<boolean>,
32
+ alwaysFlattenAnimatedStyles: Getter<boolean>,
31
33
  animatedShouldDebounceQueueFlush: Getter<boolean>,
32
34
  animatedShouldUseSingleOp: Getter<boolean>,
33
35
  avoidStateUpdateInAnimatedPropsMemo: Getter<boolean>,
34
36
  disableInteractionManager: Getter<boolean>,
35
37
  enableAccessToHostTreeInFabric: Getter<boolean>,
38
+ enableVirtualViewDebugFeatures: Getter<boolean>,
36
39
  fixVirtualizeListCollapseWindowSize: Getter<boolean>,
37
40
  isLayoutAnimationEnabled: Getter<boolean>,
41
+ reduceDefaultPropsInView: Getter<boolean>,
38
42
  scheduleAnimatedCleanupInMicrotask: Getter<boolean>,
39
43
  shouldUseAnimatedObjectForTransform: Getter<boolean>,
40
44
  shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
41
45
  shouldUseSetNativePropsInFabric: Getter<boolean>,
46
+ utilizeTokensInIntersectionObserver: Getter<boolean>,
42
47
  }>;
43
48
 
44
49
  export type ReactNativeFeatureFlagsJsOnlyOverrides = OverridesFor<ReactNativeFeatureFlagsJsOnly>;
@@ -48,9 +53,11 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
48
53
  commonTestFlag: Getter<boolean>,
49
54
  commonTestFlagWithoutNativeImplementation: Getter<boolean>,
50
55
  animatedShouldSignalBatch: Getter<boolean>,
56
+ avoidCeilingAvailableAndroidTextWidth: Getter<boolean>,
51
57
  cxxNativeAnimatedEnabled: Getter<boolean>,
52
58
  disableMainQueueSyncDispatchIOS: Getter<boolean>,
53
59
  disableMountItemReorderingAndroid: Getter<boolean>,
60
+ disableTextLayoutManagerCacheAndroid: Getter<boolean>,
54
61
  enableAccessibilityOrder: Getter<boolean>,
55
62
  enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean>,
56
63
  enableBridgelessArchitecture: Getter<boolean>,
@@ -63,11 +70,14 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
63
70
  enableFabricRenderer: Getter<boolean>,
64
71
  enableFixForParentTagDuringReparenting: Getter<boolean>,
65
72
  enableFontScaleChangesUpdatingLayout: Getter<boolean>,
73
+ enableIOSTextBaselineOffsetPerLine: Getter<boolean>,
66
74
  enableIOSViewClipToPaddingBox: Getter<boolean>,
67
- enableJSRuntimeGCOnMemoryPressureOnIOS: Getter<boolean>,
75
+ enableIntersectionObserverEventLoopIntegration: Getter<boolean>,
68
76
  enableLayoutAnimationsOnAndroid: Getter<boolean>,
69
77
  enableLayoutAnimationsOnIOS: Getter<boolean>,
78
+ enableMainQueueCoordinatorOnIOS: Getter<boolean>,
70
79
  enableMainQueueModulesOnIOS: Getter<boolean>,
80
+ enableModuleArgumentNSNullConversionIOS: Getter<boolean>,
71
81
  enableNativeCSSParsing: Getter<boolean>,
72
82
  enableNetworkEventReporting: Getter<boolean>,
73
83
  enableNewBackgroundAndBorderDrawables: Getter<boolean>,
@@ -86,6 +96,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
86
96
  traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
87
97
  updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
88
98
  useAlwaysAvailableJSErrorHandling: Getter<boolean>,
99
+ useAndroidTextLayoutWidthDirectly: Getter<boolean>,
89
100
  useFabricInterop: Getter<boolean>,
90
101
  useNativeViewConfigsInBridgelessMode: Getter<boolean>,
91
102
  useOptimizedEventBatchingOnAndroid: Getter<boolean>,
@@ -93,6 +104,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
93
104
  useShadowNodeStateOnClone: Getter<boolean>,
94
105
  useTurboModuleInterop: Getter<boolean>,
95
106
  useTurboModules: Getter<boolean>,
107
+ virtualViewPrerenderRatio: Getter<number>,
96
108
  }>;
97
109
 
98
110
  /**
@@ -100,6 +112,11 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
100
112
  */
101
113
  export const jsOnlyTestFlag: Getter<boolean> = createJavaScriptFlagGetter('jsOnlyTestFlag', false);
102
114
 
115
+ /**
116
+ * Changes `Animated` to always flatten style, fixing a bug with shadowed `AnimatedNode` instances.
117
+ */
118
+ export const alwaysFlattenAnimatedStyles: Getter<boolean> = createJavaScriptFlagGetter('alwaysFlattenAnimatedStyles', false);
119
+
103
120
  /**
104
121
  * Enables an experimental flush-queue debouncing in Animated.js.
105
122
  */
@@ -113,7 +130,7 @@ export const animatedShouldUseSingleOp: Getter<boolean> = createJavaScriptFlagGe
113
130
  /**
114
131
  * Changes `useAnimatedPropsMemo` to avoid state updates to invalidate the cached `AnimatedProps`.
115
132
  */
116
- export const avoidStateUpdateInAnimatedPropsMemo: Getter<boolean> = createJavaScriptFlagGetter('avoidStateUpdateInAnimatedPropsMemo', false);
133
+ export const avoidStateUpdateInAnimatedPropsMemo: Getter<boolean> = createJavaScriptFlagGetter('avoidStateUpdateInAnimatedPropsMemo', true);
117
134
 
118
135
  /**
119
136
  * Disables InteractionManager and replaces its scheduler with `setImmediate`.
@@ -125,6 +142,11 @@ export const disableInteractionManager: Getter<boolean> = createJavaScriptFlagGe
125
142
  */
126
143
  export const enableAccessToHostTreeInFabric: Getter<boolean> = createJavaScriptFlagGetter('enableAccessToHostTreeInFabric', false);
127
144
 
145
+ /**
146
+ * Enables VirtualView debug features such as logging and overlays.
147
+ */
148
+ export const enableVirtualViewDebugFeatures: Getter<boolean> = createJavaScriptFlagGetter('enableVirtualViewDebugFeatures', false);
149
+
128
150
  /**
129
151
  * Fixing an edge case where the current window size is not properly calculated with fast scrolling. Window size collapsed to 1 element even if windowSize more than the current amount of elements
130
152
  */
@@ -135,6 +157,11 @@ export const fixVirtualizeListCollapseWindowSize: Getter<boolean> = createJavaSc
135
157
  */
136
158
  export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
137
159
 
160
+ /**
161
+ * Optimize how default (accessibility) props are processed in View to avoid unnecessary keys.
162
+ */
163
+ export const reduceDefaultPropsInView: Getter<boolean> = createJavaScriptFlagGetter('reduceDefaultPropsInView', true);
164
+
138
165
  /**
139
166
  * Changes the cleanup of `AnimatedProps` to occur in a microtask instead of synchronously during effect cleanup (for unmount) or subsequent mounts (for updates).
140
167
  */
@@ -155,6 +182,11 @@ export const shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean> = cre
155
182
  */
156
183
  export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScriptFlagGetter('shouldUseSetNativePropsInFabric', true);
157
184
 
185
+ /**
186
+ * Use tokens in IntersectionObserver vs ShadowNode.
187
+ */
188
+ export const utilizeTokensInIntersectionObserver: Getter<boolean> = createJavaScriptFlagGetter('utilizeTokensInIntersectionObserver', true);
189
+
158
190
  /**
159
191
  * Common flag for testing. Do NOT modify.
160
192
  */
@@ -167,6 +199,10 @@ export const commonTestFlagWithoutNativeImplementation: Getter<boolean> = create
167
199
  * Enables start- and finishOperationBatch on any platform.
168
200
  */
169
201
  export const animatedShouldSignalBatch: Getter<boolean> = createNativeFlagGetter('animatedShouldSignalBatch', false);
202
+ /**
203
+ * Do not incorrectly ceil the available width of an Android text layout
204
+ */
205
+ export const avoidCeilingAvailableAndroidTextWidth: Getter<boolean> = createNativeFlagGetter('avoidCeilingAvailableAndroidTextWidth', true);
170
206
  /**
171
207
  * Use a C++ implementation of Native Animated instead of the platform implementation.
172
208
  */
@@ -179,6 +215,10 @@ export const disableMainQueueSyncDispatchIOS: Getter<boolean> = createNativeFlag
179
215
  * Prevent FabricMountingManager from reordering mountItems, which may lead to invalid state on the UI thread
180
216
  */
181
217
  export const disableMountItemReorderingAndroid: Getter<boolean> = createNativeFlagGetter('disableMountItemReorderingAndroid', false);
218
+ /**
219
+ * Turns off the global measurement cache used by TextLayoutManager on Android.
220
+ */
221
+ export const disableTextLayoutManagerCacheAndroid: Getter<boolean> = createNativeFlagGetter('disableTextLayoutManagerCacheAndroid', false);
182
222
  /**
183
223
  * When enabled, the accessibilityOrder prop will propagate to native platforms and define the accessibility order.
184
224
  */
@@ -227,14 +267,18 @@ export const enableFixForParentTagDuringReparenting: Getter<boolean> = createNat
227
267
  * Enables font scale changes updating layout for measurable nodes.
228
268
  */
229
269
  export const enableFontScaleChangesUpdatingLayout: Getter<boolean> = createNativeFlagGetter('enableFontScaleChangesUpdatingLayout', false);
270
+ /**
271
+ * Applies base offset for each line of text separately on iOS.
272
+ */
273
+ export const enableIOSTextBaselineOffsetPerLine: Getter<boolean> = createNativeFlagGetter('enableIOSTextBaselineOffsetPerLine', false);
230
274
  /**
231
275
  * iOS Views will clip to their padding box vs border box
232
276
  */
233
277
  export const enableIOSViewClipToPaddingBox: Getter<boolean> = createNativeFlagGetter('enableIOSViewClipToPaddingBox', false);
234
278
  /**
235
- * Trigger JS runtime GC on memory pressure event on iOS
279
+ * Integrates IntersectionObserver in the Event Loop in the new architecture, to dispatch the initial notifications for observations in the "Update the rendering" step.
236
280
  */
237
- export const enableJSRuntimeGCOnMemoryPressureOnIOS: Getter<boolean> = createNativeFlagGetter('enableJSRuntimeGCOnMemoryPressureOnIOS', false);
281
+ export const enableIntersectionObserverEventLoopIntegration: Getter<boolean> = createNativeFlagGetter('enableIntersectionObserverEventLoopIntegration', true);
238
282
  /**
239
283
  * When enabled, LayoutAnimations API will animate state changes on Android.
240
284
  */
@@ -243,10 +287,18 @@ export const enableLayoutAnimationsOnAndroid: Getter<boolean> = createNativeFlag
243
287
  * When enabled, LayoutAnimations API will animate state changes on iOS.
244
288
  */
245
289
  export const enableLayoutAnimationsOnIOS: Getter<boolean> = createNativeFlagGetter('enableLayoutAnimationsOnIOS', true);
290
+ /**
291
+ * Make RCTUnsafeExecuteOnMainQueueSync less likely to deadlock, when used in conjuction with sync rendering/events.
292
+ */
293
+ export const enableMainQueueCoordinatorOnIOS: Getter<boolean> = createNativeFlagGetter('enableMainQueueCoordinatorOnIOS', false);
246
294
  /**
247
295
  * Makes modules requiring main queue setup initialize on the main thread, during React Native init.
248
296
  */
249
297
  export const enableMainQueueModulesOnIOS: Getter<boolean> = createNativeFlagGetter('enableMainQueueModulesOnIOS', false);
298
+ /**
299
+ * Enable NSNull conversion when handling module arguments on iOS
300
+ */
301
+ export const enableModuleArgumentNSNullConversionIOS: Getter<boolean> = createNativeFlagGetter('enableModuleArgumentNSNullConversionIOS', false);
250
302
  /**
251
303
  * Parse CSS strings using the Fabric CSS parser instead of ViewConfig processing
252
304
  */
@@ -319,6 +371,10 @@ export const updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean> = create
319
371
  * In Bridgeless mode, use the always available javascript error reporting pipeline.
320
372
  */
321
373
  export const useAlwaysAvailableJSErrorHandling: Getter<boolean> = createNativeFlagGetter('useAlwaysAvailableJSErrorHandling', false);
374
+ /**
375
+ * Trust the width of a text layout we create, instead of re-deriving it from its contents
376
+ */
377
+ export const useAndroidTextLayoutWidthDirectly: Getter<boolean> = createNativeFlagGetter('useAndroidTextLayoutWidthDirectly', true);
322
378
  /**
323
379
  * Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.
324
380
  */
@@ -347,6 +403,10 @@ export const useTurboModuleInterop: Getter<boolean> = createNativeFlagGetter('us
347
403
  * When enabled, NativeModules will be executed by using the TurboModule system
348
404
  */
349
405
  export const useTurboModules: Getter<boolean> = createNativeFlagGetter('useTurboModules', false);
406
+ /**
407
+ * Initial prerender ratio for VirtualView.
408
+ */
409
+ export const virtualViewPrerenderRatio: Getter<number> = createNativeFlagGetter('virtualViewPrerenderRatio', 5);
350
410
 
351
411
  /**
352
412
  * Overrides the feature flags with the provided methods.
@@ -102,6 +102,8 @@ const hasTurboModules =
102
102
  function maybeLogUnavailableNativeModuleError(configName: string): void {
103
103
  if (
104
104
  !NativeReactNativeFeatureFlags &&
105
+ // Don't log in tests.
106
+ process.env.NODE_ENV !== 'test' &&
105
107
  // Don't log more than once per config
106
108
  !reportedConfigNames.has(configName) &&
107
109
  // Don't log in the legacy architecture.
@@ -4,8 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<4bf477efaec82ad8e9e4b1bc17705fd2>>
7
+ * @generated SignedSource<<afe099f339fe761a3856eb3f43dc6ae7>>
8
8
  * @flow strict
9
+ * @noformat
9
10
  */
10
11
 
11
12
  /**
@@ -26,9 +27,11 @@ export interface Spec extends TurboModule {
26
27
  +commonTestFlag?: () => boolean;
27
28
  +commonTestFlagWithoutNativeImplementation?: () => boolean;
28
29
  +animatedShouldSignalBatch?: () => boolean;
30
+ +avoidCeilingAvailableAndroidTextWidth?: () => boolean;
29
31
  +cxxNativeAnimatedEnabled?: () => boolean;
30
32
  +disableMainQueueSyncDispatchIOS?: () => boolean;
31
33
  +disableMountItemReorderingAndroid?: () => boolean;
34
+ +disableTextLayoutManagerCacheAndroid?: () => boolean;
32
35
  +enableAccessibilityOrder?: () => boolean;
33
36
  +enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
34
37
  +enableBridgelessArchitecture?: () => boolean;
@@ -41,11 +44,14 @@ export interface Spec extends TurboModule {
41
44
  +enableFabricRenderer?: () => boolean;
42
45
  +enableFixForParentTagDuringReparenting?: () => boolean;
43
46
  +enableFontScaleChangesUpdatingLayout?: () => boolean;
47
+ +enableIOSTextBaselineOffsetPerLine?: () => boolean;
44
48
  +enableIOSViewClipToPaddingBox?: () => boolean;
45
- +enableJSRuntimeGCOnMemoryPressureOnIOS?: () => boolean;
49
+ +enableIntersectionObserverEventLoopIntegration?: () => boolean;
46
50
  +enableLayoutAnimationsOnAndroid?: () => boolean;
47
51
  +enableLayoutAnimationsOnIOS?: () => boolean;
52
+ +enableMainQueueCoordinatorOnIOS?: () => boolean;
48
53
  +enableMainQueueModulesOnIOS?: () => boolean;
54
+ +enableModuleArgumentNSNullConversionIOS?: () => boolean;
49
55
  +enableNativeCSSParsing?: () => boolean;
50
56
  +enableNetworkEventReporting?: () => boolean;
51
57
  +enableNewBackgroundAndBorderDrawables?: () => boolean;
@@ -64,6 +70,7 @@ export interface Spec extends TurboModule {
64
70
  +traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
65
71
  +updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
66
72
  +useAlwaysAvailableJSErrorHandling?: () => boolean;
73
+ +useAndroidTextLayoutWidthDirectly?: () => boolean;
67
74
  +useFabricInterop?: () => boolean;
68
75
  +useNativeViewConfigsInBridgelessMode?: () => boolean;
69
76
  +useOptimizedEventBatchingOnAndroid?: () => boolean;
@@ -71,6 +78,7 @@ export interface Spec extends TurboModule {
71
78
  +useShadowNodeStateOnClone?: () => boolean;
72
79
  +useTurboModuleInterop?: () => boolean;
73
80
  +useTurboModules?: () => boolean;
81
+ +virtualViewPrerenderRatio?: () => number;
74
82
  }
75
83
 
76
84
  const NativeReactNativeFeatureFlags: ?Spec = TurboModuleRegistry.get<Spec>(
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ExtendedError} from '../../../../Libraries/Core/ExtendedError';
@@ -0,0 +1,44 @@
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
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ let initialized = false;
12
+
13
+ export default function setUpDefaltReactNativeEnvironment(
14
+ enableDeveloperTools: boolean = true,
15
+ ) {
16
+ if (initialized) {
17
+ return;
18
+ }
19
+
20
+ initialized = true;
21
+
22
+ require('../../../Libraries/Core/setUpGlobals');
23
+ require('./setUpDOM').default();
24
+ require('../../../Libraries/Core/setUpPerformance');
25
+ require('../../../Libraries/Core/polyfillPromise');
26
+ require('../../../Libraries/Core/setUpTimers');
27
+ if (__DEV__ && enableDeveloperTools) {
28
+ require('../../../Libraries/Core/setUpReactDevTools');
29
+ }
30
+ require('../../../Libraries/Core/setUpErrorHandling');
31
+ require('../../../Libraries/Core/setUpRegeneratorRuntime');
32
+ require('../../../Libraries/Core/setUpXHR');
33
+ require('../../../Libraries/Core/setUpAlert');
34
+ require('../../../Libraries/Core/setUpNavigator');
35
+ require('../../../Libraries/Core/setUpBatchedBridge');
36
+ require('../../../Libraries/Core/setUpSegmentFetcher');
37
+ if (__DEV__ && enableDeveloperTools) {
38
+ require('../../../Libraries/Core/checkNativeVersion');
39
+ require('../../../Libraries/Core/setUpDeveloperTools');
40
+ require('../../../Libraries/LogBox/LogBox').default.install();
41
+ }
42
+
43
+ require('../../../Libraries/ReactNative/AppRegistry');
44
+ }
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
@@ -4,19 +4,26 @@
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
- * @flow strict
8
7
  * @format
9
8
  */
10
9
 
10
+ import type {
11
+ ImageStyle,
12
+ TextStyle,
13
+ ViewStyle,
14
+ } from '../../../Libraries/StyleSheet/StyleSheet';
15
+ import type {StyleProp} from '../../../Libraries/StyleSheet/StyleSheetTypes';
16
+
11
17
  /**
12
18
  * Combines two styles such that `style2` will override any styles in `style1`.
13
19
  * If either style is null or undefined, the other one is returned without
14
20
  * allocating an array, saving allocations and enabling memoization.
15
21
  */
16
- export default function composeStyles<T1, T2>(
17
- style1: ?T1,
18
- style2: ?T2,
19
- ): ?(T1 | T2 | $ReadOnlyArray<T1 | T2>) {
22
+ export default function composeStyles<
23
+ T: ViewStyle | ImageStyle | TextStyle,
24
+ U: T,
25
+ V: T,
26
+ >(style1: ?StyleProp<U>, style2: ?StyleProp<V>): ?StyleProp<T> {
20
27
  if (style1 == null) {
21
28
  return style2;
22
29
  }
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  export type MeasureOnSuccessCallback = (
@@ -17,6 +17,7 @@
17
17
 
18
18
  import type EventTarget from './EventTarget';
19
19
 
20
+ import {setPlatformObject} from '../../webidl/PlatformObjects';
20
21
  import {
21
22
  COMPOSED_PATH_KEY,
22
23
  CURRENT_TARGET_KEY,
@@ -234,3 +235,5 @@ export type EventPhase =
234
235
  | (typeof Event)['CAPTURING_PHASE']
235
236
  | (typeof Event)['AT_TARGET']
236
237
  | (typeof Event)['BUBBLING_PHASE'];
238
+
239
+ setPlatformObject(Event);