@office-iss/react-native-win32 0.0.0-canary.297 → 0.0.0-canary.299

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 (456) hide show
  1. package/.flowconfig +8 -4
  2. package/CHANGELOG.json +55 -1
  3. package/CHANGELOG.md +25 -5
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/AnimatedEvent.js +4 -3
  27. package/Libraries/Animated/AnimatedExports.js +2 -2
  28. package/Libraries/Animated/AnimatedExports.js.flow +5 -0
  29. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  30. package/Libraries/Animated/AnimatedMock.js +2 -2
  31. package/Libraries/Animated/Easing.js +1 -1
  32. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  33. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  34. package/Libraries/Animated/SpringConfig.js +1 -1
  35. package/Libraries/Animated/animations/Animation.js +6 -1
  36. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  37. package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
  38. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +2 -4
  42. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  44. package/Libraries/AppState/NativeAppState.js +1 -0
  45. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  46. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  47. package/Libraries/Blob/BlobManager.js +4 -0
  48. package/Libraries/Blob/NativeBlobModule.js +1 -0
  49. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  50. package/Libraries/Blob/URL.js +1 -1
  51. package/Libraries/Blob/URLSearchParams.js +5 -1
  52. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  54. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  57. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  60. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  61. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  62. package/Libraries/Components/Button.js +8 -5
  63. package/Libraries/Components/Button.win32.js +8 -5
  64. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  65. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  68. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  72. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  73. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  74. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  75. package/Libraries/Components/Pressable/Pressable.js +8 -2
  76. package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
  77. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  78. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  82. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  83. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  85. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  88. package/Libraries/Components/ScrollView/ScrollView.d.ts +24 -1
  89. package/Libraries/Components/ScrollView/ScrollView.js +7 -3
  90. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  91. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  92. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  93. package/Libraries/Components/Sound/SoundManager.js +1 -1
  94. package/Libraries/Components/StaticRenderer.js +1 -1
  95. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  96. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  97. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  98. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  99. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  100. package/Libraries/Components/Switch/Switch.js +2 -1
  101. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  102. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -19
  103. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  104. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  105. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  106. package/Libraries/Components/TextInput/TextInput.flow.js +12 -10
  107. package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
  108. package/Libraries/Components/TextInput/TextInput.js +16 -14
  109. package/Libraries/Components/TextInput/TextInput.win32.js +42 -13
  110. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  111. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  112. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  116. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  117. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  118. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  119. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  120. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  121. package/Libraries/Components/Touchable/Position.js +1 -1
  122. package/Libraries/Components/Touchable/Touchable.js +17 -3
  123. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  124. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
  129. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  131. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  132. package/Libraries/Components/View/View.js +18 -19
  133. package/Libraries/Components/View/View.win32.js +17 -3
  134. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  135. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  136. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  137. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  138. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  139. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  140. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  141. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  142. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  143. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  144. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  145. package/Libraries/Core/ExceptionsManager.js +29 -16
  146. package/Libraries/Core/InitializeCore.js +1 -1
  147. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  148. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  149. package/Libraries/Core/ReactNativeVersion.js +1 -1
  150. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  151. package/Libraries/Core/Timers/JSTimers.js +1 -1
  152. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  153. package/Libraries/Core/Timers/immediateShim.js +1 -1
  154. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  155. package/Libraries/Core/checkNativeVersion.js +1 -0
  156. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  157. package/Libraries/Core/setUpReactDevTools.js +21 -4
  158. package/Libraries/Debugging/DebuggingOverlay.js +6 -6
  159. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  160. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  161. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  162. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  163. package/Libraries/Image/Image.android.js +3 -3
  164. package/Libraries/Image/ImageInjection.js +1 -1
  165. package/Libraries/Image/ImageSource.d.ts +5 -0
  166. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  167. package/Libraries/Image/NativeImageEditor.js +1 -0
  168. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  169. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  170. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  171. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  172. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  173. package/Libraries/Image/RelativeImageStub.js +2 -2
  174. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  175. package/Libraries/Image/resolveAssetSource.js +1 -1
  176. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  177. package/Libraries/Interaction/InteractionManager.js +68 -54
  178. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  179. package/Libraries/Interaction/TaskQueue.js +22 -9
  180. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  181. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  182. package/Libraries/Linking/Linking.js +1 -1
  183. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  184. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  185. package/Libraries/Lists/FlatList.js +5 -6
  186. package/Libraries/Lists/SectionList.js +4 -4
  187. package/Libraries/Lists/VirtualizedList.js +3 -2
  188. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  190. package/Libraries/LogBox/LogBox.js +72 -99
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  196. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  197. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  198. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTNetworking.android.js +2 -2
  212. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  213. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  214. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  215. package/Libraries/Network/XMLHttpRequest.js +5 -3
  216. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  217. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  218. package/Libraries/Pressability/Pressability.js +1 -1
  219. package/Libraries/Pressability/Pressability.win32.js +1 -1
  220. package/Libraries/Promise.js +1 -1
  221. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  222. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  223. package/Libraries/ReactNative/AppContainer.js +1 -1
  224. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  225. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  226. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  227. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  228. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  229. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  230. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  231. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  232. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  233. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  234. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  235. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  236. package/Libraries/ReactNative/RendererProxy.js +1 -1
  237. package/Libraries/ReactNative/renderApplication.js +1 -1
  238. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  239. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -2
  240. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  241. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  242. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  243. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  244. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
  245. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
  246. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  247. package/Libraries/Settings/Settings.ios.js +1 -1
  248. package/Libraries/Settings/Settings.js +1 -1
  249. package/Libraries/Settings/SettingsFallback.js +1 -1
  250. package/Libraries/Share/NativeShareModule.js +1 -0
  251. package/Libraries/Share/Share.js +1 -1
  252. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  253. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  254. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  255. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  256. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  257. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  258. package/Libraries/StyleSheet/PointPropType.js +1 -1
  259. package/Libraries/StyleSheet/Rect.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  261. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  262. package/Libraries/StyleSheet/processAspectRatio.js +3 -1
  263. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  264. package/Libraries/StyleSheet/processColor.js +1 -1
  265. package/Libraries/StyleSheet/processColorArray.js +1 -1
  266. package/Libraries/StyleSheet/processFilter.js +1 -1
  267. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  268. package/Libraries/StyleSheet/processTransform.js +1 -1
  269. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  270. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  271. package/Libraries/Text/Text.js +5 -7
  272. package/Libraries/Text/Text.win32.js +1 -1
  273. package/Libraries/Text/TextAncestor.js +3 -10
  274. package/Libraries/Text/TextAncestorContext.js +23 -0
  275. package/Libraries/Text/TextNativeComponent.js +4 -0
  276. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  277. package/Libraries/Text/TextProps.js +2 -2
  278. package/Libraries/Text/TextProps.win32.js +2 -2
  279. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  280. package/Libraries/Types/CodegenTypes.js +1 -1
  281. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  282. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  283. package/Libraries/Utilities/Appearance.js +1 -1
  284. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  285. package/Libraries/Utilities/DevLoadingView.js +1 -1
  286. package/Libraries/Utilities/DeviceInfo.js +1 -1
  287. package/Libraries/Utilities/Dimensions.js +1 -1
  288. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  289. package/Libraries/Utilities/HMRClient.js +13 -3
  290. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  291. package/Libraries/Utilities/NativeAppearance.js +1 -0
  292. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  293. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  294. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  295. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  296. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  297. package/Libraries/Utilities/PixelRatio.js +1 -1
  298. package/Libraries/Utilities/Platform.android.js +2 -5
  299. package/Libraries/Utilities/Platform.ios.js +2 -5
  300. package/Libraries/Utilities/Platform.js +1 -1
  301. package/Libraries/Utilities/Platform.js.flow +2 -2
  302. package/Libraries/Utilities/Platform.win32.js +2 -5
  303. package/Libraries/Utilities/PlatformTypes.js +1 -1
  304. package/Libraries/Utilities/RCTLog.js +1 -1
  305. package/Libraries/Utilities/SceneTracker.js +1 -1
  306. package/Libraries/Utilities/binaryToBase64.js +1 -1
  307. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  308. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  309. package/Libraries/Utilities/createPerformanceLogger.js +59 -20
  310. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  311. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  312. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  313. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  314. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  315. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  316. package/Libraries/Utilities/logError.js +1 -1
  317. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  318. package/Libraries/Utilities/stringifySafe.js +1 -1
  319. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  320. package/Libraries/Utilities/useColorScheme.js +1 -1
  321. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  322. package/Libraries/Utilities/warnOnce.js +1 -1
  323. package/Libraries/Vibration/NativeVibration.js +1 -0
  324. package/Libraries/Vibration/Vibration.js +1 -2
  325. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  326. package/Libraries/WebSocket/WebSocket.js +1 -1
  327. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  328. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  329. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  330. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  331. package/index.js +22 -1
  332. package/index.win32.js +15 -2
  333. package/interface.js +1 -1
  334. package/jest/MockNativeMethods.js +9 -3
  335. package/jest/RefreshControlMock.js +32 -0
  336. package/jest/assetFileTransformer.js +1 -0
  337. package/jest/local-setup.js +4 -3
  338. package/jest/mock.js +39 -0
  339. package/jest/mockComponent.js +47 -17
  340. package/jest/mockNativeComponent.js +24 -14
  341. package/jest/mocks/AccessibilityInfo.js +62 -0
  342. package/jest/mocks/ActivityIndicator.js +23 -0
  343. package/jest/mocks/AppState.js +19 -0
  344. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  345. package/jest/mocks/Image.js +23 -0
  346. package/jest/mocks/InitializeCore.js +9 -0
  347. package/jest/mocks/Linking.js +28 -0
  348. package/jest/mocks/Modal.js +33 -0
  349. package/jest/mocks/NativeComponentRegistry.js +30 -0
  350. package/jest/mocks/NativeModules.js +239 -0
  351. package/jest/mocks/RefreshControl.js +31 -0
  352. package/jest/mocks/RendererProxy.js +45 -0
  353. package/jest/mocks/ScrollView.js +58 -0
  354. package/jest/mocks/Text.js +27 -0
  355. package/jest/mocks/TextInput.js +32 -0
  356. package/jest/mocks/UIManager.js +60 -0
  357. package/jest/mocks/Vibration.js +16 -0
  358. package/jest/mocks/View.js +27 -0
  359. package/jest/mocks/ViewNativeComponent.js +23 -0
  360. package/jest/mocks/requireNativeComponent.js +22 -0
  361. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  362. package/jest/react-native-env.js +1 -0
  363. package/jest/renderer.js +1 -1
  364. package/jest/resolver.js +1 -0
  365. package/jest/setup.js +64 -445
  366. package/overrides.json +38 -38
  367. package/package.json +14 -14
  368. package/src/private/animated/NativeAnimatedHelper.js +2 -0
  369. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -0
  370. package/src/private/animated/createAnimatedPropsHook.js +4 -1
  371. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
  372. package/src/private/components/virtualview/VirtualView.js +145 -0
  373. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  374. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  377. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  378. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  379. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  380. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  381. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  382. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  383. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  384. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  385. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  386. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  387. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  388. package/src/private/featureflags/ReactNativeFeatureFlags.js +75 -30
  389. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  390. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -5
  391. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  392. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  393. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  394. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  395. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  396. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  397. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  398. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  399. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  400. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  401. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  402. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  403. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  404. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  405. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  406. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  407. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  409. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  410. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  411. package/src/private/styles/composeStyles.js +5 -12
  412. package/src/private/types/HostInstance.js +1 -1
  413. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  414. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  415. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  416. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  417. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
  418. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  419. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  420. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  421. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  422. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  423. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  424. package/src/private/webapis/dom/oldstylecollections/NodeList.js +1 -1
  425. package/src/private/webapis/errors/DOMException.js +1 -1
  426. package/src/private/webapis/geometry/DOMRectList.js +1 -1
  427. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  428. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -1
  429. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -1
  430. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -17
  431. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +19 -73
  432. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -7
  433. package/src/private/webapis/performance/EventTiming.js +1 -1
  434. package/src/private/webapis/performance/LongTasks.js +1 -1
  435. package/src/private/webapis/performance/Performance.js +165 -62
  436. package/src/private/webapis/performance/PerformanceEntry.js +21 -17
  437. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  438. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  439. package/src/private/webapis/performance/UserTiming.js +61 -9
  440. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +48 -33
  441. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  442. package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
  443. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  444. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  445. package/types/modules/Devtools.d.ts +23 -9
  446. package/Libraries/BugReporting/BugReporting.js +0 -140
  447. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  448. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  449. package/Libraries/BugReporting/getReactData.js +0 -187
  450. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  451. package/flow/HermesInternalType.js +0 -114
  452. package/flow/console.js +0 -49
  453. package/flow/global.js +0 -88
  454. package/jest/mockModal.js +0 -32
  455. package/jest/mockScrollView.js +0 -35
  456. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -0,0 +1,108 @@
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
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {
14
+ DOMHighResTimeStamp,
15
+ PerformanceEntryJSON,
16
+ } from './PerformanceEntry';
17
+
18
+ import {PerformanceEntry} from './PerformanceEntry';
19
+
20
+ export type PerformanceResourceTimingJSON = {
21
+ ...PerformanceEntryJSON,
22
+ fetchStart: DOMHighResTimeStamp,
23
+ requestStart: DOMHighResTimeStamp,
24
+ connectStart: DOMHighResTimeStamp,
25
+ connectEnd: DOMHighResTimeStamp,
26
+ responseStart: DOMHighResTimeStamp,
27
+ responseEnd: DOMHighResTimeStamp,
28
+ responseStatus: ?number,
29
+ ...
30
+ };
31
+
32
+ export class PerformanceResourceTiming extends PerformanceEntry {
33
+ #fetchStart: DOMHighResTimeStamp;
34
+ #requestStart: DOMHighResTimeStamp;
35
+ #connectStart: DOMHighResTimeStamp;
36
+ #connectEnd: DOMHighResTimeStamp;
37
+ #responseStart: DOMHighResTimeStamp;
38
+ #responseEnd: DOMHighResTimeStamp;
39
+ #responseStatus: ?number;
40
+
41
+ constructor(init: {
42
+ name: string,
43
+ startTime: DOMHighResTimeStamp,
44
+ duration: DOMHighResTimeStamp,
45
+ fetchStart: DOMHighResTimeStamp,
46
+ requestStart: DOMHighResTimeStamp,
47
+ connectStart: DOMHighResTimeStamp,
48
+ connectEnd: DOMHighResTimeStamp,
49
+ responseStart: DOMHighResTimeStamp,
50
+ responseEnd: DOMHighResTimeStamp,
51
+ responseStatus?: number,
52
+ }) {
53
+ super({
54
+ name: init.name,
55
+ entryType: 'resource',
56
+ startTime: init.startTime,
57
+ duration: init.duration,
58
+ });
59
+ this.#fetchStart = init.fetchStart;
60
+ this.#requestStart = init.requestStart;
61
+ this.#connectStart = init.connectStart;
62
+ this.#connectEnd = init.connectEnd;
63
+ this.#responseStart = init.responseStart;
64
+ this.#responseEnd = init.responseEnd;
65
+ this.#responseStatus = init.responseStatus;
66
+ }
67
+
68
+ get fetchStart(): DOMHighResTimeStamp {
69
+ return this.#fetchStart;
70
+ }
71
+
72
+ get requestStart(): DOMHighResTimeStamp {
73
+ return this.#requestStart;
74
+ }
75
+
76
+ get connectStart(): DOMHighResTimeStamp {
77
+ return this.#connectStart;
78
+ }
79
+
80
+ get connectEnd(): DOMHighResTimeStamp {
81
+ return this.#connectEnd;
82
+ }
83
+
84
+ get responseStart(): DOMHighResTimeStamp {
85
+ return this.#responseStart;
86
+ }
87
+
88
+ get responseEnd(): DOMHighResTimeStamp {
89
+ return this.#responseEnd;
90
+ }
91
+
92
+ get responseStatus(): ?number {
93
+ return this.#responseStatus;
94
+ }
95
+
96
+ toJSON(): PerformanceResourceTimingJSON {
97
+ return {
98
+ ...super.toJSON(),
99
+ fetchStart: this.#fetchStart,
100
+ requestStart: this.#requestStart,
101
+ connectStart: this.#connectStart,
102
+ connectEnd: this.#connectEnd,
103
+ responseStart: this.#responseStart,
104
+ responseEnd: this.#responseEnd,
105
+ responseStatus: this.#responseStatus,
106
+ };
107
+ }
108
+ }
@@ -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
  // flowlint unsafe-getters-setters:off
