@office-iss/react-native-win32 0.80.0-preview.1 → 0.81.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +135 -6
  3. package/CHANGELOG.md +53 -4
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/Animated.js +0 -1
  27. package/Libraries/Animated/Animated.js.flow +0 -1
  28. package/Libraries/Animated/AnimatedEvent.js +4 -3
  29. package/Libraries/Animated/AnimatedExports.js +0 -1
  30. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  31. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  32. package/Libraries/Animated/AnimatedMock.js +2 -2
  33. package/Libraries/Animated/Easing.js +1 -1
  34. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  35. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  36. package/Libraries/Animated/SpringConfig.js +1 -1
  37. package/Libraries/Animated/animations/Animation.js +10 -2
  38. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  42. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  43. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  45. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  46. package/Libraries/AppState/NativeAppState.js +1 -0
  47. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  48. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  49. package/Libraries/Blob/BlobManager.js +4 -0
  50. package/Libraries/Blob/NativeBlobModule.js +1 -0
  51. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  52. package/Libraries/Blob/URL.js +1 -1
  53. package/Libraries/Blob/URLSearchParams.js +5 -1
  54. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  57. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  62. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  64. package/Libraries/Components/Button.js +10 -7
  65. package/Libraries/Components/Button.win32.js +10 -7
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  72. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  73. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  74. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  75. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  76. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  77. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  78. package/Libraries/Components/Pressable/Pressable.js +17 -8
  79. package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  83. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  84. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  85. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  86. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  87. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  88. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  91. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  92. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  93. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  95. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +1 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  104. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  105. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  106. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  107. package/Libraries/Components/Switch/Switch.js +10 -3
  108. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  109. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  111. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  112. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  113. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  114. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  115. package/Libraries/Components/TextInput/TextInput.js +42 -39
  116. package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  119. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  120. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  121. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  125. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +17 -3
  130. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  131. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  133. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
  135. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  137. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  138. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  139. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  140. package/Libraries/Components/View/View.js +114 -29
  141. package/Libraries/Components/View/View.win32.js +17 -3
  142. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  143. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  144. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  145. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  146. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  147. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  148. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  149. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  150. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  151. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  152. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  153. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  154. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  155. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  156. package/Libraries/Core/ExceptionsManager.js +27 -16
  157. package/Libraries/Core/InitializeCore.js +2 -23
  158. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  159. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  160. package/Libraries/Core/ReactNativeVersion.js +3 -2
  161. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  162. package/Libraries/Core/Timers/JSTimers.js +1 -1
  163. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  164. package/Libraries/Core/Timers/immediateShim.js +1 -1
  165. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  166. package/Libraries/Core/checkNativeVersion.js +1 -0
  167. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  168. package/Libraries/Core/setUpReactDevTools.js +21 -4
  169. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  170. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  171. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  172. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  173. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  174. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  175. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  176. package/Libraries/Image/AssetRegistry.js +4 -10
  177. package/Libraries/Image/Image.android.js +113 -107
  178. package/Libraries/Image/Image.ios.js +10 -2
  179. package/Libraries/Image/Image.win32.js +11 -3
  180. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  181. package/Libraries/Image/ImageInjection.js +1 -1
  182. package/Libraries/Image/ImageSource.d.ts +5 -0
  183. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  184. package/Libraries/Image/NativeImageEditor.js +1 -0
  185. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  186. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  187. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  188. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  189. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  190. package/Libraries/Image/RelativeImageStub.js +2 -1
  191. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  192. package/Libraries/Image/resolveAssetSource.js +1 -1
  193. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  194. package/Libraries/Interaction/InteractionManager.js +64 -54
  195. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  196. package/Libraries/Interaction/TaskQueue.js +8 -9
  197. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  198. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  199. package/Libraries/Linking/Linking.js +1 -1
  200. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  201. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  202. package/Libraries/Lists/FlatList.d.ts +9 -5
  203. package/Libraries/Lists/FlatList.js +6 -7
  204. package/Libraries/Lists/SectionList.js +4 -4
  205. package/Libraries/Lists/SectionListModern.js +9 -3
  206. package/Libraries/Lists/VirtualizedList.js +3 -2
  207. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  208. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  209. package/Libraries/LogBox/LogBox.js +72 -99
  210. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  211. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  212. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  213. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  216. package/Libraries/Modal/Modal.d.ts +8 -2
  217. package/Libraries/Modal/Modal.js +24 -3
  218. package/Libraries/Modal/NativeModalManager.js +1 -0
  219. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  220. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  221. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  222. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  223. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  224. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  225. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  226. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  227. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  228. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  229. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  230. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  231. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  232. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  233. package/Libraries/Network/FormData.js +1 -1
  234. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  235. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  236. package/Libraries/Network/RCTNetworking.android.js +2 -2
  237. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  238. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  239. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  240. package/Libraries/Network/XMLHttpRequest.js +3 -3
  241. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  242. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  243. package/Libraries/Pressability/Pressability.js +1 -1
  244. package/Libraries/Pressability/Pressability.win32.js +1 -1
  245. package/Libraries/Promise.js +1 -1
  246. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  247. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  248. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  249. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  250. package/Libraries/ReactNative/AppContainer.js +1 -1
  251. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  252. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  253. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  254. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  255. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  256. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  258. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  259. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  260. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  261. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  262. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  263. package/Libraries/ReactNative/RendererProxy.js +1 -1
  264. package/Libraries/ReactNative/RootTag.js +2 -2
  265. package/Libraries/ReactNative/renderApplication.js +1 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  267. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  268. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  269. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  270. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  271. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  272. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  273. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
  274. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  275. package/Libraries/Settings/Settings.ios.js +1 -1
  276. package/Libraries/Settings/Settings.js +1 -1
  277. package/Libraries/Settings/SettingsFallback.js +1 -1
  278. package/Libraries/Share/NativeShareModule.js +1 -0
  279. package/Libraries/Share/Share.js +1 -1
  280. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  281. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  282. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  283. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  284. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  285. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  286. package/Libraries/StyleSheet/PointPropType.js +1 -1
  287. package/Libraries/StyleSheet/Rect.js +1 -1
  288. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  289. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  290. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  291. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  292. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  293. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  294. package/Libraries/StyleSheet/processColor.js +1 -1
  295. package/Libraries/StyleSheet/processColorArray.js +1 -1
  296. package/Libraries/StyleSheet/processFilter.js +1 -2
  297. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  298. package/Libraries/StyleSheet/processTransform.js +1 -1
  299. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  300. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  301. package/Libraries/Text/Text.d.ts +7 -0
  302. package/Libraries/Text/Text.js +255 -246
  303. package/Libraries/Text/Text.win32.js +294 -285
  304. package/Libraries/Text/TextAncestor.js +3 -9
  305. package/Libraries/Text/TextAncestorContext.js +23 -0
  306. package/Libraries/Text/TextNativeComponent.js +4 -0
  307. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  308. package/Libraries/Text/TextProps.js +2 -5
  309. package/Libraries/Text/TextProps.win32.js +2 -7
  310. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  311. package/Libraries/Types/CodegenTypes.js +1 -1
  312. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  313. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  314. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  315. package/Libraries/Utilities/Appearance.js +1 -1
  316. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  317. package/Libraries/Utilities/DevLoadingView.js +1 -1
  318. package/Libraries/Utilities/DeviceInfo.js +1 -1
  319. package/Libraries/Utilities/Dimensions.js +1 -1
  320. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  321. package/Libraries/Utilities/HMRClient.js +13 -3
  322. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  323. package/Libraries/Utilities/NativeAppearance.js +1 -0
  324. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  325. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  326. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  327. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  328. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  329. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  330. package/Libraries/Utilities/PixelRatio.js +1 -1
  331. package/Libraries/Utilities/Platform.android.js +2 -5
  332. package/Libraries/Utilities/Platform.ios.js +2 -5
  333. package/Libraries/Utilities/Platform.js +1 -1
  334. package/Libraries/Utilities/Platform.js.flow +2 -2
  335. package/Libraries/Utilities/Platform.win32.js +2 -5
  336. package/Libraries/Utilities/PlatformTypes.js +2 -2
  337. package/Libraries/Utilities/RCTLog.js +1 -1
  338. package/Libraries/Utilities/SceneTracker.js +1 -1
  339. package/Libraries/Utilities/binaryToBase64.js +1 -1
  340. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  341. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  342. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  343. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  344. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  345. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  346. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  347. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  348. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  349. package/Libraries/Utilities/logError.js +1 -1
  350. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  351. package/Libraries/Utilities/stringifySafe.js +1 -1
  352. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  353. package/Libraries/Utilities/useColorScheme.js +1 -1
  354. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  355. package/Libraries/Utilities/warnOnce.js +1 -1
  356. package/Libraries/Vibration/NativeVibration.js +1 -0
  357. package/Libraries/Vibration/Vibration.js +1 -2
  358. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  359. package/Libraries/WebSocket/WebSocket.js +1 -1
  360. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  361. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  362. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  363. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  364. package/index.js +22 -2
  365. package/index.win32.js +15 -2
  366. package/interface.js +1 -1
  367. package/jest/MockNativeMethods.js +9 -3
  368. package/jest/RefreshControlMock.js +32 -0
  369. package/jest/assetFileTransformer.js +1 -0
  370. package/jest/local-setup.js +4 -3
  371. package/jest/mock.js +39 -0
  372. package/jest/mockComponent.js +47 -17
  373. package/jest/mockNativeComponent.js +26 -15
  374. package/jest/mocks/AccessibilityInfo.js +62 -0
  375. package/jest/mocks/ActivityIndicator.js +23 -0
  376. package/jest/mocks/AppState.js +19 -0
  377. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  378. package/jest/mocks/Image.js +23 -0
  379. package/jest/mocks/InitializeCore.js +9 -0
  380. package/jest/mocks/Linking.js +28 -0
  381. package/jest/mocks/Modal.js +33 -0
  382. package/jest/mocks/NativeComponentRegistry.js +30 -0
  383. package/jest/mocks/NativeModules.js +239 -0
  384. package/jest/mocks/RefreshControl.js +31 -0
  385. package/jest/mocks/RendererProxy.js +45 -0
  386. package/jest/mocks/ScrollView.js +58 -0
  387. package/jest/mocks/Text.js +27 -0
  388. package/jest/mocks/TextInput.js +32 -0
  389. package/jest/mocks/UIManager.js +60 -0
  390. package/jest/mocks/Vibration.js +16 -0
  391. package/jest/mocks/View.js +27 -0
  392. package/jest/mocks/ViewNativeComponent.js +23 -0
  393. package/jest/mocks/requireNativeComponent.js +22 -0
  394. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  395. package/jest/react-native-env.js +1 -0
  396. package/jest/renderer.js +1 -2
  397. package/jest/resolver.js +1 -0
  398. package/jest/setup.js +64 -445
  399. package/overrides.json +49 -42
  400. package/package.json +18 -18
  401. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  402. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  403. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  404. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  405. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  406. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  407. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  408. package/src/private/components/virtualview/VirtualView.js +145 -0
  409. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  410. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  411. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  412. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  413. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  414. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  415. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  416. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  417. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  418. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  419. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  420. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  421. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  422. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  423. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  424. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  425. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  426. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  427. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  428. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  429. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  430. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  431. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  432. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  433. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  434. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  435. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  436. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  437. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  438. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  439. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  440. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  441. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  442. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  443. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  444. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  445. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  446. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  447. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  448. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  449. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  450. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  451. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  452. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  453. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  454. package/src/private/styles/composeStyles.js +5 -12
  455. package/src/private/types/HostInstance.js +1 -1
  456. package/src/private/webapis/dom/events/Event.js +3 -0
  457. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  458. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  459. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  460. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  461. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  462. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  463. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  464. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  465. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  466. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  467. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  468. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  469. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  470. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  471. package/src/private/webapis/errors/DOMException.js +166 -0
  472. package/src/private/webapis/geometry/DOMRect.js +5 -0
  473. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  474. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  475. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  476. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  477. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  478. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  479. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  480. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  481. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  482. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  483. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  484. package/src/private/webapis/performance/EventTiming.js +1 -1
  485. package/src/private/webapis/performance/LongTasks.js +1 -1
  486. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  487. package/src/private/webapis/performance/Performance.js +20 -9
  488. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  489. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  490. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  491. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  492. package/src/private/webapis/performance/UserTiming.js +1 -1
  493. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  494. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  495. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  496. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  497. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  498. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  499. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  500. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  501. package/src-win/Libraries/Text/Text.d.ts +7 -0
  502. package/types/modules/Devtools.d.ts +23 -9
  503. package/Libraries/BugReporting/BugReporting.js +0 -140
  504. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  505. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  506. package/Libraries/BugReporting/getReactData.js +0 -187
  507. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  508. package/flow/HermesInternalType.js +0 -114
  509. package/flow/console.js +0 -49
  510. package/flow/global.js +0 -88
  511. package/jest/mockModal.js +0 -32
  512. package/jest/mockScrollView.js +0 -35
  513. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -11,14 +11,14 @@
