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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/.flowconfig +8 -4
  2. package/CHANGELOG.json +55 -1
  3. package/CHANGELOG.md +25 -5
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/AnimatedEvent.js +4 -3
  27. package/Libraries/Animated/AnimatedExports.js +2 -2
  28. package/Libraries/Animated/AnimatedExports.js.flow +5 -0
  29. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  30. package/Libraries/Animated/AnimatedMock.js +2 -2
  31. package/Libraries/Animated/Easing.js +1 -1
  32. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  33. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  34. package/Libraries/Animated/SpringConfig.js +1 -1
  35. package/Libraries/Animated/animations/Animation.js +6 -1
  36. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  37. package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
  38. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +2 -4
  42. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  44. package/Libraries/AppState/NativeAppState.js +1 -0
  45. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  46. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  47. package/Libraries/Blob/BlobManager.js +4 -0
  48. package/Libraries/Blob/NativeBlobModule.js +1 -0
  49. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  50. package/Libraries/Blob/URL.js +1 -1
  51. package/Libraries/Blob/URLSearchParams.js +5 -1
  52. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  54. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  57. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  60. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  61. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  62. package/Libraries/Components/Button.js +8 -5
  63. package/Libraries/Components/Button.win32.js +8 -5
  64. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  65. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  68. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  72. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  73. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  74. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  75. package/Libraries/Components/Pressable/Pressable.js +8 -2
  76. package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
  77. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  78. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  82. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  83. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  85. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  88. package/Libraries/Components/ScrollView/ScrollView.d.ts +24 -1
  89. package/Libraries/Components/ScrollView/ScrollView.js +7 -3
  90. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  91. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  92. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  93. package/Libraries/Components/Sound/SoundManager.js +1 -1
  94. package/Libraries/Components/StaticRenderer.js +1 -1
  95. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  96. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  97. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  98. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  99. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  100. package/Libraries/Components/Switch/Switch.js +2 -1
  101. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  102. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -19
  103. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  104. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  105. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  106. package/Libraries/Components/TextInput/TextInput.flow.js +12 -10
  107. package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
  108. package/Libraries/Components/TextInput/TextInput.js +16 -14
  109. package/Libraries/Components/TextInput/TextInput.win32.js +42 -13
  110. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  111. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  112. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  116. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  117. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  118. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  119. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  120. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  121. package/Libraries/Components/Touchable/Position.js +1 -1
  122. package/Libraries/Components/Touchable/Touchable.js +17 -3
  123. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  124. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
  129. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  131. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  132. package/Libraries/Components/View/View.js +18 -19
  133. package/Libraries/Components/View/View.win32.js +17 -3
  134. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  135. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  136. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  137. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  138. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  139. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  140. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  141. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  142. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  143. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  144. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  145. package/Libraries/Core/ExceptionsManager.js +29 -16
  146. package/Libraries/Core/InitializeCore.js +1 -1
  147. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  148. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  149. package/Libraries/Core/ReactNativeVersion.js +1 -1
  150. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  151. package/Libraries/Core/Timers/JSTimers.js +1 -1
  152. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  153. package/Libraries/Core/Timers/immediateShim.js +1 -1
  154. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  155. package/Libraries/Core/checkNativeVersion.js +1 -0
  156. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  157. package/Libraries/Core/setUpReactDevTools.js +21 -4
  158. package/Libraries/Debugging/DebuggingOverlay.js +6 -6
  159. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  160. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  161. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  162. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  163. package/Libraries/Image/Image.android.js +3 -3
  164. package/Libraries/Image/ImageInjection.js +1 -1
  165. package/Libraries/Image/ImageSource.d.ts +5 -0
  166. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  167. package/Libraries/Image/NativeImageEditor.js +1 -0
  168. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  169. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  170. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  171. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  172. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  173. package/Libraries/Image/RelativeImageStub.js +2 -2
  174. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  175. package/Libraries/Image/resolveAssetSource.js +1 -1
  176. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  177. package/Libraries/Interaction/InteractionManager.js +68 -54
  178. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  179. package/Libraries/Interaction/TaskQueue.js +22 -9
  180. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  181. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  182. package/Libraries/Linking/Linking.js +1 -1
  183. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  184. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  185. package/Libraries/Lists/FlatList.js +5 -6
  186. package/Libraries/Lists/SectionList.js +4 -4
  187. package/Libraries/Lists/VirtualizedList.js +3 -2
  188. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  190. package/Libraries/LogBox/LogBox.js +72 -99
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  196. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  197. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  198. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTNetworking.android.js +2 -2
  212. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  213. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  214. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  215. package/Libraries/Network/XMLHttpRequest.js +5 -3
  216. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  217. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  218. package/Libraries/Pressability/Pressability.js +1 -1
  219. package/Libraries/Pressability/Pressability.win32.js +1 -1
  220. package/Libraries/Promise.js +1 -1
  221. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  222. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  223. package/Libraries/ReactNative/AppContainer.js +1 -1
  224. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  225. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  226. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  227. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  228. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  229. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  230. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  231. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  232. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  233. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  234. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  235. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  236. package/Libraries/ReactNative/RendererProxy.js +1 -1
  237. package/Libraries/ReactNative/renderApplication.js +1 -1
  238. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  239. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -2
  240. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  241. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  242. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  243. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  244. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
  245. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
  246. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  247. package/Libraries/Settings/Settings.ios.js +1 -1
  248. package/Libraries/Settings/Settings.js +1 -1
  249. package/Libraries/Settings/SettingsFallback.js +1 -1
  250. package/Libraries/Share/NativeShareModule.js +1 -0
  251. package/Libraries/Share/Share.js +1 -1
  252. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  253. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  254. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  255. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  256. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  257. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  258. package/Libraries/StyleSheet/PointPropType.js +1 -1
  259. package/Libraries/StyleSheet/Rect.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  261. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  262. package/Libraries/StyleSheet/processAspectRatio.js +3 -1
  263. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  264. package/Libraries/StyleSheet/processColor.js +1 -1
  265. package/Libraries/StyleSheet/processColorArray.js +1 -1
  266. package/Libraries/StyleSheet/processFilter.js +1 -1
  267. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  268. package/Libraries/StyleSheet/processTransform.js +1 -1
  269. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  270. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  271. package/Libraries/Text/Text.js +5 -7
  272. package/Libraries/Text/Text.win32.js +1 -1
  273. package/Libraries/Text/TextAncestor.js +3 -10
  274. package/Libraries/Text/TextAncestorContext.js +23 -0
  275. package/Libraries/Text/TextNativeComponent.js +4 -0
  276. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  277. package/Libraries/Text/TextProps.js +2 -2
  278. package/Libraries/Text/TextProps.win32.js +2 -2
  279. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  280. package/Libraries/Types/CodegenTypes.js +1 -1
  281. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  282. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  283. package/Libraries/Utilities/Appearance.js +1 -1
  284. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  285. package/Libraries/Utilities/DevLoadingView.js +1 -1
  286. package/Libraries/Utilities/DeviceInfo.js +1 -1
  287. package/Libraries/Utilities/Dimensions.js +1 -1
  288. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  289. package/Libraries/Utilities/HMRClient.js +13 -3
  290. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  291. package/Libraries/Utilities/NativeAppearance.js +1 -0
  292. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  293. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  294. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  295. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  296. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  297. package/Libraries/Utilities/PixelRatio.js +1 -1
  298. package/Libraries/Utilities/Platform.android.js +2 -5
  299. package/Libraries/Utilities/Platform.ios.js +2 -5
  300. package/Libraries/Utilities/Platform.js +1 -1
  301. package/Libraries/Utilities/Platform.js.flow +2 -2
  302. package/Libraries/Utilities/Platform.win32.js +2 -5
  303. package/Libraries/Utilities/PlatformTypes.js +1 -1
  304. package/Libraries/Utilities/RCTLog.js +1 -1
  305. package/Libraries/Utilities/SceneTracker.js +1 -1
  306. package/Libraries/Utilities/binaryToBase64.js +1 -1
  307. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  308. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  309. package/Libraries/Utilities/createPerformanceLogger.js +59 -20
  310. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  311. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  312. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  313. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  314. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  315. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  316. package/Libraries/Utilities/logError.js +1 -1
  317. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  318. package/Libraries/Utilities/stringifySafe.js +1 -1
  319. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  320. package/Libraries/Utilities/useColorScheme.js +1 -1
  321. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  322. package/Libraries/Utilities/warnOnce.js +1 -1
  323. package/Libraries/Vibration/NativeVibration.js +1 -0
  324. package/Libraries/Vibration/Vibration.js +1 -2
  325. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  326. package/Libraries/WebSocket/WebSocket.js +1 -1
  327. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  328. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  329. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  330. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  331. package/index.js +22 -1
  332. package/index.win32.js +15 -2
  333. package/interface.js +1 -1
  334. package/jest/MockNativeMethods.js +9 -3
  335. package/jest/RefreshControlMock.js +32 -0
  336. package/jest/assetFileTransformer.js +1 -0
  337. package/jest/local-setup.js +4 -3
  338. package/jest/mock.js +39 -0
  339. package/jest/mockComponent.js +47 -17
  340. package/jest/mockNativeComponent.js +24 -14
  341. package/jest/mocks/AccessibilityInfo.js +62 -0
  342. package/jest/mocks/ActivityIndicator.js +23 -0
  343. package/jest/mocks/AppState.js +19 -0
  344. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  345. package/jest/mocks/Image.js +23 -0
  346. package/jest/mocks/InitializeCore.js +9 -0
  347. package/jest/mocks/Linking.js +28 -0
  348. package/jest/mocks/Modal.js +33 -0
  349. package/jest/mocks/NativeComponentRegistry.js +30 -0
  350. package/jest/mocks/NativeModules.js +239 -0
  351. package/jest/mocks/RefreshControl.js +31 -0
  352. package/jest/mocks/RendererProxy.js +45 -0
  353. package/jest/mocks/ScrollView.js +58 -0
  354. package/jest/mocks/Text.js +27 -0
  355. package/jest/mocks/TextInput.js +32 -0
  356. package/jest/mocks/UIManager.js +60 -0
  357. package/jest/mocks/Vibration.js +16 -0
  358. package/jest/mocks/View.js +27 -0
  359. package/jest/mocks/ViewNativeComponent.js +23 -0
  360. package/jest/mocks/requireNativeComponent.js +22 -0
  361. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  362. package/jest/react-native-env.js +1 -0
  363. package/jest/renderer.js +1 -1
  364. package/jest/resolver.js +1 -0
  365. package/jest/setup.js +64 -445
  366. package/overrides.json +38 -38
  367. package/package.json +14 -14
  368. package/src/private/animated/NativeAnimatedHelper.js +2 -0
  369. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -0
  370. package/src/private/animated/createAnimatedPropsHook.js +4 -1
  371. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
  372. package/src/private/components/virtualview/VirtualView.js +145 -0
  373. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  374. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  377. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  378. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  379. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  380. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  381. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  382. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  383. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  384. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  385. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  386. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  387. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  388. package/src/private/featureflags/ReactNativeFeatureFlags.js +75 -30
  389. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  390. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -5
  391. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  392. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  393. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  394. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  395. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  396. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  397. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  398. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  399. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  400. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  401. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  402. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  403. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  404. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  405. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  406. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  407. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  409. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  410. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  411. package/src/private/styles/composeStyles.js +5 -12
  412. package/src/private/types/HostInstance.js +1 -1
  413. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  414. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  415. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  416. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  417. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
  418. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  419. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  420. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  421. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  422. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  423. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  424. package/src/private/webapis/dom/oldstylecollections/NodeList.js +1 -1
  425. package/src/private/webapis/errors/DOMException.js +1 -1
  426. package/src/private/webapis/geometry/DOMRectList.js +1 -1
  427. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  428. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -1
  429. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -1
  430. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -17
  431. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +19 -73
  432. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -7
  433. package/src/private/webapis/performance/EventTiming.js +1 -1
  434. package/src/private/webapis/performance/LongTasks.js +1 -1
  435. package/src/private/webapis/performance/Performance.js +165 -62
  436. package/src/private/webapis/performance/PerformanceEntry.js +21 -17
  437. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  438. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  439. package/src/private/webapis/performance/UserTiming.js +61 -9
  440. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +48 -33
  441. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  442. package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
  443. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  444. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  445. package/types/modules/Devtools.d.ts +23 -9
  446. package/Libraries/BugReporting/BugReporting.js +0 -140
  447. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  448. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  449. package/Libraries/BugReporting/getReactData.js +0 -187
  450. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  451. package/flow/HermesInternalType.js +0 -114
  452. package/flow/console.js +0 -49
  453. package/flow/global.js +0 -88
  454. package/jest/mockModal.js +0 -32
  455. package/jest/mockScrollView.js +0 -35
  456. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -4,24 +4,25 @@
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
11
  // Global setup for tests local to the react-native repo. This setup is not
