@office-iss/react-native-win32 0.80.0-preview.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 (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +135 -6
  3. package/CHANGELOG.md +53 -4
  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/Animated.js +0 -1
  27. package/Libraries/Animated/Animated.js.flow +0 -1
  28. package/Libraries/Animated/AnimatedEvent.js +4 -3
  29. package/Libraries/Animated/AnimatedExports.js +0 -1
  30. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  31. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  32. package/Libraries/Animated/AnimatedMock.js +2 -2
  33. package/Libraries/Animated/Easing.js +1 -1
  34. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  35. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  36. package/Libraries/Animated/SpringConfig.js +1 -1
  37. package/Libraries/Animated/animations/Animation.js +10 -2
  38. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  42. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  43. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  45. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  46. package/Libraries/AppState/NativeAppState.js +1 -0
  47. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  48. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  49. package/Libraries/Blob/BlobManager.js +4 -0
  50. package/Libraries/Blob/NativeBlobModule.js +1 -0
  51. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  52. package/Libraries/Blob/URL.js +1 -1
  53. package/Libraries/Blob/URLSearchParams.js +5 -1
  54. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  57. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  62. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  64. package/Libraries/Components/Button.js +10 -7
  65. package/Libraries/Components/Button.win32.js +10 -7
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  72. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  73. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  74. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  75. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  76. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  77. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  78. package/Libraries/Components/Pressable/Pressable.js +17 -8
  79. package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  83. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  84. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  85. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  86. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  87. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  88. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  91. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  92. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  93. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  95. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +1 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  104. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  105. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  106. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  107. package/Libraries/Components/Switch/Switch.js +10 -3
  108. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  109. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  111. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  112. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  113. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  114. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  115. package/Libraries/Components/TextInput/TextInput.js +42 -39
  116. package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  119. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  120. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  121. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  125. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +17 -3
  130. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  131. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  133. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
  135. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  137. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  138. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  139. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  140. package/Libraries/Components/View/View.js +114 -29
  141. package/Libraries/Components/View/View.win32.js +17 -3
  142. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  143. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  144. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  145. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  146. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  147. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  148. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  149. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  150. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  151. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  152. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  153. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  154. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  155. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  156. package/Libraries/Core/ExceptionsManager.js +27 -16
  157. package/Libraries/Core/InitializeCore.js +2 -23
  158. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  159. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  160. package/Libraries/Core/ReactNativeVersion.js +3 -2
  161. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  162. package/Libraries/Core/Timers/JSTimers.js +1 -1
  163. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  164. package/Libraries/Core/Timers/immediateShim.js +1 -1
  165. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  166. package/Libraries/Core/checkNativeVersion.js +1 -0
  167. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  168. package/Libraries/Core/setUpReactDevTools.js +21 -4
  169. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  170. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  171. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  172. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  173. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  174. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  175. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  176. package/Libraries/Image/AssetRegistry.js +4 -10
  177. package/Libraries/Image/Image.android.js +113 -107
  178. package/Libraries/Image/Image.ios.js +10 -2
  179. package/Libraries/Image/Image.win32.js +11 -3
  180. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  181. package/Libraries/Image/ImageInjection.js +1 -1
  182. package/Libraries/Image/ImageSource.d.ts +5 -0
  183. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  184. package/Libraries/Image/NativeImageEditor.js +1 -0
  185. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  186. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  187. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  188. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  189. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  190. package/Libraries/Image/RelativeImageStub.js +2 -1
  191. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  192. package/Libraries/Image/resolveAssetSource.js +1 -1
  193. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  194. package/Libraries/Interaction/InteractionManager.js +64 -54
  195. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  196. package/Libraries/Interaction/TaskQueue.js +8 -9
  197. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  198. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  199. package/Libraries/Linking/Linking.js +1 -1
  200. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  201. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  202. package/Libraries/Lists/FlatList.d.ts +9 -5
  203. package/Libraries/Lists/FlatList.js +6 -7
  204. package/Libraries/Lists/SectionList.js +4 -4
  205. package/Libraries/Lists/SectionListModern.js +9 -3
  206. package/Libraries/Lists/VirtualizedList.js +3 -2
  207. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  208. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  209. package/Libraries/LogBox/LogBox.js +72 -99
  210. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  211. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  212. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  213. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  216. package/Libraries/Modal/Modal.d.ts +8 -2
  217. package/Libraries/Modal/Modal.js +24 -3
  218. package/Libraries/Modal/NativeModalManager.js +1 -0
  219. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  220. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  221. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  222. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  223. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  224. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  225. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  226. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  227. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  228. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  229. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  230. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  231. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  232. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  233. package/Libraries/Network/FormData.js +1 -1
  234. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  235. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  236. package/Libraries/Network/RCTNetworking.android.js +2 -2
  237. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  238. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  239. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  240. package/Libraries/Network/XMLHttpRequest.js +3 -3
  241. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  242. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  243. package/Libraries/Pressability/Pressability.js +1 -1
  244. package/Libraries/Pressability/Pressability.win32.js +1 -1
  245. package/Libraries/Promise.js +1 -1
  246. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  247. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  248. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  249. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  250. package/Libraries/ReactNative/AppContainer.js +1 -1
  251. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  252. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  253. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  254. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  255. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  256. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  258. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  259. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  260. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  261. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  262. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  263. package/Libraries/ReactNative/RendererProxy.js +1 -1
  264. package/Libraries/ReactNative/RootTag.js +2 -2
  265. package/Libraries/ReactNative/renderApplication.js +1 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  267. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  268. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  269. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  270. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  271. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  272. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  273. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
  274. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  275. package/Libraries/Settings/Settings.ios.js +1 -1
  276. package/Libraries/Settings/Settings.js +1 -1
  277. package/Libraries/Settings/SettingsFallback.js +1 -1
  278. package/Libraries/Share/NativeShareModule.js +1 -0
  279. package/Libraries/Share/Share.js +1 -1
  280. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  281. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  282. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  283. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  284. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  285. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  286. package/Libraries/StyleSheet/PointPropType.js +1 -1
  287. package/Libraries/StyleSheet/Rect.js +1 -1
  288. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  289. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  290. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  291. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  292. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  293. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  294. package/Libraries/StyleSheet/processColor.js +1 -1
  295. package/Libraries/StyleSheet/processColorArray.js +1 -1
  296. package/Libraries/StyleSheet/processFilter.js +1 -2
  297. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  298. package/Libraries/StyleSheet/processTransform.js +1 -1
  299. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  300. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  301. package/Libraries/Text/Text.d.ts +7 -0
  302. package/Libraries/Text/Text.js +255 -246
  303. package/Libraries/Text/Text.win32.js +294 -285
  304. package/Libraries/Text/TextAncestor.js +3 -9
  305. package/Libraries/Text/TextAncestorContext.js +23 -0
  306. package/Libraries/Text/TextNativeComponent.js +4 -0
  307. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  308. package/Libraries/Text/TextProps.js +2 -5
  309. package/Libraries/Text/TextProps.win32.js +2 -7
  310. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  311. package/Libraries/Types/CodegenTypes.js +1 -1
  312. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  313. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  314. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  315. package/Libraries/Utilities/Appearance.js +1 -1
  316. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  317. package/Libraries/Utilities/DevLoadingView.js +1 -1
  318. package/Libraries/Utilities/DeviceInfo.js +1 -1
  319. package/Libraries/Utilities/Dimensions.js +1 -1
  320. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  321. package/Libraries/Utilities/HMRClient.js +13 -3
  322. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  323. package/Libraries/Utilities/NativeAppearance.js +1 -0
  324. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  325. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  326. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  327. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  328. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  329. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  330. package/Libraries/Utilities/PixelRatio.js +1 -1
  331. package/Libraries/Utilities/Platform.android.js +2 -5
  332. package/Libraries/Utilities/Platform.ios.js +2 -5
  333. package/Libraries/Utilities/Platform.js +1 -1
  334. package/Libraries/Utilities/Platform.js.flow +2 -2
  335. package/Libraries/Utilities/Platform.win32.js +2 -5
  336. package/Libraries/Utilities/PlatformTypes.js +2 -2
  337. package/Libraries/Utilities/RCTLog.js +1 -1
  338. package/Libraries/Utilities/SceneTracker.js +1 -1
  339. package/Libraries/Utilities/binaryToBase64.js +1 -1
  340. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  341. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  342. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  343. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  344. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  345. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  346. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  347. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  348. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  349. package/Libraries/Utilities/logError.js +1 -1
  350. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  351. package/Libraries/Utilities/stringifySafe.js +1 -1
  352. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  353. package/Libraries/Utilities/useColorScheme.js +1 -1
  354. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  355. package/Libraries/Utilities/warnOnce.js +1 -1
  356. package/Libraries/Vibration/NativeVibration.js +1 -0
  357. package/Libraries/Vibration/Vibration.js +1 -2
  358. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  359. package/Libraries/WebSocket/WebSocket.js +1 -1
  360. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  361. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  362. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  363. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  364. package/index.js +22 -2
  365. package/index.win32.js +15 -2
  366. package/interface.js +1 -1
  367. package/jest/MockNativeMethods.js +9 -3
  368. package/jest/RefreshControlMock.js +32 -0
  369. package/jest/assetFileTransformer.js +1 -0
  370. package/jest/local-setup.js +4 -3
  371. package/jest/mock.js +39 -0
  372. package/jest/mockComponent.js +47 -17
  373. package/jest/mockNativeComponent.js +26 -15
  374. package/jest/mocks/AccessibilityInfo.js +62 -0
  375. package/jest/mocks/ActivityIndicator.js +23 -0
  376. package/jest/mocks/AppState.js +19 -0
  377. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  378. package/jest/mocks/Image.js +23 -0
  379. package/jest/mocks/InitializeCore.js +9 -0
  380. package/jest/mocks/Linking.js +28 -0
  381. package/jest/mocks/Modal.js +33 -0
  382. package/jest/mocks/NativeComponentRegistry.js +30 -0
  383. package/jest/mocks/NativeModules.js +239 -0
  384. package/jest/mocks/RefreshControl.js +31 -0
  385. package/jest/mocks/RendererProxy.js +45 -0
  386. package/jest/mocks/ScrollView.js +58 -0
  387. package/jest/mocks/Text.js +27 -0
  388. package/jest/mocks/TextInput.js +32 -0
  389. package/jest/mocks/UIManager.js +60 -0
  390. package/jest/mocks/Vibration.js +16 -0
  391. package/jest/mocks/View.js +27 -0
  392. package/jest/mocks/ViewNativeComponent.js +23 -0
  393. package/jest/mocks/requireNativeComponent.js +22 -0
  394. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  395. package/jest/react-native-env.js +1 -0
  396. package/jest/renderer.js +1 -2
  397. package/jest/resolver.js +1 -0
  398. package/jest/setup.js +64 -445
  399. package/overrides.json +49 -42
  400. package/package.json +18 -18
  401. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  402. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  403. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  404. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  405. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  406. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  407. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  408. package/src/private/components/virtualview/VirtualView.js +145 -0
  409. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  410. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  411. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  412. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  413. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  414. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  415. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  416. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  417. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  418. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  419. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  420. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  421. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  422. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  423. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  424. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  425. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  426. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  427. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  428. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  429. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  430. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  431. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  432. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  433. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  434. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  435. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  436. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  437. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  438. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  439. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  440. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  441. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  442. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  443. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  444. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  445. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  446. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  447. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  448. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  449. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  450. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  451. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  452. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  453. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  454. package/src/private/styles/composeStyles.js +5 -12
  455. package/src/private/types/HostInstance.js +1 -1
  456. package/src/private/webapis/dom/events/Event.js +3 -0
  457. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  458. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  459. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  460. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  461. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  462. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  463. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  464. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  465. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  466. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  467. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  468. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  469. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  470. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  471. package/src/private/webapis/errors/DOMException.js +166 -0
  472. package/src/private/webapis/geometry/DOMRect.js +5 -0
  473. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  474. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  475. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  476. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  477. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  478. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  479. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  480. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  481. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  482. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  483. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  484. package/src/private/webapis/performance/EventTiming.js +1 -1
  485. package/src/private/webapis/performance/LongTasks.js +1 -1
  486. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  487. package/src/private/webapis/performance/Performance.js +20 -9
  488. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  489. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  490. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  491. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  492. package/src/private/webapis/performance/UserTiming.js +1 -1
  493. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  494. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  495. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  496. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  497. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  498. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  499. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  500. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  501. package/src-win/Libraries/Text/Text.d.ts +7 -0
  502. package/types/modules/Devtools.d.ts +23 -9
  503. package/Libraries/BugReporting/BugReporting.js +0 -140
  504. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  505. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  506. package/Libraries/BugReporting/getReactData.js +0 -187
  507. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  508. package/flow/HermesInternalType.js +0 -114
  509. package/flow/console.js +0 -49
  510. package/flow/global.js +0 -88
  511. package/jest/mockModal.js +0 -32
  512. package/jest/mockScrollView.js +0 -35
  513. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -0,0 +1,239 @@
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
+ // TODO: Split this up into separate files.
12
+ const NativeModules = {
13
+ AlertManager: {
14
+ alertWithArgs: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
15
+ },
16
+ AsyncLocalStorage: {
17
+ multiGet: jest.fn((keys, callback) =>
18
+ process.nextTick(() => callback(null, [])),
19
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
20
+ multiSet: jest.fn((entries, callback) =>
21
+ process.nextTick(() => callback(null)),
22
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
23
+ multiRemove: jest.fn((keys, callback) =>
24
+ process.nextTick(() => callback(null)),
25
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
26
+ multiMerge: jest.fn((entries, callback) =>
27
+ process.nextTick(() => callback(null)),
28
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
29
+ clear: jest.fn(callback =>
30
+ process.nextTick(() => callback(null)),
31
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
32
+ getAllKeys: jest.fn(callback =>
33
+ process.nextTick(() => callback(null, [])),
34
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
35
+ },
36
+ DeviceInfo: {
37
+ getConstants(): $FlowFixMe {
38
+ return {
39
+ Dimensions: {
40
+ window: {
41
+ fontScale: 2,
42
+ height: 1334,
43
+ scale: 2,
44
+ width: 750,
45
+ },
46
+ screen: {
47
+ fontScale: 2,
48
+ height: 1334,
49
+ scale: 2,
50
+ width: 750,
51
+ },
52
+ },
53
+ };
54
+ },
55
+ },
56
+ DevSettings: {
57
+ addMenuItem: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
58
+ reload: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
59
+ },
60
+ ImageLoader: {
61
+ getSize: jest.fn(url => Promise.resolve([320, 240])) as JestMockFn<
62
+ $FlowFixMe,
63
+ $FlowFixMe,
64
+ >,
65
+ getSizeWithHeaders: jest.fn((url, headers) =>
66
+ Promise.resolve({height: 222, width: 333}),
67
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
68
+ prefetchImage: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
69
+ prefetchImageWithMetadata: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
70
+ queryCache: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
71
+ },
72
+ ImageViewManager: {
73
+ getSize: jest.fn((uri, success) =>
74
+ process.nextTick(() => success(320, 240)),
75
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
76
+ prefetchImage: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
77
+ },
78
+ KeyboardObserver: {
79
+ addListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
80
+ removeListeners: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
81
+ },
82
+ NativeAnimatedModule: {
83
+ createAnimatedNode: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
84
+ updateAnimatedNodeConfig: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
85
+ getValue: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
86
+ startListeningToAnimatedNodeValue: jest.fn() as JestMockFn<
87
+ $FlowFixMe,
88
+ $FlowFixMe,
89
+ >,
90
+ stopListeningToAnimatedNodeValue: jest.fn() as JestMockFn<
91
+ $FlowFixMe,
92
+ $FlowFixMe,
93
+ >,
94
+ connectAnimatedNodes: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
95
+ disconnectAnimatedNodes: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
96
+ startAnimatingNode: jest.fn((animationId, nodeTag, config, endCallback) => {
97
+ setTimeout(() => endCallback({finished: true}), 16);
98
+ }) as JestMockFn<$FlowFixMe, $FlowFixMe>,
99
+ stopAnimation: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
100
+ setAnimatedNodeValue: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
101
+ setAnimatedNodeOffset: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
102
+ flattenAnimatedNodeOffset: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
103
+ extractAnimatedNodeOffset: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
104
+ connectAnimatedNodeToView: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
105
+ disconnectAnimatedNodeFromView: jest.fn() as JestMockFn<
106
+ $FlowFixMe,
107
+ $FlowFixMe,
108
+ >,
109
+ restoreDefaultValues: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
110
+ dropAnimatedNode: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
111
+ addAnimatedEventToView: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
112
+ removeAnimatedEventFromView: jest.fn() as JestMockFn<
113
+ $FlowFixMe,
114
+ $FlowFixMe,
115
+ >,
116
+ addListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
117
+ removeListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
118
+ removeListeners: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
119
+ },
120
+ Networking: {
121
+ sendRequest: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
122
+ abortRequest: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
123
+ addListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
124
+ removeListeners: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
125
+ },
126
+ PlatformConstants: {
127
+ getConstants(): $FlowFixMe {
128
+ return {
129
+ reactNativeVersion: {
130
+ major: 1000,
131
+ minor: 0,
132
+ patch: 0,
133
+ prerelease: undefined,
134
+ },
135
+ };
136
+ },
137
+ },
138
+ PushNotificationManager: {
139
+ presentLocalNotification: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
140
+ scheduleLocalNotification: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
141
+ cancelAllLocalNotifications: jest.fn() as JestMockFn<
142
+ $FlowFixMe,
143
+ $FlowFixMe,
144
+ >,
145
+ removeAllDeliveredNotifications: jest.fn() as JestMockFn<
146
+ $FlowFixMe,
147
+ $FlowFixMe,
148
+ >,
149
+ getDeliveredNotifications: jest.fn(callback =>
150
+ process.nextTick(() => []),
151
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
152
+ removeDeliveredNotifications: jest.fn() as JestMockFn<
153
+ $FlowFixMe,
154
+ $FlowFixMe,
155
+ >,
156
+ setApplicationIconBadgeNumber: jest.fn() as JestMockFn<
157
+ $FlowFixMe,
158
+ $FlowFixMe,
159
+ >,
160
+ getApplicationIconBadgeNumber: jest.fn(callback =>
161
+ process.nextTick(() => callback(0)),
162
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
163
+ cancelLocalNotifications: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
164
+ getScheduledLocalNotifications: jest.fn(callback =>
165
+ process.nextTick(() => callback()),
166
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
167
+ requestPermissions: jest.fn(() =>
168
+ Promise.resolve({alert: true, badge: true, sound: true}),
169
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
170
+ abandonPermissions: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
171
+ checkPermissions: jest.fn(callback =>
172
+ process.nextTick(() => callback({alert: true, badge: true, sound: true})),
173
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
174
+ getInitialNotification: jest.fn(() => Promise.resolve(null)) as JestMockFn<
175
+ $FlowFixMe,
176
+ $FlowFixMe,
177
+ >,
178
+ addListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
179
+ removeListeners: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
180
+ },
181
+ SourceCode: {
182
+ getConstants(): $FlowFixMe {
183
+ return {
184
+ scriptURL: null,
185
+ };
186
+ },
187
+ },
188
+ StatusBarManager: {
189
+ setColor: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
190
+ setStyle: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
191
+ setHidden: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
192
+ setNetworkActivityIndicatorVisible: jest.fn() as JestMockFn<
193
+ $FlowFixMe,
194
+ $FlowFixMe,
195
+ >,
196
+ setBackgroundColor: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
197
+ setTranslucent: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
198
+ getConstants: (): $FlowFixMe => ({
199
+ HEIGHT: 42,
200
+ }),
201
+ },
202
+ Timing: {
203
+ createTimer: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
204
+ deleteTimer: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
205
+ },
206
+ UIManager: {},
207
+ BlobModule: {
208
+ getConstants: (): $FlowFixMe => ({
209
+ BLOB_URI_SCHEME: 'content',
210
+ BLOB_URI_HOST: null,
211
+ }),
212
+ addNetworkingHandler: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
213
+ enableBlobSupport: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
214
+ disableBlobSupport: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
215
+ createFromParts: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
216
+ sendBlob: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
217
+ release: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
218
+ },
219
+ WebSocketModule: {
220
+ connect: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
221
+ send: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
222
+ sendBinary: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
223
+ ping: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
224
+ close: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
225
+ addListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
226
+ removeListeners: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
227
+ },
228
+ I18nManager: {
229
+ allowRTL: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
230
+ forceRTL: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
231
+ swapLeftAndRightInRTL: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
232
+ getConstants: (): $FlowFixMe => ({
233
+ isRTL: false,
234
+ doLeftAndRightSwapInRTL: true,
235
+ }),
236
+ },
237
+ };
238
+
239
+ export default NativeModules;
@@ -0,0 +1,31 @@
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
+ import type {RefreshControlProps} from '../../Libraries/Components/RefreshControl/RefreshControl';
12
+ import type {HostComponent} from '../../src/private/types/HostComponent';
13
+
14
+ import requireNativeComponent from '../../Libraries/ReactNative/requireNativeComponent';
15
+ import * as React from 'react';
16
+
17
+ const RCTRefreshControl: HostComponent<{}> = requireNativeComponent<{}>(
18
+ 'RCTRefreshControl',
19
+ );
20
+
21
+ export default class RefreshControlMock extends React.Component<RefreshControlProps> {
22
+ static latestRef: ?RefreshControlMock;
23
+
24
+ render(): React.Node {
25
+ return <RCTRefreshControl />;
26
+ }
27
+
28
+ componentDidMount() {
29
+ RefreshControlMock.latestRef = this;
30
+ }
31
+ }
@@ -0,0 +1,45 @@
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
+ // In tests, we can use the default version without dependency injection.
12
+
13
+ import typeof * as TRendererImplementation from '../../Libraries/ReactNative/RendererImplementation';
14
+
15
+ const {
16
+ dispatchCommand,
17
+ findHostInstance_DEPRECATED,
18
+ findNodeHandle,
19
+ getNodeFromInternalInstanceHandle,
20
+ getPublicInstanceFromInternalInstanceHandle,
21
+ getPublicInstanceFromRootTag,
22
+ isChildPublicInstance,
23
+ isProfilingRenderer,
24
+ renderElement,
25
+ sendAccessibilityEvent,
26
+ unmountComponentAtNodeAndRemoveContainer,
27
+ unstable_batchedUpdates,
28
+ } = jest.requireActual<TRendererImplementation>(
29
+ '../../Libraries/ReactNative/RendererImplementation',
30
+ ) as TRendererImplementation;
31
+
32
+ export {
33
+ dispatchCommand,
34
+ findHostInstance_DEPRECATED,
35
+ findNodeHandle,
36
+ getNodeFromInternalInstanceHandle,
37
+ getPublicInstanceFromInternalInstanceHandle,
38
+ getPublicInstanceFromRootTag,
39
+ isChildPublicInstance,
40
+ isProfilingRenderer,
41
+ renderElement,
42
+ sendAccessibilityEvent,
43
+ unmountComponentAtNodeAndRemoveContainer,
44
+ unstable_batchedUpdates,
45
+ };
@@ -0,0 +1,58 @@
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
+ import typeof TScrollView from '../../Libraries/Components/ScrollView/ScrollView';
12
+ import type {ScrollViewNativeProps} from '../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
13
+ import typeof * as TmockComponent from '../mockComponent';
14
+ import typeof * as TMockNativeMethods from '../MockNativeMethods';
15
+
16
+ import View from '../../Libraries/Components/View/View';
17
+ import requireNativeComponent from '../../Libraries/ReactNative/requireNativeComponent';
18
+ import * as React from 'react';
19
+
20
+ const mockComponent =
21
+ jest.requireActual<TmockComponent>('../mockComponent').default;
22
+ const MockNativeMethods = jest.requireActual<TMockNativeMethods>(
23
+ '../MockNativeMethods',
24
+ ).default;
25
+
26
+ const RCTScrollView =
27
+ requireNativeComponent<ScrollViewNativeProps>('RCTScrollView');
28
+
29
+ const BaseComponent = mockComponent(
30
+ '../Libraries/Components/ScrollView/ScrollView',
31
+ {
32
+ ...MockNativeMethods,
33
+ getScrollResponder: jest.fn(),
34
+ getScrollableNode: jest.fn(),
35
+ getInnerViewNode: jest.fn(),
36
+ getInnerViewRef: jest.fn(),
37
+ getNativeScrollRef: jest.fn(),
38
+ scrollTo: jest.fn(),
39
+ scrollToEnd: jest.fn(),
40
+ flashScrollIndicators: jest.fn(),
41
+ scrollResponderZoomTo: jest.fn(),
42
+ scrollResponderScrollNativeHandleToKeyboard: jest.fn(),
43
+ }, // instanceMethods
44
+ true, // isESModule
45
+ ) as TScrollView;
46
+
47
+ // $FlowFixMe[incompatible-extend]
48
+ // $FlowFixMe[invalid-exported-annotation]
49
+ export default class ScrollViewMock extends BaseComponent {
50
+ render(): React.Node {
51
+ return (
52
+ <RCTScrollView {...this.props}>
53
+ {this.props.refreshControl}
54
+ <View>{this.props.children}</View>
55
+ </RCTScrollView>
56
+ );
57
+ }
58
+ }
@@ -0,0 +1,27 @@
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
+ import typeof TText from '../../Libraries/Text/Text';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+ import typeof * as TMockNativeMethods from '../MockNativeMethods';
14
+
15
+ const mockComponent =
16
+ jest.requireActual<TmockComponent>('../mockComponent').default;
17
+ const MockNativeMethods = jest.requireActual<TMockNativeMethods>(
18
+ '../MockNativeMethods',
19
+ ).default;
20
+
21
+ const Text = mockComponent(
22
+ '../Libraries/Text/Text',
23
+ MockNativeMethods, // instanceMethods
24
+ true, // isESModule
25
+ ) as TText;
26
+
27
+ export default Text;
@@ -0,0 +1,32 @@
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
+ import typeof TTextInput from '../../Libraries/Components/TextInput/TextInput';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+ import typeof * as TMockNativeMethods from '../MockNativeMethods';
14
+
15
+ const mockComponent =
16
+ jest.requireActual<TmockComponent>('../mockComponent').default;
17
+ const MockNativeMethods = jest.requireActual<TMockNativeMethods>(
18
+ '../MockNativeMethods',
19
+ ).default;
20
+
21
+ const TextInput = mockComponent(
22
+ '../Libraries/Components/TextInput/TextInput',
23
+ {
24
+ ...MockNativeMethods,
25
+ isFocused: jest.fn(),
26
+ clear: jest.fn(),
27
+ getNativeRef: jest.fn(),
28
+ }, // instanceMethods
29
+ true, // isESModule
30
+ ) as TTextInput;
31
+
32
+ export default TextInput;
@@ -0,0 +1,60 @@
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 UIManager = {
12
+ AndroidViewPager: {
13
+ Commands: {
14
+ setPage: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
15
+ setPageWithoutAnimation: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
16
+ },
17
+ },
18
+ blur: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
19
+ createView: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
20
+ customBubblingEventTypes: {},
21
+ customDirectEventTypes: {},
22
+ dispatchViewManagerCommand: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
23
+ focus: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
24
+ getViewManagerConfig: jest.fn(name => {
25
+ if (name === 'AndroidDrawerLayout') {
26
+ return {
27
+ Constants: {
28
+ DrawerPosition: {
29
+ Left: 10,
30
+ },
31
+ },
32
+ };
33
+ }
34
+ }) as JestMockFn<[string], $FlowFixMe>,
35
+ hasViewManagerConfig: jest.fn(name => {
36
+ return name === 'AndroidDrawerLayout';
37
+ }) as JestMockFn<[string], boolean>,
38
+ measure: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
39
+ manageChildren: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
40
+ setChildren: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
41
+ updateView: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
42
+ AndroidDrawerLayout: {
43
+ Constants: {
44
+ DrawerPosition: {
45
+ Left: 10,
46
+ },
47
+ },
48
+ },
49
+ AndroidTextInput: {
50
+ Commands: {},
51
+ },
52
+ ScrollView: {
53
+ Constants: {},
54
+ },
55
+ View: {
56
+ Constants: {},
57
+ },
58
+ };
59
+
60
+ export default UIManager;
@@ -0,0 +1,16 @@
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 Vibration = {
12
+ vibrate: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
13
+ cancel: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
14
+ };
15
+
16
+ export default Vibration;
@@ -0,0 +1,27 @@
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
+ import typeof TView from '../../Libraries/Components/View/View';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+ import typeof * as TMockNativeMethods from '../MockNativeMethods';
14
+
15
+ const mockComponent =
16
+ jest.requireActual<TmockComponent>('../mockComponent').default;
17
+ const MockNativeMethods = jest.requireActual<TMockNativeMethods>(
18
+ '../MockNativeMethods',
19
+ ).default;
20
+
21
+ const View = mockComponent(
22
+ '../Libraries/Components/View/View',
23
+ MockNativeMethods, // instanceMethods
24
+ true, // isESModule
25
+ ) as TView;
26
+
27
+ export default View;
@@ -0,0 +1,23 @@
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
+ import type {ViewProps} from '../../Libraries/Components/View/ViewPropTypes';
12
+
13
+ import * as React from 'react';
14
+ import {createElement} from 'react';
15
+
16
+ export default class View extends React.Component<ViewProps> {
17
+ render(): React.Node {
18
+ // $FlowIgnore[not-a-function]
19
+ return createElement('View', this.props, this.props.children);
20
+ }
21
+ }
22
+
23
+ View.displayName = 'View';
@@ -0,0 +1,22 @@
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 type {HostComponent} from '../../src/private/types/HostComponent';
12
+ import typeof * as TmockNativeComponent from '../mockNativeComponent';
13
+
14
+ const mockNativeComponent = jest.requireActual<TmockNativeComponent>(
15
+ '../mockNativeComponent',
16
+ ).default;
17
+
18
+ export default function requireNativeComponent<T: {...}>(
19
+ uiViewClassName: string,
20
+ ): HostComponent<T> {
21
+ return mockNativeComponent<T>(uiViewClassName);
22
+ }
@@ -4,17 +4,15 @@
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
- 'use strict';
11
+ import type {ColorSchemeName} from '../../Libraries/Utilities/NativeAppearance';
12
12
 
13
- /**
14
- * Intentional info-level logging for clear separation from ad-hoc console debug logging.
15
- */
16
- function infoLog(...args: Array<mixed>): void {
17
- return console.log(...args);
18
- }
13
+ const useColorScheme = jest.fn(() => 'light') as JestMockFn<
14
+ [],
15
+ ColorSchemeName,
16
+ >;
19
17
 
20
- export default infoLog;
18
+ export default useColorScheme;
@@ -4,6 +4,7 @@
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
+ * @noflow
7
8
  * @format
8
9
  */
9
10
 
package/jest/renderer.js CHANGED
@@ -4,9 +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
- * @flow
7
+ * @flow strict
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  import type {ReactTestRenderer} from 'react-test-renderer';
package/jest/resolver.js CHANGED
@@ -4,6 +4,7 @@
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
+ * @noflow
7
8
  * @format
8
9
  */
9
10