react-native-windows 0.84.0 → 0.85.0-preview.1

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 (461) hide show
  1. package/.flowconfig +1 -5
  2. package/Directory.Build.props +1 -16
  3. package/Directory.Build.targets +12 -4
  4. package/Folly/ThreadNameStub.cpp +4 -6
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  6. package/Libraries/Animated/Animated.d.ts +8 -1
  7. package/Libraries/Animated/AnimatedEvent.js +4 -4
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  9. package/Libraries/Animated/animations/Animation.js +3 -3
  10. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  11. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  12. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  13. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  14. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  17. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  18. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  20. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  21. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  25. package/Libraries/Animated/useAnimatedColor.js +25 -0
  26. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  27. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  34. package/Libraries/Components/Button.js +2 -2
  35. package/Libraries/Components/Button.windows.js +2 -2
  36. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  37. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  38. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  39. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  40. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  41. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  42. package/Libraries/Components/Pressable/Pressable.js +3 -3
  43. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  44. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  45. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  46. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  47. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  48. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
  49. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  51. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  52. package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
  53. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  54. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
  55. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  56. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  57. package/Libraries/Components/StaticRenderer.js +1 -1
  58. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  59. package/Libraries/Components/Switch/Switch.js +3 -3
  60. package/Libraries/Components/Switch/Switch.windows.js +3 -3
  61. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  62. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  64. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  65. package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
  66. package/Libraries/Components/TextInput/TextInput.js +8 -4
  67. package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
  68. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
  69. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  70. package/Libraries/Components/Touchable/Touchable.js +2 -2
  71. package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
  72. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  73. package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
  74. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  75. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
  76. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
  78. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  79. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
  80. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  81. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  82. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  83. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  84. package/Libraries/Components/View/View.windows.js +1 -1
  85. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  86. package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
  87. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  88. package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
  89. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  90. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  91. package/Libraries/Core/ExceptionsManager.js +2 -2
  92. package/Libraries/Core/ExtendedError.js +3 -3
  93. package/Libraries/Core/RawEventEmitter.js +1 -1
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +3 -2
  96. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  97. package/Libraries/Core/setUpErrorHandling.js +4 -2
  98. package/Libraries/Core/setUpReactDevTools.js +23 -6
  99. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  102. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  103. package/Libraries/Image/AssetSourceResolver.js +1 -1
  104. package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
  105. package/Libraries/Image/Image.android.js +172 -306
  106. package/Libraries/Image/ImageProps.js +9 -11
  107. package/Libraries/Image/ImageSource.js +2 -2
  108. package/Libraries/Image/ImageSourceUtils.js +8 -4
  109. package/Libraries/Image/ImageTypes.flow.js +2 -2
  110. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  111. package/Libraries/Image/nativeImageSource.js +1 -1
  112. package/Libraries/Interaction/InteractionManager.js +5 -4
  113. package/Libraries/Interaction/PanResponder.js +1 -1
  114. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  115. package/Libraries/Linking/Linking.js +1 -1
  116. package/Libraries/Lists/FlatList.js +3 -3
  117. package/Libraries/Lists/SectionList.js +1 -1
  118. package/Libraries/Lists/SectionListModern.js +2 -2
  119. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  120. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  121. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  122. package/Libraries/LogBox/LogBox.js +42 -19
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  126. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  128. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
  129. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  135. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  136. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
  137. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  138. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  139. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  140. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  142. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  143. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  144. package/Libraries/Modal/Modal.d.ts +4 -0
  145. package/Libraries/Modal/Modal.js +3 -3
  146. package/Libraries/Modal/Modal.windows.js +7 -3
  147. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  148. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  149. package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
  150. package/Libraries/Network/RCTNetworking.android.js +1 -1
  151. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  152. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  153. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  154. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  155. package/Libraries/Network/XMLHttpRequest.js +1 -1
  156. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  157. package/Libraries/Pressability/Pressability.js +5 -5
  158. package/Libraries/Pressability/Pressability.windows.js +5 -5
  159. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  160. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  161. package/Libraries/Pressability/usePressability.js +3 -14
  162. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  163. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  164. package/Libraries/ReactNative/AppContainer.js +1 -1
  165. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  166. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  167. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  168. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  169. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  170. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  171. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  173. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  174. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  175. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  176. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  177. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
  178. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  179. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  180. package/Libraries/StyleSheet/PointPropType.js +1 -1
  181. package/Libraries/StyleSheet/Rect.js +1 -1
  182. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  183. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  184. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  186. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  187. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  188. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  189. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  190. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  191. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  192. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  193. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  194. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  195. package/Libraries/StyleSheet/processColorArray.js +2 -2
  196. package/Libraries/StyleSheet/processFilter.js +2 -2
  197. package/Libraries/Text/Text.js +295 -627
  198. package/Libraries/Text/Text.windows.js +342 -717
  199. package/Libraries/Text/TextNativeComponent.js +14 -7
  200. package/Libraries/Text/TextProps.js +4 -4
  201. package/Libraries/Text/TextProps.windows.js +4 -4
  202. package/Libraries/Types/CodegenTypes.js +1 -1
  203. package/Libraries/Types/CoreEventTypes.js +21 -21
  204. package/Libraries/Types/CoreEventTypes.windows.js +21 -21
  205. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  206. package/Libraries/Utilities/Appearance.js +6 -1
  207. package/Libraries/Utilities/Dimensions.js +1 -1
  208. package/Libraries/Utilities/HMRClient.js +32 -5
  209. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  210. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  211. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  212. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  213. package/Libraries/Utilities/logError.js +1 -1
  214. package/Libraries/Utilities/stringifySafe.js +3 -3
  215. package/Libraries/Utilities/useMergeRefs.js +2 -2
  216. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  217. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  218. package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
  219. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
  220. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
  221. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
  222. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
  223. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
  224. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
  225. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +4 -4
  226. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
  227. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
  228. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
  229. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
  230. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
  231. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
  232. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  233. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
  234. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
  235. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
  236. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
  237. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
  238. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +2 -7
  239. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
  240. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -61
  241. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
  242. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
  243. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
  244. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
  245. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
  246. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
  247. package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
  248. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
  249. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
  250. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
  251. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
  252. package/Microsoft.ReactNative/QuirkSettings.h +0 -43
  253. package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
  254. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
  255. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
  256. package/Microsoft.ReactNative/ReactHost/React.h +0 -5
  257. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
  258. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
  259. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
  260. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
  261. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
  262. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
  263. package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
  264. package/Microsoft.ReactNative/RedBox.cpp +0 -9
  265. package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
  266. package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
  267. package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
  268. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  269. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
  270. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
  271. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
  272. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
  273. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
  274. package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
  275. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
  276. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
  277. package/PropertySheets/Autolink.props +1 -1
  278. package/PropertySheets/Bundle.props +1 -1
  279. package/PropertySheets/Codegen.props +1 -1
  280. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  281. package/PropertySheets/NuGet.LockFile.props +8 -0
  282. package/PropertySheets/React.Cpp.props +4 -4
  283. package/PropertySheets/ReactNativeArchitecture.props +6 -24
  284. package/ReactCommon/ReactCommon.vcxproj +5 -6
  285. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
  286. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  287. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
  288. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
  289. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
  290. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  291. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  292. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
  293. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
  294. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
  295. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
  296. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  297. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
  298. package/Scripts/creaternwapp.cmd +1 -9
  299. package/Scripts/creaternwlib.cmd +4 -24
  300. package/Shared/DevSettings.h +0 -3
  301. package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
  302. package/Shared/Networking/WinRTWebSocketResource.h +3 -119
  303. package/Shared/Shared.vcxitems +63 -38
  304. package/Shared/Shared.vcxitems.filters +54 -0
  305. package/Shared/Utils.cpp +0 -88
  306. package/Shared/Utils.h +0 -14
  307. package/Shared/WebSocketResourceFactory.cpp +28 -0
  308. package/Shared/tracing/fbsystrace.h +1 -0
  309. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
  310. package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
  311. package/codegen/react/components/rnwcore/Props.cpp +17 -7
  312. package/codegen/react/components/rnwcore/Props.h +3 -1
  313. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
  314. package/codegen/rnwcoreJSI.h +93 -77
  315. package/index.js +9 -0
  316. package/index.windows.js +9 -0
  317. package/jest/RefreshControlMock.js +2 -2
  318. package/jest/assetFileTransformer.js +8 -3
  319. package/jest/mockComponent.js +3 -4
  320. package/jest/mockNativeComponent.js +1 -1
  321. package/jest/mocks/ActivityIndicator.js +2 -2
  322. package/jest/mocks/Image.js +2 -2
  323. package/jest/mocks/Modal.js +2 -2
  324. package/jest/mocks/RefreshControl.js +3 -3
  325. package/jest/mocks/RendererProxy.js +2 -2
  326. package/jest/mocks/ScrollView.js +5 -5
  327. package/jest/mocks/Text.js +2 -2
  328. package/jest/mocks/TextInput.js +2 -2
  329. package/jest/mocks/View.js +2 -2
  330. package/jest/mocks/ViewNativeComponent.js +1 -1
  331. package/jest/mocks/requireNativeComponent.js +1 -1
  332. package/jest/mocks/useColorScheme.js +1 -1
  333. package/jest/setup.js +68 -31
  334. package/package.json +27 -22
  335. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  336. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  337. package/src/private/components/virtualview/VirtualView.js +14 -21
  338. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  339. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  340. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  341. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  342. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  343. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  344. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  345. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  346. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  347. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  348. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  349. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  350. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  351. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  352. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  353. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  354. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  355. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  356. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  357. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  358. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  359. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  360. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  361. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  362. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  363. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  364. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  365. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  366. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  367. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
  368. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  369. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  370. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  371. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  372. package/src/private/styles/composeStyles.js +1 -1
  373. package/src/private/utilities/toError.js +27 -0
  374. package/src/private/utilities/toExtendedError.js +30 -0
  375. package/src/private/webapis/dom/events/Event.js +1 -1
  376. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  377. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  378. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  379. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  380. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  381. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  382. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  383. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  384. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  385. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  386. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  387. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  388. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  389. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  390. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  391. package/src/private/webapis/performance/LongTasks.js +3 -3
  392. package/src/private/webapis/performance/Performance.js +4 -4
  393. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  394. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  395. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  396. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  397. package/src/types/globals.d.ts +4 -4
  398. package/template/cpp-lib/proj/MyLib.sln +0 -33
  399. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  400. package/template/cs-lib/proj/MyLib.sln +0 -33
  401. package/template/metro.config.js +12 -2
  402. package/templates/cpp-app/metro.config.js +12 -2
  403. package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
  404. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
  405. package/templates/cpp-app/windows/MyApp.sln +0 -33
  406. package/templates/cpp-lib/example/metro.config.js +12 -2
  407. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  408. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  409. package/types/index.d.ts +2 -0
  410. package/Folly/.clang-format +0 -2
  411. package/Folly/Folly.natvis +0 -25
  412. package/Folly/Folly.vcxproj +0 -378
  413. package/Folly/Folly.vcxproj.filters +0 -558
  414. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
  415. package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
  416. package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
  417. package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
  418. package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
  419. package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
  420. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
  421. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
  422. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
  423. package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
  424. package/Folly/cgmanifest.json +0 -25
  425. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  426. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
  427. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  428. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
  429. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
  430. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
  431. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
  432. package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
  433. package/Microsoft.ReactNative/ReactSupport.h +0 -13
  434. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
  435. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
  436. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
  437. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -23
  438. package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
  439. package/Microsoft.ReactNative/XamlUIService.h +0 -37
  440. package/Microsoft.ReactNative/XamlUIService.idl +0 -53
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
  451. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
  452. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
  453. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
  454. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
  455. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
  456. package/fmt/.clang-format +0 -2
  457. package/fmt/cgmanifest.json +0 -15
  458. package/fmt/fmt.vcxproj +0 -153
  459. package/fmt/fmt.vcxproj.filters +0 -59
  460. package/fmt/pch.cpp +0 -4
  461. package/fmt/pch.h +0 -2
