react-native-windows 0.80.1 → 0.81.0-preview.4

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 (679) hide show
  1. package/.flowconfig +10 -5
  2. package/Directory.Build.props +1 -1
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/Alert/Alert.js +3 -3
  5. package/Libraries/Alert/Alert.windows.js +5 -2
  6. package/Libraries/Alert/NativeAlertManager.js +1 -0
  7. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  8. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  9. package/Libraries/Alert/RCTAlertManager.js +1 -3
  10. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  11. package/Libraries/Animated/Animated.js +0 -1
  12. package/Libraries/Animated/Animated.js.flow +0 -1
  13. package/Libraries/Animated/AnimatedEvent.js +4 -3
  14. package/Libraries/Animated/AnimatedExports.js +0 -1
  15. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  16. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  17. package/Libraries/Animated/AnimatedMock.js +2 -2
  18. package/Libraries/Animated/Easing.js +1 -1
  19. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  21. package/Libraries/Animated/SpringConfig.js +1 -1
  22. package/Libraries/Animated/animations/Animation.js +10 -2
  23. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  24. package/Libraries/Animated/components/AnimatedText.js +2 -5
  25. package/Libraries/Animated/components/AnimatedView.js +2 -1
  26. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  27. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  28. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  29. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  31. package/Libraries/AppState/NativeAppState.js +1 -0
  32. package/Libraries/AppTheme/AppTheme.js +1 -1
  33. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +4 -0
  36. package/Libraries/Blob/NativeBlobModule.js +1 -0
  37. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  38. package/Libraries/Blob/URL.js +1 -1
  39. package/Libraries/Blob/URLSearchParams.js +5 -1
  40. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  41. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  42. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  44. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  47. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  49. package/Libraries/Components/Button.js +10 -7
  50. package/Libraries/Components/Button.windows.js +4 -4
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
  60. package/Libraries/Components/Glyph/GlyphNativeComponent.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/Keyboard/NativeKeyboardObserver.js +1 -2
  64. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  65. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
  66. package/Libraries/Components/Pressable/Pressable.js +17 -8
  67. package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  70. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  71. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  72. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  73. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  74. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  75. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  76. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  77. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  78. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  79. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  81. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  82. package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
  83. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  84. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  85. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  86. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  87. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  88. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  89. package/Libraries/Components/Sound/SoundManager.js +1 -1
  90. package/Libraries/Components/StaticRenderer.js +1 -1
  91. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  92. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  93. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  94. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  95. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  96. package/Libraries/Components/Switch/Switch.js +10 -3
  97. package/Libraries/Components/Switch/Switch.windows.js +10 -3
  98. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  99. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  100. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  101. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  102. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  103. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  104. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
  105. package/Libraries/Components/TextInput/TextInput.js +42 -39
  106. package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
  107. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  108. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  109. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
  110. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  111. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  112. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  116. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  117. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  118. package/Libraries/Components/Touchable/Position.js +1 -1
  119. package/Libraries/Components/Touchable/Touchable.js +17 -3
  120. package/Libraries/Components/Touchable/Touchable.windows.js +17 -3
  121. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  122. package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
  123. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  124. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  129. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
  130. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  131. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
  132. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  133. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  134. package/Libraries/Components/View/View.js +114 -29
  135. package/Libraries/Components/View/View.windows.js +261 -217
  136. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  137. package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
  138. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
  139. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  140. package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
  141. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  142. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  143. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
  144. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  145. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  146. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  147. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  148. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  149. package/Libraries/Core/ExceptionsManager.js +27 -16
  150. package/Libraries/Core/InitializeCore.js +2 -23
  151. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  152. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  153. package/Libraries/Core/ReactNativeVersion.js +3 -2
  154. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  155. package/Libraries/Core/Timers/JSTimers.js +1 -1
  156. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  157. package/Libraries/Core/Timers/immediateShim.js +1 -1
  158. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  159. package/Libraries/Core/checkNativeVersion.js +1 -0
  160. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  161. package/Libraries/Core/setUpReactDevTools.js +21 -4
  162. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  163. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  164. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  165. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  166. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  167. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  168. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  169. package/Libraries/Image/AssetRegistry.js +4 -10
  170. package/Libraries/Image/Image.android.js +113 -107
  171. package/Libraries/Image/Image.ios.js +10 -2
  172. package/Libraries/Image/Image.windows.js +30 -20
  173. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  174. package/Libraries/Image/ImageInjection.js +1 -1
  175. package/Libraries/Image/ImageSource.d.ts +5 -0
  176. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  177. package/Libraries/Image/NativeImageEditor.js +1 -0
  178. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  179. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  180. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  181. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  182. package/Libraries/Image/RelativeImageStub.js +2 -1
  183. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  184. package/Libraries/Image/resolveAssetSource.js +1 -1
  185. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  186. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  187. package/Libraries/Interaction/InteractionManager.js +64 -54
  188. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  189. package/Libraries/Interaction/TaskQueue.js +8 -9
  190. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  191. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  192. package/Libraries/Linking/Linking.js +1 -1
  193. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  194. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  195. package/Libraries/Lists/FlatList.d.ts +9 -5
  196. package/Libraries/Lists/FlatList.js +6 -7
  197. package/Libraries/Lists/SectionList.js +4 -4
  198. package/Libraries/Lists/SectionListModern.js +9 -3
  199. package/Libraries/Lists/VirtualizedList.js +3 -2
  200. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  201. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  202. package/Libraries/LogBox/LogBox.js +72 -99
  203. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  204. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  205. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
  206. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  207. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  208. package/Libraries/Modal/Modal.d.ts +8 -2
  209. package/Libraries/Modal/Modal.js +24 -3
  210. package/Libraries/Modal/Modal.windows.js +24 -3
  211. package/Libraries/Modal/NativeModalManager.js +1 -0
  212. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  213. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  214. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  215. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  216. package/Libraries/NativeComponent/BaseViewConfig.windows.js +9 -18
  217. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  218. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  219. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  220. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  221. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  222. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  223. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +1 -0
  224. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  225. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  226. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  227. package/Libraries/Network/FormData.js +1 -1
  228. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  229. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  230. package/Libraries/Network/RCTNetworking.android.js +2 -2
  231. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  232. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  233. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +3 -3
  235. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  236. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  237. package/Libraries/Pressability/Pressability.js +1 -1
  238. package/Libraries/Pressability/Pressability.windows.js +1 -1
  239. package/Libraries/Promise.js +1 -1
  240. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  241. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  242. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  243. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  244. package/Libraries/ReactNative/AppContainer.js +1 -1
  245. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  246. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  247. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  248. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  249. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  250. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  251. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  252. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  253. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  254. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  255. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  256. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  257. package/Libraries/ReactNative/RendererProxy.js +1 -1
  258. package/Libraries/ReactNative/RootTag.js +2 -2
  259. package/Libraries/ReactNative/renderApplication.js +1 -1
  260. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  261. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  262. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  263. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  264. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  265. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  266. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  267. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
  268. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/SettingsFallback.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +1 -0
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  275. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  276. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  277. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  278. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  279. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  280. package/Libraries/StyleSheet/PointPropType.js +1 -1
  281. package/Libraries/StyleSheet/Rect.js +1 -1
  282. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  283. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  284. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  285. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  286. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  287. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  288. package/Libraries/StyleSheet/processColor.js +1 -1
  289. package/Libraries/StyleSheet/processColorArray.js +1 -1
  290. package/Libraries/StyleSheet/processFilter.js +1 -2
  291. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  292. package/Libraries/StyleSheet/processTransform.js +1 -1
  293. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  294. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  295. package/Libraries/Text/Text.d.ts +1 -2
  296. package/Libraries/Text/Text.js +255 -246
  297. package/Libraries/Text/Text.windows.js +282 -301
  298. package/Libraries/Text/TextAncestor.js +3 -9
  299. package/Libraries/Text/TextAncestorContext.js +23 -0
  300. package/Libraries/Text/TextNativeComponent.js +4 -0
  301. package/Libraries/Text/TextProps.js +2 -5
  302. package/Libraries/Text/TextProps.windows.js +2 -6
  303. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  304. package/Libraries/Types/CodegenTypes.js +1 -1
  305. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  306. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  307. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  308. package/Libraries/Utilities/Appearance.js +1 -1
  309. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  310. package/Libraries/Utilities/DevLoadingView.js +1 -1
  311. package/Libraries/Utilities/DeviceInfo.js +1 -1
  312. package/Libraries/Utilities/Dimensions.js +1 -1
  313. package/Libraries/Utilities/HMRClient.js +13 -3
  314. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  315. package/Libraries/Utilities/NativeAppearance.js +1 -0
  316. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  317. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  318. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  319. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  320. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  321. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  322. package/Libraries/Utilities/PixelRatio.js +1 -1
  323. package/Libraries/Utilities/Platform.android.js +2 -5
  324. package/Libraries/Utilities/Platform.ios.js +2 -5
  325. package/Libraries/Utilities/Platform.js +1 -1
  326. package/Libraries/Utilities/Platform.js.flow +2 -2
  327. package/Libraries/Utilities/Platform.windows.js +2 -5
  328. package/Libraries/Utilities/PlatformTypes.js +2 -2
  329. package/Libraries/Utilities/RCTLog.js +1 -1
  330. package/Libraries/Utilities/SceneTracker.js +1 -1
  331. package/Libraries/Utilities/binaryToBase64.js +1 -1
  332. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  333. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  334. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  335. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  336. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  337. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  338. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  339. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  340. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  341. package/Libraries/Utilities/logError.js +1 -1
  342. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  343. package/Libraries/Utilities/stringifySafe.js +1 -1
  344. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  345. package/Libraries/Utilities/useColorScheme.js +1 -1
  346. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  347. package/Libraries/Utilities/warnOnce.js +1 -1
  348. package/Libraries/Vibration/NativeVibration.js +1 -0
  349. package/Libraries/Vibration/Vibration.js +1 -2
  350. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  351. package/Libraries/WebSocket/WebSocket.js +1 -1
  352. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  353. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  354. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  355. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  356. package/Microsoft.ReactNative/CompositionSwitcher.idl +163 -162
  357. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
  358. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
  359. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
  360. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
  361. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
  362. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
  363. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
  364. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +104 -4
  365. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
  366. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
  367. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
  368. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
  369. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +41 -33
  370. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
  371. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
  372. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +19 -0
  373. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
  374. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +108 -24
  375. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +1 -0
  376. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
  377. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
  378. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
  379. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
  380. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
  381. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  382. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
  383. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +62 -39
  384. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
  385. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
  386. package/Microsoft.ReactNative/JsiApi.cpp +1 -1
  387. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
  388. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
  389. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
  390. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
  391. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
  392. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
  393. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
  394. package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
  395. package/Microsoft.ReactNative/QuirkSettings.h +3 -0
  396. package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
  397. package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
  398. package/Microsoft.ReactNative/ReactHost/React.h +11 -4
  399. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +199 -29
  400. package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
  401. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
  402. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  403. package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
  404. package/Microsoft.ReactNative/ReactRootView.h +6 -0
  405. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
  406. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
  407. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
  408. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
  409. package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
  410. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
  411. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
  412. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
  413. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
  414. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
  415. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  416. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
  417. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
  418. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
  419. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
  420. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
  421. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
  422. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
  423. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
  424. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
  425. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
  426. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
  427. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
  428. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
  429. package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
  430. package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
  431. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
  432. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
  433. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  434. package/PropertySheets/JSEngine.props +1 -1
  435. package/PropertySheets/React.Cpp.props +6 -4
  436. package/README.md +1 -1
  437. package/ReactCommon/ReactCommon.vcxproj +29 -21
  438. package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
  451. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
  452. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
  453. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
  454. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
  455. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  456. package/ReactCommon/cgmanifest.json +1 -1
  457. package/Scripts/Analyze-Crash.ps1 +87 -3
  458. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  459. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
  460. package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
  461. package/Scripts/creaternwapp.cmd +10 -6
  462. package/Scripts/rnw-dependencies.ps1 +33 -4
  463. package/Shared/CreateModules.h +0 -35
  464. package/Shared/DevServerHelper.h +13 -3
  465. package/Shared/DevSettings.h +6 -5
  466. package/Shared/DevSupportManager.cpp +79 -20
  467. package/Shared/DevSupportManager.h +7 -19
  468. package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
  469. package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
  470. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
  471. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
  472. package/Shared/HermesRuntimeHolder.cpp +29 -111
  473. package/Shared/HermesRuntimeHolder.h +214 -32
  474. package/Shared/IDevSupportManager.h +5 -2
  475. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
  476. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
  477. package/Shared/Inspector/ReactInspectorThread.h +18 -0
  478. package/Shared/JSI/RuntimeHolder.h +5 -2
  479. package/Shared/Modules/BlobModule.cpp +0 -90
  480. package/Shared/Modules/BlobModule.h +0 -40
  481. package/Shared/Modules/FileReaderModule.cpp +0 -104
  482. package/Shared/Modules/FileReaderModule.h +0 -38
  483. package/Shared/Modules/HttpModule.cpp +0 -172
  484. package/Shared/Modules/HttpModule.h +0 -47
  485. package/Shared/Modules/WebSocketModule.cpp +0 -287
  486. package/Shared/Modules/WebSocketModule.h +1 -94
  487. package/Shared/OInstance.cpp +45 -139
  488. package/Shared/OInstance.h +0 -1
  489. package/Shared/Shared.vcxitems +33 -32
  490. package/Shared/Shared.vcxitems.filters +38 -51
  491. package/Shared/TurboModuleManager.cpp +0 -1
  492. package/codegen/NativeDOMSpec.g.h +6 -0
  493. package/codegen/NativeDeviceInfoSpec.g.h +2 -0
  494. package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
  495. package/codegen/NativeMutationObserverSpec.g.h +4 -4
  496. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
  497. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  498. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  499. package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
  500. package/codegen/react/components/rnwcore/Props.cpp +535 -24
  501. package/codegen/react/components/rnwcore/Props.h +138 -0
  502. package/codegen/react/components/rnwcore/States.h +9 -78
  503. package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
  504. package/codegen/rnwcoreJSI-generated.cpp +101 -31
  505. package/codegen/rnwcoreJSI.h +169 -88
  506. package/include/Shared/II18nModule.h +0 -1
  507. package/index.js +22 -2
  508. package/index.windows.js +131 -221
  509. package/interface.js +1 -1
  510. package/jest/MockNativeMethods.js +9 -3
  511. package/jest/RefreshControlMock.js +32 -0
  512. package/jest/assetFileTransformer.js +1 -0
  513. package/jest/local-setup.js +4 -3
  514. package/jest/mock.js +39 -0
  515. package/jest/mockComponent.js +47 -17
  516. package/jest/mockNativeComponent.js +26 -15
  517. package/jest/mocks/AccessibilityInfo.js +62 -0
  518. package/jest/mocks/ActivityIndicator.js +23 -0
  519. package/jest/mocks/AppState.js +19 -0
  520. package/jest/mocks/Clipboard.js +16 -0
  521. package/jest/mocks/Image.js +23 -0
  522. package/jest/mocks/InitializeCore.js +9 -0
  523. package/jest/mocks/Linking.js +28 -0
  524. package/jest/mocks/Modal.js +33 -0
  525. package/jest/mocks/NativeComponentRegistry.js +30 -0
  526. package/jest/mocks/NativeModules.js +239 -0
  527. package/jest/mocks/RefreshControl.js +31 -0
  528. package/jest/mocks/RendererProxy.js +45 -0
  529. package/jest/mocks/ScrollView.js +58 -0
  530. package/jest/mocks/Text.js +27 -0
  531. package/jest/mocks/TextInput.js +32 -0
  532. package/jest/mocks/UIManager.js +60 -0
  533. package/jest/mocks/Vibration.js +16 -0
  534. package/jest/mocks/View.js +27 -0
  535. package/jest/mocks/ViewNativeComponent.js +23 -0
  536. package/jest/mocks/requireNativeComponent.js +22 -0
  537. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  538. package/jest/react-native-env.js +1 -0
  539. package/jest/renderer.js +1 -2
  540. package/jest/resolver.js +1 -0
  541. package/jest/setup.js +64 -449
  542. package/package.json +24 -24
  543. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  544. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  545. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  546. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  547. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  548. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  549. package/src/private/components/virtualview/VirtualView.js +145 -0
  550. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  551. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  552. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  553. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  554. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  555. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  556. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  557. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  558. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  559. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  560. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  561. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  562. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  563. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  564. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  565. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  566. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  567. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  568. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
  569. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  570. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  571. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  572. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  573. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  574. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  575. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  576. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  577. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  578. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  579. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  580. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  581. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  582. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  583. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  584. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  585. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  586. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  587. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  588. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  589. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  590. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  591. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  592. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  593. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  594. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  595. package/src/private/styles/composeStyles.js +5 -12
  596. package/src/private/types/HostInstance.js +1 -1
  597. package/src/private/webapis/dom/events/Event.js +3 -0
  598. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  599. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  600. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  601. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  602. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  603. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  604. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  605. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  606. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  607. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  608. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  609. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  610. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  611. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  612. package/src/private/webapis/errors/DOMException.js +166 -0
  613. package/src/private/webapis/geometry/DOMRect.js +5 -0
  614. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  615. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  616. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  617. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  618. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  619. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  620. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  621. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  622. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  623. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  624. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  625. package/src/private/webapis/performance/EventTiming.js +1 -1
  626. package/src/private/webapis/performance/LongTasks.js +1 -1
  627. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  628. package/src/private/webapis/performance/Performance.js +20 -9
  629. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  630. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  631. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  632. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  633. package/src/private/webapis/performance/UserTiming.js +1 -1
  634. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  635. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  636. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  637. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  638. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  639. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  640. package/template/metro.config.js +2 -4
  641. package/templates/cpp-app/metro.config.js +2 -4
  642. package/templates/cpp-lib/example/metro.config.js +2 -3
  643. package/templates/cpp-lib/template.config.js +24 -0
  644. package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
  645. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
  646. package/types/modules/Devtools.d.ts +23 -9
  647. package/Libraries/BugReporting/BugReporting.js +0 -140
  648. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  649. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  650. package/Libraries/BugReporting/getReactData.js +0 -187
  651. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  652. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
  653. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
  654. package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
  655. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
  656. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
  657. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
  660. package/Shared/InspectorPackagerConnection.cpp +0 -232
  661. package/Shared/InspectorPackagerConnection.h +0 -61
  662. package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
  663. package/Shared/Modules/ExceptionsManagerModule.h +0 -32
  664. package/Shared/Modules/I18nModule.cpp +0 -36
  665. package/Shared/Modules/I18nModule.h +0 -28
  666. package/Shared/Modules/NetworkingModule.cpp +0 -432
  667. package/Shared/Modules/NetworkingModule.h +0 -34
  668. package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
  669. package/Shared/Modules/PlatformConstantsModule.h +0 -23
  670. package/Shared/Modules/SourceCodeModule.cpp +0 -35
  671. package/Shared/Modules/SourceCodeModule.h +0 -27
  672. package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
  673. package/Shared/Modules/StatusBarManagerModule.h +0 -19
  674. package/codegen/NativeBugReportingSpec.g.h +0 -41
  675. package/jest/mockModal.js +0 -32
  676. package/jest/mockScrollView.js +0 -35
  677. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  678. /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
  679. /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