@@ -29,9 +29,12 @@ export type PerformanceMeasureInit = {
29
29
  duration: DOMHighResTimeStamp,
30
30
  };
31
31
 
32
- export class PerformanceMark extends PerformanceEntry {
33
- #detail: DetailType;
32
+ class PerformanceMarkTemplate extends PerformanceEntry {
33
+ // We don't use private fields because they're significantly slower to
34
+ // initialize on construction and to access.
35
+ _detail: DetailType;
34
36
 
37
+ // This constructor isn't really used. See `PerformanceMark` below.
35
38
  constructor(markName: string, markOptions?: PerformanceMarkOptions) {
36
39
  super({
37
40
  name: markName,
@@ -41,18 +44,46 @@ export class PerformanceMark extends PerformanceEntry {
41
44
  });
42
45
 
43
46
  if (markOptions) {
44
- this.#detail = markOptions.detail;
47
+ this._detail = markOptions.detail;
45
48
  }
46
49
  }
47
50
 
48
51
  get detail(): DetailType {
49
- return this.#detail;
52
+ return this._detail;
50
53
  }
51
54
  }
52
55
 
53
- export class PerformanceMeasure extends PerformanceEntry {
54
- #detail: DetailType;
56
+ // This is the real value we're exporting where we define the class a function
57
+ // so we don't need to call `super()` and we can avoid the performance penalty
58
+ // of the current code transpiled with Babel.
59
+ // We should remove this when we have built-in support for classes in the
60
+ // runtime.
61
+ export const PerformanceMark: typeof PerformanceMarkTemplate =
62
+ // $FlowExpectedError[incompatible-type]
63
+ function PerformanceMark(
64
+ this: PerformanceMarkTemplate,
65
+ markName: string,
66
+ markOptions?: PerformanceMarkOptions,
67
+ ) {
68
+ this.__name = markName;
69
+ this.__entryType = 'mark';
70
+ this.__startTime = markOptions?.startTime ?? performance.now();
71
+ this.__duration = 0;
72
+
73
+ if (markOptions) {
74
+ this._detail = markOptions.detail;
75
+ }
76
+ };
77
+
78
+ // $FlowExpectedError[prop-missing]
79
+ PerformanceMark.prototype = PerformanceMarkTemplate.prototype;
55
80
 
81
+ class PerformanceMeasureTemplate extends PerformanceEntry {
82
+ // We don't use private fields because they're significantly slower to
83
+ // initialize on construction and to access.
84
+ _detail: DetailType;
85
+
86
+ // This constructor isn't really used. See `PerformanceMeasure` below.
56
87
  constructor(measureName: string, measureOptions: PerformanceMeasureInit) {
57
88
  super({
58
89
  name: measureName,
@@ -62,11 +93,32 @@ export class PerformanceMeasure extends PerformanceEntry {
62
93
  });
63
94
 
64
95
  if (measureOptions) {
65
- this.#detail = measureOptions.detail;
96
+ this._detail = measureOptions.detail;
66
97
  }
67
98
  }
68
99
 
69
100
  get detail(): DetailType {
70
- return this.#detail;
101
+ return this._detail;
71
102
  }
72
103
  }
104
+
105
+ // We do the same here as we do for `PerformanceMark` for performance reasons.
106
+ export const PerformanceMeasure: typeof PerformanceMeasureTemplate =
107
+ // $FlowExpectedError[incompatible-type]
108
+ function PerformanceMeasure(
109
+ this: PerformanceMeasureTemplate,
110
+ measureName: string,
111
+ measureOptions: PerformanceMeasureInit,
112
+ ) {
113
+ this.__name = measureName;
114
+ this.__entryType = 'measure';
115
+ this.__startTime = measureOptions.startTime;
116
+ this.__duration = measureOptions.duration;
117
+
118
+ if (measureOptions) {
119
+ this._detail = measureOptions.detail;
120
+ }
121
+ };
122
+
123
+ // $FlowExpectedError[prop-missing]
124
+ PerformanceMeasure.prototype = PerformanceMeasureTemplate.prototype;
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {PerformanceEntryType} from '../PerformanceEntry';
@@ -17,6 +17,7 @@ import type {
17
17
  import {PerformanceEventTiming} from '../EventTiming';
18
18
  import {PerformanceLongTaskTiming} from '../LongTasks';
19
19
  import {PerformanceEntry} from '../PerformanceEntry';
20
+ import {PerformanceResourceTiming} from '../ResourceTiming';
20
21
  import {PerformanceMark, PerformanceMeasure} from '../UserTiming';
21
22
 
22
23
  export const RawPerformanceEntryTypeValues = {
@@ -30,38 +31,52 @@ export const RawPerformanceEntryTypeValues = {
30
31
  export function rawToPerformanceEntry(
31
32
  entry: RawPerformanceEntry,
32
33
  ): PerformanceEntry {
33
- if (entry.entryType === RawPerformanceEntryTypeValues.EVENT) {
34
- return new PerformanceEventTiming({
35
- name: entry.name,
36
- startTime: entry.startTime,
37
- duration: entry.duration,
38
- processingStart: entry.processingStart,
39
- processingEnd: entry.processingEnd,
40
- interactionId: entry.interactionId,
41
- });
42
- } else if (entry.entryType === RawPerformanceEntryTypeValues.LONGTASK) {
43
- return new PerformanceLongTaskTiming({
44
- name: entry.name,
45
- entryType: rawToPerformanceEntryType(entry.entryType),
46
- startTime: entry.startTime,
47
- duration: entry.duration,
48
- });
49
- } else if (entry.entryType === RawPerformanceEntryTypeValues.MARK) {
50
- return new PerformanceMark(entry.name, {
51
- startTime: entry.startTime,
52
- });
53
- } else if (entry.entryType === RawPerformanceEntryTypeValues.MEASURE) {
54
- return new PerformanceMeasure(entry.name, {
55
- startTime: entry.startTime,
56
- duration: entry.duration,
57
- });
58
- } else {
59
- return new PerformanceEntry({
60
- name: entry.name,
61
- entryType: rawToPerformanceEntryType(entry.entryType),
62
- startTime: entry.startTime,
63
- duration: entry.duration,
64
- });
34
+ switch (entry.entryType) {
35
+ case RawPerformanceEntryTypeValues.EVENT:
36
+ return new PerformanceEventTiming({
37
+ name: entry.name,
38
+ startTime: entry.startTime,
39
+ duration: entry.duration,
40
+ processingStart: entry.processingStart,
41
+ processingEnd: entry.processingEnd,
42
+ interactionId: entry.interactionId,
43
+ });
44
+ case RawPerformanceEntryTypeValues.LONGTASK:
45
+ return new PerformanceLongTaskTiming({
46
+ name: entry.name,
47
+ entryType: rawToPerformanceEntryType(entry.entryType),
48
+ startTime: entry.startTime,
49
+ duration: entry.duration,
50
+ });
51
+ case RawPerformanceEntryTypeValues.MARK:
52
+ return new PerformanceMark(entry.name, {
53
+ startTime: entry.startTime,
54
+ });
55
+ case RawPerformanceEntryTypeValues.MEASURE:
56
+ return new PerformanceMeasure(entry.name, {
57
+ startTime: entry.startTime,
58
+ duration: entry.duration,
59
+ });
60
+ case RawPerformanceEntryTypeValues.RESOURCE:
61
+ return new PerformanceResourceTiming({
62
+ name: entry.name,
63
+ startTime: entry.startTime,
64
+ duration: entry.duration,
65
+ fetchStart: entry.fetchStart ?? 0,
66
+ requestStart: entry.requestStart ?? 0,
67
+ connectStart: entry.connectStart ?? 0,
68
+ connectEnd: entry.connectEnd ?? 0,
69
+ responseStart: entry.responseStart ?? 0,
70
+ responseEnd: entry.responseEnd ?? 0,
71
+ responseStatus: entry.responseStatus,
72
+ });
73
+ default:
74
+ return new PerformanceEntry({
75
+ name: entry.name,
76
+ entryType: rawToPerformanceEntryType(entry.entryType),
77
+ startTime: entry.startTime,
78
+ duration: entry.duration,
79
+ });
65
80
  }
66
81
  }
67
82
 
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  import warnOnce from '../../../../../Libraries/Utilities/warnOnce';
@@ -39,7 +39,7 @@ export type RawPerformanceEntry = {
39
39
  responseStatus?: number,
40
40
  };
41
41
 
42
- export type OpaqueNativeObserverHandle = mixed;
42
+ export opaque type OpaqueNativeObserverHandle = mixed;
43
43
 
44
44
  export type NativeBatchedObserverCallback = () => void;
45
45
  export type NativePerformanceMarkResult = number;
@@ -58,6 +58,15 @@ export interface Spec extends TurboModule {
58
58
  name: string,
59
59
  startTime?: number,
60
60
  ) => NativePerformanceMarkResult;
61
+ +measure?: (
62
+ name: string,
63
+ startTime?: number,
64
+ endTime?: number,
65
+ duration?: number,
66
+ startMark?: string,
67
+ endMark?: string,
68
+ ) => NativePerformanceMeasureResult;
69
+ // DEPRECATED: Use measure instead.
61
70
  +measureWithResult?: (
62
71
  name: string,
63
72
  startTime: number,
@@ -96,6 +105,9 @@ export interface Spec extends TurboModule {
96
105
  ) => $ReadOnlyArray<RawPerformanceEntry>;
97
106
 
98
107
  +getSupportedPerformanceEntryTypes?: () => $ReadOnlyArray<RawPerformanceEntryType>;
108
+
109
+ +setCurrentTimeStampForTesting?: (timeStamp: number) => void;
110
+ +clearEventCountsForTesting?: () => void;
99
111
  }
100
112
 
101
113
  export default (TurboModuleRegistry.get<Spec>('NativePerformanceCxx'): ?Spec);
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  /**
@@ -13,14 +13,19 @@ import {GestureResponderHandlers} from 'react-native/types/public/ReactNativeRen
13
13
  import {StyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
14
14
  import {ViewStyle} from 'react-native/Libraries/StyleSheet/StyleSheetTypes';
15
15
  import {
16
+ BlurEvent,
17
+ FocusEvent,
16
18
  LayoutChangeEvent,
19
+ PointerEvents,
17
20
  MouseEvent, // Win32
18
21
  NativeSyntheticEvent, // Win32
19
- PointerEvents,
20
- } from 'react-native/Libraries/Types/CoreEventTypes';
22
+ } from '../../Types/CoreEventTypes';
21
23
  import {Touchable} from 'react-native/Libraries/Components/Touchable/Touchable';
22
24
  import {AccessibilityProps} from './ViewAccessibility';
23
25
 
26
+ /**
27
+ * @deprecated These properties are not implemented natively.
28
+ */
24
29
  export interface TVViewPropsIOS {
25
30
  /**
26
31
  * *(Apple TV only)* When set to true, this view will be focusable
@@ -34,6 +39,7 @@ export interface TVViewPropsIOS {
34
39
  * *(Apple TV only)* May be set to true to force the Apple TV focus engine to move focus to this view.
35
40
  *
36
41
  * @platform ios
42
+ * @deprecated Use `focusable` instead
37
43
  */
38
44
  hasTVPreferredFocus?: boolean | undefined;
39
45
 
@@ -81,6 +87,20 @@ export interface ViewPropsIOS extends TVViewPropsIOS {
81
87
  }
82
88
 
83
89
  export interface ViewPropsAndroid {
90
+ /**
91
+ * Callback that is called when the view is blurred.
92
+ *
93
+ * Note: This will only be called if the view is focusable.
94
+ */
95
+ onBlur?: ((e: BlurEvent) => void) | null | undefined;
96
+
97
+ /**
98
+ * Callback that is called when the view is focused.
99
+ *
100
+ * Note: This will only be called if the view is focusable.
101
+ */
102
+ onFocus?: ((e: FocusEvent) => void) | null | undefined;
103
+
84
104
  /**
85
105
  * Whether this view should render itself (and all of its children) into a single hardware texture on the GPU.
86
106
  *
@@ -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;