@office-iss/react-native-win32 0.0.0-canary.296 → 0.0.0-canary.298

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 (421) hide show
  1. package/.flowconfig +6 -2
  2. package/CHANGELOG.json +49 -1
  3. package/CHANGELOG.md +23 -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 +1 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/PromiseTest.js +1 -1
  13. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  14. package/IntegrationTests/SyncMethodTest.js +1 -1
  15. package/IntegrationTests/TimersTest.js +1 -1
  16. package/IntegrationTests/WebSocketTest.js +1 -1
  17. package/Libraries/Alert/Alert.js +1 -1
  18. package/Libraries/Alert/Alert.win32.js +1 -1
  19. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
  21. package/Libraries/Animated/Animated.js +0 -1
  22. package/Libraries/Animated/Animated.js.flow +0 -1
  23. package/Libraries/Animated/AnimatedExports.js +2 -3
  24. package/Libraries/Animated/AnimatedExports.js.flow +1 -2
  25. package/Libraries/Animated/Easing.js +1 -1
  26. package/Libraries/Animated/SpringConfig.js +1 -1
  27. package/Libraries/Animated/animations/Animation.js +5 -2
  28. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  29. package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
  30. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  31. package/Libraries/Animated/createAnimatedComponent.js +37 -33
  32. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  33. package/Libraries/Animated/nodes/AnimatedProps.js +37 -5
  34. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  35. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  36. package/Libraries/AppState/AppState.js +6 -1
  37. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  38. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  39. package/Libraries/Blob/BlobManager.js +4 -0
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +5 -1
  42. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  43. package/Libraries/BugReporting/BugReporting.js +1 -1
  44. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  45. package/Libraries/BugReporting/getReactData.js +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  48. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  49. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  50. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +20 -19
  51. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -1
  52. package/Libraries/Components/Button.js +3 -3
  53. package/Libraries/Components/Button.win32.js +3 -3
  54. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  55. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  59. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  60. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  64. package/Libraries/Components/Pressable/Pressable.js +9 -6
  65. package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
  66. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  67. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +14 -2
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  70. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  71. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  72. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  73. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  74. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  75. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  76. package/Libraries/Components/ScrollView/ScrollView.d.ts +23 -5
  77. package/Libraries/Components/ScrollView/ScrollView.js +22 -14
  78. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  79. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  80. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  81. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  82. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  83. package/Libraries/Components/Sound/SoundManager.js +1 -1
  84. package/Libraries/Components/StaticRenderer.js +1 -1
  85. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  86. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  87. package/Libraries/Components/Switch/Switch.js +8 -2
  88. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  89. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -17
  90. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  91. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  92. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  93. package/Libraries/Components/TextInput/TextInput.flow.js +12 -14
  94. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  95. package/Libraries/Components/TextInput/TextInput.js +40 -35
  96. package/Libraries/Components/TextInput/TextInput.win32.js +41 -35
  97. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  98. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  99. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  100. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  101. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  102. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  103. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  104. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  105. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  106. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  107. package/Libraries/Components/Touchable/Position.js +1 -1
  108. package/Libraries/Components/Touchable/Touchable.js +10 -0
  109. package/Libraries/Components/Touchable/Touchable.win32.js +10 -0
  110. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  111. package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
  112. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  113. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
  114. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
  115. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  116. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  117. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  118. package/Libraries/Components/View/View.js +112 -26
  119. package/Libraries/Components/View/View.win32.js +1 -1
  120. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  121. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -1
  122. package/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  123. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  124. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  125. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  126. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  127. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  128. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  129. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  130. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  131. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  132. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  133. package/Libraries/Core/ExceptionsManager.js +1 -1
  134. package/Libraries/Core/InitializeCore.js +2 -23
  135. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  136. package/Libraries/Core/ReactNativeVersion.js +3 -2
  137. package/Libraries/Core/Timers/JSTimers.js +1 -1
  138. package/Libraries/Core/Timers/immediateShim.js +1 -1
  139. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  140. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  141. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  142. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -1
  143. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  144. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  145. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
  146. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  147. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  148. package/Libraries/Image/AssetRegistry.js +4 -10
  149. package/Libraries/Image/AssetSourceResolver.js +17 -4
  150. package/Libraries/Image/Image.android.js +112 -106
  151. package/Libraries/Image/Image.ios.js +10 -2
  152. package/Libraries/Image/Image.win32.js +11 -3
  153. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  154. package/Libraries/Image/ImageInjection.js +1 -1
  155. package/Libraries/Image/RelativeImageStub.js +2 -1
  156. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  157. package/Libraries/Image/resolveAssetSource.js +1 -1
  158. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  159. package/Libraries/Interaction/InteractionManager.js +62 -53
  160. package/Libraries/Interaction/TaskQueue.js +8 -9
  161. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  162. package/Libraries/Linking/Linking.js +1 -1
  163. package/Libraries/Lists/FlatList.d.ts +9 -5
  164. package/Libraries/Lists/FlatList.js +1 -1
  165. package/Libraries/Lists/SectionListModern.js +9 -3
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  167. package/Libraries/LogBox/LogBox.js +2 -0
  168. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  169. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  170. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  171. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  172. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  173. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  174. package/Libraries/Modal/Modal.js +5 -1
  175. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -5
  177. package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -4
  178. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  179. package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -4
  180. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  181. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  182. package/Libraries/Network/FormData.js +1 -1
  183. package/Libraries/Network/RCTNetworking.android.js +2 -2
  184. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  185. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  186. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  187. package/Libraries/Network/XMLHttpRequest.js +3 -3
  188. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +1 -1
  189. package/Libraries/Pressability/Pressability.js +1 -1
  190. package/Libraries/Pressability/Pressability.win32.js +1 -1
  191. package/Libraries/Promise.js +1 -1
  192. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  193. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  194. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  195. package/Libraries/ReactNative/AppContainer.js +1 -1
  196. package/Libraries/ReactNative/AppRegistryImpl.js +2 -3
  197. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  198. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  199. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  200. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  201. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  202. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  203. package/Libraries/ReactNative/RendererProxy.js +1 -1
  204. package/Libraries/ReactNative/RootTag.js +2 -2
  205. package/Libraries/ReactNative/renderApplication.js +1 -1
  206. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  208. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +1 -1
  209. package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
  210. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
  211. package/Libraries/Settings/Settings.ios.js +1 -1
  212. package/Libraries/Settings/Settings.js +1 -1
  213. package/Libraries/Settings/SettingsFallback.js +1 -1
  214. package/Libraries/Share/Share.js +1 -1
  215. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  217. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  218. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  219. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  220. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  221. package/Libraries/StyleSheet/PointPropType.js +1 -1
  222. package/Libraries/StyleSheet/Rect.js +1 -1
  223. package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
  224. package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
  225. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  226. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  227. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  228. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  229. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  230. package/Libraries/StyleSheet/processColor.js +1 -1
  231. package/Libraries/StyleSheet/processColorArray.js +1 -1
  232. package/Libraries/StyleSheet/processFilter.js +1 -2
  233. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  234. package/Libraries/StyleSheet/processTransform.js +1 -1
  235. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  236. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  237. package/Libraries/Text/Text.d.ts +7 -0
  238. package/Libraries/Text/Text.js +256 -245
  239. package/Libraries/Text/Text.win32.js +294 -285
  240. package/Libraries/Text/TextAncestor.js +3 -2
  241. package/Libraries/Text/TextNativeComponent.js +4 -0
  242. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  243. package/Libraries/Text/TextProps.js +2 -34
  244. package/Libraries/Text/TextProps.win32.js +2 -33
  245. package/Libraries/Types/CodegenTypes.js +1 -1
  246. package/Libraries/Types/CodegenTypesNamespace.js +1 -1
  247. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  248. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  249. package/Libraries/Utilities/Appearance.js +1 -1
  250. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  251. package/Libraries/Utilities/DevLoadingView.js +1 -1
  252. package/Libraries/Utilities/DeviceInfo.js +1 -1
  253. package/Libraries/Utilities/Dimensions.js +1 -1
  254. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  255. package/Libraries/Utilities/HMRClient.js +1 -1
  256. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  257. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  258. package/Libraries/Utilities/PixelRatio.js +1 -1
  259. package/Libraries/Utilities/Platform.android.js +1 -1
  260. package/Libraries/Utilities/Platform.ios.js +1 -1
  261. package/Libraries/Utilities/Platform.js +1 -1
  262. package/Libraries/Utilities/Platform.win32.js +1 -1
  263. package/Libraries/Utilities/PlatformTypes.js +1 -1
  264. package/Libraries/Utilities/RCTLog.js +1 -1
  265. package/Libraries/Utilities/SceneTracker.js +1 -1
  266. package/Libraries/Utilities/binaryToBase64.js +1 -1
  267. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  268. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  269. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  270. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  271. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  272. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  273. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  274. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  275. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  276. package/Libraries/Utilities/logError.js +1 -1
  277. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  278. package/Libraries/Utilities/stringifySafe.js +1 -1
  279. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  280. package/Libraries/Utilities/useColorScheme.js +1 -1
  281. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  282. package/Libraries/Utilities/warnOnce.js +1 -1
  283. package/Libraries/Vibration/Vibration.js +1 -2
  284. package/Libraries/WebSocket/WebSocket.js +1 -1
  285. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  286. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  287. package/Libraries/vendor/core/ErrorUtils.js +29 -5
  288. package/index.js +1 -2
  289. package/index.win32.js +3 -1
  290. package/interface.js +1 -1
  291. package/jest/MockNativeMethods.js +9 -3
  292. package/jest/RefreshControlMock.js +32 -0
  293. package/jest/assetFileTransformer.js +1 -0
  294. package/jest/local-setup.js +4 -3
  295. package/jest/mock.js +39 -0
  296. package/jest/mockComponent.js +47 -17
  297. package/jest/mockNativeComponent.js +26 -15
  298. package/jest/mocks/AccessibilityInfo.js +62 -0
  299. package/jest/mocks/ActivityIndicator.js +23 -0
  300. package/jest/mocks/AppState.js +19 -0
  301. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  302. package/jest/mocks/Image.js +23 -0
  303. package/jest/mocks/InitializeCore.js +9 -0
  304. package/jest/mocks/Linking.js +28 -0
  305. package/jest/mocks/Modal.js +33 -0
  306. package/jest/mocks/NativeComponentRegistry.js +30 -0
  307. package/jest/mocks/NativeModules.js +239 -0
  308. package/jest/mocks/RefreshControl.js +31 -0
  309. package/jest/mocks/RendererProxy.js +45 -0
  310. package/jest/mocks/ScrollView.js +58 -0
  311. package/jest/mocks/Text.js +27 -0
  312. package/jest/mocks/TextInput.js +32 -0
  313. package/jest/mocks/UIManager.js +60 -0
  314. package/jest/mocks/Vibration.js +16 -0
  315. package/jest/mocks/View.js +27 -0
  316. package/jest/mocks/ViewNativeComponent.js +23 -0
  317. package/jest/mocks/requireNativeComponent.js +22 -0
  318. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  319. package/jest/react-native-env.js +1 -0
  320. package/jest/renderer.js +1 -2
  321. package/jest/resolver.js +32 -0
  322. package/jest/setup.js +63 -445
  323. package/overrides.json +45 -38
  324. package/package.json +14 -14
  325. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  326. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  327. package/src/private/animated/createAnimatedPropsHook.js +11 -4
  328. package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
  329. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  330. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  331. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  332. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  333. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  334. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  335. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  336. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  337. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  338. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  339. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  340. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  341. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  342. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  343. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  344. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  345. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  346. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  347. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  348. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  349. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  350. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  351. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  352. package/src/private/featureflags/ReactNativeFeatureFlags.js +65 -5
  353. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  354. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -2
  355. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  356. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  357. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  358. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
  359. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  360. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  361. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  362. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
  363. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  364. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  365. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +1 -1
  366. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  367. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  368. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  369. package/src/private/styles/composeStyles.js +12 -5
  370. package/src/private/types/HostInstance.js +1 -1
  371. package/src/private/webapis/dom/events/Event.js +3 -0
  372. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  373. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  374. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  375. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  376. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  377. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  378. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  379. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  380. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  381. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  382. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  383. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  384. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  385. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  386. package/src/private/webapis/errors/DOMException.js +166 -0
  387. package/src/private/webapis/geometry/DOMRect.js +5 -0
  388. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  389. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  390. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +3 -0
  391. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  392. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +70 -18
  393. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +11 -0
  394. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  395. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  396. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  397. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  398. package/src/private/webapis/performance/EventTiming.js +1 -1
  399. package/src/private/webapis/performance/LongTasks.js +1 -1
  400. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  401. package/src/private/webapis/performance/Performance.js +20 -9
  402. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  403. package/src/private/webapis/performance/PerformanceObserver.js +1 -1
  404. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  405. package/src/private/webapis/performance/UserTiming.js +1 -1
  406. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -1
  407. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  408. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  409. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  410. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  411. package/src/types/globals.d.ts +42 -0
  412. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  413. package/src-win/Libraries/Text/Text.d.ts +7 -0
  414. package/types/index.d.ts +1 -1
  415. package/types/modules/Devtools.d.ts +23 -9
  416. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  417. package/flow/HermesInternalType.js +0 -114
  418. package/flow/console.js +0 -49
  419. package/flow/global.js +0 -88
  420. package/jest/mockModal.js +0 -32
  421. package/jest/mockScrollView.js +0 -35