@@ -9,10 +9,15 @@
9
9
  */
10
10
 
11
11
  import type {____ViewStyle_Internal} from '../../StyleSheet/StyleSheetTypes';
12
- import type {AnimatedComponentType} from '../createAnimatedComponent';
12
+ import type {
13
+ AnimatedComponentType,
14
+ AnimatedProps,
15
+ } from '../createAnimatedComponent';
13
16
 
14
17
  import RefreshControl from '../../Components/RefreshControl/RefreshControl';
15
- import ScrollView from '../../Components/ScrollView/ScrollView';
18
+ import ScrollView, {
19
+ type ScrollViewProps,
20
+ } from '../../Components/ScrollView/ScrollView';
16
21
  import flattenStyle from '../../StyleSheet/flattenStyle';
17
22
  import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
18
23
  import StyleSheet from '../../StyleSheet/StyleSheet';
@@ -21,66 +26,64 @@ import useMergeRefs from '../../Utilities/useMergeRefs';
21
26
  import createAnimatedComponent from '../createAnimatedComponent';
22
27
  import useAnimatedProps from '../useAnimatedProps';
23
28
  import * as React from 'react';
24
- import {useMemo} from 'react';
29
+ import {cloneElement, useMemo} from 'react';
25
30
 
26
- type AnimatedScrollViewProps = React.ElementConfig<typeof ScrollView>;
27
31
  type AnimatedScrollViewInstance = React.ElementRef<typeof ScrollView>;