@@ -13,11 +13,12 @@ import type {ProcessedColorValue} from '../StyleSheet/processColor';
13
13
  import type {GestureResponderEvent} from '../Types/CoreEventTypes';
14
14
  import type {TextProps} from './TextProps';
15
15
 
16
+ import {enablePreparedTextLayout} from '../../src/private/featureflags/ReactNativeFeatureFlags';
16
17
  import {createViewConfig} from '../NativeComponent/ViewConfig';
17
18
  import UIManager from '../ReactNative/UIManager';
18
19
  import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';
19
20
 
20
- export type NativeTextProps = $ReadOnly<{
21
+ export type NativeTextProps = Readonly<{
21
22
  ...TextProps,
22
23
  isHighlighted?: ?boolean,
23
24
  selectionColor?: ?ProcessedColorValue,
@@ -54,7 +55,7 @@ const textViewConfig = {
54
55
  },
55
56
  },
56
57
  uiViewClassName: 'RCTText',
57
- };
58
+ } as const;
58
59
 
59
60
  const virtualTextViewConfig = {
60
61
  validAttributes: {
@@ -63,7 +64,7 @@ const virtualTextViewConfig = {
63
64
  maxFontSizeMultiplier: true,
64
65
  },
65
66
  uiViewClassName: 'RCTVirtualText',
66
- };
67
+ } as const;
67
68
 