11
12
  // included in the react-native Jest preset.
12
13
 
13
- 'use strict';
14
-
15
- require('./setup');
14
+ import './setup';
16
15
 
17
16
  const consoleError = console.error;
18
17
  const consoleWarn = console.warn;
19
18
 
19
+ // $FlowIgnore[cannot-write]
20
20
  console.error = (...args) => {
21
21
  consoleError(...args);
22
22
  throw new Error('console.error() was called (see error above)');
23
23
  };
24
24
 
25
+ // $FlowIgnore[cannot-write]
25
26
  console.warn = (...args) => {
26
27
  consoleWarn(...args);
27
28
  throw new Error('console.warn() was called (see warning above)');
package/jest/mock.js ADDED
@@ -0,0 +1,39 @@
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
+ * @oncall react_native
10
+ */
11
+
12
+ /**
13
+ * Mocks the module referenced by `moduleRef` (expected to begin with `m#`)
14
+ * while enforcing type safety of mock factories.
15
+ *
16
+ * If `factoryRef` is provided, it is expected to reference a module that
17
+ * exports the same type signature as the module referenced by `moduleRef`.
18
+ */
19
+ export default function mock<TModuleRef: $Flow$ModuleRef<mixed>>(
20
+ moduleRef: TModuleRef,
21
+ factoryRef?: NoInfer<TModuleRef>,
22
+ ): void {
23
+ // NOTE: Jest's `babel-plugin-jest-hoist` requires that the second argument to
24
+ // `jest.mock` be an inline function, so structure this code accordingly.
25
+ if (factoryRef === undefined) {
26
+ jest.mock(deref(moduleRef));
27
+ } else {
28
+ // NOTE: Jest's `babel-plugin-jest-hoist` requires that module factories
29
+ // only reference local variables or variables starting with "mock", so be
30
+ // careful when renaming this `mockFactory` variable.
31
+ const mockFactory = deref(factoryRef);
32
+ jest.mock(deref(moduleRef), () => jest.requireActual(mockFactory));
33
+ }
34
+ }
35
+
36
+ function deref(ref: $Flow$ModuleRef<mixed>): string {
37
+ // $FlowIgnore[incompatible-cast]
38
+ return (ref as string).substring(2);
39
+ }
@@ -4,37 +4,62 @@
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
7
8
  * @format
8
9
  */
9
10
 
10
- 'use strict';
11
+ import * as React from 'react';
12
+ import {createElement} from 'react';
11
13
 
12
- module.exports = (moduleName, instanceMethods, isESModule) => {
13
- const RealComponent = isESModule
14
- ? jest.requireActual(moduleName).default
15
- : jest.requireActual(moduleName);
16
- const React = require('react');
14
+ type Modulish<T> = T | $ReadOnly<{default: T}>;
15
+ type ModuleDefault<T> = T['default'];
17
16
 
18
- const SuperClass =
17
+ type TComponentType = React.ComponentType<{...}>;
18
+
19
+ /**
20
+ * WARNING: The `moduleName` must be relative to this file's directory, which is
21
+ * a major footgun. Be careful when using this function!
22
+ */
23
+ export default function mockComponent<
24
+ TComponentModule: Modulish<TComponentType>,
25
+ >(
26
+ moduleName: string,
27
+ instanceMethods: ?interface {},
28
+ isESModule: boolean,
29
+ ): typeof isESModule extends true
30
+ ? ModuleDefault<TComponentModule & typeof instanceMethods>
31
+ : TComponentModule & typeof instanceMethods {
32
+ const RealComponent: TComponentType = isESModule
33
+ ? // $FlowIgnore[prop-missing]
34
+ jest.requireActual<TComponentModule>(moduleName).default
35
+ : // $FlowIgnore[incompatible-type]
36
+ jest.requireActual<TComponentModule>(moduleName);
37
+
38
+ const SuperClass: typeof React.Component<
39
+ React.ElementProps<typeof RealComponent>,
40
+ > =
19
41
  typeof RealComponent === 'function' &&
20
42
  RealComponent.prototype.constructor instanceof React.Component
21
43
  ? RealComponent
22
44
  : React.Component;
23
45
 
24
46
  const name =
25
- RealComponent.displayName ||
26
- RealComponent.name ||
27
- (RealComponent.render // handle React.forwardRef
28
- ? RealComponent.render.displayName || RealComponent.render.name
29
- : 'Unknown');
47
+ RealComponent.displayName ??
48
+ RealComponent.name ??
49
+ // $FlowFixMe[prop-missing] - Checking for `forwardRef` values.
50
+ (RealComponent.render == null
51
+ ? 'Unknown'
52
+ : // $FlowFixMe[incompatible-use]
53
+ RealComponent.render.displayName ?? RealComponent.render.name);
30
54
 
31
55
  const nameWithoutPrefix = name.replace(/^(RCT|RK)/, '');
32
56
 
33
57
  const Component = class extends SuperClass {
34
- static displayName = 'Component';
58
+ static displayName: ?string = 'Component';
35
59
 
36
- render() {
37
- const props = Object.assign({}, RealComponent.defaultProps);
60
+ render(): React.Node {
61
+ // $FlowIgnore[prop-missing]
62
+ const props = {...RealComponent.defaultProps};
38
63
 
39
64
  if (this.props) {
40
65
  Object.keys(this.props).forEach(prop => {
@@ -49,7 +74,9 @@ module.exports = (moduleName, instanceMethods, isESModule) => {
49
74
  });
50
75
  }
51
76
 
52
- return React.createElement(nameWithoutPrefix, props, this.props.children);
77
+ // $FlowIgnore[not-a-function]
78
+ // $FlowIgnore[prop-missing]
79
+ return createElement(nameWithoutPrefix, props, this.props.children);
53
80
  }
54
81
  };
55
82
 
@@ -62,13 +89,16 @@ module.exports = (moduleName, instanceMethods, isESModule) => {
62
89
 
63
90
  Component.displayName = nameWithoutPrefix;
64
91
 
92
+ // $FlowIgnore[not-an-object]
65
93
  Object.keys(RealComponent).forEach(classStatic => {
66
94
  Component[classStatic] = RealComponent[classStatic];
67
95
  });
68
96
 
69
97
  if (instanceMethods != null) {
98
+ // $FlowIgnore[unsafe-object-assign]
70
99
  Object.assign(Component.prototype, instanceMethods);
71
100
  }
72
101
 
102
+ // $FlowIgnore[incompatible-return]
73
103
  return Component;
74
- };
104
+ }
@@ -4,31 +4,41 @@
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
7
8
  * @format
8
9
  */
9
10
 
10
- 'use strict';
11
+ import type {HostInstance} from '../src/private/types/HostInstance';
11
12
 
12
- const React = require('react');
13
- const {createElement} = require('react');
13
+ import * as React from 'react';
14
+ import {createElement} from 'react';
14
15
 
15
16
  let nativeTag = 1;
16
17
 
17
- export default viewName => {
18
- const Component = class extends React.Component {
19
- _nativeTag = nativeTag++;
18
+ type MockNativeComponent<TProps: {...}> = component(
19
+ ref?: ?React.RefSetter<HostInstance>,
20
+ ...props: TProps
21
+ );
20
22
 
21
- render() {
23
+ export default function mockNativeComponent<TProps: {...}>(
24
+ viewName: string,
25
+ ): MockNativeComponent<TProps> {
26
+ const Component = class extends React.Component<TProps> {
27
+ _nativeTag: number = nativeTag++;
28
+
29
+ render(): React.Node {
30
+ // $FlowIgnore[not-a-function]
31
+ // $FlowIgnore[prop-missing]
22
32
  return createElement(viewName, this.props, this.props.children);
23
33
  }
24
34
 
25
35
  // The methods that exist on host components
26
- blur = jest.fn();
27
- focus = jest.fn();
28
- measure = jest.fn();
29
- measureInWindow = jest.fn();
30
- measureLayout = jest.fn();
31
- setNativeProps = jest.fn();
36
+ blur: () => void = jest.fn();
37
+ focus: () => void = jest.fn();
38
+ measure: () => void = jest.fn();
39
+ measureInWindow: () => void = jest.fn();
40
+ measureLayout: () => void = jest.fn();
41
+ setNativeProps: () => void = jest.fn();
32
42
  };
33
43
 
34
44
  if (viewName === 'RCTView') {
@@ -38,4 +48,4 @@ export default viewName => {
38
48
  }
39
49
 
40
50
  return Component;
41
- };
51
+ }
@@ -0,0 +1,62 @@
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 AccessibilityInfo = {
12
+ addEventListener: jest.fn(() => ({
13
+ remove: jest.fn(),
14
+ })) as JestMockFn<$FlowFixMe, {remove: JestMockFn<[], void>}>,
15
+ announceForAccessibility: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
16
+ announceForAccessibilityWithOptions: jest.fn() as JestMockFn<
17
+ $FlowFixMe,
18
+ $FlowFixMe,
19
+ >,
20
+ isAccessibilityServiceEnabled: jest.fn(() =>
21
+ Promise.resolve(false),
22
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
23
+ isBoldTextEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
24
+ $FlowFixMe,
25
+ $FlowFixMe,
26
+ >,
27
+ isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
28
+ $FlowFixMe,
29
+ $FlowFixMe,
30
+ >,
31
+ isInvertColorsEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
32
+ $FlowFixMe,
33
+ $FlowFixMe,
34
+ >,
35
+ isReduceMotionEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
36
+ $FlowFixMe,
37
+ $FlowFixMe,
38
+ >,
39
+ isHighTextContrastEnabled: jest.fn(() =>
40
+ Promise.resolve(false),
41
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
42
+ isDarkerSystemColorsEnabled: jest.fn(() =>
43
+ Promise.resolve(false),
44
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
45
+ prefersCrossFadeTransitions: jest.fn(() =>
46
+ Promise.resolve(false),
47
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
48
+ isReduceTransparencyEnabled: jest.fn(() =>
49
+ Promise.resolve(false),
50
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
51
+ isScreenReaderEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
52
+ $FlowFixMe,
53
+ $FlowFixMe,
54
+ >,
55
+ setAccessibilityFocus: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
56
+ sendAccessibilityEvent: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
57
+ getRecommendedTimeoutMillis: jest.fn(() =>
58
+ Promise.resolve(false),
59
+ ) as JestMockFn<$FlowFixMe, $FlowFixMe>,
60
+ };
61
+
62
+ export default AccessibilityInfo;
@@ -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 typeof TActivityIndicator from '../../Libraries/Components/ActivityIndicator/ActivityIndicator';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+
14
+ const mockComponent =
15
+ jest.requireActual<TmockComponent>('../mockComponent').default;
16
+
17
+ const ActivityIndicator = mockComponent(
18
+ '../Libraries/Components/ActivityIndicator/ActivityIndicator',
19
+ null, // instanceMethods
20
+ true, // isESModule
21
+ ) as TActivityIndicator;
22
+
23
+ export default ActivityIndicator;
@@ -0,0 +1,19 @@
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 AppState = {
12
+ addEventListener: jest.fn(() => ({
13
+ remove: jest.fn(),
14
+ })) as JestMockFn<$FlowFixMe, $FlowFixMe>,
15
+ removeEventListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
16
+ currentState: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
17
+ };
18
+
19
+ export default AppState;
@@ -8,7 +8,9 @@
8
8
  * @format
9
9
  */
10
10
 
11
- // This type allows Facebook to internally Override
12
- // this type to allow our internationalization type which
13
- // is a string at runtime but Flow doesn't know that.
14
- declare type Stringish = string;
11
+ const Clipboard = {
12
+ getString: jest.fn(async () => '') as JestMockFn<[], Promise<string>>,
13
+ setString: jest.fn() as JestMockFn<[string], void>,
14
+ };
15
+
16
+ export default Clipboard;
@@ -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 typeof TImage from '../../Libraries/Image/Image';
12
+ import typeof * as TmockComponent from '../mockComponent';
13
+
14
+ const mockComponent =
15
+ jest.requireActual<TmockComponent>('../mockComponent').default;
16
+
17
+ const Image = mockComponent(
18
+ '../Libraries/Image/Image',
19
+ null, // instanceMethods
20
+ true, // isESModule
21
+ ) as TImage;
22
+
23
+ export default Image;
@@ -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
+ >;