28
32
 
29
33
  /**
30
34
  * @see https://github.com/facebook/react-native/commit/b8c8562
31
35
  */
32
36
  const AnimatedScrollView: AnimatedComponentType<
33
- AnimatedScrollViewProps,
37
+ ScrollViewProps,
34
38
  AnimatedScrollViewInstance,
35
- > = React.forwardRef(
36
- function AnimatedScrollViewWithOrWithoutInvertedRefreshControl(
37
- props,
38
- forwardedRef,
39
+ > = function AnimatedScrollViewWithOrWithoutInvertedRefreshControl({
40
+ ref: forwardedRef,
41
+ ...props
42
+ }: {
43
+ ref?: React.RefSetter<AnimatedScrollViewInstance>,
44
+ ...AnimatedProps<ScrollViewProps>,
45
+ }) {
46
+ // (Android only) When a ScrollView has a RefreshControl and
47
+ // any `style` property set with an Animated.Value, the CSS
48
+ // gets incorrectly applied twice. This is because ScrollView
49
+ // swaps the parent/child relationship of itself and the
50
+ // RefreshControl component (see ScrollView.js for more details).
51
+ if (
52
+ Platform.OS === 'android' &&
53
+ props.refreshControl != null &&
54
+ props.style != null
39
55
  ) {
40
- // (Android only) When a ScrollView has a RefreshControl and
41
- // any `style` property set with an Animated.Value, the CSS
42
- // gets incorrectly applied twice. This is because ScrollView
43
- // swaps the parent/child relationship of itself and the
44
- // RefreshControl component (see ScrollView.js for more details).
45
- if (
46
- Platform.OS === 'android' &&
47
- props.refreshControl != null &&
48
- props.style != null
49
- ) {
50
- return (
51
- // $FlowFixMe - It should return an Animated ScrollView but it returns a ScrollView with Animated props applied.
52
- <AnimatedScrollViewWithInvertedRefreshControl
53
- scrollEventThrottle={0.0001}
54
- {...props}
55
- ref={forwardedRef}
56
- // $FlowFixMe[incompatible-type]
57
- refreshControl={props.refreshControl}
58
- />
59
- );
60
- } else {
61
- return (
62
- <AnimatedScrollViewWithoutInvertedRefreshControl
63
- scrollEventThrottle={0.0001}
64
- {...props}
65
- ref={forwardedRef}
66
- />
67
- );
68
- }
69
- },
70
- );
56
+ return (
57
+ // $FlowFixMe - It should return an Animated ScrollView but it returns a ScrollView with Animated props applied.
58
+ <AnimatedScrollViewWithInvertedRefreshControl
59
+ scrollEventThrottle={0.0001}
60
+ {...props}
61
+ ref={forwardedRef}
62
+ // $FlowFixMe[incompatible-type]
63
+ refreshControl={props.refreshControl}
64
+ />
65
+ );
66
+ } else {
67
+ return (
68
+ <AnimatedScrollViewWithoutInvertedRefreshControl
69
+ scrollEventThrottle={0.0001}
70
+ {...props}
71
+ ref={forwardedRef}
72
+ />
73
+ );
74
+ }
75
+ };
71
76
 