68
69
  /**
69
70
  * `NativeText` is an internal React Native host component, and is exported to
@@ -77,8 +78,6 @@ const virtualTextViewConfig = {
77
78
  // and <View> wrappers so that we no longer have any reason to export these APIs.
78
79
  export const NativeText: HostComponent<NativeTextProps> =
79
80
  (createReactNativeComponentClass('RCTText', () =>
80
- /* $FlowFixMe[incompatible-type] Natural Inference rollout. See
81
- * https://fburl.com/workplace/6291gfvu */
82
81
  createViewConfig(textViewConfig),
83
82
  ): any);
84
83
 
@@ -86,7 +85,15 @@ export const NativeVirtualText: HostComponent<NativeTextProps> =
86
85
  !global.RN$Bridgeless && !UIManager.hasViewManagerConfig('RCTVirtualText')
87
86
  ? NativeText
88
87
  : (createReactNativeComponentClass('RCTVirtualText', () =>
89
- /* $FlowFixMe[incompatible-type] Natural Inference rollout. See
90
- * https://fburl.com/workplace/6291gfvu */
91
88
  createViewConfig(virtualTextViewConfig),
92
89
  ): any);
90
+
91
+ export const NativeSelectableText: HostComponent<NativeTextProps> =
92
+ enablePreparedTextLayout()
93
+ ? (createReactNativeComponentClass('RCTSelectableText', () =>
94
+ createViewConfig({
95
+ ...textViewConfig,
96
+ uiViewClassName: 'RCTSelectableText',
97
+ }),
98
+ ): any)
99
+ : NativeText;
@@ -25,14 +25,14 @@ import type {
25
25
 
26
26
  import * as React from 'react';
27
27
 
28
- export type PressRetentionOffset = $ReadOnly<{
28
+ export type PressRetentionOffset = Readonly<{
29
29
  top: number,
30
30
  left: number,
31
31
  bottom: number,
32
32
  right: number,
33
33
  }>;
34
34
 
35
- type TextPointerEventProps = $ReadOnly<{
35
+ type TextPointerEventProps = Readonly<{
36
36
  onPointerEnter?: (event: PointerEvent) => void,
37
37
  onPointerLeave?: (event: PointerEvent) => void,
38
38
  onPointerMove?: (event: PointerEvent) => void,
@@ -121,7 +121,7 @@ export type TextPropsAndroid = {
121
121
  minimumFontScale?: ?number,
122
122
  };
123
123
 
124
- type TextBaseProps = $ReadOnly<{
124
+ type TextBaseProps = Readonly<{
125
125
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => unknown,
126
126
 
127
127
  /**
@@ -268,7 +268,7 @@ type TextBaseProps = $ReadOnly<{
268
268
  /**
269
269
  * @see https://reactnative.dev/docs/text#reference
270
270
  */
271
- export type TextProps = $ReadOnly<{
271
+ export type TextProps = Readonly<{
272
272
  ...TextPointerEventProps,
273
273
  ...TextPropsIOS,
274
274
  ...TextPropsAndroid,
@@ -25,14 +25,14 @@ import type {
25
25
 
26
26
  import * as React from 'react';
27
27
 
28
- export type PressRetentionOffset = $ReadOnly<{
28
+ export type PressRetentionOffset = Readonly<{
29
29
  top: number,
30
30
  left: number,
31
31
  bottom: number,
32
32
  right: number,
33
33
  }>;
34
34
 
35
- type TextPointerEventProps = $ReadOnly<{
35
+ type TextPointerEventProps = Readonly<{
36
36
  onPointerEnter?: (event: PointerEvent) => void,
37
37
  onPointerLeave?: (event: PointerEvent) => void,
38
38
  onPointerMove?: (event: PointerEvent) => void,
@@ -121,7 +121,7 @@ export type TextPropsAndroid = {
121
121
  minimumFontScale?: ?number,
122
122
  };
123
123
 
124
- type TextBaseProps = $ReadOnly<{
124
+ type TextBaseProps = Readonly<{
125
125
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => unknown,
126
126
  accessibilityLevel?: ?number, // Windows
127
127
  accessibilityPosInSet?: ?number, // Windows
@@ -278,7 +278,7 @@ type TextBaseProps = $ReadOnly<{
278
278
  /**
279
279
  * @see https://reactnative.dev/docs/text#reference
280
280
  */
281
- export type TextProps = $ReadOnly<{
281
+ export type TextProps = Readonly<{
282
282
  ...TextPointerEventProps,
283
283
  ...TextPropsIOS,
284
284
  ...TextPropsAndroid,
@@ -33,7 +33,7 @@ export type Int32 = number;
33
33
  export type UnsafeObject = Object;
34
34
  export type UnsafeMixed = unknown;
35
35
 
36
- type DefaultTypes = number | boolean | string | $ReadOnlyArray<string>;
36
+ type DefaultTypes = number | boolean | string | ReadonlyArray<string>;
37
37
  // Default handling, ignore the unused value
38
38
  // we're only using it for type checking
39
39
  //
@@ -10,12 +10,12 @@
10
10
 
11
11
  import type {HostInstance} from '../../src/private/types/HostInstance';
12
12
 
13
- export type NativeSyntheticEvent<+T> = $ReadOnly<{
13
+ export type NativeSyntheticEvent<+T> = Readonly<{
14
14
  bubbles: ?boolean,
15
15
  cancelable: ?boolean,
16
16
  currentTarget: number | HostInstance,
17
17
  defaultPrevented: ?boolean,
18
- dispatchConfig: $ReadOnly<{
18
+ dispatchConfig: Readonly<{
19
19
  registrationName: string,
20
20
  }>,
21
21
  eventPhase: ?number,
@@ -31,14 +31,14 @@ export type NativeSyntheticEvent<+T> = $ReadOnly<{
31
31
  type: ?string,
32
32
  }>;
33
33
 
34
- export type ResponderSyntheticEvent<T> = $ReadOnly<{
34
+ export type ResponderSyntheticEvent<T> = Readonly<{
35
35
  ...NativeSyntheticEvent<T>,
36
- touchHistory: $ReadOnly<{
36
+ touchHistory: Readonly<{
37
37
  indexOfSingleActiveTouch: number,
38
38
  mostRecentTimeStamp: number,
39
39
  numberActiveTouches: number,
40
- touchBank: $ReadOnlyArray<
41
- $ReadOnly<{
40
+ touchBank: ReadonlyArray<
41
+ Readonly<{
42
42
  touchActive: boolean,
43
43
  startPageX: number,
44
44
  startPageY: number,
@@ -54,14 +54,14 @@ export type ResponderSyntheticEvent<T> = $ReadOnly<{
54
54
  }>,
55
55
  }>;
56
56
 
57
- export type LayoutRectangle = $ReadOnly<{
57
+ export type LayoutRectangle = Readonly<{
58
58
  x: number,
59
59
  y: number,
60
60
  width: number,
61
61
  height: number,
62
62
  }>;
63
63
 
64
- export type TextLayoutLine = $ReadOnly<{
64
+ export type TextLayoutLine = Readonly<{
65
65
  ...LayoutRectangle,
66
66
  ascender: number,
67
67
  capHeight: number,
@@ -71,12 +71,12 @@ export type TextLayoutLine = $ReadOnly<{
71
71
  }>;
72
72
 
73
73
  export type LayoutChangeEvent = NativeSyntheticEvent<
74
- $ReadOnly<{
74
+ Readonly<{
75
75
  layout: LayoutRectangle,
76
76
  }>,
77
77
  >;
78
78
 
79
- type TextLayoutEventData = $ReadOnly<{
79
+ type TextLayoutEventData = Readonly<{
80
80
  lines: Array<TextLayoutLine>,
81
81
  }>;
82
82
 
@@ -220,11 +220,11 @@ export interface NativePointerEvent extends NativeMouseEvent {
220
220
 
221
221
  export type PointerEvent = NativeSyntheticEvent<NativePointerEvent>;
222
222
 
223
- export type NativeTouchEvent = $ReadOnly<{
223
+ export type NativeTouchEvent = Readonly<{
224
224
  /**
225
225
  * Array of all touch events that have changed since the last event
226
226
  */
227
- changedTouches: $ReadOnlyArray<NativeTouchEvent>,
227
+ changedTouches: ReadonlyArray<NativeTouchEvent>,
228
228
  /**
229
229
  * 3D Touch reported force
230
230
  * @platform ios
@@ -261,34 +261,34 @@ export type NativeTouchEvent = $ReadOnly<{
261
261
  /**
262
262
  * Array of all current touches on the screen
263
263
  */
264
- touches: $ReadOnlyArray<NativeTouchEvent>,
264
+ touches: ReadonlyArray<NativeTouchEvent>,
265
265
  }>;
266
266
 
267
267
  export type GestureResponderEvent = ResponderSyntheticEvent<NativeTouchEvent>;
268
268
 
269
- export type NativeScrollRectangle = $ReadOnly<{
269
+ export type NativeScrollRectangle = Readonly<{
270
270
  bottom: number,
271
271
  left: number,
272
272
  right: number,
273
273
  top: number,
274
274
  }>;
275
275
 
276
- export type NativeScrollPoint = $ReadOnly<{
276
+ export type NativeScrollPoint = Readonly<{
277
277
  y: number,
278
278
  x: number,
279
279
  }>;
280
280
 
281
- export type NativeScrollVelocity = $ReadOnly<{
281
+ export type NativeScrollVelocity = Readonly<{
282
282
  y: number,
283
283
  x: number,
284
284
  }>;
285
285
 
286
- export type NativeScrollSize = $ReadOnly<{
286
+ export type NativeScrollSize = Readonly<{
287
287
  height: number,
288
288
  width: number,
289
289
  }>;
290
290
 
291
- export type NativeScrollEvent = $ReadOnly<{
291
+ export type NativeScrollEvent = Readonly<{
292
292
  contentInset: NativeScrollRectangle,
293
293
  contentOffset: NativeScrollPoint,
294
294
  contentSize: NativeScrollSize,
@@ -304,7 +304,7 @@ export type NativeScrollEvent = $ReadOnly<{
304
304
 
305
305
  export type ScrollEvent = NativeSyntheticEvent<NativeScrollEvent>;
306
306
 
307
- export type TargetedEvent = $ReadOnly<{
307
+ export type TargetedEvent = Readonly<{
308
308
  target: number,
309
309
  ...
310
310
  }>;
@@ -314,7 +314,7 @@ export type BlurEvent = NativeSyntheticEvent<TargetedEvent>;
314
314
  export type FocusEvent = NativeSyntheticEvent<TargetedEvent>;
315
315
 
316
316
  export type MouseEvent = NativeSyntheticEvent<
317
- $ReadOnly<{
317
+ Readonly<{
318
318
  clientX: number,
319
319
  clientY: number,
320
320
  pageX: number,
@@ -323,7 +323,7 @@ export type MouseEvent = NativeSyntheticEvent<
323
323
  }>,
324
324
  >;
325
325
 
326
- export type KeyEvent = $ReadOnly<{
326
+ export type KeyEvent = Readonly<{
327
327
  /**
328
328
  * The actual key that was pressed. For example, F would be "f" or "F" depending on the shift key.
329
329
  * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key
@@ -10,12 +10,12 @@
10
10
 
11
11
  import type {HostInstance} from '../../src/private/types/HostInstance';
12
12
 
13
- export type NativeSyntheticEvent<+T> = $ReadOnly<{
13
+ export type NativeSyntheticEvent<+T> = Readonly<{
14
14
  bubbles: ?boolean,
15
15
  cancelable: ?boolean,
16
16
  currentTarget: number | HostInstance,
17
17
  defaultPrevented: ?boolean,
18
- dispatchConfig: $ReadOnly<{
18
+ dispatchConfig: Readonly<{
19
19
  registrationName: string,
20
20
  }>,
21
21
  eventPhase: ?number,
@@ -31,14 +31,14 @@ export type NativeSyntheticEvent<+T> = $ReadOnly<{
31
31
  type: ?string,
32
32
  }>;
33
33
 
34
- export type ResponderSyntheticEvent<T> = $ReadOnly<{
34
+ export type ResponderSyntheticEvent<T> = Readonly<{
35
35
  ...NativeSyntheticEvent<T>,
36
- touchHistory: $ReadOnly<{
36
+ touchHistory: Readonly<{
37
37
  indexOfSingleActiveTouch: number,
38
38
  mostRecentTimeStamp: number,
39
39
  numberActiveTouches: number,
40
- touchBank: $ReadOnlyArray<
41
- $ReadOnly<{
40
+ touchBank: ReadonlyArray<
41
+ Readonly<{
42
42
  touchActive: boolean,
43
43
  startPageX: number,
44
44
  startPageY: number,
@@ -54,14 +54,14 @@ export type ResponderSyntheticEvent<T> = $ReadOnly<{
54
54
  }>,
55
55
  }>;
56
56
 
57
- export type LayoutRectangle = $ReadOnly<{
57
+ export type LayoutRectangle = Readonly<{
58
58
  x: number,
59
59
  y: number,
60
60
  width: number,
61
61
  height: number,
62
62
  }>;
63
63
 
64
- export type TextLayoutLine = $ReadOnly<{
64
+ export type TextLayoutLine = Readonly<{
65
65
  ...LayoutRectangle,
66
66
  ascender: number,
67
67
  capHeight: number,
@@ -71,12 +71,12 @@ export type TextLayoutLine = $ReadOnly<{
71
71
  }>;
72
72
 
73
73
  export type LayoutChangeEvent = NativeSyntheticEvent<
74
- $ReadOnly<{
74
+ Readonly<{
75
75
  layout: LayoutRectangle,
76
76
  }>,
77
77
  >;
78
78
 
79
- type TextLayoutEventData = $ReadOnly<{
79
+ type TextLayoutEventData = Readonly<{
80
80
  lines: Array<TextLayoutLine>,
81
81
  }>;
82
82
 
@@ -230,13 +230,13 @@ export interface NativePointerEvent extends NativeMouseEvent {
230
230
 
231
231
  export type PointerEvent = NativeSyntheticEvent<NativePointerEvent>;
232
232
 
233
- export type NativeTouchEvent = $ReadOnly<{
233
+ export type NativeTouchEvent = Readonly<{
234
234
  altKey: ?boolean, // TODO(macOS)
235
235
  button: ?number, // TODO(macOS)
236
236
  /**
237
237
  * Array of all touch events that have changed since the last event
238
238
  */
239
- changedTouches: $ReadOnlyArray<NativeTouchEvent>,
239
+ changedTouches: ReadonlyArray<NativeTouchEvent>,
240
240
  /**
241
241
  * 3D Touch reported force
242
242
  * @platform ios
@@ -276,34 +276,34 @@ export type NativeTouchEvent = $ReadOnly<{
276
276
  /**
277
277
  * Array of all current touches on the screen
278
278
  */
279
- touches: $ReadOnlyArray<NativeTouchEvent>,
279
+ touches: ReadonlyArray<NativeTouchEvent>,
280
280
  }>;
281
281
 
282
282
  export type GestureResponderEvent = ResponderSyntheticEvent<NativeTouchEvent>;
283
283
 
284
- export type NativeScrollRectangle = $ReadOnly<{
284
+ export type NativeScrollRectangle = Readonly<{
285
285
  bottom: number,
286
286
  left: number,
287
287
  right: number,
288
288
  top: number,
289
289
  }>;
290
290
 
291
- export type NativeScrollPoint = $ReadOnly<{
291
+ export type NativeScrollPoint = Readonly<{
292
292
  y: number,
293
293
  x: number,
294
294
  }>;
295
295
 
296
- export type NativeScrollVelocity = $ReadOnly<{
296
+ export type NativeScrollVelocity = Readonly<{
297
297
  y: number,
298
298
  x: number,
299
299
  }>;
300
300
 
301
- export type NativeScrollSize = $ReadOnly<{
301
+ export type NativeScrollSize = Readonly<{
302
302
  height: number,
303
303
  width: number,
304
304
  }>;
305
305
 
306
- export type NativeScrollEvent = $ReadOnly<{
306
+ export type NativeScrollEvent = Readonly<{
307
307
  contentInset: NativeScrollRectangle,
308
308
  contentOffset: NativeScrollPoint,
309
309
  contentSize: NativeScrollSize,
@@ -319,7 +319,7 @@ export type NativeScrollEvent = $ReadOnly<{
319
319
 
320
320
  export type ScrollEvent = NativeSyntheticEvent<NativeScrollEvent>;
321
321
 
322
- export type TargetedEvent = $ReadOnly<{
322
+ export type TargetedEvent = Readonly<{
323
323
  target: number,
324
324
  ...
325
325
  }>;
@@ -332,7 +332,7 @@ export type FocusEvent = NativeSyntheticEvent<TargetedEvent>;
332
332
  // introduced for react-native-web. Replace typings with our values to catch
333
333
  // anything dependent on react-native-web specific values
334
334
  export type MouseEvent = NativeSyntheticEvent<
335
- $ReadOnly<{
335
+ Readonly<{
336
336
  target: number,
337
337
  identifier: number,
338
338
  clientX: number,
@@ -357,7 +357,7 @@ export type MouseEvent = NativeSyntheticEvent<
357
357
  >;
358
358
  // Windows]
359
359
 
360
- export type KeyEvent = $ReadOnly<{
360
+ export type KeyEvent = Readonly<{
361
361
  /**
362
362
  * The actual key that was pressed. For example, F would be "f" or "F" depending on the shift key.
363
363
  * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key
@@ -34,12 +34,12 @@ export type ReactDevToolsAgentEvents = {
34
34
  export type ReactDevToolsAgent = {
35
35
  selectNode(node: unknown): void,
36
36
  stopInspectingNative(value: boolean): void,
37
- addListener<Event: $Keys<ReactDevToolsAgentEvents>>(
37
+ addListener<Event: keyof ReactDevToolsAgentEvents>(
38
38
  event: Event,
39
39
  listener: (...ReactDevToolsAgentEvents[Event]) => void,
40
40
  ): void,
41
41
  removeListener(
42
- event: $Keys<ReactDevToolsAgentEvents>,
42
+ event: keyof ReactDevToolsAgentEvents,
43
43
  listener: () => void,
44
44
  ): void,
45
45
  };
@@ -99,7 +99,12 @@ export function setColorScheme(colorScheme: ColorSchemeName): void {
99
99
  if (NativeAppearance != null) {
100
100
  NativeAppearance.setColorScheme(colorScheme);
101
101
  state.appearance = {
102
- colorScheme,
102
+ // When setting to 'unspecified', get the actual system color scheme.
103
+ // Fall back to the passed value if getColorScheme() returns null.
104
+ colorScheme:
105
+ colorScheme === 'unspecified'
106
+ ? (NativeAppearance.getColorScheme() ?? colorScheme)
107
+ : colorScheme,
103
108
  };
104
109
  }
105
110
  }
@@ -60,7 +60,7 @@ class Dimensions {
60
60
  *
61
61
  * @param {DimensionsPayload} dims Simple string-keyed object of dimensions to set
62
62
  */
63
- static set(dims: $ReadOnly<DimensionsPayload>): void {
63
+ static set(dims: Readonly<DimensionsPayload>): void {
64
64
  // We calculate the window dimensions in JS so that we don't encounter loss of
65
65
  // precision in transferring the dimensions (which could be non-integers) over
66
66
  // the bridge.
@@ -26,7 +26,7 @@ let hmrUnavailableReason: string | null = null;
26
26
  let hmrOrigin: string | null = null;
27
27
  let currentCompileErrorMessage: string | null = null;
28
28
  let didConnect: boolean = false;
29
- let pendingLogs: Array<[LogLevel, $ReadOnlyArray<unknown>]> = [];
29
+ let pendingLogs: Array<[LogLevel, ReadonlyArray<unknown>]> = [];
30
30
 
31
31
  type LogLevel =
32
32
  | 'trace'
@@ -43,7 +43,7 @@ export type HMRClientNativeInterface = {
43
43
  enable(): void,
44
44
  disable(): void,
45
45
  registerBundle(requestUrl: string): void,
46
- log(level: LogLevel, data: $ReadOnlyArray<unknown>): void,
46
+ log(level: LogLevel, data: ReadonlyArray<unknown>): void,
47
47
  setup(
48
48
  platform: string,
49
49
  bundleEntry: string,
@@ -113,7 +113,7 @@ const HMRClient: HMRClientNativeInterface = {
113
113
  registerBundleEntryPoints(hmrClient);
114
114
  },
115
115
 
116
- log(level: LogLevel, data: $ReadOnlyArray<unknown>) {
116
+ log(level: LogLevel, data: ReadonlyArray<unknown>) {
117
117
  if (!hmrClient) {
118
118
  // Catch a reasonable number of early logs
119
119
  // in case hmrClient gets initialized later.
@@ -141,7 +141,7 @@ const HMRClient: HMRClientNativeInterface = {
141
141
  ),
142
142
  }),
143
143
  );
144
- } catch (error) {
144
+ } catch {
145
145
  // If sending logs causes any failures we want to silently ignore them
146
146
  // to ensure we do not cause infinite-logging loops.
147
147
  }
@@ -212,6 +212,7 @@ Error: ${e.message}`;
212
212
  });
213
213
 
214
214
  let pendingUpdatesCount = 0;
215
+ let lastMarkerChangeId: string | null = null;
215
216
  client.on('update-start', ({isInitialUpdate}) => {
216
217
  pendingUpdatesCount++;
217
218
  currentCompileErrorMessage = null;
@@ -229,10 +230,15 @@ Error: ${e.message}`;
229
230
  }
230
231
  });
231
232
 
232
- client.on('update-done', () => {
233
+ client.on('update-done', body => {
233
234
  pendingUpdatesCount--;
234
235
  if (pendingUpdatesCount === 0) {
235
236
  DevLoadingView.hide();
237
+ const changeId = body?.changeId;
238
+ if (changeId != null && changeId !== lastMarkerChangeId) {
239
+ lastMarkerChangeId = changeId;
240
+ emitFastRefreshCompleteEvents();
241
+ }
236
242
  }
237
243
  });
238
244
 
@@ -379,4 +385,25 @@ function showCompileError() {
379
385
  throw error;
380
386
  }
381
387
 
388
+ function emitFastRefreshCompleteEvents() {
389
+ // Add marker entry in performance timeline
390
+ performance.mark('Fast Refresh - Update done', {
391
+ detail: {
392
+ devtools: {
393
+ dataType: 'marker',
394
+ color: 'primary',
395
+ tooltipText: 'Fast Refresh \u269b',
396
+ },
397
+ },
398
+ });
399
+
400
+ // Notify CDP clients via internal binding
401
+ if (
402
+ // $FlowFixMe[prop-missing] - Injected by RuntimeTarget
403
+ typeof globalThis.__notifyFastRefreshComplete === 'function'
404
+ ) {
405
+ globalThis.__notifyFastRefreshComplete();
406
+ }
407
+ }
408
+
382
409
  export default HMRClient;
@@ -34,10 +34,10 @@ export interface IPerformanceLogger {
34
34
  clearCompleted(): void;
35
35
  close(): void;
36
36
  currentTimestamp(): number;
37
- getExtras(): $ReadOnly<{[key: string]: ?ExtraValue, ...}>;
38
- getPoints(): $ReadOnly<{[key: string]: ?number, ...}>;
39
- getPointExtras(): $ReadOnly<{[key: string]: ?Extras, ...}>;
40
- getTimespans(): $ReadOnly<{[key: string]: ?Timespan, ...}>;
37
+ getExtras(): Readonly<{[key: string]: ?ExtraValue, ...}>;
38
+ getPoints(): Readonly<{[key: string]: ?number, ...}>;
39
+ getPointExtras(): Readonly<{[key: string]: ?Extras, ...}>;
40
+ getTimespans(): Readonly<{[key: string]: ?Timespan, ...}>;
41
41
  hasTimespan(key: string): boolean;
42
42
  isClosed(): boolean;
43
43
  logEverything(): void;
@@ -10,14 +10,14 @@
10
10
 
11
11
  const {dispatchCommand} = require('../ReactNative/RendererProxy');
12
12
 
13
- type NativeCommandsOptions<T = string> = $ReadOnly<{
14
- supportedCommands: $ReadOnlyArray<T>,
13
+ type NativeCommandsOptions<T = string> = Readonly<{
14
+ supportedCommands: ReadonlyArray<T>,
15
15
  }>;
16
16
 
17
17
  function codegenNativeCommands<T: interface {}>(
18
- options: NativeCommandsOptions<$Keys<T>>,
18
+ options: NativeCommandsOptions<keyof T>,
19
19
  ): T {
20
- const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<unknown>) => void} = {};
20
+ const commandObj: {[keyof T]: (...ReadonlyArray<unknown>) => void} = {};
21
21
 
22
22
  options.supportedCommands.forEach(command => {
23
23
  // $FlowFixMe[missing-local-annot]
@@ -14,6 +14,8 @@ interface Options {
14
14
  readonly paperComponentName?: string | undefined;
15
15
  readonly paperComponentNameDeprecated?: string | undefined;
16
16
  readonly excludedPlatforms?: ReadonlyArray<'iOS' | 'android'> | undefined;
17
+ readonly generateOptionalProperties?: boolean | undefined;
18
+ readonly generateOptionalObjectProperties?: boolean | undefined;
17
19
  }
18
20
 
19
21
  type NativeComponentType<T> = HostComponent<T>;
@@ -16,11 +16,11 @@ import requireNativeComponent from '../../Libraries/ReactNative/requireNativeCom
16
16
  import UIManager from '../ReactNative/UIManager';
17
17
 
18
18
  // TODO: import from CodegenSchema once workspaces are enabled
19
- type NativeComponentOptions = $ReadOnly<{
19
+ type NativeComponentOptions = Readonly<{
20
20
  interfaceOnly?: boolean,
21
21
  paperComponentName?: string,
22
22
  paperComponentNameDeprecated?: string,
23
- excludedPlatforms?: $ReadOnlyArray<'iOS' | 'android'>,
23
+ excludedPlatforms?: ReadonlyArray<'iOS' | 'android'>,
24
24
  }>;
25
25
 
26
26
  export type NativeComponentType<T: {...}> = HostComponent<T>;
@@ -15,7 +15,7 @@
15
15
  * `console.error` as a failure callback - it's not properly bound. If passes an
16
16
  * `Error` object, it will print the message and stack.
17
17
  */
18
- const logError = function (...args: $ReadOnlyArray<unknown>) {
18
+ const logError = function (...args: ReadonlyArray<unknown>) {
19
19
  if (args.length === 1 && args[0] instanceof Error) {
20
20
  const err = args[0];
21
21
  console.error('Error: "' + err.message + '". Stack:\n' + err.stack);
@@ -84,7 +84,7 @@ export function createStringifySafeWithLimits(limits: {
84
84
  } else if (typeof arg === 'function') {
85
85
  try {
86
86
  return arg.toString();
87
- } catch (e) {
87
+ } catch {
88
88
  return '[function unknown]';
89
89
  }
90
90
  } else if (arg instanceof Error) {
@@ -98,12 +98,12 @@ export function createStringifySafeWithLimits(limits: {
98
98
  return '["' + typeof arg + '" failed to stringify]';
99
99
  }
100
100
  return ret;
101
- } catch (e) {
101
+ } catch {
102
102
  if (typeof arg.toString === 'function') {
103
103
  try {
104
104
  // $FlowFixMe[incompatible-use] : toString shouldn't take any arguments in general.
105
105
  return arg.toString();
106
- } catch (E) {}
106
+ } catch {}
107
107
  }
108
108
  }
109
109
  }
@@ -22,11 +22,11 @@ import {useCallback} from 'react';
22
22
  * lead to problems with the given refs being invoked more times than desired.
23
23
  */
24
24
  export default function useMergeRefs<Instance>(
25
- ...refs: $ReadOnlyArray<?React.RefSetter<Instance>>
25
+ ...refs: ReadonlyArray<?React.RefSetter<Instance>>
26
26
  ): React.RefSetter<Instance> {
27
27
  const refEffect = useCallback(
28
28
  (current: Instance) => {
29
- const cleanups: $ReadOnlyArray<void | (() => void)> = refs.map(ref => {
29
+ const cleanups: ReadonlyArray<void | (() => void)> = refs.map(ref => {
30
30
  if (ref == null) {
31
31
  return undefined;
32
32
  } else {