11
11
  import type {
12
12
  ElementRectangle,
13
13
  TraceUpdate,
14
- } from './DebuggingOverlayNativeComponent';
14
+ } from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
15
15
 
16
+ import DebuggingOverlayNativeComponent, {
17
+ Commands,
18
+ } from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
16
19
  import View from '../Components/View/View';
17
20
  import UIManager from '../ReactNative/UIManager';
18
21
  import StyleSheet from '../StyleSheet/StyleSheet';
19
- import DebuggingOverlayNativeComponent, {
20
- Commands,
21
- } from './DebuggingOverlayNativeComponent';
22
22
  import * as React from 'react';
23
23
 
24
24
  const {useRef, useImperativeHandle} = React;
@@ -26,15 +26,16 @@ const isNativeComponentReady =
26
26
  UIManager.hasViewManagerConfig('DebuggingOverlay');
27
27
 
28
28
  type DebuggingOverlayHandle = {
29
- highlightTraceUpdates(updates: TraceUpdate[]): void,
30
- highlightElements(elements: ElementRectangle[]): void,
29
+ highlightTraceUpdates(updates: $ReadOnlyArray<TraceUpdate>): void,
30
+ highlightElements(elements: $ReadOnlyArray<ElementRectangle>): void,
31
31
  clearElementsHighlight(): void,
32
32
  };
