react-native-windows 0.80.1 → 0.81.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 (672) hide show
  1. package/.flowconfig +10 -5
  2. package/Directory.Build.props +1 -1
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/Alert/Alert.js +3 -3
  5. package/Libraries/Alert/Alert.windows.js +5 -2
  6. package/Libraries/Alert/NativeAlertManager.js +1 -0
  7. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  8. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  9. package/Libraries/Alert/RCTAlertManager.js +1 -3
  10. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  11. package/Libraries/Animated/Animated.js +0 -1
  12. package/Libraries/Animated/Animated.js.flow +0 -1
  13. package/Libraries/Animated/AnimatedEvent.js +4 -3
  14. package/Libraries/Animated/AnimatedExports.js +0 -1
  15. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  16. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  17. package/Libraries/Animated/AnimatedMock.js +2 -2
  18. package/Libraries/Animated/Easing.js +1 -1
  19. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  21. package/Libraries/Animated/SpringConfig.js +1 -1
  22. package/Libraries/Animated/animations/Animation.js +10 -2
  23. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  24. package/Libraries/Animated/components/AnimatedText.js +2 -5
  25. package/Libraries/Animated/components/AnimatedView.js +2 -1
  26. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  27. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  28. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  29. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  31. package/Libraries/AppState/NativeAppState.js +1 -0
  32. package/Libraries/AppTheme/AppTheme.js +1 -1
  33. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +4 -0
  36. package/Libraries/Blob/NativeBlobModule.js +1 -0
  37. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  38. package/Libraries/Blob/URL.js +1 -1
  39. package/Libraries/Blob/URLSearchParams.js +5 -1
  40. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  41. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  42. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  44. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  47. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  49. package/Libraries/Components/Button.js +10 -7
  50. package/Libraries/Components/Button.windows.js +4 -4
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
  60. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  64. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  65. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
  66. package/Libraries/Components/Pressable/Pressable.js +17 -8
  67. package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  70. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  71. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  72. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  73. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  74. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  75. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  76. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  77. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  78. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  79. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  81. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  82. package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
  83. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  84. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  85. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  86. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  87. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  88. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  89. package/Libraries/Components/Sound/SoundManager.js +1 -1
  90. package/Libraries/Components/StaticRenderer.js +1 -1
  91. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  92. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  93. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  94. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  95. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  96. package/Libraries/Components/Switch/Switch.js +10 -3
  97. package/Libraries/Components/Switch/Switch.windows.js +10 -3
  98. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  99. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  100. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  101. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  102. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  103. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  104. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
  105. package/Libraries/Components/TextInput/TextInput.js +42 -39
  106. package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
  107. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  108. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  109. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
  110. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  111. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  112. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  116. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  117. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  118. package/Libraries/Components/Touchable/Position.js +1 -1
  119. package/Libraries/Components/Touchable/Touchable.js +17 -3
  120. package/Libraries/Components/Touchable/Touchable.windows.js +17 -3
  121. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  122. package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
  123. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  124. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  129. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
  130. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  131. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
  132. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  133. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  134. package/Libraries/Components/View/View.js +114 -29
  135. package/Libraries/Components/View/View.windows.js +261 -217
  136. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  137. package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
  138. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
  139. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  140. package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
  141. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  142. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  143. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
  144. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  145. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  146. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  147. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  148. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  149. package/Libraries/Core/ExceptionsManager.js +27 -16
  150. package/Libraries/Core/InitializeCore.js +2 -23
  151. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  152. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  153. package/Libraries/Core/ReactNativeVersion.js +3 -2
  154. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  155. package/Libraries/Core/Timers/JSTimers.js +1 -1
  156. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  157. package/Libraries/Core/Timers/immediateShim.js +1 -1
  158. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  159. package/Libraries/Core/checkNativeVersion.js +1 -0
  160. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  161. package/Libraries/Core/setUpReactDevTools.js +21 -4
  162. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  163. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  164. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  165. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  166. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  167. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  168. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  169. package/Libraries/Image/AssetRegistry.js +4 -10
  170. package/Libraries/Image/Image.android.js +113 -107
  171. package/Libraries/Image/Image.ios.js +10 -2
  172. package/Libraries/Image/Image.windows.js +30 -20
  173. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  174. package/Libraries/Image/ImageInjection.js +1 -1
  175. package/Libraries/Image/ImageSource.d.ts +5 -0
  176. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  177. package/Libraries/Image/NativeImageEditor.js +1 -0
  178. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  179. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  180. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  181. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  182. package/Libraries/Image/RelativeImageStub.js +2 -1
  183. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  184. package/Libraries/Image/resolveAssetSource.js +1 -1
  185. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  186. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  187. package/Libraries/Interaction/InteractionManager.js +64 -54
  188. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  189. package/Libraries/Interaction/TaskQueue.js +8 -9
  190. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  191. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  192. package/Libraries/Linking/Linking.js +1 -1
  193. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  194. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  195. package/Libraries/Lists/FlatList.d.ts +9 -5
  196. package/Libraries/Lists/FlatList.js +6 -7
  197. package/Libraries/Lists/SectionList.js +4 -4
  198. package/Libraries/Lists/SectionListModern.js +9 -3
  199. package/Libraries/Lists/VirtualizedList.js +3 -2
  200. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  201. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  202. package/Libraries/LogBox/LogBox.js +72 -99
  203. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  204. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  205. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
  206. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  207. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  208. package/Libraries/Modal/Modal.d.ts +8 -2
  209. package/Libraries/Modal/Modal.js +24 -3
  210. package/Libraries/Modal/Modal.windows.js +24 -3
  211. package/Libraries/Modal/NativeModalManager.js +1 -0
  212. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  213. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  214. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  215. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  216. package/Libraries/NativeComponent/BaseViewConfig.windows.js +9 -18
  217. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  218. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  219. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  220. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  221. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  222. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  223. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +1 -0
  224. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  225. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  226. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  227. package/Libraries/Network/FormData.js +1 -1
  228. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  229. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  230. package/Libraries/Network/RCTNetworking.android.js +2 -2
  231. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  232. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  233. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +3 -3
  235. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  236. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  237. package/Libraries/Pressability/Pressability.js +1 -1
  238. package/Libraries/Pressability/Pressability.windows.js +1 -1
  239. package/Libraries/Promise.js +1 -1
  240. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  241. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  242. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  243. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  244. package/Libraries/ReactNative/AppContainer.js +1 -1
  245. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  246. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  247. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  248. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  249. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  250. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  251. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  252. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  253. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  254. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  255. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  256. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  257. package/Libraries/ReactNative/RendererProxy.js +1 -1
  258. package/Libraries/ReactNative/RootTag.js +2 -2
  259. package/Libraries/ReactNative/renderApplication.js +1 -1
  260. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  261. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  262. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  263. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  264. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  265. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  266. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  267. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
  268. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/SettingsFallback.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +1 -0
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  275. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  276. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  277. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  278. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  279. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  280. package/Libraries/StyleSheet/PointPropType.js +1 -1
  281. package/Libraries/StyleSheet/Rect.js +1 -1
  282. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  283. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  284. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  285. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  286. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  287. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  288. package/Libraries/StyleSheet/processColor.js +1 -1
  289. package/Libraries/StyleSheet/processColorArray.js +1 -1
  290. package/Libraries/StyleSheet/processFilter.js +1 -2
  291. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  292. package/Libraries/StyleSheet/processTransform.js +1 -1
  293. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  294. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  295. package/Libraries/Text/Text.d.ts +1 -2
  296. package/Libraries/Text/Text.js +255 -246
  297. package/Libraries/Text/Text.windows.js +282 -301
  298. package/Libraries/Text/TextAncestor.js +3 -9
  299. package/Libraries/Text/TextAncestorContext.js +23 -0
  300. package/Libraries/Text/TextNativeComponent.js +4 -0
  301. package/Libraries/Text/TextProps.js +2 -5
  302. package/Libraries/Text/TextProps.windows.js +2 -6
  303. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  304. package/Libraries/Types/CodegenTypes.js +1 -1
  305. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  306. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  307. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  308. package/Libraries/Utilities/Appearance.js +1 -1
  309. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  310. package/Libraries/Utilities/DevLoadingView.js +1 -1
  311. package/Libraries/Utilities/DeviceInfo.js +1 -1
  312. package/Libraries/Utilities/Dimensions.js +1 -1
  313. package/Libraries/Utilities/HMRClient.js +13 -3
  314. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  315. package/Libraries/Utilities/NativeAppearance.js +1 -0
  316. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  317. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  318. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  319. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  320. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  321. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  322. package/Libraries/Utilities/PixelRatio.js +1 -1
  323. package/Libraries/Utilities/Platform.android.js +2 -5
  324. package/Libraries/Utilities/Platform.ios.js +2 -5
  325. package/Libraries/Utilities/Platform.js +1 -1
  326. package/Libraries/Utilities/Platform.js.flow +2 -2
  327. package/Libraries/Utilities/Platform.windows.js +2 -5
  328. package/Libraries/Utilities/PlatformTypes.js +2 -2
  329. package/Libraries/Utilities/RCTLog.js +1 -1
  330. package/Libraries/Utilities/SceneTracker.js +1 -1
  331. package/Libraries/Utilities/binaryToBase64.js +1 -1
  332. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  333. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  334. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  335. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  336. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  337. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  338. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  339. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  340. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  341. package/Libraries/Utilities/logError.js +1 -1
  342. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  343. package/Libraries/Utilities/stringifySafe.js +1 -1
  344. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  345. package/Libraries/Utilities/useColorScheme.js +1 -1
  346. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  347. package/Libraries/Utilities/warnOnce.js +1 -1
  348. package/Libraries/Vibration/NativeVibration.js +1 -0
  349. package/Libraries/Vibration/Vibration.js +1 -2
  350. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  351. package/Libraries/WebSocket/WebSocket.js +1 -1
  352. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  353. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  354. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  355. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  356. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
  357. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
  358. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
  359. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
  360. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
  361. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
  362. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
  363. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
  364. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
  365. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
  366. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
  367. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
  368. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
  369. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
  370. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +6 -6
  371. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
  372. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
  373. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
  374. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
  375. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
  376. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
  378. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +41 -37
  379. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
  380. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
  381. package/Microsoft.ReactNative/JsiApi.cpp +1 -1
  382. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
  383. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
  384. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
  385. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
  386. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
  387. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
  388. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
  389. package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
  390. package/Microsoft.ReactNative/QuirkSettings.h +3 -0
  391. package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
  392. package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
  393. package/Microsoft.ReactNative/ReactHost/React.h +11 -4
  394. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +166 -29
  395. package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
  396. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
  397. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  398. package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
  399. package/Microsoft.ReactNative/ReactRootView.h +6 -0
  400. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
  401. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
  402. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
  403. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
  404. package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
  405. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
  406. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
  407. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
  408. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
  409. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
  410. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  411. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
  412. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
  413. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
  414. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
  415. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
  416. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
  417. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
  418. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
  419. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
  420. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
  421. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
  422. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
  423. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
  424. package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
  425. package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
  426. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
  427. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
  428. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  429. package/PropertySheets/JSEngine.props +1 -1
  430. package/PropertySheets/React.Cpp.props +6 -4
  431. package/README.md +1 -1
  432. package/ReactCommon/ReactCommon.vcxproj +29 -21
  433. package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  451. package/ReactCommon/cgmanifest.json +1 -1
  452. package/Scripts/Analyze-Crash.ps1 +87 -3
  453. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  454. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
  455. package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
  456. package/Scripts/creaternwapp.cmd +10 -6
  457. package/Scripts/rnw-dependencies.ps1 +33 -4
  458. package/Shared/CreateModules.h +0 -35
  459. package/Shared/DevServerHelper.h +13 -3
  460. package/Shared/DevSettings.h +6 -5
  461. package/Shared/DevSupportManager.cpp +79 -20
  462. package/Shared/DevSupportManager.h +7 -19
  463. package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
  464. package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
  465. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
  466. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
  467. package/Shared/HermesRuntimeHolder.cpp +29 -111
  468. package/Shared/HermesRuntimeHolder.h +214 -32
  469. package/Shared/IDevSupportManager.h +5 -2
  470. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
  471. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
  472. package/Shared/Inspector/ReactInspectorThread.h +18 -0
  473. package/Shared/JSI/RuntimeHolder.h +5 -2
  474. package/Shared/Modules/BlobModule.cpp +0 -90
  475. package/Shared/Modules/BlobModule.h +0 -40
  476. package/Shared/Modules/FileReaderModule.cpp +0 -104
  477. package/Shared/Modules/FileReaderModule.h +0 -38
  478. package/Shared/Modules/HttpModule.cpp +0 -172
  479. package/Shared/Modules/HttpModule.h +0 -47
  480. package/Shared/Modules/WebSocketModule.cpp +0 -287
  481. package/Shared/Modules/WebSocketModule.h +1 -94
  482. package/Shared/OInstance.cpp +45 -139
  483. package/Shared/OInstance.h +0 -1
  484. package/Shared/Shared.vcxitems +33 -32
  485. package/Shared/Shared.vcxitems.filters +38 -51
  486. package/Shared/TurboModuleManager.cpp +0 -1
  487. package/codegen/NativeDOMSpec.g.h +6 -0
  488. package/codegen/NativeDeviceInfoSpec.g.h +2 -0
  489. package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
  490. package/codegen/NativeMutationObserverSpec.g.h +4 -4
  491. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  493. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  494. package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
  495. package/codegen/react/components/rnwcore/Props.cpp +535 -24
  496. package/codegen/react/components/rnwcore/Props.h +138 -0
  497. package/codegen/react/components/rnwcore/States.h +9 -78
  498. package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
  499. package/codegen/rnwcoreJSI-generated.cpp +101 -31
  500. package/codegen/rnwcoreJSI.h +169 -88
  501. package/include/Shared/II18nModule.h +0 -1
  502. package/index.js +22 -2
  503. package/index.windows.js +131 -221
  504. package/interface.js +1 -1
  505. package/jest/MockNativeMethods.js +9 -3
  506. package/jest/RefreshControlMock.js +32 -0
  507. package/jest/assetFileTransformer.js +1 -0
  508. package/jest/local-setup.js +4 -3
  509. package/jest/mock.js +39 -0
  510. package/jest/mockComponent.js +47 -17
  511. package/jest/mockNativeComponent.js +26 -15
  512. package/jest/mocks/AccessibilityInfo.js +62 -0
  513. package/jest/mocks/ActivityIndicator.js +23 -0
  514. package/jest/mocks/AppState.js +19 -0
  515. package/jest/mocks/Clipboard.js +16 -0
  516. package/jest/mocks/Image.js +23 -0
  517. package/jest/mocks/InitializeCore.js +9 -0
  518. package/jest/mocks/Linking.js +28 -0
  519. package/jest/mocks/Modal.js +33 -0
  520. package/jest/mocks/NativeComponentRegistry.js +30 -0
  521. package/jest/mocks/NativeModules.js +239 -0
  522. package/jest/mocks/RefreshControl.js +31 -0
  523. package/jest/mocks/RendererProxy.js +45 -0
  524. package/jest/mocks/ScrollView.js +58 -0
  525. package/jest/mocks/Text.js +27 -0
  526. package/jest/mocks/TextInput.js +32 -0
  527. package/jest/mocks/UIManager.js +60 -0
  528. package/jest/mocks/Vibration.js +16 -0
  529. package/jest/mocks/View.js +27 -0
  530. package/jest/mocks/ViewNativeComponent.js +23 -0
  531. package/jest/mocks/requireNativeComponent.js +22 -0
  532. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  533. package/jest/react-native-env.js +1 -0
  534. package/jest/renderer.js +1 -2
  535. package/jest/resolver.js +1 -0
  536. package/jest/setup.js +64 -449
  537. package/package.json +24 -24
  538. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  539. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  540. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  541. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  542. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  543. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  544. package/src/private/components/virtualview/VirtualView.js +145 -0
  545. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  546. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  547. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  548. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  549. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  550. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  551. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  552. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  553. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  554. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  555. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  556. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  557. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  558. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  559. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  560. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  561. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  562. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  563. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
  564. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  565. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  566. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  567. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  568. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  569. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  570. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  571. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  572. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  573. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  574. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  575. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  576. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  577. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  578. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  579. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  580. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  581. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  582. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  583. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  584. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  585. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  586. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  587. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  588. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  589. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  590. package/src/private/styles/composeStyles.js +5 -12
  591. package/src/private/types/HostInstance.js +1 -1
  592. package/src/private/webapis/dom/events/Event.js +3 -0
  593. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  594. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  595. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  596. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  597. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  598. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  599. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  600. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  601. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  602. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  603. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  604. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  605. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  606. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  607. package/src/private/webapis/errors/DOMException.js +166 -0
  608. package/src/private/webapis/geometry/DOMRect.js +5 -0
  609. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  610. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  611. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  612. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  613. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  614. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  615. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  616. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  617. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  618. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  619. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  620. package/src/private/webapis/performance/EventTiming.js +1 -1
  621. package/src/private/webapis/performance/LongTasks.js +1 -1
  622. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  623. package/src/private/webapis/performance/Performance.js +20 -9
  624. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  625. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  626. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  627. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  628. package/src/private/webapis/performance/UserTiming.js +1 -1
  629. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  630. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  631. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  632. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  633. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  634. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  635. package/templates/cpp-lib/example/metro.config.js +1 -1
  636. package/templates/cpp-lib/template.config.js +24 -0
  637. package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
  638. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
  639. package/types/modules/Devtools.d.ts +23 -9
  640. package/Libraries/BugReporting/BugReporting.js +0 -140
  641. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  642. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  643. package/Libraries/BugReporting/getReactData.js +0 -187
  644. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  645. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
  646. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
  647. package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
  648. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
  649. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
  650. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
  651. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
  652. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
  653. package/Shared/InspectorPackagerConnection.cpp +0 -232
  654. package/Shared/InspectorPackagerConnection.h +0 -61
  655. package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
  656. package/Shared/Modules/ExceptionsManagerModule.h +0 -32
  657. package/Shared/Modules/I18nModule.cpp +0 -36
  658. package/Shared/Modules/I18nModule.h +0 -28
  659. package/Shared/Modules/NetworkingModule.cpp +0 -432
  660. package/Shared/Modules/NetworkingModule.h +0 -34
  661. package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
  662. package/Shared/Modules/PlatformConstantsModule.h +0 -23
  663. package/Shared/Modules/SourceCodeModule.cpp +0 -35
  664. package/Shared/Modules/SourceCodeModule.h +0 -27
  665. package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
  666. package/Shared/Modules/StatusBarManagerModule.h +0 -19
  667. package/codegen/NativeBugReportingSpec.g.h +0 -41
  668. package/jest/mockModal.js +0 -32
  669. package/jest/mockScrollView.js +0 -35
  670. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  671. /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
  672. /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