72
- const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
73
- // $FlowFixMe[incompatible-call]
74
- function AnimatedScrollViewWithInvertedRefreshControl(
75
- props: {
76
- ...React.ElementConfig<typeof ScrollView>,
77
- // $FlowFixMe[unclear-type] Same Flow type as `refreshControl` in ScrollView
78
- refreshControl: ExactReactElement_DEPRECATED<any>,
79
- },
80
- forwardedRef:
81
- | {current: AnimatedScrollViewInstance | null, ...}
82
- | ((AnimatedScrollViewInstance | null) => mixed),
83
- ) {
77
+ const AnimatedScrollViewWithInvertedRefreshControl =
78
+ function AnimatedScrollViewWithInvertedRefreshControl({
79
+ ref: forwardedRef,
80
+ ...props
81
+ }: {
82
+ ref?: React.RefSetter<AnimatedScrollViewInstance>,
83
+ ...React.ElementConfig<typeof ScrollView>,
84
+ // $FlowFixMe[unclear-type] Same Flow type as `refreshControl` in ScrollView
85
+ refreshControl: ExactReactElement_DEPRECATED<any>,
86
+ }) {
84
87
  // Split `props` into the animate-able props for the parent (RefreshControl)
85
88
  // and child (ScrollView).
86
89
  const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =
@@ -102,14 +105,14 @@ const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
102
105
  // NOTE: Assumes that refreshControl.ref` and `refreshControl.style` can be
103
106
  // safely clobbered.
104
107
  const refreshControl: ExactReactElement_DEPRECATED<typeof RefreshControl> =
105
- React.cloneElement(props.refreshControl, {
108
+ cloneElement(props.refreshControl, {
106
109
  ...refreshControlAnimatedProps,
107
110
  ref: refreshControlRef,
108
111
  });
109
112
 
110
113
  // Handle animated props on `NativeDirectionalScrollView`.
111
114
  const [scrollViewAnimatedProps, scrollViewRef] = useAnimatedProps<
112
- AnimatedScrollViewProps,
115
+ ScrollViewProps,
113
116
  AnimatedScrollViewInstance,
114
117
  >(intermediatePropsForScrollView);
115
118
  const ref = useMergeRefs<AnimatedScrollViewInstance>(
@@ -134,8 +137,7 @@ const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
134
137
  )}
135
138
  />
136
139
  );
137
- },
138
- );
140
+ };
139
141
 