33
33
 
34
- function DebuggingOverlay(
35
- _props: {},
34
+ function DebuggingOverlay({
35
+ ref,
36
+ }: {
36
37
  ref: React.RefSetter<DebuggingOverlayHandle>,
37
- ): React.Node {
38
+ }): React.Node {
38
39
  useImperativeHandle(
39
40
  ref,
40
41
  () => ({
@@ -102,9 +103,6 @@ const styles = StyleSheet.create({
102
103
  },
103
104
  });
104
105
 
105
- const DebuggingOverlayWithForwardedRef: component(
106
+ export default DebuggingOverlay as component(
106
107
  ref: React.RefSetter<DebuggingOverlayHandle>,
107
- ...props: {}
108
- ) = React.forwardRef(DebuggingOverlay);
109
-
110
- export default DebuggingOverlayWithForwardedRef;
108
+ );
@@ -4,10 +4,11 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
12
12
  import DebuggingOverlayNativeComponent from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
13
+
13
14
  export default DebuggingOverlayNativeComponent;
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  import type {HostInstance} from '../../src/private/types/HostInstance';
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @oncall react_native
10
9
  */
11
10
 
12
11
  import type {
@@ -32,7 +32,7 @@ export type {EventSubscription, EmitterSubscription};
32
32
  export type NativeEventSubscription = EventSubscription;
33
33
 
34
34
  // $FlowFixMe[unclear-type] unclear type of events
35
- type UnsafeObject = Object;
35
+ type UnsafeNativeEventObject = Object;
36
36
 
37
37
  /**
38
38
  * `NativeEventEmitter` is intended for use by Native Modules to emit events to
@@ -46,8 +46,8 @@ type UnsafeObject = Object;
46
46
  */
47
47
  export default class NativeEventEmitter<
48
48
  TEventToArgsMap: $ReadOnly<
49
- Record<string, $ReadOnlyArray<UnsafeObject>>,
50
- > = $ReadOnly<Record<string, $ReadOnlyArray<UnsafeObject>>>,
49
+ Record<string, $ReadOnlyArray<UnsafeNativeEventObject>>,
50
+ > = $ReadOnly<Record<string, $ReadOnlyArray<UnsafeNativeEventObject>>>,
51
51
  > implements IEventEmitter<TEventToArgsMap>
52
52
  {
53
53
  _nativeModule: ?NativeModule;
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import RCTDeviceEventEmitter from './RCTDeviceEventEmitter';
@@ -8,13 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- 'use strict';
12
-
13
- import type {PackagerAsset} from '@react-native/assets-registry/registry';
14
-
15
- const AssetRegistry = require('@react-native/assets-registry/registry') as {
16
- registerAsset: (asset: PackagerAsset) => number,
17
- getAssetByID: (assetId: number) => PackagerAsset,
18
- };
19
-
20
- module.exports = AssetRegistry;
11
+ export {
12
+ registerAsset,
13
+ getAssetByID,
14
+ } from '@react-native/assets-registry/registry';
@@ -8,13 +8,15 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {HostInstance} from '../../src/private/types/HostInstance';
11
12
  import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
12
13
  import type {RootTag} from '../Types/RootTagTypes';
14
+ import type {ImageProps} from './ImageProps';
13
15
  import type {AbstractImageAndroid, ImageAndroid} from './ImageTypes.flow';
14
16
 
15
17
  import flattenStyle from '../StyleSheet/flattenStyle';
16
18
  import StyleSheet from '../StyleSheet/StyleSheet';
17
- import TextAncestor from '../Text/TextAncestor';
19
+ import TextAncestorContext from '../Text/TextAncestorContext';
18
20
  import ImageAnalyticsTagContext from './ImageAnalyticsTagContext';
19
21
  import {
20
22
  unstable_getImageComponentDecorator,
@@ -126,125 +128,129 @@ async function queryCache(
126
128
  *
127
129
  * See https://reactnative.dev/docs/image
128
130
  */
129
- let BaseImage: AbstractImageAndroid = React.forwardRef(
130
- (props, forwardedRef) => {
131
- let source = getImageSourcesFromImageProps(props) || {
132
- uri: undefined,
133
- width: undefined,
134
- height: undefined,
135
- };
136
- const defaultSource = resolveAssetSource(props.defaultSource);
137
- const loadingIndicatorSource = resolveAssetSource(
138
- props.loadingIndicatorSource,
139
- );
131
+ let BaseImage: AbstractImageAndroid = ({
132
+ ref: forwardedRef,
133
+ ...props
134
+ }: {
135
+ ref?: React.RefSetter<HostInstance>,
136
+ ...ImageProps,
137
+ }) => {
138
+ let source = getImageSourcesFromImageProps(props) || {
139
+ uri: undefined,
140
+ width: undefined,
141
+ height: undefined,
142
+ };
143
+ const defaultSource = resolveAssetSource(props.defaultSource);
144
+ const loadingIndicatorSource = resolveAssetSource(
145
+ props.loadingIndicatorSource,
146
+ );
140
147
 
141
- if (props.children != null) {
142
- throw new Error(
143
- 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
144
- );
145
- }
148
+ if (props.children != null) {
149
+ throw new Error(
150
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
151
+ );
152
+ }
146
153
 
147
- if (props.defaultSource != null && props.loadingIndicatorSource != null) {
148
- throw new Error(
149
- 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
150
- );
151
- }
154
+ if (props.defaultSource != null && props.loadingIndicatorSource != null) {
155
+ throw new Error(
156
+ 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
157
+ );
158
+ }
152
159
 
153
- let style: ImageStyleProp;
154
- let sources;
155
- if (Array.isArray(source)) {
156
- style = [styles.base, props.style];
157
- sources = source;
158
- } else {
159
- const {uri} = source;
160
- if (uri === '') {
161
- console.warn('source.uri should not be an empty string');
162
- }
163
- const width = source.width ?? props.width;
164
- const height = source.height ?? props.height;
165
- style = [{width, height}, styles.base, props.style];
166
- sources = [source];
160
+ let style: ImageStyleProp;
161
+ let sources;
162
+ if (Array.isArray(source)) {
163
+ style = [styles.base, props.style];
164
+ sources = source;
165
+ } else {
166
+ const {uri} = source;
167
+ if (uri === '') {
168
+ console.warn('source.uri should not be an empty string');
167
169
  }
170
+ const width = source.width ?? props.width;
171
+ const height = source.height ?? props.height;
172
+ style = [{width, height}, styles.base, props.style];
173
+ sources = [source];
174
+ }
168
175
 
169
- const {onLoadStart, onLoad, onLoadEnd, onError} = props;
170
- const nativeProps = {
171
- ...props,
172
- style,
173
- shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
174
- // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
175
- // (for historical reasons). So in the latter case we populate both "src" and "source",
176
- // in order to have a better alignment between platforms in the future.
177
- src: sources,
178
- source: sources,
179
- /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
180
- * when making Flow check .android.js files. */
181
- headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
182
- defaultSource: defaultSource ? defaultSource.uri : null,
183
- loadingIndicatorSrc: loadingIndicatorSource
184
- ? loadingIndicatorSource.uri
185
- : null,
186
- accessibilityLabel:
187
- props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
188
- accessibilityLabelledBy:
189
- props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
190
- accessible: props.alt !== undefined ? true : props.accessible,
191
- accessibilityState: {
192
- busy: props['aria-busy'] ?? props.accessibilityState?.busy,
193
- checked: props['aria-checked'] ?? props.accessibilityState?.checked,
194
- disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
195
- expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
196
- selected: props['aria-selected'] ?? props.accessibilityState?.selected,
197
- },
198
- };
199
-
200
- const flattenedStyle = flattenStyle<ImageStyleProp>(style);
201
- const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
202
- const resizeMode =
203
- objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
176
+ const {onLoadStart, onLoad, onLoadEnd, onError} = props;
177
+ const nativeProps = {
178
+ ...props,
179
+ style,
180
+ shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
181
+ // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
182
+ // (for historical reasons). So in the latter case we populate both "src" and "source",
183
+ // in order to have a better alignment between platforms in the future.
184
+ src: sources,
185
+ source: sources,
186
+ /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
187
+ * when making Flow check .android.js files. */
188
+ headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
189
+ defaultSource: defaultSource ? defaultSource.uri : null,
190
+ loadingIndicatorSrc: loadingIndicatorSource
191
+ ? loadingIndicatorSource.uri
192
+ : null,
193
+ accessibilityLabel:
194
+ props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
195
+ accessibilityLabelledBy:
196
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
197
+ accessible: props.alt !== undefined ? true : props.accessible,
198
+ accessibilityState: {
199
+ busy: props['aria-busy'] ?? props.accessibilityState?.busy,
200
+ checked: props['aria-checked'] ?? props.accessibilityState?.checked,
201
+ disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
202
+ expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
203
+ selected: props['aria-selected'] ?? props.accessibilityState?.selected,
204
+ },
205
+ };
204
206
 
205
- const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
207
+ const flattenedStyle = flattenStyle<ImageStyleProp>(style);
208
+ const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
209
+ const resizeMode =
210
+ objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
206
211
 
207
- return (
208
- <ImageAnalyticsTagContext.Consumer>
209
- {analyticTag => {
210
- const nativePropsWithAnalytics =
211
- analyticTag !== null
212
- ? {
213
- ...nativeProps,
214
- internal_analyticTag: analyticTag,
215
- }
216
- : nativeProps;
217
- return (
218
- <TextAncestor.Consumer>
219
- {hasTextAncestor => {
220
- if (hasTextAncestor) {
221
- return (
222
- <TextInlineImageNativeComponent
223
- // $FlowFixMe[incompatible-type]
224
- style={style}
225
- resizeMode={resizeMode}
226
- headers={nativeProps.headers}
227
- src={sources}
228
- ref={actualRef}
229
- />
230
- );
231
- }
212
+ const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
232
213
 
214
+ return (
215
+ <ImageAnalyticsTagContext.Consumer>
216
+ {analyticTag => {
217
+ const nativePropsWithAnalytics =
218
+ analyticTag !== null
219
+ ? {
220
+ ...nativeProps,
221
+ internal_analyticTag: analyticTag,
222
+ }
223
+ : nativeProps;
224
+ return (
225
+ <TextAncestorContext.Consumer>
226
+ {hasTextAncestor => {
227
+ if (hasTextAncestor) {
233
228
  return (
234
- <ImageViewNativeComponent
235
- {...nativePropsWithAnalytics}
229
+ <TextInlineImageNativeComponent
230
+ // $FlowFixMe[incompatible-type]
231
+ style={style}
236
232
  resizeMode={resizeMode}
233
+ headers={nativeProps.headers}
234
+ src={sources}
237
235
  ref={actualRef}
238
236
  />
239
237
  );
240
- }}
241
- </TextAncestor.Consumer>
242
- );
243
- }}
244
- </ImageAnalyticsTagContext.Consumer>
245
- );
246
- },
247
- );
238
+ }
239
+
240
+ return (
241
+ <ImageViewNativeComponent
242
+ {...nativePropsWithAnalytics}
243
+ resizeMode={resizeMode}
244
+ ref={actualRef}
245
+ />
246
+ );
247
+ }}
248
+ </TextAncestorContext.Consumer>
249
+ );
250
+ }}
251
+ </ImageAnalyticsTagContext.Consumer>
252
+ );
253
+ };
248
254
 
249
255
  const imageComponentDecorator = unstable_getImageComponentDecorator();
250
256
  if (imageComponentDecorator != null) {
@@ -8,8 +8,10 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {HostInstance} from '../../src/private/types/HostInstance';
11
12
  import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
12
13
  import type {RootTag} from '../Types/RootTagTypes';
14
+ import type {ImageProps} from './ImageProps';
13
15
  import type {AbstractImageIOS, ImageIOS} from './ImageTypes.flow';
14
16
  import type {ImageSize} from './NativeImageLoaderAndroid';
15
17
 
@@ -105,7 +107,13 @@ async function queryCache(
105
107
  *
106
108
  * See https://reactnative.dev/docs/image
107
109
  */
108
- let BaseImage: AbstractImageIOS = React.forwardRef((props, forwardedRef) => {
110
+ let BaseImage: AbstractImageIOS = ({
111
+ ref: forwardedRef,
112
+ ...props
113
+ }: {
114
+ ref?: React.RefSetter<HostInstance>,
115
+ ...ImageProps,
116
+ }) => {
109
117
  const source = getImageSourcesFromImageProps(props) || {
110
118
  uri: undefined,
111
119
  width: undefined,
@@ -180,7 +188,7 @@ let BaseImage: AbstractImageIOS = React.forwardRef((props, forwardedRef) => {
180
188
  }}
181
189
  </ImageAnalyticsTagContext.Consumer>
182
190
  );
183
- });
191
+ };
184
192
 
185
193
  const imageComponentDecorator = unstable_getImageComponentDecorator();
186
194
  if (imageComponentDecorator != null) {
@@ -8,12 +8,14 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {HostInstance} from '../../src/private/types/HostInstance';
12
+ import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
11
13
  import type {RootTag} from '../Types/RootTagTypes';
14
+ import type {ImageProps} from './ImageProps';
12
15
  import type {AbstractImageIOS, ImageIOS} from './ImageTypes.flow';
13
16
  import TextAncestor from '../Text/TextAncestor'; // [Windows]
14
17
  import invariant from 'invariant'; // [Windows]
15
18
 
16
- import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
17
19
  import NativeImageLoaderWin32 from './NativeImageLoaderWin32'; // [Win32] Replace iOS
18
20
 
19
21
  import {createRootTag} from '../ReactNative/RootTag';
@@ -122,7 +124,13 @@ async function queryCache(
122
124
  *
123
125
  * See https://reactnative.dev/docs/image
124
126
  */
125
- let BaseImage: AbstractImageIOS = React.forwardRef((props, forwardedRef) => {
127
+ let BaseImage: AbstractImageIOS = ({
128
+ ref: forwardedRef,
129
+ ...props
130
+ }: {
131
+ ref?: React.RefSetter<HostInstance>,
132
+ ...ImageProps,
133
+ }) => {
126
134
  const source = getImageSourcesFromImageProps(props) || {
127
135
  uri: undefined,
128
136
  width: undefined,
@@ -215,7 +223,7 @@ let BaseImage: AbstractImageIOS = React.forwardRef((props, forwardedRef) => {
215
223
  }}
216
224
  </TextAncestor.Consumer>
217
225
  );
218
- });
226
+ };
219
227
 
220
228
  const imageComponentDecorator = unstable_getImageComponentDecorator();
221
229
  if (imageComponentDecorator != null) {
@@ -9,11 +9,11 @@
9
9
  */
10
10
 
11
11
  import * as React from 'react';
12
+ import {createContext} from 'react';
12
13
 
13
14
  type ContextType = ?string;
14
15
 
15
- const Context: React.Context<ContextType> =
16
- React.createContext<ContextType>(null);
16
+ const Context: React.Context<ContextType> = createContext<ContextType>(null);
17
17
 
18
18
  if (__DEV__) {
19
19
  Context.displayName = 'ImageAnalyticsTagContext';
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import type {
@@ -72,3 +72,8 @@ export interface ImageURISource {
72
72
  }
73
73
 
74
74
  export type ImageRequireSource = number;
75
+
76
+ export type ImageSource =
77
+ | ImageRequireSource
78
+ | ImageURISource
79
+ | ReadonlyArray<ImageURISource>;
@@ -26,7 +26,7 @@ import {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIg
26
26
  import codegenNativeCommands from '../Utilities/codegenNativeCommands';
27
27
  import Platform from '../Utilities/Platform';
28
28
 
29
- type Props = $ReadOnly<{
29
+ type ImageHostComponentProps = $ReadOnly<{
30
30
  ...ImageProps,
31
31
  ...ViewProps,
32
32
 
@@ -162,8 +162,8 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
162
162
  },
163
163
  };
164
164
 
165
- const ImageViewNativeComponent: HostComponent<Props> =
166
- NativeComponentRegistry.get<Props>(
165
+ const ImageViewNativeComponent: HostComponent<ImageHostComponentProps> =
166
+ NativeComponentRegistry.get<ImageHostComponentProps>(
167
167
  'RCTImageView',
168
168
  () => __INTERNAL_VIEW_CONFIG,
169
169
  );
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageEditor';
12
12
  import NativeImageEditor from '../../src/private/specs_DEPRECATED/modules/NativeImageEditor';
13
+
13
14
  export default NativeImageEditor;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid';
12
12
  import NativeImageLoaderAndroid from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid';
13
+
13
14
  export default NativeImageLoaderAndroid;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS';
12
12
  import NativeImageLoaderIOS from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS';
13
+
13
14
  export default NativeImageLoaderIOS;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderWin32';
12
12
  import NativeImageLoaderWin32 from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderWin32';
13
+
13
14
  export default NativeImageLoaderWin32;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid';
12
12
  import NativeImageStoreAndroid from '../../src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid';
13
+
13
14
  export default NativeImageStoreAndroid;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeImageStoreIOS';
12
12
  import NativeImageStoreIOS from '../../src/private/specs_DEPRECATED/modules/NativeImageStoreIOS';
13
+
13
14
  export default NativeImageStoreIOS;
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -27,4 +27,5 @@ const RelativeImageStub = (AssetRegistry.registerAsset({
27
27
  type: 'png',
28
28
  }): number);
29
29
 
30
+ // eslint-disable-next-line @react-native/monorepo/no-commonjs-exports
30
31
  module.exports = RelativeImageStub;
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -18,7 +18,7 @@ import type {ImageResizeMode} from './ImageResizeMode';
18
18
 
19
19
  import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
20
20
 
21
- type NativeProps = $ReadOnly<{
21
+ type RCTTextInlineImageNativeProps = $ReadOnly<{
22
22
  ...ViewProps,
23
23
  resizeMode?: ?ImageResizeMode,
24
24
  src?: ?$ReadOnlyArray<?$ReadOnly<{uri?: ?string, ...}>>,
@@ -40,8 +40,8 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
40
40
  },
41
41
  };
42
42
 
43
- const TextInlineImage: HostComponent<NativeProps> =
44
- NativeComponentRegistry.get<NativeProps>(
43
+ const TextInlineImage: HostComponent<RCTTextInlineImageNativeProps> =
44
+ NativeComponentRegistry.get<RCTTextInlineImageNativeProps>(
45
45
  'RCTTextInlineImage',
46
46
  () => __INTERNAL_VIEW_CONFIG,
47
47
  );
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // Utilities for resolving an asset into a `source` for e.g. `Image`
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import NativeFrameRateLogger from './NativeFrameRateLogger';