@@ -0,0 +1,233 @@
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
+ import DOMException from '../errors/DOMException';
12
+ import {
13
+ getPlatformObjectClone,
14
+ isPlatformObject,
15
+ } from '../webidl/PlatformObjects';
16
+
17
+ const VALID_ERROR_NAMES = new Set([
18
+ 'Error',
19
+ 'EvalError',
20
+ 'RangeError',
21
+ 'ReferenceError',
22
+ 'SyntaxError',
23
+ 'TypeError',
24
+ 'URIError',
25
+ ]);
26
+
27
+ const BASIC_CONSTRUCTORS = [Number, String, Boolean, Date];
28
+
29
+ const ObjectPrototype = Object.prototype;
30
+
31
+ // Technicall the memory value should be a parameter in
32
+ // `structuredCloneInternal` but as an optimization we can reuse the same map
33
+ // and avoid allocating a new one in every call to `structuredClone`.
34
+ // This is safe because we don't invoke user code in `structuredClone`, so at
35
+ // any given point we only have one memory object alive anyway.
36
+ const memory: Map<mixed, mixed> = new Map();
37
+
38
+ function structuredCloneInternal<T>(value: T): T {
39
+ // Handles `null` and `undefined`.
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+
44
+ // Handles remaining primitive values.
45
+ switch (typeof value) {
46
+ case 'boolean':
47
+ case 'number':
48
+ case 'string':
49
+ case 'bigint':
50
+ return value;
51
+ }
52
+
53
+ // Handles unsupported types (symbols and functions).
54
+ if (typeof value !== 'object') {
55
+ // value is symbol or function
56
+ throw new DOMException(
57
+ `Failed to execute 'structuredClone' on 'Window': ${String(value)} could not be cloned.`,
58
+ 'DataCloneError',
59
+ );
60
+ }
61
+
62
+ // Handles circular references.
63
+ if (memory.has(value)) {
64
+ // $FlowExpectedError[incompatible-return] we know memory.get(value) is T
65
+ return memory.get(value);
66
+ }
67
+
68
+ // Handles arrays.
69
+ if (Array.isArray(value)) {
70
+ const result = [];
71
+ memory.set(value, result);
72
+
73
+ for (const key of Object.keys(value)) {
74
+ result[key] = structuredCloneInternal(value[key]);
75
+ }
76
+
77
+ // $FlowExpectedError[incompatible-return] we know result is T
78
+ return result;
79
+ }
80
+
81
+ // Simple object fast path
82
+ // $FlowIssue[prop-missing] Why doesn't Flow know about Object.prototype?
83
+ if (Object.getPrototypeOf(value) === ObjectPrototype) {
84
+ const result = {};
85
+ memory.set(value, result);
86
+
87
+ for (const key of Object.keys(value)) {
88
+ // $FlowExpectedError[prop-missing]
89
+ result[key] = structuredCloneInternal(value[key]);
90
+ }
91
+
92
+ // $FlowExpectedError[incompatible-return] we know result is T
93
+ return result;
94
+ }
95
+
96
+ // Handles complex types (typeof === 'object').
97
+
98
+ for (const Cls of BASIC_CONSTRUCTORS) {
99
+ if (value instanceof Cls) {
100
+ const result = new Cls(value);
101
+ memory.set(value, result);
102
+ // $FlowExpectedError[incompatible-return] we know result is T
103
+ return result;
104
+ }
105
+ }
106
+
107
+ if (value instanceof Map) {
108
+ const result = new Map<mixed, mixed>();
109
+ memory.set(value, result);
110
+
111
+ for (const [innerKey, innerValue] of value) {
112
+ result.set(
113
+ structuredCloneInternal(innerKey),
114
+ structuredCloneInternal(innerValue),
115
+ );
116
+ }
117
+
118
+ // $FlowExpectedError[incompatible-return] we know result is T
119
+ return result;
120
+ }
121
+
122
+ if (value instanceof Set) {
123
+ const result = new Set<mixed>();
124
+ memory.set(value, result);
125
+
126
+ for (const innerValue of value) {
127
+ result.add(structuredCloneInternal(innerValue));
128
+ }
129
+
130
+ // $FlowExpectedError[incompatible-return] we know result is T
131
+ return result;
132
+ }
133
+
134
+ if (value instanceof RegExp) {
135
+ const result = new RegExp(value.source, value.flags);
136
+ memory.set(value, result);
137
+
138
+ // $FlowExpectedError[incompatible-return] we know result is T
139
+ return result;
140
+ }
141
+
142
+ // We need to check platform objects before `Error` because `DOMException`
143
+ // is a platform object AND an `Error` subclass.
144
+ const clone = getPlatformObjectClone(value);
145
+ if (clone != null) {
146
+ const result = clone(value);
147
+ memory.set(value, result);
148
+ return result;
149
+ }
150
+
151
+ if (value instanceof Error) {
152
+ const result = value.cause
153
+ ? new Error(value.message, {cause: value.cause})
154
+ : new Error(value.message);
155
+ memory.set(value, result);
156
+
157
+ if (VALID_ERROR_NAMES.has(value.name)) {
158
+ result.name = value.name;
159
+ } else {
160
+ result.name = 'Error';
161
+ }
162
+
163
+ result.stack = value.stack;
164
+
165
+ // $FlowExpectedError[incompatible-return] we know result is T
166
+ return result;
167
+ }
168
+
169
+ // Known non-serializable objects.
170
+ if (isNonSerializableObject(value) || isPlatformObject(value)) {
171
+ throw new DOMException(
172
+ `Failed to execute 'structuredClone' on 'Window': ${String(value)} could not be cloned.`,
173
+ 'DataCloneError',
174
+ );
175
+ }
176
+
177
+ // Arbitrary object slow path
178
+ const result = {};
179
+ memory.set(value, result);
180
+
181
+ // We need to use Object.keys instead of iterating by indices because we
182
+ // also need to copy arbitrary fields set in the array.
183
+ for (const key of Object.keys(value)) {
184
+ // $FlowExpectedError[prop-missing]
185
+ result[key] = structuredCloneInternal(value[key]);
186
+ }
187
+
188
+ // $FlowExpectedError[incompatible-return] we know result is T
189
+ return result;
190
+ }
191
+
192
+ /**
193
+ * Basic implementation of `structuredClone`.
194
+ * See:
195
+ * - https://developer.mozilla.org/en-US/docs/Web/API/Window/structuredClone.
196
+ * - https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
197
+ * - https://html.spec.whatwg.org/multipage/structured-data.html#structured-cloning
198
+ *
199
+ * Supports cloning all built-in types supported by the spec, circular
200
+ * references and referential equality of the same objects found in the
201
+ * structure.
202
+ *
203
+ * Shortcuts:
204
+ * - This implementation does NOT serialize and deserialize the value
205
+ * but implements the cloning in a single step.
206
+ *
207
+ * Known limitations:
208
+ * - It does not support transfering values.
209
+ */
210
+ export default function structuredClone<T>(value: T): T {
211
+ try {
212
+ return structuredCloneInternal(value);
213
+ } finally {
214
+ memory.clear();
215
+ }
216
+ }
217
+
218
+ const NON_SERIALIZABLE_OBJECT_KEY = Symbol('nonSerializableObject');
219
+
220
+ function isNonSerializableObject<T: interface {}>(obj: T): boolean {
221
+ // $FlowExpectedError[invalid-in-lhs]
222
+ return NON_SERIALIZABLE_OBJECT_KEY in obj;
223
+ }
224
+
225
+ function markClassAsNonSerializable<T>(cls: Class<T>): void {
226
+ // $FlowExpectedError[incompatible-use]
227
+ cls.prototype[NON_SERIALIZABLE_OBJECT_KEY] = true;
228
+ }
229
+
230
+ // Non-serializable built-ins.
231
+ markClassAsNonSerializable(WeakMap);
232
+ markClassAsNonSerializable(WeakSet);
233
+ markClassAsNonSerializable(Promise);
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  /**
@@ -0,0 +1,59 @@
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
+ const IS_PLATFORM_OBJECT_KEY = Symbol('isPlatformObject');
12
+ const CLONE_PLATFORM_OBJECT_KEY = Symbol('clonePlatformObject');
13
+
14
+ /**
15
+ * Marks the given object or instances of the given class as platform objects.
16
+ *
17
+ * Optionally, it sets the clone function for that platform object, which is a
18
+ * simplification of the serializable attribute of the Web interface.
19
+ */
20
+ export const setPlatformObject: (<T: interface {}>(
21
+ obj: Class<T>,
22
+ options?: {clone: T => T},
23
+ ) => void) &
24
+ (<T: interface {}>(obj: T, options?: {clone: T => T}) => void) =
25
+ function setPlatformObject(obj, options) {
26
+ if (typeof obj === 'function') {
27
+ // $FlowExpectedError[prop-missing]
28
+ obj.prototype[IS_PLATFORM_OBJECT_KEY] = true;
29
+ if (options) {
30
+ // $FlowExpectedError[prop-missing]
31
+ obj.prototype[CLONE_PLATFORM_OBJECT_KEY] = options.clone;
32
+ }
33
+ } else {
34
+ // $FlowExpectedError[prop-missing]
35
+ obj[IS_PLATFORM_OBJECT_KEY] = true;
36
+ if (options) {
37
+ // $FlowExpectedError[prop-missing]
38
+ obj[CLONE_PLATFORM_OBJECT_KEY] = options.clone;
39
+ }
40
+ }
41
+ };
42
+
43
+ /**
44
+ * Indicates if the given object is a platform object.
45
+ */
46
+ export function isPlatformObject<T: interface {}>(obj: T): boolean {
47
+ // $FlowExpectedError[invalid-in-lhs]
48
+ return IS_PLATFORM_OBJECT_KEY in obj;
49
+ }
50
+
51
+ /**
52
+ * Returns the clone function for the given platform object, if it was set.
53
+ */
54
+ export function getPlatformObjectClone<T: interface {}>(
55
+ obj: T,
56
+ ): (T => T) | void {
57
+ // $FlowExpectedError[prop-missing]
58
+ return obj[CLONE_PLATFORM_OBJECT_KEY];
59
+ }
@@ -33,7 +33,7 @@ const config = {
33
33
  // We need to make sure that only one version is loaded for peerDependencies
34
34
  // So we block them at the root, and alias them to the versions in example's node_modules
35
35
  resolver: {
36
- blocklistRE: exclusionList(
36
+ blockList: exclusionList(
37
37
  modules.map(
38
38
  (m) =>
39
39
  new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`)
@@ -93,6 +93,24 @@ async function getFileMappings(config = {}, options = {}) {
93
93
  .replace('}', '') ?? crypto.randomUUID();
94
94
  const currentUser = username.sync(); // Gets the current username depending on the platform.
95
95
 
96
+ // Check for existing codegen spec files
97
+ const codegenPath = path.join(projectRoot, 'windows', projectName, 'codegen');
98
+ let existingSpecFiles = [];
99
+ let firstSpecName = null;
100
+ if (existsSync(codegenPath)) {
101
+ try {
102
+ const specFiles = await glob('*Spec.g.h', {cwd: codegenPath});
103
+ existingSpecFiles = specFiles;
104
+ if (specFiles.length > 0) {
105
+ // Extract the spec name from filename (e.g., "NativeMyModuleSpec.g.h" -> "MyModuleSpec")
106
+ const firstFile = specFiles[0];
107
+ firstSpecName = firstFile.replace(/^Native/, '').replace(/\.g\.h$/, '');
108
+ }
109
+ } catch (e) {
110
+ // If we can't read the codegen directory, continue with empty array
111
+ }
112
+ }
113
+
96
114
  const cppNugetPackages = [];
97
115
 
98
116
  const replacements = {
@@ -104,6 +122,12 @@ async function getFileMappings(config = {}, options = {}) {
104
122
  namespace: namespace,
105
123
  namespaceCpp: namespaceCpp,
106
124
 
125
+ // Codegen spec files information
126
+ existingSpecFiles: existingSpecFiles,
127
+ hasExistingSpecFiles: existingSpecFiles.length > 0,
128
+ firstSpecFile: existingSpecFiles.length > 0 ? existingSpecFiles[0] : null,
129
+ firstSpecName: firstSpecName,
130
+
107
131
  rnwVersion: rnwVersion,
108
132
  rnwPathFromProjectRoot: path
109
133
  .relative(projectRoot, rnwPath)
@@ -6,7 +6,17 @@
6
6
  #if __has_include("codegen/Native{{ pascalName }}DataTypes.g.h")
7
7
  #include "codegen/Native{{ pascalName }}DataTypes.g.h"
8
8
  #endif
9
- #include "codegen/Native{{ pascalName }}Spec.g.h"
9
+ // Note: The following lines use Mustache template syntax which will be processed during
10
+ // project generation to produce standard C++ code. If existing codegen spec files are found,
11
+ // use the actual filename; otherwise use conditional includes.
12
+ {{#hasExistingSpecFiles}}
13
+ #include "codegen/{{ firstSpecFile }}"
14
+ {{/hasExistingSpecFiles}}
15
+ {{^hasExistingSpecFiles}}
16
+ #if __has_include("codegen/Native{{ pascalName }}Spec.g.h")
17
+ #include "codegen/Native{{ pascalName }}Spec.g.h"
18
+ #endif
19
+ {{/hasExistingSpecFiles}}
10
20
 
11
21
  #include "NativeModules.h"
12
22
 
@@ -18,7 +28,16 @@ namespace winrt::{{ namespaceCpp }}
18
28
  REACT_MODULE({{ pascalName }})
19
29
  struct {{ pascalName }}
20
30
  {
31
+ // Note: Mustache template syntax below will be processed during project generation
32
+ // to produce standard C++ code based on detected codegen files.
33
+ {{#hasExistingSpecFiles}}
34
+ using ModuleSpec = {{ namespaceCpp }}Codegen::{{ firstSpecName }};
35
+ {{/hasExistingSpecFiles}}
36
+ {{^hasExistingSpecFiles}}
37
+ #if __has_include("codegen/Native{{ pascalName }}Spec.g.h")
21
38
  using ModuleSpec = {{ namespaceCpp }}Codegen::{{ pascalName }}Spec;
39
+ #endif
40
+ {{/hasExistingSpecFiles}}
22
41
 
23
42
  REACT_INIT(Initialize)
24
43
  void Initialize(React::ReactContext const &reactContext) noexcept;
@@ -79,7 +79,6 @@
79
79
  <DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
80
80
  <PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
81
81
  <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
82
- <LanguageStandard>stdcpp20</LanguageStandard>
83
82
  <AdditionalIncludeDirectories>
84
83
  $(MSBuildThisFileDirectory);
85
84
  %(AdditionalIncludeDirectories)
@@ -9,24 +9,38 @@
9
9
 
10
10
  declare module 'react-native/Libraries/Core/Devtools/parseErrorStack' {
11
11
  export type StackFrame = {
12
- file: string;
12
+ column: number | null | undefined;
13
+ file: string | null | undefined;
14
+ lineNumber: number | null | undefined;
13
15
  methodName: string;
14
- lineNumber: number;
15
- column: number | null;
16
16
  };
17
17
 
18
- export interface ExtendedError extends Error {
19
- framesToPop?: number | undefined;
20
- }
21
-
22
- export default function parseErrorStack(error: ExtendedError): StackFrame[];
18
+ export default function parseErrorStack(errorStack?: string): StackFrame[];
23
19
  }
24
20
 
25
21
  declare module 'react-native/Libraries/Core/Devtools/symbolicateStackTrace' {
26
22
  import {StackFrame} from 'react-native/Libraries/Core/Devtools/parseErrorStack';
27
23
 
24
+ export type CodeFrame = Readonly<{
25
+ content: string;
26
+ location:
27
+ | {
28
+ row: number;
29
+ column: number;
30
+ [key: string]: any;
31
+ }
32
+ | null
33
+ | undefined;
34
+ fileName: string;
35
+ }>;
36
+
37
+ export type SymbolicatedStackTrace = Readonly<{
38
+ stack: ReadonlyArray<StackFrame>;
39
+ codeFrame: CodeFrame | null | undefined;
40
+ }>;
41
+
28
42
  export default function symbolicateStackTrace(
29
43
  stack: ReadonlyArray<StackFrame>,
30
44
  extraData?: any,
31
- ): Promise<StackFrame[]>;
45
+ ): Promise<SymbolicatedStackTrace>;
32
46
  }
@@ -1,140 +0,0 @@
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
- import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
12
- import NativeRedBox from '../NativeModules/specs/NativeRedBox';
13
- import {type EventSubscription} from '../vendor/emitter/EventEmitter';
14
- import NativeBugReporting from './NativeBugReporting';
15
-
16
- type ExtraData = {[key: string]: string, ...};
17
- type SourceCallback = () => string;
18
- type DebugData = {
19
- extras: ExtraData,
20
- files: ExtraData,
21
- ...
22
- };
23
-
24
- function defaultExtras() {
25
- BugReporting.addFileSource('react_hierarchy.txt', () =>
26
- require('./dumpReactTree').default(),
27
- );
28
- }
29
-
30
- /**
31
- * A simple class for collecting bug report data. Components can add sources that will be queried when a bug report
32
- * is created via `collectExtraData`. For example, a list component might add a source that provides the list of rows
33
- * that are currently visible on screen. Components should also remember to call `remove()` on the object that is
34
- * returned by `addSource` when they are unmounted.
35
- */
36
- class BugReporting {
37
- static _extraSources: Map<string, SourceCallback> = new Map();
38
- static _fileSources: Map<string, SourceCallback> = new Map();
39
- static _subscription: ?EventSubscription = null;
40
- static _redboxSubscription: ?EventSubscription = null;
41
-
42
- static _maybeInit() {
43
- if (!BugReporting._subscription) {
44
- BugReporting._subscription = RCTDeviceEventEmitter.addListener(
45
- 'collectBugExtraData',
46
- // $FlowFixMe[method-unbinding]
47
- BugReporting.collectExtraData,
48
- null,
49
- );
50
- defaultExtras();
51
- }
52
-
53
- if (!BugReporting._redboxSubscription) {
54
- BugReporting._redboxSubscription = RCTDeviceEventEmitter.addListener(
55
- 'collectRedBoxExtraData',
56
- // $FlowFixMe[method-unbinding]
57
- BugReporting.collectExtraData,
58
- null,
59
- );
60
- }
61
- }
62
-
63
- /**
64
- * Maps a string key to a simple callback that should return a string payload to be attached
65
- * to a bug report. Source callbacks are called when `collectExtraData` is called.
66
- *
67
- * Returns an object to remove the source when the component unmounts.
68
- *
69
- * Conflicts trample with a warning.
70
- */
71
- static addSource(
72
- key: string,
73
- callback: SourceCallback,
74
- ): {remove: () => void, ...} {
75
- return this._addSource(key, callback, BugReporting._extraSources);
76
- }
77
-
78
- /**
79
- * Maps a string key to a simple callback that should return a string payload to be attached
80
- * to a bug report. Source callbacks are called when `collectExtraData` is called.
81
- *
82
- * Returns an object to remove the source when the component unmounts.
83
- *
84
- * Conflicts trample with a warning.
85
- */
86
- static addFileSource(
87
- key: string,
88
- callback: SourceCallback,
89
- ): {remove: () => void, ...} {
90
- return this._addSource(key, callback, BugReporting._fileSources);
91
- }
92
-
93
- static _addSource(
94
- key: string,
95
- callback: SourceCallback,
96
- source: Map<string, SourceCallback>,
97
- ): {remove: () => void, ...} {
98
- BugReporting._maybeInit();
99
- if (source.has(key)) {
100
- console.warn(
101
- `BugReporting.add* called multiple times for same key '${key}'`,
102
- );
103
- }
104
- source.set(key, callback);
105
- return {
106
- remove: () => {
107
- source.delete(key);
108
- },
109
- };
110
- }
111
-
112
- /**
113
- * This can be called from a native bug reporting flow, or from JS code.
114
- *
115
- * If available, this will call `NativeModules.BugReporting.setExtraData(extraData)`
116
- * after collecting `extraData`.
117
- */
118
- static collectExtraData(): DebugData {
119
- const extraData: ExtraData = {};
120
- for (const [key, callback] of BugReporting._extraSources) {
121
- extraData[key] = callback();
122
- }
123
- const fileData: ExtraData = {};
124
- for (const [key, callback] of BugReporting._fileSources) {
125
- fileData[key] = callback();
126
- }
127
-
128
- if (NativeBugReporting != null && NativeBugReporting.setExtraData != null) {
129
- NativeBugReporting.setExtraData(extraData, fileData);
130
- }
131
-
132
- if (NativeRedBox != null && NativeRedBox.setExtraData != null) {
133
- NativeRedBox.setExtraData(extraData, 'From BugReporting.js');
134
- }
135
-
136
- return {extras: extraData, files: fileData};
137
- }
138
- }
139
-
140
- export default BugReporting;
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- export * from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';
12
- import NativeBugReporting from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';
13
- export default NativeBugReporting;