140
142
  const AnimatedScrollViewWithoutInvertedRefreshControl =
141
143
  createAnimatedComponent(ScrollView);
@@ -10,13 +10,10 @@
10
10
 
11
11
  import type {AnimatedComponentType} from '../createAnimatedComponent';
12
12
 
13
- import Text from '../../Text/Text';
13
+ import Text, {type TextProps} from '../../Text/Text';
14
14
  import createAnimatedComponent from '../createAnimatedComponent';
15
15
  import * as React from 'react';
16
16
 
17
17
  export default (createAnimatedComponent(
18
18
  (Text: $FlowFixMe),
19
- ): AnimatedComponentType<
20
- React.ElementConfig<typeof Text>,
21
- React.ElementRef<typeof Text>,
22
- >);
19
+ ): AnimatedComponentType<TextProps, React.ElementRef<typeof Text>>);
@@ -8,6 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {ViewProps} from '../../Components/View/ViewPropTypes';
11
12
  import type {AnimatedComponentType} from '../createAnimatedComponent';
12
13
 
13
14
  import View from '../../Components/View/View';
@@ -15,6 +16,6 @@ import createAnimatedComponent from '../createAnimatedComponent';
15
16
  import * as React from 'react';
16
17
 
17
18
  export default (createAnimatedComponent(View): AnimatedComponentType<
18
- React.ElementConfig<typeof View>,
19
+ ViewProps,
19
20
  React.ElementRef<typeof View>,
20
21
  >);
@@ -21,7 +21,7 @@ import type AnimatedValue from './nodes/AnimatedValue';
21
21
 
22
22
  import createAnimatedPropsHook from '../../src/private/animated/createAnimatedPropsHook';
23
23
  import composeStyles from '../../src/private/styles/composeStyles';
24
- import View from '../Components/View/View';
24
+ import {type ViewProps} from '../Components/View/ViewPropTypes';
25
25
  import useMergeRefs from '../Utilities/useMergeRefs';
26
26
  import * as React from 'react';
27
27
  import {useMemo} from 'react';
@@ -60,9 +60,7 @@ type NonAnimatedProps =
60
60
  | 'disabled'
61
61
  | 'accessibilityLabel';
62
62
  type PassThroughProps = $ReadOnly<{
63
- passthroughAnimatedPropExplicitValues?: React.ElementConfig<
64
- typeof View,
65
- > | null,
63
+ passthroughAnimatedPropExplicitValues?: ViewProps | null,
66
64
  }>;
