@office-iss/react-native-win32 0.80.0 → 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 +127 -13
  3. package/CHANGELOG.md +49 -8
  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 +20 -20
  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
package/jest/setup.js CHANGED
@@ -4,21 +4,20 @@
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 strict-local
7
8
  * @format
8
9
  */
9
10
 
10
- 'use strict';
11
-
12
11
  global.IS_REACT_ACT_ENVIRONMENT = true;
13
12
  // Suppress the `react-test-renderer` warnings until New Architecture and legacy
14
13
  // mode are no longer supported by React Native.
15
14
  global.IS_REACT_NATIVE_TEST_ENVIRONMENT = true;
16
15
 
17
- const MockNativeMethods = jest.requireActual('./MockNativeMethods');
18
- const mockComponent = jest.requireActual('./mockComponent');
16
+ import '@react-native/js-polyfills/error-guard';
19
17
 
20
- jest.requireActual('@react-native/js-polyfills/error-guard');
18
+ import mock from './mock';
21
19
 
20
+ // $FlowIgnore[cannot-write]
22
21
  Object.defineProperties(global, {
23
22
  __DEV__: {
24
23
  configurable: true,
@@ -29,7 +28,9 @@ Object.defineProperties(global, {
29
28
  cancelAnimationFrame: {
30
29
  configurable: true,
31
30
  enumerable: true,
32
- value: id => clearTimeout(id),
31
+ value(id: TimeoutID): void {
32
+ return clearTimeout(id);
33
+ },
33
34
  writable: true,
34
35
  },
35
36
  nativeFabricUIManager: {
@@ -42,6 +43,7 @@ Object.defineProperties(global, {
42
43
  configurable: true,
43
44
  enumerable: true,
44
45
  value: {
46
+ // $FlowIgnore[method-unbinding]
45
47
  now: jest.fn(Date.now),
46
48
  },
47
49
  writable: true,
@@ -49,13 +51,15 @@ Object.defineProperties(global, {
49
51
  regeneratorRuntime: {
50
52
  configurable: true,
51
53
  enumerable: true,
52
- value: jest.requireActual('regenerator-runtime/runtime'),
54
+ value: jest.requireActual<mixed>('regenerator-runtime/runtime'),
53
55
  writable: true,
54
56
  },
55
57
  requestAnimationFrame: {
56
58
  configurable: true,
57
59
  enumerable: true,
58
- value: callback => setTimeout(() => callback(jest.now()), 0),
60
+ value(callback: number => void): TimeoutID {
61
+ return setTimeout(() => callback(jest.now()), 0);
62
+ },
59
63
  writable: true,
60
64
  },
61
65
  window: {
@@ -66,440 +70,55 @@ Object.defineProperties(global, {
66
70
  },
67
71
  });
68
72
 
69
- jest
70
- .mock('../Libraries/Core/InitializeCore', () => {})
71
- .mock('../Libraries/Core/NativeExceptionsManager')
72
- .mock('../Libraries/ReactNative/UIManager', () => ({
73
- __esModule: true,
74
- default: {
75
- AndroidViewPager: {
76
- Commands: {
77
- setPage: jest.fn(),
78
- setPageWithoutAnimation: jest.fn(),
79
- },
80
- },
81
- blur: jest.fn(),
82
- createView: jest.fn(),
83
- customBubblingEventTypes: {},
84
- customDirectEventTypes: {},
85
- dispatchViewManagerCommand: jest.fn(),
86
- focus: jest.fn(),
87
- getViewManagerConfig: jest.fn(name => {
88
- if (name === 'AndroidDrawerLayout') {
89
- return {
90
- Constants: {
91
- DrawerPosition: {
92
- Left: 10,
93
- },
94
- },
95
- };
96
- }
97
- }),
98
- hasViewManagerConfig: jest.fn(name => {
99
- return name === 'AndroidDrawerLayout';
100
- }),
101
- measure: jest.fn(),
102
- manageChildren: jest.fn(),
103
- setChildren: jest.fn(),
104
- updateView: jest.fn(),
105
- AndroidDrawerLayout: {
106
- Constants: {
107
- DrawerPosition: {
108
- Left: 10,
109
- },
110
- },
111
- },
112
- AndroidTextInput: {
113
- Commands: {},
114
- },
115
- ScrollView: {
116
- Constants: {},
117
- },
118
- View: {
119
- Constants: {},
120
- },
121
- },
122
- }))
123
- .mock('../Libraries/Image/Image', () => ({
124
- __esModule: true,
125
- default: mockComponent(
126
- '../Libraries/Image/Image',
127
- /* instanceMethods */ null,
128
- /* isESModule */ true,
129
- ),
130
- }))
131
- .mock('../Libraries/Text/Text', () => ({
132
- __esModule: true,
133
- default: mockComponent(
134
- '../Libraries/Text/Text',
135
- MockNativeMethods,
136
- /* isESModule */ true,
137
- ),
138
- }))
139
- .mock('../Libraries/Components/TextInput/TextInput', () => ({
140
- __esModule: true,
141
- default: mockComponent(
142
- '../Libraries/Components/TextInput/TextInput',
143
- /* instanceMethods */ {
144
- ...MockNativeMethods,
145
- isFocused: jest.fn(),
146
- clear: jest.fn(),
147
- getNativeRef: jest.fn(),
148
- },
149
- /* isESModule */ true,
150
- ),
151
- }))
152
- .mock('../Libraries/Modal/Modal', () => {
153
- const baseComponent = mockComponent(
154
- '../Libraries/Modal/Modal',
155
- /* instanceMethods */ null,
156
- /* isESModule */ true,
157
- );
158
- const mockModal = jest.requireActual('./mockModal');
159
- return {
160
- __esModule: true,
161
- default: mockModal(baseComponent),
162
- };
163
- })
164
- .mock('../Libraries/Components/View/View', () => ({
165
- __esModule: true,
166
- default: mockComponent(
167
- '../Libraries/Components/View/View',
168
- /* instanceMethods */ MockNativeMethods,
169
- /* isESModule */ true,
170
- ),
171
- }))
172
- .mock('../Libraries/Components/AccessibilityInfo/AccessibilityInfo', () => ({
173
- __esModule: true,
174
- default: {
175
- addEventListener: jest.fn(() => ({
176
- remove: jest.fn(),
177
- })),
178
- announceForAccessibility: jest.fn(),
179
- announceForAccessibilityWithOptions: jest.fn(),
180
- isAccessibilityServiceEnabled: jest.fn(() => Promise.resolve(false)),
181
- isBoldTextEnabled: jest.fn(() => Promise.resolve(false)),
182
- isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)),
183
- isInvertColorsEnabled: jest.fn(() => Promise.resolve(false)),
184
- isReduceMotionEnabled: jest.fn(() => Promise.resolve(false)),
185
- isHighTextContrastEnabled: jest.fn(() => Promise.resolve(false)),
186
- isDarkerSystemColorsEnabled: jest.fn(() => Promise.resolve(false)),
187
- prefersCrossFadeTransitions: jest.fn(() => Promise.resolve(false)),
188
- isReduceTransparencyEnabled: jest.fn(() => Promise.resolve(false)),
189
- isScreenReaderEnabled: jest.fn(() => Promise.resolve(false)),
190
- setAccessibilityFocus: jest.fn(),
191
- sendAccessibilityEvent: jest.fn(),
192
- getRecommendedTimeoutMillis: jest.fn(() => Promise.resolve(false)),
193
- },
194
- }))
195
- .mock('../Libraries/Components/Clipboard/Clipboard', () => ({
196
- __esModule: true,
197
- default: {
198
- getString: jest.fn(() => ''),
199
- setString: jest.fn(),
200
- },
201
- }))
202
- .mock('../Libraries/Components/RefreshControl/RefreshControl', () => ({
203
- __esModule: true,
204
- default: jest.requireActual(
205
- '../Libraries/Components/RefreshControl/__mocks__/RefreshControlMock',
206
- ),
207
- }))
208
- .mock('../Libraries/Components/ScrollView/ScrollView', () => {
209
- const baseComponent = mockComponent(
210
- '../Libraries/Components/ScrollView/ScrollView',
211
- {
212
- ...MockNativeMethods,
213
- getScrollResponder: jest.fn(),
214
- getScrollableNode: jest.fn(),
215
- getInnerViewNode: jest.fn(),
216
- getInnerViewRef: jest.fn(),
217
- getNativeScrollRef: jest.fn(),
218
- scrollTo: jest.fn(),
219
- scrollToEnd: jest.fn(),
220
- flashScrollIndicators: jest.fn(),
221
- scrollResponderZoomTo: jest.fn(),
222
- scrollResponderScrollNativeHandleToKeyboard: jest.fn(),
223
- },
224
- true, // isESModule
225
- );
226
- const mockScrollView = jest.requireActual('./mockScrollView');
227
- return {
228
- __esModule: true,
229
- default: mockScrollView(baseComponent),
230
- };
231
- })
232
- .mock('../Libraries/Components/ActivityIndicator/ActivityIndicator', () => ({
233
- __esModule: true,
234
- default: mockComponent(
235
- '../Libraries/Components/ActivityIndicator/ActivityIndicator',
236
- null, // instanceMethods
237
- true, // isESModule
238
- ),
239
- }))
240
- .mock('../Libraries/AppState/AppState', () => ({
241
- __esModule: true,
242
- default: {
243
- addEventListener: jest.fn(() => ({
244
- remove: jest.fn(),
245
- })),
246
- removeEventListener: jest.fn(),
247
- currentState: jest.fn(),
248
- },
249
- }))
250
- .mock('../Libraries/Linking/Linking', () => ({
251
- __esModule: true,
252
- default: {
253
- openURL: jest.fn(),
254
- canOpenURL: jest.fn(() => Promise.resolve(true)),
255
- openSettings: jest.fn(),
256
- addEventListener: jest.fn(() => ({
257
- remove: jest.fn(),
258
- })),
259
- getInitialURL: jest.fn(() => Promise.resolve()),
260
- sendIntent: jest.fn(),
261
- },
262
- }))
263
- // Mock modules defined by the native layer (ex: Objective-C, Java)
264
- .mock('../Libraries/BatchedBridge/NativeModules', () => ({
265
- __esModule: true,
266
- default: {
267
- AlertManager: {
268
- alertWithArgs: jest.fn(),
269
- },
270
- AsyncLocalStorage: {
271
- multiGet: jest.fn((keys, callback) =>
272
- process.nextTick(() => callback(null, [])),
273
- ),
274
- multiSet: jest.fn((entries, callback) =>
275
- process.nextTick(() => callback(null)),
276
- ),
277
- multiRemove: jest.fn((keys, callback) =>
278
- process.nextTick(() => callback(null)),
279
- ),
280
- multiMerge: jest.fn((entries, callback) =>
281
- process.nextTick(() => callback(null)),
282
- ),
283
- clear: jest.fn(callback => process.nextTick(() => callback(null))),
284
- getAllKeys: jest.fn(callback =>
285
- process.nextTick(() => callback(null, [])),
286
- ),
287
- },
288
- DeviceInfo: {
289
- getConstants() {
290
- return {
291
- Dimensions: {
292
- window: {
293
- fontScale: 2,
294
- height: 1334,
295
- scale: 2,
296
- width: 750,
297
- },
298
- screen: {
299
- fontScale: 2,
300
- height: 1334,
301
- scale: 2,
302
- width: 750,
303
- },
304
- },
305
- };
306
- },
307
- },
308
- DevSettings: {
309
- addMenuItem: jest.fn(),
310
- reload: jest.fn(),
311
- },
312
- ImageLoader: {
313
- getSize: jest.fn(url => Promise.resolve([320, 240])),
314
- getSizeWithHeaders: jest.fn((url, headers) =>
315
- Promise.resolve({height: 222, width: 333}),
316
- ),
317
- prefetchImage: jest.fn(),
318
- prefetchImageWithMetadata: jest.fn(),
319
- queryCache: jest.fn(),
320
- },
321
- ImageViewManager: {
322
- getSize: jest.fn((uri, success) =>
323
- process.nextTick(() => success(320, 240)),
324
- ),
325
- prefetchImage: jest.fn(),
326
- },
327
- KeyboardObserver: {
328
- addListener: jest.fn(),
329
- removeListeners: jest.fn(),
330
- },
331
- NativeAnimatedModule: {
332
- createAnimatedNode: jest.fn(),
333
- updateAnimatedNodeConfig: jest.fn(),
334
- getValue: jest.fn(),
335
- startListeningToAnimatedNodeValue: jest.fn(),
336
- stopListeningToAnimatedNodeValue: jest.fn(),
337
- connectAnimatedNodes: jest.fn(),
338
- disconnectAnimatedNodes: jest.fn(),
339
- startAnimatingNode: jest.fn(
340
- (animationId, nodeTag, config, endCallback) => {
341
- setTimeout(() => endCallback({finished: true}), 16);
342
- },
343
- ),
344
- stopAnimation: jest.fn(),
345
- setAnimatedNodeValue: jest.fn(),
346
- setAnimatedNodeOffset: jest.fn(),
347
- flattenAnimatedNodeOffset: jest.fn(),
348
- extractAnimatedNodeOffset: jest.fn(),
349
- connectAnimatedNodeToView: jest.fn(),
350
- disconnectAnimatedNodeFromView: jest.fn(),
351
- restoreDefaultValues: jest.fn(),
352
- dropAnimatedNode: jest.fn(),
353
- addAnimatedEventToView: jest.fn(),
354
- removeAnimatedEventFromView: jest.fn(),
355
- addListener: jest.fn(),
356
- removeListener: jest.fn(),
357
- removeListeners: jest.fn(),
358
- },
359
- Networking: {
360
- sendRequest: jest.fn(),
361
- abortRequest: jest.fn(),
362
- addListener: jest.fn(),
363
- removeListeners: jest.fn(),
364
- },
365
- PlatformConstants: {
366
- getConstants() {
367
- return {
368
- reactNativeVersion: {
369
- major: 1000,
370
- minor: 0,
371
- patch: 0,
372
- prerelease: undefined,
373
- },
374
- };
375
- },
376
- },
377
- PushNotificationManager: {
378
- presentLocalNotification: jest.fn(),
379
- scheduleLocalNotification: jest.fn(),
380
- cancelAllLocalNotifications: jest.fn(),
381
- removeAllDeliveredNotifications: jest.fn(),
382
- getDeliveredNotifications: jest.fn(callback =>
383
- process.nextTick(() => []),
384
- ),
385
- removeDeliveredNotifications: jest.fn(),
386
- setApplicationIconBadgeNumber: jest.fn(),
387
- getApplicationIconBadgeNumber: jest.fn(callback =>
388
- process.nextTick(() => callback(0)),
389
- ),
390
- cancelLocalNotifications: jest.fn(),
391
- getScheduledLocalNotifications: jest.fn(callback =>
392
- process.nextTick(() => callback()),
393
- ),
394
- requestPermissions: jest.fn(() =>
395
- Promise.resolve({alert: true, badge: true, sound: true}),
396
- ),
397
- abandonPermissions: jest.fn(),
398
- checkPermissions: jest.fn(callback =>
399
- process.nextTick(() =>
400
- callback({alert: true, badge: true, sound: true}),
401
- ),
402
- ),
403
- getInitialNotification: jest.fn(() => Promise.resolve(null)),
404
- addListener: jest.fn(),
405
- removeListeners: jest.fn(),
406
- },
407
- SourceCode: {
408
- getConstants() {
409
- return {
410
- scriptURL: null,
411
- };
412
- },
413
- },
414
- StatusBarManager: {
415
- setColor: jest.fn(),
416
- setStyle: jest.fn(),
417
- setHidden: jest.fn(),
418
- setNetworkActivityIndicatorVisible: jest.fn(),
419
- setBackgroundColor: jest.fn(),
420
- setTranslucent: jest.fn(),
421
- getConstants: () => ({
422
- HEIGHT: 42,
423
- }),
424
- },
425
- Timing: {
426
- createTimer: jest.fn(),
427
- deleteTimer: jest.fn(),
428
- },
429
- UIManager: {},
430
- BlobModule: {
431
- getConstants: () => ({BLOB_URI_SCHEME: 'content', BLOB_URI_HOST: null}),
432
- addNetworkingHandler: jest.fn(),
433
- enableBlobSupport: jest.fn(),
434
- disableBlobSupport: jest.fn(),
435
- createFromParts: jest.fn(),
436
- sendBlob: jest.fn(),
437
- release: jest.fn(),
438
- },
439
- WebSocketModule: {
440
- connect: jest.fn(),
441
- send: jest.fn(),
442
- sendBinary: jest.fn(),
443
- ping: jest.fn(),
444
- close: jest.fn(),
445
- addListener: jest.fn(),
446
- removeListeners: jest.fn(),
447
- },
448
- I18nManager: {
449
- allowRTL: jest.fn(),
450
- forceRTL: jest.fn(),
451
- swapLeftAndRightInRTL: jest.fn(),
452
- getConstants: () => ({
453
- isRTL: false,
454
- doLeftAndRightSwapInRTL: true,
455
- }),
456
- },
457
- },
458
- }))
459
- .mock('../Libraries/NativeComponent/NativeComponentRegistry', () => {
460
- return {
461
- get: jest.fn((name, viewConfigProvider) => {
462
- return jest.requireActual('./mockNativeComponent').default(name);
463
- }),
464
- getWithFallback_DEPRECATED: jest.fn((name, viewConfigProvider) => {
465
- return jest.requireActual('./mockNativeComponent').default(name);
466
- }),
467
- setRuntimeConfigProvider: jest.fn(),
468
- };
469
- })
470
- .mock('../Libraries/ReactNative/requireNativeComponent', () => {
471
- return jest.requireActual('./mockNativeComponent');
472
- })
473
- .mock('../Libraries/Vibration/Vibration', () => ({
474
- __esModule: true,
475
- default: {
476
- vibrate: jest.fn(),
477
- cancel: jest.fn(),
478
- },
479
- }))
480
- .mock('../Libraries/Components/View/ViewNativeComponent', () => {
481
- const React = require('react');
482
- const Component = class extends React.Component {
483
- render() {
484
- return React.createElement('View', this.props, this.props.children);
485
- }
486
- };
487
-
488
- Component.displayName = 'View';
489
-
490
- return {
491
- __esModule: true,
492
- default: Component,
493
- };
494
- })
495
- // In tests, we can use the default version instead of the one using
496
- // dependency injection.
497
- .mock('../Libraries/ReactNative/RendererProxy', () => {
498
- return jest.requireActual(
499
- '../Libraries/ReactNative/RendererImplementation',
500
- );
501
- })
502
- .mock('../Libraries/Utilities/useColorScheme', () => ({
503
- __esModule: true,
504
- default: jest.fn().mockReturnValue('light'),
505
- }));
73
+ // $FlowFixMe[incompatible-call] - `./mocks/AppState` is incomplete.
74
+ mock('m#../Libraries/AppState/AppState', 'm#./mocks/AppState');
75
+ mock('m#../Libraries/BatchedBridge/NativeModules', 'm#./mocks/NativeModules');
76
+ mock(
77
+ 'm#../Libraries/Components/AccessibilityInfo/AccessibilityInfo',
78
+ 'm#./mocks/AccessibilityInfo',
79
+ );
80
+ mock(
81
+ 'm#../Libraries/Components/ActivityIndicator/ActivityIndicator',
82
+ 'm#./mocks/ActivityIndicator',
83
+ );
84
+ mock('m#../Libraries/Components/Clipboard/Clipboard', 'm#./mocks/Clipboard');
85
+ mock(
86
+ 'm#../Libraries/Components/RefreshControl/RefreshControl',
87
+ // $FlowFixMe[incompatible-call] - `../Libraries/Components/RefreshControl/RefreshControl` should export a component type.
88
+ 'm#./mocks/RefreshControl',
89
+ );
90
+ // $FlowFixMe[incompatible-exact] - `../Libraries/Components/ScrollView/ScrollView` is... I don't even.
91
+ // $FlowFixMe[prop-missing]
92
+ mock('m#../Libraries/Components/ScrollView/ScrollView', 'm#./mocks/ScrollView');
93
+ mock('m#../Libraries/Components/TextInput/TextInput', 'm#./mocks/TextInput');
94
+ mock('m#../Libraries/Components/View/View', 'm#./mocks/View');
95
+ mock(
96
+ 'm#../Libraries/Components/View/ViewNativeComponent',
97
+ // $FlowFixMe[incompatible-call] - `./mocks/ViewNativeComponent` is incomplete.
98
+ // $FlowFixMe[prop-missing]
99
+ 'm#./mocks/ViewNativeComponent',
100
+ );
101
+ mock('m#../Libraries/Core/InitializeCore', 'm#./mocks/InitializeCore');
102
+ mock('m#../Libraries/Core/NativeExceptionsManager');
103
+ mock('m#../Libraries/Image/Image', 'm#./mocks/Image');
104
+ // $FlowFixMe[incompatible-call] - `./mocks/Linking` is incomplete.
105
+ mock('m#../Libraries/Linking/Linking', 'm#./mocks/Linking');
106
+ // $FlowFixMe[incompatible-call] - `../Libraries/Modal/Modal` should export a component type.
107
+ mock('m#../Libraries/Modal/Modal', 'm#./mocks/Modal');
108
+ mock(
109
+ 'm#../Libraries/NativeComponent/NativeComponentRegistry',
110
+ // $FlowFixMe[prop-missing] - `./mocks/NativeComponentRegistry` should export named functions.
111
+ 'm#./mocks/NativeComponentRegistry',
112
+ );
113
+ // $FlowFixMe[prop-missing] - `./mocks/RendererProxy` is incomplete.
114
+ mock('m#../Libraries/ReactNative/RendererProxy', 'm#./mocks/RendererProxy');
115
+ mock(
116
+ 'm#../Libraries/ReactNative/requireNativeComponent',
117
+ 'm#./mocks/requireNativeComponent',
118
+ );
119
+ // $FlowFixMe[prop-missing] - `./mocks/UIManager` is incomplete.
120
+ mock('m#../Libraries/ReactNative/UIManager', 'm#./mocks/UIManager');
121
+ mock('m#../Libraries/Text/Text', 'm#./mocks/Text');
122
+ mock('m#../Libraries/Utilities/useColorScheme', 'm#./mocks/useColorScheme');
123
+ // $FlowFixMe[incompatible-call]
124
+ mock('m#../Libraries/Vibration/Vibration', 'm#./mocks/Vibration');