react-native-windows 0.71.10 → 0.72.0-preview.2

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 (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +35 -16
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +10 -4
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +168 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.windows.js +26 -0
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +1 -2
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +14 -6
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
  475. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  476. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  477. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  478. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  479. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  480. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  481. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  482. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  483. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  484. package/codegen/NativePerformanceSpec.g.h +63 -0
  485. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  486. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  487. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  488. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  489. package/codegen/NativeShareModuleSpec.g.h +9 -3
  490. package/codegen/NativeUIManagerSpec.g.h +12 -12
  491. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  493. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  494. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  495. package/codegen/react/components/rnwcore/Props.h +59 -166
  496. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  497. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  498. package/codegen/react/components/rnwcore/States.h +15 -30
  499. package/codegen/rnwcoreJSI-generated.cpp +87 -17
  500. package/codegen/rnwcoreJSI.h +1080 -376
  501. package/generate.js +6 -1
  502. package/include/Include.vcxitems +0 -1
  503. package/include/Include.vcxitems.filters +0 -3
  504. package/index.js +56 -42
  505. package/index.windows.js +56 -42
  506. package/interface.js +1 -1
  507. package/jest/local-setup.js +33 -0
  508. package/jest/mockComponent.js +4 -2
  509. package/jest/mockNativeComponent.js +1 -1
  510. package/jest/mockScrollView.js +2 -1
  511. package/jest/react-native-env.js +1 -3
  512. package/jest/setup.js +11 -8
  513. package/just-task.js +12 -5
  514. package/package.json +34 -31
  515. package/rn-get-polyfills.js +1 -1
  516. package/template/metro.config.js +2 -0
  517. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  518. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  519. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  520. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  521. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  522. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  524. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  525. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  526. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  527. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  528. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  529. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  530. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  531. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  532. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  533. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  534. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  535. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  536. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  537. package/Libraries/Components/Popup/Popup.js.map +0 -1
  538. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  539. package/Libraries/Components/Popup/PopupProps.js +0 -8
  540. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  544. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  545. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  546. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  547. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  548. package/Libraries/Components/Slider/Slider.js +0 -282
  549. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  550. package/Libraries/Interaction/Batchinator.js +0 -76
  551. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  552. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  553. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  554. package/Libraries/Lists/CellRenderMask.js +0 -155
  555. package/Libraries/Lists/ChildListCollection.js +0 -72
  556. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  557. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  558. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  559. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  560. package/Libraries/Performance/PureComponentDebug.js +0 -74
  561. package/Libraries/Reliability/UserFlow.js +0 -158
  562. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  563. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  564. package/Libraries/Utilities/MatrixMath.js +0 -748
  565. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  566. package/Libraries/Utilities/clamp.js +0 -23
  567. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  568. package/Libraries/Utilities/groupByEveryN.js +0 -51
  569. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  570. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  571. package/Libraries/Utilities/truncate.js +0 -51
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  592. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  594. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  595. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  596. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  597. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  598. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  599. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  600. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  601. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  602. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  603. package/Shared/AsyncStorageModule.h +0 -25
  604. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  605. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  606. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  607. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -92,9 +92,8 @@ export type TextProps = $ReadOnly<{|
92
92
  'aria-selected'?: ?boolean,
93
93
 
94
94
  /**
95
- * Reperesents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
96
- *
97
- * @platform android
95
+ * Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
96
+ * This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
98
97
  */
99
98
  'aria-labelledby'?: ?string,
100
99
 
@@ -230,7 +229,7 @@ export type TextProps = $ReadOnly<{|
230
229
  adjustsFontSizeToFit?: ?boolean,
231
230
 
232
231
  /**
233
- * The Dynamic Text scale ramp to apply to this element on iOS.
232
+ * The Dynamic Type scale ramp to apply to this element on iOS.
234
233
  */
235
234
  dynamicTypeRamp?: ?(
236
235
  | 'caption2'
@@ -13,6 +13,11 @@ import type {RootTag, TurboModule} from '../RCTExport';
13
13
 
14
14
  import * as TurboModuleRegistry from '../TurboModuleRegistry';
15
15
 
16
+ export enum EnumInt {
17
+ A = 23,
18
+ B = 42,
19
+ }
20
+
16
21
  export interface Spec extends TurboModule {
17
22
  // Exported methods.
18
23
  +getConstants: () => {|
@@ -22,6 +27,7 @@ export interface Spec extends TurboModule {
22
27
  |};
23
28
  +voidFunc: () => void;
24
29
  +getBool: (arg: boolean) => boolean;
30
+ +getEnum?: (arg: EnumInt) => EnumInt;
25
31
  +getNumber: (arg: number) => number;
26
32
  +getString: (arg: string) => string;
27
33
  +getArray: (arg: Array<any>) => Array<any>;
@@ -29,6 +29,7 @@ export type Double = number;
29
29
  export type Float = number;
30
30
  export type Int32 = number;
31
31
  export type UnsafeObject = $FlowFixMe; // Object is forbidden in strict mode
32
+ export type UnsafeMixed = mixed;
32
33
 
33
34
  type DefaultTypes = number | boolean | string | $ReadOnlyArray<string>;
34
35
  // Default handling, ignore the unused value
@@ -31,6 +31,7 @@ const UTFSequence: {|
31
31
  NBSP: string,
32
32
  NDASH: string,
33
33
  NDASH_SP: string,
34
+ NEWLINE: string,
34
35
  PIZZA: string,
35
36
  TRIANGLE_LEFT: string,
36
37
  TRIANGLE_RIGHT: string,
@@ -45,10 +46,11 @@ const UTFSequence: {|
45
46
  MDASH_SP: '\u00A0\u2014\u00A0', // &nbsp;&mdash;&nbsp;
46
47
  NDASH: '\u2013', // en dash: &ndash;
47
48
  NDASH_SP: '\u00A0\u2013\u00A0', // &nbsp;&ndash;&nbsp;
49
+ NEWLINE: '\u000A',
48
50
  NBSP: '\u00A0', // non-breaking space: &nbsp;
49
51
  PIZZA: '\uD83C\uDF55',
50
52
  TRIANGLE_LEFT: '\u25c0', // black left-pointing triangle
51
53
  TRIANGLE_RIGHT: '\u25b6', // black right-pointing triangle
52
54
  });
53
55
 
54
- module.exports = UTFSequence;
56
+ export default UTFSequence;
@@ -28,6 +28,16 @@ export namespace Appearance {
28
28
  */
29
29
  export function getColorScheme(): ColorSchemeName;
30
30
 
31
+ /**
32
+ * Set the color scheme preference. This is useful for overriding the default
33
+ * color scheme preference for the app. Note that this will not change the
34
+ * appearance of the system UI, only the appearance of the app.
35
+ * Only available on iOS 13+ and Android 10+.
36
+ */
37
+ export function setColorScheme(
38
+ scheme: ColorSchemeName | null | undefined,
39
+ ): void;
40
+
31
41
  /**
32
42
  * Add an event handler that is fired when appearance preferences change.
33
43
  */
@@ -85,6 +85,19 @@ module.exports = {
85
85
  return nativeColorScheme;
86
86
  },
87
87
 
88
+ setColorScheme(colorScheme: ?ColorSchemeName): void {
89
+ const nativeColorScheme = colorScheme == null ? 'unspecified' : colorScheme;
90
+
91
+ invariant(
92
+ colorScheme === 'dark' || colorScheme === 'light' || colorScheme == null,
93
+ "Unrecognized color scheme. Did you mean 'dark', 'light' or null?",
94
+ );
95
+
96
+ if (NativeAppearance != null && NativeAppearance.setColorScheme != null) {
97
+ NativeAppearance.setColorScheme(nativeColorScheme);
98
+ }
99
+ },
100
+
88
101
  /**
89
102
  * Add an event handler that is fired when appearance preferences change.
90
103
  */
@@ -127,4 +127,4 @@ if (!initialDims) {
127
127
 
128
128
  Dimensions.set(initialDims);
129
129
 
130
- module.exports = Dimensions;
130
+ export default Dimensions;
@@ -10,8 +10,17 @@
10
10
 
11
11
  import type {IPerformanceLogger} from './createPerformanceLogger';
12
12
 
13
+ import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
14
+ import NativePerformance from '../WebPerformance/NativePerformance';
13
15
  import createPerformanceLogger from './createPerformanceLogger';
14
16
 
17
+ function isLoggingForWebPerformance(): boolean {
18
+ return (
19
+ NativePerformance != null &&
20
+ ReactNativeFeatureFlags.isGlobalWebPerformanceLoggerEnabled()
21
+ );
22
+ }
23
+
15
24
  /**
16
25
  * This is a global shared instance of IPerformanceLogger that is created with
17
26
  * createPerformanceLogger().
@@ -19,6 +28,8 @@ import createPerformanceLogger from './createPerformanceLogger';
19
28
  * that are logged during loading bundle. If you want to log something from your
20
29
  * React component you should use PerformanceLoggerContext instead.
21
30
  */
22
- const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger();
31
+ const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger(
32
+ isLoggingForWebPerformance(),
33
+ );
23
34
 
24
35
  module.exports = GlobalPerformanceLogger;
@@ -25,7 +25,7 @@ let hmrClient = null;
25
25
  let hmrUnavailableReason: string | null = null;
26
26
  let currentCompileErrorMessage: string | null = null;
27
27
  let didConnect: boolean = false;
28
- let pendingLogs: Array<[LogLevel, Array<mixed>]> = [];
28
+ let pendingLogs: Array<[LogLevel, $ReadOnlyArray<mixed>]> = [];
29
29
 
30
30
  type LogLevel =
31
31
  | 'trace'
@@ -42,7 +42,7 @@ export type HMRClientNativeInterface = {|
42
42
  enable(): void,
43
43
  disable(): void,
44
44
  registerBundle(requestUrl: string): void,
45
- log(level: LogLevel, data: Array<mixed>): void,
45
+ log(level: LogLevel, data: $ReadOnlyArray<mixed>): void,
46
46
  setup(
47
47
  platform: string,
48
48
  bundleEntry: string,
@@ -105,7 +105,7 @@ const HMRClient: HMRClientNativeInterface = {
105
105
  registerBundleEntryPoints(hmrClient);
106
106
  },
107
107
 
108
- log(level: LogLevel, data: Array<mixed>) {
108
+ log(level: LogLevel, data: $ReadOnlyArray<mixed>) {
109
109
  if (!hmrClient) {
110
110
  // Catch a reasonable number of early logs
111
111
  // in case hmrClient gets initialized later.
@@ -247,17 +247,23 @@ Error: ${e.message}`;
247
247
  // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1
248
248
  // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
249
249
  const isNormalOrUnsetCloseReason =
250
+ closeEvent == null ||
250
251
  closeEvent.code === 1000 ||
251
252
  closeEvent.code === 1005 ||
252
253
  closeEvent.code == null;
253
254
 
254
- if (isNormalOrUnsetCloseReason) {
255
- setHMRUnavailableReason('Disconnected from Metro.');
256
- } else {
257
- setHMRUnavailableReason(
258
- `Disconnected from Metro (${closeEvent.code}: "${closeEvent.reason}").`,
259
- );
260
- }
255
+ setHMRUnavailableReason(
256
+ `${
257
+ isNormalOrUnsetCloseReason
258
+ ? 'Disconnected from Metro.'
259
+ : `Disconnected from Metro (${closeEvent.code}: "${closeEvent.reason}").`
260
+ }
261
+
262
+ To reconnect:
263
+ - Ensure that Metro is running and available on the same network
264
+ - Reload this app (will trigger further help if Metro cannot be connected to)
265
+ `,
266
+ );
261
267
  });
262
268
 
263
269
  if (isEnabled) {
@@ -9,10 +9,10 @@
9
9
 
10
10
  export type Timespan = {
11
11
  startTime: number;
12
- endTime?: number;
13
- totalTime?: number;
14
- startExtras?: Extras;
15
- endExtras?: Extras;
12
+ endTime?: number | undefined;
13
+ totalTime?: number | undefined;
14
+ startExtras?: Extras | undefined;
15
+ endExtras?: Extras | undefined;
16
16
  };
17
17
 
18
18
  // Extra values should be serializable primitives
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ export type Timespan = {
12
+ startTime: number,
13
+ endTime?: number,
14
+ totalTime?: number,
15
+ startExtras?: Extras,
16
+ endExtras?: Extras,
17
+ };
18
+
19
+ // Extra values should be serializable primitives
20
+ export type ExtraValue = number | string | boolean;
21
+
22
+ export type Extras = {[key: string]: ExtraValue};
23
+
24
+ export interface IPerformanceLogger {
25
+ addTimespan(
26
+ key: string,
27
+ startTime: number,
28
+ endTime: number,
29
+ startExtras?: Extras,
30
+ endExtras?: Extras,
31
+ ): void;
32
+ append(logger: IPerformanceLogger): void;
33
+ clear(): void;
34
+ clearCompleted(): void;
35
+ close(): void;
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, ...}>;
41
+ hasTimespan(key: string): boolean;
42
+ isClosed(): boolean;
43
+ logEverything(): void;
44
+ markPoint(key: string, timestamp?: number, extras?: Extras): void;
45
+ removeExtra(key: string): ?ExtraValue;
46
+ setExtra(key: string, value: ExtraValue): void;
47
+ startTimespan(key: string, timestamp?: number, extras?: Extras): void;
48
+ stopTimespan(key: string, timestamp?: number, extras?: Extras): void;
49
+ }
@@ -8,20 +8,37 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- import ToastAndroid from '../Components/ToastAndroid/ToastAndroid';
12
-
13
- const TOAST_SHORT_DELAY = 2000;
14
- let isVisible = false;
11
+ import processColor from '../StyleSheet/processColor';
12
+ import Appearance from './Appearance';
13
+ import NativeDevLoadingView from './NativeDevLoadingView';
15
14
 
16
15
  module.exports = {
17
16
  showMessage(message: string, type: 'load' | 'refresh') {
18
- if (!isVisible) {
19
- ToastAndroid.show(message, ToastAndroid.SHORT);
20
- isVisible = true;
21
- setTimeout(() => {
22
- isVisible = false;
23
- }, TOAST_SHORT_DELAY);
17
+ if (NativeDevLoadingView) {
18
+ let backgroundColor;
19
+ let textColor;
20
+
21
+ if (type === 'refresh') {
22
+ backgroundColor = processColor('#2584e8');
23
+ textColor = processColor('#ffffff');
24
+ } else if (type === 'load') {
25
+ if (Appearance.getColorScheme() === 'dark') {
26
+ backgroundColor = processColor('#fafafa');
27
+ textColor = processColor('#242526');
28
+ } else {
29
+ backgroundColor = processColor('#404040');
30
+ textColor = processColor('#ffffff');
31
+ }
32
+ }
33
+
34
+ NativeDevLoadingView.showMessage(
35
+ message,
36
+ typeof textColor === 'number' ? textColor : null,
37
+ typeof backgroundColor === 'number' ? backgroundColor : null,
38
+ );
24
39
  }
25
40
  },
26
- hide() {},
41
+ hide() {
42
+ NativeDevLoadingView && NativeDevLoadingView.hide();
43
+ },
27
44
  };
@@ -26,6 +26,7 @@ export interface Spec extends TurboModule {
26
26
  // types.
27
27
  /* 'light' | 'dark' */
28
28
  +getColorScheme: () => ?string;
29
+ +setColorScheme?: (colorScheme: string) => void;
29
30
 
30
31
  // RCTEventEmitter
31
32
  +addListener: (eventName: string) => void;
@@ -17,7 +17,7 @@ export interface Spec extends TurboModule {
17
17
  major: number,
18
18
  minor: number,
19
19
  patch: number,
20
- prerelease: ?number,
20
+ prerelease: ?string,
21
21
  |},
22
22
  osVersion: number,
23
23
  |};
@@ -10,7 +10,7 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const Dimensions = require('./Dimensions');
13
+ const Dimensions = require('./Dimensions').default;
14
14
 
15
15
  /**
16
16
  * PixelRatio class gives access to the device pixel density.
@@ -124,4 +124,4 @@ class PixelRatio {
124
124
  static startDetecting() {}
125
125
  }
126
126
 
127
- module.exports = PixelRatio;
127
+ export default PixelRatio;
@@ -30,7 +30,7 @@ const Platform = {
30
30
  major: number,
31
31
  minor: number,
32
32
  patch: number,
33
- prerelease: ?number,
33
+ prerelease: ?string,
34
34
  |},
35
35
  osVersion: number,
36
36
  |} {
@@ -15,8 +15,8 @@ import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-render
15
15
  const Switch = require('../Components/Switch/Switch').default;
16
16
  const TextInput = require('../Components/TextInput/TextInput');
17
17
  const View = require('../Components/View/View');
18
- const VirtualizedList = require('../Lists/VirtualizedList').default;
19
18
  const Text = require('../Text/Text');
19
+ const {VirtualizedList} = require('@react-native/virtualized-lists');
20
20
  const React = require('react');
21
21
  const ShallowRenderer = require('react-shallow-renderer');
22
22
  const ReactTestRenderer = require('react-test-renderer');
@@ -22,4 +22,4 @@ const PixelRatio = {
22
22
  startDetecting: jest.fn(),
23
23
  };
24
24
 
25
- module.exports = PixelRatio;
25
+ export default PixelRatio;
@@ -18,7 +18,9 @@ function codegenNativeCommands<T: interface {}>(options: Options<$Keys<T>>): T {
18
18
  const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<mixed>) => void} = {};
19
19
 
20
20
  options.supportedCommands.forEach(command => {
21
+ // $FlowFixMe[missing-local-annot]
21
22
  commandObj[command] = (ref, ...args) => {
23
+ // $FlowFixMe[incompatible-call]
22
24
  dispatchCommand(ref, command, args);
23
25
  };
24
26
  });
@@ -8,53 +8,28 @@
8
8
  * @format
9
9
  */
10
10
 
11
- const Systrace = require('../Performance/Systrace');
12
- const infoLog = require('./infoLog');
11
+ import type {
12
+ Extras,
13
+ ExtraValue,
14
+ IPerformanceLogger,
15
+ Timespan,
16
+ } from './IPerformanceLogger';
13
17
 
14
- export type Timespan = {
15
- startTime: number,
16
- endTime?: number,
17
- totalTime?: number,
18
- startExtras?: Extras,
19
- endExtras?: Extras,
20
- };
21
-
22
- // Extra values should be serializable primitives
23
- export type ExtraValue = number | string | boolean;
24
-
25
- export type Extras = {[key: string]: ExtraValue};
26
-
27
- export interface IPerformanceLogger {
28
- addTimespan(
29
- key: string,
30
- startTime: number,
31
- endTime: number,
32
- startExtras?: Extras,
33
- endExtras?: Extras,
34
- ): void;
35
- append(logger: IPerformanceLogger): void;
36
- clear(): void;
37
- clearCompleted(): void;
38
- close(): void;
39
- currentTimestamp(): number;
40
- getExtras(): $ReadOnly<{[key: string]: ?ExtraValue, ...}>;
41
- getPoints(): $ReadOnly<{[key: string]: ?number, ...}>;
42
- getPointExtras(): $ReadOnly<{[key: string]: ?Extras, ...}>;
43
- getTimespans(): $ReadOnly<{[key: string]: ?Timespan, ...}>;
44
- hasTimespan(key: string): boolean;
45
- isClosed(): boolean;
46
- logEverything(): void;
47
- markPoint(key: string, timestamp?: number, extras?: Extras): void;
48
- removeExtra(key: string): ?ExtraValue;
49
- setExtra(key: string, value: ExtraValue): void;
50
- startTimespan(key: string, timestamp?: number, extras?: Extras): void;
51
- stopTimespan(key: string, timestamp?: number, extras?: Extras): void;
52
- }
18
+ import * as Systrace from '../Performance/Systrace';
19
+ import Performance from '../WebPerformance/Performance';
20
+ import infoLog from './infoLog';
53
21
 
54
22
  const _cookies: {[key: string]: number, ...} = {};
55
23
 
56
24
  const PRINT_TO_CONSOLE: false = false; // Type as false to prevent accidentally committing `true`;
57
25
 
26
+ // This is the prefix for optional logging points/timespans as marks/measures via Performance API,
27
+ // used to separate these internally from other marks/measures
28
+ const WEB_PERFORMANCE_PREFIX = 'global_perf_';
29
+
30
+ // TODO: Remove once T143070419 is done
31
+ const performance = new Performance();
32
+
58
33
  export const getCurrentTimestamp: () => number =
59
34
  global.nativeQPLTimestamp ?? global.performance.now.bind(global.performance);
60
35
 
@@ -64,6 +39,11 @@ class PerformanceLogger implements IPerformanceLogger {
64
39
  _points: {[key: string]: ?number} = {};
65
40
  _pointExtras: {[key: string]: ?Extras, ...} = {};
66
41
  _closed: boolean = false;
42
+ _isLoggingForWebPerformance: boolean = false;
43
+
44
+ constructor(isLoggingForWebPerformance?: boolean) {
45
+ this._isLoggingForWebPerformance = isLoggingForWebPerformance === true;
46
+ }
67
47
 
68
48
  addTimespan(
69
49
  key: string,
@@ -95,6 +75,13 @@ class PerformanceLogger implements IPerformanceLogger {
95
75
  startExtras,
96
76
  endExtras,
97
77
  };
78
+
79
+ if (this._isLoggingForWebPerformance) {
80
+ performance.measure(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
81
+ start: startTime,
82
+ end: endTime,
83
+ });
84
+ }
98
85
  }
99
86
 
100
87
  append(performanceLogger: IPerformanceLogger) {
@@ -209,6 +196,12 @@ class PerformanceLogger implements IPerformanceLogger {
209
196
  if (extras) {
210
197
  this._pointExtras[key] = extras;
211
198
  }
199
+
200
+ if (this._isLoggingForWebPerformance) {
201
+ performance.mark(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
202
+ startTime: timestamp,
203
+ });
204
+ }
212
205
  }
213
206
 
214
207
  removeExtra(key: string): ?ExtraValue {
@@ -270,6 +263,12 @@ class PerformanceLogger implements IPerformanceLogger {
270
263
  if (PRINT_TO_CONSOLE) {
271
264
  infoLog('PerformanceLogger.js', 'start: ' + key);
272
265
  }
266
+
267
+ if (this._isLoggingForWebPerformance) {
268
+ performance.mark(`${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`, {
269
+ startTime: timestamp,
270
+ });
271
+ }
273
272
  }
274
273
 
275
274
  stopTimespan(
@@ -315,14 +314,27 @@ class PerformanceLogger implements IPerformanceLogger {
315
314
  Systrace.endAsyncEvent(key, _cookies[key]);
316
315
  delete _cookies[key];
317
316
  }
317
+
318
+ if (this._isLoggingForWebPerformance) {
319
+ performance.measure(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
320
+ start: `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,
321
+ end: timestamp,
322
+ });
323
+ }
318
324
  }
319
325
  }
320
326
 
327
+ // Re-exporting for backwards compatibility with all the clients that
328
+ // may still import it from this module.
329
+ export type {Extras, ExtraValue, IPerformanceLogger, Timespan};
330
+
321
331
  /**
322
332
  * This function creates performance loggers that can be used to collect and log
323
333
  * various performance data such as timespans, points and extras.
324
334
  * The loggers need to have minimal overhead since they're used in production.
325
335
  */
326
- export default function createPerformanceLogger(): IPerformanceLogger {
327
- return new PerformanceLogger();
336
+ export default function createPerformanceLogger(
337
+ isLoggingForWebPerformance?: boolean,
338
+ ): IPerformanceLogger {
339
+ return new PerformanceLogger(isLoggingForWebPerformance);
328
340
  }
@@ -26,9 +26,7 @@ export function createStringifySafeWithLimits(limits: {|
26
26
  maxArrayLimit = Number.POSITIVE_INFINITY,
27
27
  maxObjectKeysLimit = Number.POSITIVE_INFINITY,
28
28
  } = limits;
29
- const stack: Array<
30
- string | {+[string]: mixed} | {'...(truncated keys)...': number},
31
- > = [];
29
+ const stack: Array<mixed> = [];
32
30
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
33
31
  * Flow's LTI update could not be added via codemod */
34
32
  function replacer(key: string, value: mixed): mixed {
@@ -47,10 +45,7 @@ export function createStringifySafeWithLimits(limits: {|
47
45
  return value;
48
46
  }
49
47
 
50
- let retval:
51
- | string
52
- | {+[string]: mixed}
53
- | $TEMPORARY$object<{'...(truncated keys)...': number}> = value;
48
+ let retval: mixed = value;
54
49
  if (Array.isArray(value)) {
55
50
  if (stack.length >= maxDepth) {
56
51
  retval = `[ ... array with ${value.length} values ... ]`;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import type {ColorSchemeName} from './NativeAppearance';
14
+
15
+ import Appearance from './Appearance';
16
+ import {useSyncExternalStore} from 'react';
17
+
18
+ export default function useColorScheme(): ?ColorSchemeName {
19
+ return useSyncExternalStore(
20
+ callback => {
21
+ const appearanceSubscription = Appearance.addChangeListener(callback);
22
+ return () => appearanceSubscription.remove();
23
+ },
24
+ () => Appearance.getColorScheme(),
25
+ );
26
+ }
@@ -22,9 +22,9 @@ export default function useWindowDimensions():
22
22
  useEffect(() => {
23
23
  function handleChange({
24
24
  window,
25
- }:
26
- | $FlowFixMe
27
- | $TEMPORARY$object<{window: DisplayMetrics | DisplayMetricsAndroid}>) {
25
+ }: {
26
+ window: DisplayMetrics | DisplayMetricsAndroid,
27
+ }) {
28
28
  if (
29
29
  dimensions.width !== window.width ||
30
30
  dimensions.height !== window.height ||