@@ -0,0 +1,9 @@
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
+ */
@@ -0,0 +1,28 @@
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 Linking = {
12
+ openURL: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
13
+ canOpenURL: jest.fn(() => Promise.resolve(true)) as JestMockFn<
14
+ $FlowFixMe,
15
+ $FlowFixMe,
16
+ >,
17
+ openSettings: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
18
+ addEventListener: jest.fn(() => ({
19
+ remove: jest.fn(),
20
+ })) as JestMockFn<$FlowFixMe, $FlowFixMe>,
21
+ getInitialURL: jest.fn(() => Promise.resolve()) as JestMockFn<
22
+ $FlowFixMe,
23
+ $FlowFixMe,
24
+ >,
25
+ sendIntent: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
26
+ };
27
+
28
+ export default Linking;
@@ -0,0 +1,33 @@
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 {ModalProps} from '../../Libraries/Modal/Modal';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+
14
+ const mockComponent =
15
+ jest.requireActual<TmockComponent>('../mockComponent').default;
16
+
17
+ type TModal = component(...ModalProps);
18
+
19
+ const BaseComponent = mockComponent(
20
+ '../Libraries/Modal/Modal',
21
+ null, // instanceMethods
22
+ true, // isESModule
23
+ ) as TModal;
24
+
25
+ // $FlowIgnore[incompatible-use]
26
+ export default class Modal extends BaseComponent {
27
+ render(): React.Node {
28
+ if (this.props.visible === false) {
29
+ return null;
30
+ }
31
+ return <BaseComponent {...this.props}>{this.props.children}</BaseComponent>;
32
+ }
33
+ }
@@ -0,0 +1,30 @@
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 typeof * as TmockNativeComponent from '../mockNativeComponent';
12
+
13
+ const mockNativeComponent = jest.requireActual<TmockNativeComponent>(
14
+ '../mockNativeComponent',
15
+ ).default;
16
+
17
+ export const get = jest.fn((name, viewConfigProvider) => {
18
+ return mockNativeComponent(name);
19
+ }) as JestMockFn<$FlowFixMe, $FlowFixMe>;
20
+
21
+ export const getWithFallback_DEPRECATED = jest.fn(
22
+ (name, viewConfigProvider) => {
23
+ return mockNativeComponent(name);
24
+ },
25
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>;
26
+
27
+ export const setRuntimeConfigProvider = jest.fn() as JestMockFn<
28
+ $FlowFixMe,
29
+ $FlowFixMe,
30
+ >;
@@ -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';