67
65
 
68
66
  export type AnimatedProps<Props: {...}> = {
@@ -105,41 +103,45 @@ export function unstable_createAnimatedComponentWithAllowlist<
105
103
  const AnimatedComponent: AnimatedComponentType<
106
104
  TProps,
107
105
  React.ElementRef<TInstance>,
108
- > = React.forwardRef<AnimatedProps<TProps>, React.ElementRef<TInstance>>(
109
- (props, forwardedRef) => {
110
- const [reducedProps, callbackRef] = useAnimatedProps<
111
- TProps,
112
- React.ElementRef<TInstance>,
113
- >(props);
114
- const ref = useMergeRefs<React.ElementRef<TInstance>>(
115
- callbackRef,
116
- forwardedRef,
117
- );
106
+ > = ({
107
+ ref: forwardedRef,
108
+ ...props
109
+ }: {
110
+ ref?: React.RefSetter<React.ElementRef<TInstance>>,
111
+ ...AnimatedProps<TProps>,
112
+ }) => {
113
+ const [reducedProps, callbackRef] = useAnimatedProps<
114
+ TProps,
115
+ React.ElementRef<TInstance>,
116
+ >(props);
117
+ const ref = useMergeRefs<React.ElementRef<TInstance>>(
118
+ callbackRef,
119
+ forwardedRef,
120
+ );
118
121
 
119
- // Some components require explicit passthrough values for animation
120
- // to work properly. For example, if an animated component is
121
- // transformed and Pressable, onPress will not work after transform
122
- // without these passthrough values.
123
- // $FlowFixMe[prop-missing]
124
- const {passthroughAnimatedPropExplicitValues, style} = reducedProps;
125
- const passthroughStyle = passthroughAnimatedPropExplicitValues?.style;
126
- const mergedStyle = useMemo(
127
- () => composeStyles(style, passthroughStyle),
128
- [passthroughStyle, style],
129
- );
122
+ // Some components require explicit passthrough values for animation
123
+ // to work properly. For example, if an animated component is
124
+ // transformed and Pressable, onPress will not work after transform
125
+ // without these passthrough values.
126
+ // $FlowFixMe[prop-missing]
127
+ const {passthroughAnimatedPropExplicitValues, style} = reducedProps;
128
+ const passthroughStyle = passthroughAnimatedPropExplicitValues?.style;
129
+ const mergedStyle = useMemo(
130
+ () => composeStyles(style, passthroughStyle),
131
+ [passthroughStyle, style],
132
+ );
130
133
 
131
- // NOTE: It is important that `passthroughAnimatedPropExplicitValues` is
132
- // spread after `reducedProps` but before `style`.
133
- return (
134
- <Component
135
- {...reducedProps}
136
- {...passthroughAnimatedPropExplicitValues}
137
- style={mergedStyle}
138
- ref={ref}
139
- />
140
- );
141
- },
142
- );
134
+ // NOTE: It is important that `passthroughAnimatedPropExplicitValues` is
135
+ // spread after `reducedProps` but before `style`.
136
+ return (
137
+ <Component
138
+ {...reducedProps}
139
+ {...passthroughAnimatedPropExplicitValues}
140
+ style={mergedStyle}
141
+ ref={ref}
142
+ />
143
+ );
144
+ };
143
145
 
144
146
  AnimatedComponent.displayName = `Animated(${
145
147
  Component.displayName || 'Anonymous'
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  'use strict';
@@ -16,7 +15,7 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
16
15
 
17
16
  import AnimatedNode from './AnimatedNode';
18
17
  import AnimatedWithChildren from './AnimatedWithChildren';
19
- import * as React from 'react';
18
+ import {isValidElement} from 'react';
20
19
 
21
20
  const MAX_DEPTH = 5;
22
21
 
@@ -30,7 +29,7 @@ export function isPlainObject(
30
29
  value !== null &&
31
30
  typeof value === 'object' &&
32
31
  Object.getPrototypeOf(value).isPrototypeOf(Object) &&
33
- !React.isValidElement(value)
32
+ !isValidElement(value)
34
33
  );
35
34
  }
36
35
 
@@ -14,6 +14,7 @@ import type {AnimatedStyleAllowlist} from './AnimatedStyle';
14
14
 
15
15
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
16
16
  import {findNodeHandle} from '../../ReactNative/RendererProxy';
17
+ import flattenStyle from '../../StyleSheet/flattenStyle';
17
18
  import {AnimatedEvent} from '../AnimatedEvent';
18
19
  import AnimatedNode from './AnimatedNode';
19
20
  import AnimatedObject from './AnimatedObject';
@@ -43,18 +44,28 @@ function createAnimatedProps(
43
44
  for (let ii = 0, length = keys.length; ii < length; ii++) {
44
45
  const key = keys[ii];
45
46
  const value = inputProps[key];
47
+ let staticValue = value;
46
48
 
47
49
  if (allowlist == null || hasOwn(allowlist, key)) {
48
50
  let node;
49
51
  if (key === 'style') {
50
- node = AnimatedStyle.from(value, allowlist?.style);
52
+ // Ignore `style` if it is not an object (or array).
53
+ if (typeof value === 'object' && value != null) {
54
+ // Even if we do not find any `AnimatedNode` values in `style`, we
55
+ // still need to use the flattened `style` object because static
56
+ // values can shadow `AnimatedNode` values. We need to make sure that
57
+ // we propagate the flattened `style` object to the `props` object.
58
+ const flatStyle = flattenStyle(value as $FlowFixMe);
59
+ node = AnimatedStyle.from(flatStyle, allowlist?.style, value);
60
+ staticValue = flatStyle;
61
+ }
51
62
  } else if (value instanceof AnimatedNode) {
52
63
  node = value;
53
64
  } else {
54
65
  node = AnimatedObject.from(value);
55
66
  }
56
67
  if (node == null) {
57
- props[key] = value;
68
+ props[key] = staticValue;
58
69
  } else {
59
70
  nodeKeys.push(key);
60
71
  nodes.push(node);
@@ -134,8 +145,24 @@ export default class AnimatedProps extends AnimatedNode {
134
145
  const key = keys[ii];
135
146
  const maybeNode = this.#props[key];
136
147
 
137
- if (key === 'style' && maybeNode instanceof AnimatedStyle) {
138
- props[key] = maybeNode.__getValueWithStaticStyle(staticProps.style);
148
+ if (key === 'style') {
149
+ const staticStyle = staticProps.style;
150
+ const flatStaticStyle = flattenStyle(staticStyle);
151
+ if (maybeNode instanceof AnimatedStyle) {
152
+ const mutableStyle: {[string]: mixed} =
153
+ flatStaticStyle == null
154
+ ? {}
155
+ : flatStaticStyle === staticStyle
156
+ ? // Copy the input style, since we'll mutate it below.
157
+ {...flatStaticStyle}
158
+ : // Reuse `flatStaticStyle` if it is a newly created object.
159
+ flatStaticStyle;
160
+
161
+ maybeNode.__replaceAnimatedNodeWithValues(mutableStyle);
162
+ props[key] = maybeNode.__getValueForStyle(mutableStyle);
163
+ } else {
164
+ props[key] = flatStaticStyle;
165
+ }
139
166
  } else if (maybeNode instanceof AnimatedNode) {
140
167
  props[key] = maybeNode.__getValue();
141
168
  } else if (maybeNode instanceof AnimatedEvent) {
@@ -13,7 +13,6 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
13
13
 
14
14
  import {validateStyles} from '../../../src/private/animated/NativeAnimatedValidation';
15
15
  import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
16
- import flattenStyle from '../../StyleSheet/flattenStyle';
17
16
  import Platform from '../../Utilities/Platform';
18
17
  import AnimatedNode from './AnimatedNode';
19
18
  import AnimatedObject from './AnimatedObject';
@@ -22,8 +21,11 @@ import AnimatedWithChildren from './AnimatedWithChildren';
22
21
 
23
22
  export type AnimatedStyleAllowlist = $ReadOnly<{[string]: true}>;
24
23
 
24
+ type FlatStyle = {[string]: mixed};
25
+ type FlatStyleForWeb<TStyle: FlatStyle> = [mixed, TStyle];
26
+
25
27
  function createAnimatedStyle(
26
- inputStyle: {[string]: mixed},
28
+ flatStyle: FlatStyle,
27
29
  allowlist: ?AnimatedStyleAllowlist,
28
30
  keepUnanimatedValues: boolean,
29
31
  ): [$ReadOnlyArray<string>, $ReadOnlyArray<AnimatedNode>, {[string]: mixed}] {
@@ -31,10 +33,10 @@ function createAnimatedStyle(
31
33
  const nodes: Array<AnimatedNode> = [];
32
34
  const style: {[string]: mixed} = {};
33
35
 
34
- const keys = Object.keys(inputStyle);
36
+ const keys = Object.keys(flatStyle);
35
37
  for (let ii = 0, length = keys.length; ii < length; ii++) {
36
38
  const key = keys[ii];
37
- const value = inputStyle[key];
39
+ const value = flatStyle[key];
38
40
 
39
41
  if (allowlist == null || hasOwn(allowlist, key)) {
40
42
  let node;
@@ -62,10 +64,10 @@ function createAnimatedStyle(
62
64
  // WARNING: This is a potentially expensive check that we should only
63
65
  // do in development. Without this check in development, it might be
64
66
  // difficult to identify which styles need to be allowlisted.
65
- if (AnimatedObject.from(inputStyle[key]) != null) {
67
+ if (AnimatedObject.from(flatStyle[key]) != null) {
66
68
  console.error(
67
- `AnimatedStyle: ${key} is not allowlisted for animation, but it ` +
68
- 'contains AnimatedNode values; styles allowing animation: ',
69
+ `AnimatedStyle: ${key} is not allowlisted for animation, but ` +
70
+ 'it contains AnimatedNode values; styles allowing animation: ',
69
71
  allowlist,
70
72
  );
71
73
  }
@@ -80,7 +82,7 @@ function createAnimatedStyle(
80
82
  }
81
83
 
82
84
  export default class AnimatedStyle extends AnimatedWithChildren {
83
- #inputStyle: any;
85
+ #originalStyleForWeb: ?mixed;
84
86
  #nodeKeys: $ReadOnlyArray<string>;
85
87
  #nodes: $ReadOnlyArray<AnimatedNode>;
86
88
  #style: {[string]: mixed};
@@ -90,10 +92,10 @@ export default class AnimatedStyle extends AnimatedWithChildren {
90
92
  * Otherwise, returns `null`.
91
93
  */
92
94
  static from(
93
- inputStyle: any,
95
+ flatStyle: ?FlatStyle,
94
96
  allowlist: ?AnimatedStyleAllowlist,
97
+ originalStyleForWeb: ?mixed,
95
98
  ): ?AnimatedStyle {
96
- const flatStyle = flattenStyle(inputStyle);
97
99
  if (flatStyle == null) {
98
100
  return null;
99
101
  }
@@ -105,24 +107,31 @@ export default class AnimatedStyle extends AnimatedWithChildren {
105
107
  if (nodes.length === 0) {
106
108
  return null;
107
109
  }
108
- return new AnimatedStyle(nodeKeys, nodes, style, inputStyle);
110
+ return new AnimatedStyle(nodeKeys, nodes, style, originalStyleForWeb);
109
111
  }
110
112
 
111
113
  constructor(
112
114
  nodeKeys: $ReadOnlyArray<string>,
113
115
  nodes: $ReadOnlyArray<AnimatedNode>,
114
116
  style: {[string]: mixed},
115
- inputStyle: any,
117
+ originalStyleForWeb: ?mixed,
116
118
  config?: ?AnimatedNodeConfig,
117
119
  ) {
118
120
  super(config);
119
121
  this.#nodeKeys = nodeKeys;
120
122
  this.#nodes = nodes;
121
123
  this.#style = style;
122
- this.#inputStyle = inputStyle;
124
+
125
+ if ((Platform.OS as string) === 'web') {
126
+ // $FlowIgnore[cannot-write] - Intentional shadowing.
127
+ this.__getValueForStyle = resultStyle => [
128
+ originalStyleForWeb,
129
+ resultStyle,
130
+ ];
131
+ }
123
132
  }
124
133
 
125
- __getValue(): Object | Array<Object> {
134
+ __getValue(): FlatStyleForWeb<FlatStyle> | FlatStyle {
126
135
  const style: {[string]: mixed} = {};
127
136
 
128
137
  const keys = Object.keys(this.#style);
@@ -137,27 +146,23 @@ export default class AnimatedStyle extends AnimatedWithChildren {
137
146
  }
138
147
  }
139
148
 
140
- /* $FlowFixMe[incompatible-type] Error found due to incomplete typing of
141
- * Platform.flow.js */
142
- return Platform.OS === 'web' ? [this.#inputStyle, style] : style;
149
+ return this.__getValueForStyle(style);
143
150
  }
144
151
 
145
152
  /**
146
- * Creates a new `style` object that contains the same style properties as
147
- * the supplied `staticStyle` object, except with animated nodes for any
148
- * style properties that were created by this `AnimatedStyle` instance.
153
+ * See the constructor, where this is shadowed on web platforms.
149
154
  */
150
- __getValueWithStaticStyle(staticStyle: Object): Object | Array<Object> {
151
- const flatStaticStyle = flattenStyle(staticStyle);
152
- const style: {[string]: mixed} =
153
- flatStaticStyle == null
154
- ? {}
155
- : flatStaticStyle === staticStyle
156
- ? // Copy the input style, since we'll mutate it below.
157
- {...flatStaticStyle}
158
- : // Reuse `flatStaticStyle` if it is a newly created object.
159
- flatStaticStyle;
155
+ __getValueForStyle<TStyle: FlatStyle>(
156
+ style: TStyle,
157
+ ): FlatStyleForWeb<TStyle> | TStyle {
158
+ return style;
159
+ }
160
160
 
161
+ /**
162
+ * Mutates the supplied `style` object such that animated nodes are replaced
163
+ * with rasterized values.
164
+ */
165
+ __replaceAnimatedNodeWithValues(style: {[string]: mixed}): void {
161
166
  const keys = Object.keys(style);
162
167
  for (let ii = 0, length = keys.length; ii < length; ii++) {
163
168
  const key = keys[ii];
@@ -175,10 +180,6 @@ export default class AnimatedStyle extends AnimatedWithChildren {
175
180
  style[key] = maybeNode.__getValue();
176
181
  }
177
182
  }
178
-
179
- /* $FlowFixMe[incompatible-type] Error found due to incomplete typing of
180
- * Platform.flow.js */
181
- return Platform.OS === 'web' ? [this.#inputStyle, style] : style;
182
183
  }
183
184
 
184
185
  __getAnimatedValue(): Object {
@@ -8,10 +8,15 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
11
12
  import Platform from '../Utilities/Platform';
12
13
 
13
14
  function shouldUseTurboAnimatedModule(): boolean {
14
- return Platform.OS === 'ios' && global.RN$Bridgeless === true;
15
+ if (ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()) {
16
+ return false;
17
+ } else {
18
+ return Platform.OS === 'ios' && global.RN$Bridgeless === true;
19
+ }
15
20
  }
16
21
 
17
22
  export default shouldUseTurboAnimatedModule;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeAppState';
12
12
  import NativeAppState from '../../src/private/specs_DEPRECATED/modules/NativeAppState';
13
+
13
14
  export default NativeAppState;
@@ -56,7 +56,7 @@ if (NativeAppTheme) {
56
56
  );
57
57
  }
58
58
 
59
- module.exports = {
59
+ export const AppTheme = {
60
60
  // $FlowFixMe[unsafe-getters-setters]
61
61
  get isHighContrast(): boolean {
62
62
  return _isHighContrast;
@@ -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
  'use strict';
@@ -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
  'use strict';
@@ -86,8 +86,12 @@ class BlobManager {
86
86
  });
87
87
  const size = items.reduce((acc, curr) => {
88
88
  if (curr.type === 'string') {
89
+ /* $FlowFixMe[incompatible-call] Natural Inference rollout. See
90
+ * https://fburl.com/workplace/6291gfvu */
89
91
  return acc + global.unescape(encodeURI(curr.data)).length;
90
92
  } else {
93
+ /* $FlowFixMe[prop-missing] Natural Inference rollout. See
94
+ * https://fburl.com/workplace/6291gfvu */
91
95
  return acc + curr.data.size;
92
96
  }
93
97
  }, 0);
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';
12
12
  import NativeBlobModule from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';
13
+
13
14
  export default NativeBlobModule;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';
12
12
  import NativeFileReaderModule from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';
13
+
13
14
  export default NativeFileReaderModule;
@@ -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 Blob from './Blob';
@@ -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
  // Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src
@@ -13,6 +13,10 @@
13
13
  export class URLSearchParams {
14
14
  _searchParams: Map<string, string[]> = new Map();
15
15
 
16
+ get size(): number {
17
+ return this._searchParams.size;
18
+ }
19
+
16
20
  constructor(params?: Record<string, string> | string | [string, string][]) {
17
21
  if (params === null) {
18
22
  return;