@office-iss/react-native-win32 0.71.4 → 0.72.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 (323) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +310 -40
  3. package/CHANGELOG.md +145 -23
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  73. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  75. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  76. package/Libraries/Components/View/View.js +71 -45
  77. package/Libraries/Components/View/View.win32.js +38 -16
  78. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  79. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  80. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  81. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  82. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  83. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  86. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  87. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  88. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  89. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  90. package/Libraries/Core/ExceptionsManager.js +2 -2
  91. package/Libraries/Core/InitializeCore.js +2 -1
  92. package/Libraries/Core/ReactNativeVersion.js +3 -3
  93. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  94. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
  95. package/Libraries/Core/Timers/JSTimers.js +1 -1
  96. package/Libraries/Core/Timers/immediateShim.js +1 -0
  97. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  98. package/Libraries/Core/setUpAlert.js +1 -1
  99. package/Libraries/Core/setUpDOM.js +18 -0
  100. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  101. package/Libraries/Core/setUpGlobals.js +5 -2
  102. package/Libraries/Core/setUpNavigator.js +6 -5
  103. package/Libraries/Core/setUpPerformance.js +23 -13
  104. package/Libraries/Core/setUpReactDevTools.js +2 -0
  105. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  106. package/Libraries/Core/setUpTimers.js +2 -2
  107. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  108. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  109. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  110. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  111. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  112. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  113. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  114. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  115. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  116. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  117. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  120. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  121. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  122. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  123. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  124. package/Libraries/Events/EventPolyfill.js +1 -1
  125. package/Libraries/Image/AssetRegistry.js +1 -1
  126. package/Libraries/Image/AssetSourceResolver.js +3 -3
  127. package/Libraries/Image/Image.android.js +4 -1
  128. package/Libraries/Image/Image.d.ts +63 -2
  129. package/Libraries/Image/Image.ios.js +3 -0
  130. package/Libraries/Image/Image.win32.js +3 -0
  131. package/Libraries/Image/ImageBackground.js +1 -0
  132. package/Libraries/Image/ImageProps.js +1 -1
  133. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  134. package/Libraries/Image/RelativeImageStub.js +1 -1
  135. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  136. package/Libraries/Image/resolveAssetSource.js +1 -1
  137. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  138. package/Libraries/Inspector/ElementBox.js +4 -1
  139. package/Libraries/Inspector/Inspector.js +5 -6
  140. package/Libraries/Inspector/Inspector.win32.js +7 -6
  141. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  142. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  143. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  144. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  145. package/Libraries/Interaction/PanResponder.js +5 -6
  146. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  147. package/Libraries/Linking/Linking.js +1 -4
  148. package/Libraries/Lists/FillRateHelper.js +4 -238
  149. package/Libraries/Lists/FlatList.d.ts +15 -22
  150. package/Libraries/Lists/FlatList.js +9 -6
  151. package/Libraries/Lists/SectionList.d.ts +10 -6
  152. package/Libraries/Lists/SectionList.js +5 -3
  153. package/Libraries/Lists/SectionListModern.js +3 -3
  154. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  155. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  156. package/Libraries/Lists/VirtualizedList.js +10 -1867
  157. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  158. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  159. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  160. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  161. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  162. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  163. package/Libraries/LogBox/LogBox.js +1 -1
  164. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  165. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  166. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  167. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  170. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  171. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  172. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  173. package/Libraries/Modal/Modal.js +2 -2
  174. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  175. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  176. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  177. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  178. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  179. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  180. package/Libraries/Network/RCTNetworking.android.js +2 -2
  181. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  182. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  183. package/Libraries/Network/XMLHttpRequest.js +1 -1
  184. package/Libraries/Pressability/Pressability.js +11 -5
  185. package/Libraries/Pressability/Pressability.win32.js +9 -3
  186. package/Libraries/ReactNative/AppContainer.js +7 -1
  187. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  188. package/Libraries/ReactNative/AppRegistry.js +10 -13
  189. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  190. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  191. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  192. package/Libraries/ReactNative/UIManager.js +142 -1
  193. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  194. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  195. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  196. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  197. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  198. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  199. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  200. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  201. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  202. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  203. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  204. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  205. package/Libraries/Share/Share.js +1 -1
  206. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  207. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  208. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  210. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  211. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  212. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  213. package/Libraries/StyleSheet/processColor.js +1 -1
  214. package/Libraries/Text/Text.d.ts +12 -2
  215. package/Libraries/Text/Text.js +50 -41
  216. package/Libraries/Text/TextProps.js +3 -4
  217. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  218. package/Libraries/Types/CodegenTypes.js +1 -0
  219. package/Libraries/UTFSequence.js +3 -1
  220. package/Libraries/Utilities/Appearance.d.ts +10 -0
  221. package/Libraries/Utilities/Appearance.js +13 -0
  222. package/Libraries/Utilities/Dimensions.js +1 -1
  223. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  224. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  225. package/Libraries/Utilities/HMRClient.js +16 -10
  226. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  227. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  228. package/Libraries/Utilities/LoadingView.android.js +28 -11
  229. package/Libraries/Utilities/NativeAppearance.js +1 -0
  230. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  231. package/Libraries/Utilities/PixelRatio.js +2 -2
  232. package/Libraries/Utilities/Platform.win32.js +1 -1
  233. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  234. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  235. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  236. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  237. package/Libraries/Utilities/stringifySafe.js +2 -7
  238. package/Libraries/Utilities/useColorScheme.js +1 -1
  239. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  240. package/Libraries/WebPerformance/EventCounts.js +78 -0
  241. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  242. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  243. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  244. package/Libraries/WebPerformance/Performance.js +312 -0
  245. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  246. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  247. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  248. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  249. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  250. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  251. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  252. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  253. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  254. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  255. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  256. package/flow/global.js +29 -4
  257. package/flow/jest.js +258 -164
  258. package/index.js +56 -42
  259. package/index.win32.js +56 -42
  260. package/interface.js +1 -1
  261. package/jest/local-setup.js +33 -0
  262. package/jest/mockComponent.js +4 -2
  263. package/jest/mockNativeComponent.js +1 -1
  264. package/jest/mockScrollView.js +2 -1
  265. package/jest/react-native-env.js +1 -3
  266. package/jest/setup.js +11 -8
  267. package/overrides.json +115 -85
  268. package/package.json +38 -28
  269. package/rn-get-polyfills.js +1 -1
  270. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  271. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  272. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  273. package/types/index.d.ts +2 -6
  274. package/types/modules/Codegen.d.ts +4 -4
  275. package/types/modules/globals.d.ts +27 -25
  276. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  277. package/types/public/ReactNativeRenderer.d.ts +2 -7
  278. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  279. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  280. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  281. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  282. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  283. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  284. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  285. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  286. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  287. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  288. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  289. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  290. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  291. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  292. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  293. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  294. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  295. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  296. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  297. package/Libraries/Components/Slider/Slider.js +0 -282
  298. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  299. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  300. package/Libraries/Interaction/Batchinator.js +0 -76
  301. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  302. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  303. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  304. package/Libraries/Lists/CellRenderMask.js +0 -155
  305. package/Libraries/Lists/ChildListCollection.js +0 -72
  306. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  307. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  308. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  309. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  310. package/Libraries/Performance/PureComponentDebug.js +0 -74
  311. package/Libraries/Reliability/UserFlow.js +0 -158
  312. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  313. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  314. package/Libraries/Utilities/MatrixMath.js +0 -748
  315. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  316. package/Libraries/Utilities/clamp.js +0 -23
  317. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  318. package/Libraries/Utilities/groupByEveryN.js +0 -51
  319. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  320. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  321. package/Libraries/Utilities/truncate.js +0 -51
  322. package/flow/JSITimerInternalType.js +0 -30
  323. package/flow/use-sync-external-store.js +0 -19
@@ -0,0 +1,76 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type DOMRectReadOnly from '../Geometry/DOMRectReadOnly';
14
+ import type {ArrayLike} from './ArrayLikeUtils';
15
+
16
+ import {createValueIterator} from './ArrayLikeUtils';
17
+
18
+ // IMPORTANT: The Flow type definition for this module is defined in `DOMRectList.js.flow`
19
+ // because Flow only supports indexers in classes in declaration files.
20
+
21
+ // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.
22
+ export default class DOMRectList implements Iterable<DOMRectReadOnly> {
23
+ _length: number;
24
+
25
+ /**
26
+ * Use `createDOMRectList` to create instances of this class.
27
+ *
28
+ * @private This is not defined in the declaration file, so users will not see
29
+ * the signature of the constructor.
30
+ */
31
+ constructor(elements: $ReadOnlyArray<DOMRectReadOnly>) {
32
+ for (let i = 0; i < elements.length; i++) {
33
+ Object.defineProperty(this, i, {
34
+ value: elements[i],
35
+ enumerable: true,
36
+ configurable: false,
37
+ writable: false,
38
+ });
39
+ }
40
+
41
+ this._length = elements.length;
42
+ }
43
+
44
+ get length(): number {
45
+ return this._length;
46
+ }
47
+
48
+ item(index: number): DOMRectReadOnly | null {
49
+ if (index < 0 || index >= this._length) {
50
+ return null;
51
+ }
52
+
53
+ // assigning to the interface allows us to access the indexer property in a
54
+ // type-safe way.
55
+ // eslint-disable-next-line consistent-this
56
+ const arrayLike: ArrayLike<DOMRectReadOnly> = this;
57
+ return arrayLike[index];
58
+ }
59
+
60
+ // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
61
+ [Symbol.iterator](): Iterator<DOMRectReadOnly> {
62
+ return createValueIterator(this);
63
+ }
64
+ }
65
+
66
+ /**
67
+ * This is an internal method to create instances of `DOMRectList`,
68
+ * which avoids leaking its constructor to end users.
69
+ * We can do that because the external definition of `DOMRectList` lives in
70
+ * `DOMRectList.js.flow`, not here.
71
+ */
72
+ export function createDOMRectList(
73
+ elements: $ReadOnlyArray<DOMRectReadOnly>,
74
+ ): DOMRectList {
75
+ return new DOMRectList(elements);
76
+ }
@@ -0,0 +1,82 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {ArrayLike} from './ArrayLikeUtils';
14
+
15
+ import {createValueIterator} from './ArrayLikeUtils';
16
+
17
+ // IMPORTANT: The type definition for this module is defined in `HTMLCollection.js.flow`
18
+ // because Flow only supports indexers in classes in declaration files.
19
+
20
+ // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
21
+ export default class HTMLCollection<T> implements Iterable<T>, ArrayLike<T> {
22
+ _length: number;
23
+
24
+ /**
25
+ * Use `createHTMLCollection` to create instances of this class.
26
+ *
27
+ * @private This is not defined in the declaration file, so users will not see
28
+ * the signature of the constructor.
29
+ */
30
+ constructor(elements: $ReadOnlyArray<T>) {
31
+ for (let i = 0; i < elements.length; i++) {
32
+ Object.defineProperty(this, i, {
33
+ value: elements[i],
34
+ enumerable: true,
35
+ configurable: false,
36
+ writable: false,
37
+ });
38
+ }
39
+
40
+ this._length = elements.length;
41
+ }
42
+
43
+ get length(): number {
44
+ return this._length;
45
+ }
46
+
47
+ item(index: number): T | null {
48
+ if (index < 0 || index >= this._length) {
49
+ return null;
50
+ }
51
+
52
+ // assigning to the interface allows us to access the indexer property in a
53
+ // type-safe way.
54
+ // eslint-disable-next-line consistent-this
55
+ const arrayLike: ArrayLike<T> = this;
56
+ return arrayLike[index];
57
+ }
58
+
59
+ /**
60
+ * @deprecated Unused in React Native.
61
+ */
62
+ namedItem(name: string): T | null {
63
+ return null;
64
+ }
65
+
66
+ // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
67
+ [Symbol.iterator](): Iterator<T> {
68
+ return createValueIterator(this);
69
+ }
70
+ }
71
+
72
+ /**
73
+ * This is an internal method to create instances of `HTMLCollection`,
74
+ * which avoids leaking its constructor to end users.
75
+ * We can do that because the external definition of `HTMLCollection` lives in
76
+ * `HTMLCollection.js.flow`, not here.
77
+ */
78
+ export function createHTMLCollection<T>(
79
+ elements: $ReadOnlyArray<T>,
80
+ ): HTMLCollection<T> {
81
+ return new HTMLCollection(elements);
82
+ }
@@ -0,0 +1,104 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {ArrayLike} from './ArrayLikeUtils';
14
+
15
+ import {
16
+ createEntriesIterator,
17
+ createKeyIterator,
18
+ createValueIterator,
19
+ } from './ArrayLikeUtils';
20
+
21
+ // IMPORTANT: The Flow type definition for this module is defined in `NodeList.js.flow`
22
+ // because Flow only supports indexers in classes in declaration files.
23
+
24
+ // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
25
+ export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
26
+ _length: number;
27
+
28
+ /**
29
+ * Use `createNodeList` to create instances of this class.
30
+ *
31
+ * @private This is not defined in the declaration file, so users will not see
32
+ * the signature of the constructor.
33
+ */
34
+ constructor(elements: $ReadOnlyArray<T>) {
35
+ for (let i = 0; i < elements.length; i++) {
36
+ Object.defineProperty(this, i, {
37
+ value: elements[i],
38
+ writable: false,
39
+ });
40
+ }
41
+ this._length = elements.length;
42
+ }
43
+
44
+ get length(): number {
45
+ return this._length;
46
+ }
47
+
48
+ item(index: number): T | null {
49
+ if (index < 0 || index >= this._length) {
50
+ return null;
51
+ }
52
+
53
+ // assigning to the interface allows us to access the indexer property in a
54
+ // type-safe way.
55
+ // eslint-disable-next-line consistent-this
56
+ const arrayLike: ArrayLike<T> = this;
57
+ return arrayLike[index];
58
+ }
59
+
60
+ entries(): Iterator<[number, T]> {
61
+ return createEntriesIterator(this);
62
+ }
63
+
64
+ forEach<ThisType>(
65
+ callbackFn: (value: T, index: number, array: NodeList<T>) => mixed,
66
+ thisArg?: ThisType,
67
+ ): void {
68
+ // assigning to the interface allows us to access the indexer property in a
69
+ // type-safe way.
70
+ // eslint-disable-next-line consistent-this
71
+ const arrayLike: ArrayLike<T> = this;
72
+
73
+ for (let index = 0; index < this._length; index++) {
74
+ if (thisArg == null) {
75
+ callbackFn(arrayLike[index], index, this);
76
+ } else {
77
+ callbackFn.call(thisArg, arrayLike[index], index, this);
78
+ }
79
+ }
80
+ }
81
+
82
+ keys(): Iterator<number> {
83
+ return createKeyIterator(this);
84
+ }
85
+
86
+ values(): Iterator<T> {
87
+ return createValueIterator(this);
88
+ }
89
+
90
+ // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
91
+ [Symbol.iterator](): Iterator<T> {
92
+ return createValueIterator(this);
93
+ }
94
+ }
95
+
96
+ /**
97
+ * This is an internal method to create instances of `NodeList`,
98
+ * which avoids leaking its constructor to end users.
99
+ * We can do that because the external definition of `NodeList` lives in
100
+ * `NodeList.js.flow`, not here.
101
+ */
102
+ export function createNodeList<T>(elements: $ReadOnlyArray<T>): NodeList<T> {
103
+ return new NodeList(elements);
104
+ }
@@ -0,0 +1,35 @@
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 DevSettings from '../Utilities/DevSettings';
12
+ import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
13
+
14
+ module.exports = {
15
+ setConsolePatchSettings(newSettings: string) {
16
+ NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
17
+ },
18
+ getConsolePatchSettings(): ?string {
19
+ return NativeDevToolsSettingsManager?.getConsolePatchSettings();
20
+ },
21
+ setProfilingSettings(newSettings: string) {
22
+ if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
23
+ NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
24
+ }
25
+ },
26
+ getProfilingSettings(): ?string {
27
+ if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
28
+ return NativeDevToolsSettingsManager.getProfilingSettings();
29
+ }
30
+ return null;
31
+ },
32
+ reload(): void {
33
+ DevSettings?.reload();
34
+ },
35
+ };
@@ -0,0 +1,20 @@
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
+ export interface DevToolsSettingsManagerStatic {
12
+ reload(): void;
13
+ setConsolePatchSettings(newSettings: string): void;
14
+ getConsolePatchSettings(): string | null;
15
+ setProfilingSettings(newSettings: string): void;
16
+ getProfilingSettings(): string | null;
17
+ }
18
+
19
+ export const DevToolsSettingsManager: DevToolsSettingsManagerStatic;
20
+ export type DevToolsSettingsManager = DevToolsSettingsManagerStatic;
@@ -0,0 +1,49 @@
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 Settings from '../Settings/Settings';
12
+ import DevSettings from '../Utilities/DevSettings';
13
+
14
+ const CONSOLE_PATCH_SETTINGS_KEY = 'ReactDevTools::ConsolePatchSettings';
15
+ const PROFILING_SETTINGS_KEY = 'ReactDevTools::ProfilingSettings';
16
+
17
+ const DevToolsSettingsManager = {
18
+ setConsolePatchSettings(newConsolePatchSettings: string): void {
19
+ Settings.set({
20
+ [CONSOLE_PATCH_SETTINGS_KEY]: newConsolePatchSettings,
21
+ });
22
+ },
23
+ getConsolePatchSettings(): ?string {
24
+ const value = Settings.get(CONSOLE_PATCH_SETTINGS_KEY);
25
+ if (typeof value === 'string') {
26
+ return value;
27
+ }
28
+ return null;
29
+ },
30
+
31
+ setProfilingSettings(newProfilingSettings: string): void {
32
+ Settings.set({
33
+ [PROFILING_SETTINGS_KEY]: newProfilingSettings,
34
+ });
35
+ },
36
+ getProfilingSettings(): ?string {
37
+ const value = Settings.get(PROFILING_SETTINGS_KEY);
38
+ if (typeof value === 'string') {
39
+ return value;
40
+ }
41
+ return null;
42
+ },
43
+
44
+ reload(): void {
45
+ DevSettings?.reload();
46
+ },
47
+ };
48
+
49
+ module.exports = DevToolsSettingsManager;
@@ -0,0 +1,35 @@
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 DevSettings from '../Utilities/DevSettings';
12
+ import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
13
+
14
+ module.exports = {
15
+ setConsolePatchSettings(newSettings: string) {
16
+ NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
17
+ },
18
+ getConsolePatchSettings(): ?string {
19
+ return NativeDevToolsSettingsManager?.getConsolePatchSettings();
20
+ },
21
+ setProfilingSettings(newSettings: string) {
22
+ if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
23
+ NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
24
+ }
25
+ },
26
+ getProfilingSettings(): ?string {
27
+ if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
28
+ return NativeDevToolsSettingsManager.getProfilingSettings();
29
+ }
30
+ return null;
31
+ },
32
+ reload(): void {
33
+ DevSettings?.reload();
34
+ },
35
+ };
@@ -13,7 +13,12 @@ import type {TurboModule} from '../TurboModule/RCTExport';
13
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
14
 
15
15
  export interface Spec extends TurboModule {
16
- +loadBundle: (bundlePath: string) => Promise<void>;
16
+ +setConsolePatchSettings: (newConsolePatchSettings: string) => void;
17
+ +getConsolePatchSettings: () => ?string;
18
+ +setProfilingSettings?: (newProfilingSettings: string) => void;
19
+ +getProfilingSettings?: () => ?string;
17
20
  }
18
21
 
19
- export default (TurboModuleRegistry.get<Spec>('DevSplitBundleLoader'): ?Spec);
22
+ export default (TurboModuleRegistry.get<Spec>(
23
+ 'DevToolsSettingsManager',
24
+ ): ?Spec);
@@ -7,9 +7,8 @@
7
7
  * @format
8
8
  */
9
9
 
10
- import {
10
+ import EventEmitter, {
11
11
  EmitterSubscription,
12
- EventEmitter,
13
12
  } from '../vendor/emitter/EventEmitter';
14
13
 
15
14
  /**
@@ -7,9 +7,8 @@
7
7
  * @format
8
8
  */
9
9
 
10
- import {
10
+ import EventEmitter, {
11
11
  EmitterSubscription,
12
- EventEmitter,
13
12
  EventSubscriptionVendor,
14
13
  } from '../vendor/emitter/EventEmitter';
15
14
 
@@ -21,4 +21,12 @@ type RCTDeviceEventDefinitions = $FlowFixMe;
21
21
  *
22
22
  * NativeModules that emit events should instead subclass `NativeEventEmitter`.
23
23
  */
24
- export default (new EventEmitter(): IEventEmitter<RCTDeviceEventDefinitions>);
24
+ const RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions> =
25
+ new EventEmitter();
26
+
27
+ Object.defineProperty(global, '__rctDeviceEventEmitter', {
28
+ configurable: true,
29
+ value: RCTDeviceEventEmitter,
30
+ });
31
+
32
+ export default (RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions>);
@@ -159,7 +159,7 @@ class EventPolyfill implements IEvent {
159
159
  // data with the other in sync.
160
160
  _syntheticEvent: mixed;
161
161
 
162
- constructor(type: string, eventInitDict?: Event$Init): void {
162
+ constructor(type: string, eventInitDict?: Event$Init) {
163
163
  this.type = type;
164
164
  this.bubbles = !!(eventInitDict?.bubbles || false);
165
165
  this.cancelable = !!(eventInitDict?.cancelable || false);
@@ -10,4 +10,4 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- module.exports = require('@react-native/assets/registry');
13
+ module.exports = require('@react-native/assets-registry/registry');
@@ -18,16 +18,16 @@ export type ResolvedAssetSource = {|
18
18
  +scale: number,
19
19
  |};
20
20
 
21
- import type {PackagerAsset} from '@react-native/assets/registry';
21
+ import type {PackagerAsset} from '@react-native/assets-registry/registry';
22
22
 
23
- const PixelRatio = require('../Utilities/PixelRatio');
23
+ const PixelRatio = require('../Utilities/PixelRatio').default;
24
24
  const Platform = require('../Utilities/Platform');
25
25
  const {pickScale} = require('./AssetUtils');
26
26
  const {
27
27
  getAndroidResourceFolderName,
28
28
  getAndroidResourceIdentifier,
29
29
  getBasePath,
30
- } = require('@react-native/assets/path-support');
30
+ } = require('@react-native/assets-registry/path-support');
31
31
  const invariant = require('invariant');
32
32
 
33
33
  /**
@@ -152,19 +152,22 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
152
152
  let style;
153
153
  let sources;
154
154
  if (Array.isArray(source)) {
155
+ // $FlowFixMe[underconstrained-implicit-instantiation]
155
156
  style = flattenStyle([styles.base, props.style]);
156
157
  sources = source;
157
158
  } else {
159
+ // $FlowFixMe[incompatible-type]
158
160
  const {width = props.width, height = props.height, uri} = source;
161
+ // $FlowFixMe[underconstrained-implicit-instantiation]
159
162
  style = flattenStyle([{width, height}, styles.base, props.style]);
160
163
  sources = [source];
161
-
162
164
  if (uri === '') {
163
165
  console.warn('source.uri should not be an empty string');
164
166
  }
165
167
  }
166
168
 
167
169
  const {height, width, ...restProps} = props;
170
+
168
171
  const {onLoadStart, onLoad, onLoadEnd, onError} = props;
169
172
  const nativeProps = {
170
173
  ...restProps,
@@ -12,7 +12,7 @@ import {Constructor} from '../../types/private/Utilities';
12
12
  import {AccessibilityProps} from '../Components/View/ViewAccessibility';
13
13
  import {Insets} from '../../types/public/Insets';
14
14
  import {NativeMethods} from '../../types/public/ReactNativeTypes';
15
- import {StyleProp} from '../StyleSheet/StyleSheet';
15
+ import {ColorValue, StyleProp} from '../StyleSheet/StyleSheet';
16
16
  import {ImageStyle, ViewStyle} from '../StyleSheet/StyleSheetTypes';
17
17
  import {LayoutChangeEvent, NativeSyntheticEvent} from '../Types/CoreEventTypes';
18
18
  import {ImageResizeMode} from './ImageResizeMode';
@@ -225,6 +225,21 @@ export interface ImagePropsBase
225
225
  */
226
226
  source: ImageSourcePropType;
227
227
 
228
+ /**
229
+ * A string representing the resource identifier for the image. Similar to
230
+ * src from HTML.
231
+ *
232
+ * See https://reactnative.dev/docs/image#src
233
+ */
234
+ src?: string | undefined;
235
+
236
+ /**
237
+ * Similar to srcset from HTML.
238
+ *
239
+ * See https://reactnative.dev/docs/image#srcset
240
+ */
241
+ srcSet?: string | undefined;
242
+
228
243
  /**
229
244
  * similarly to `source`, this property represents the resource used to render
230
245
  * the loading indicator for the image, displayed until image is ready to be
@@ -254,6 +269,52 @@ export interface ImagePropsBase
254
269
  * See https://reactnative.dev/docs/image#alt
255
270
  */
256
271
  alt?: string | undefined;
272
+
273
+ /**
274
+ * Height of the image component.
275
+ *
276
+ * See https://reactnative.dev/docs/image#height
277
+ */
278
+ height?: number | undefined;
279
+
280
+ /**
281
+ * Width of the image component.
282
+ *
283
+ * See https://reactnative.dev/docs/image#width
284
+ */
285
+ width?: number | undefined;
286
+
287
+ /**
288
+ * Adds the CORS related header to the request.
289
+ * Similar to crossorigin from HTML.
290
+ *
291
+ * See https://reactnative.dev/docs/image#crossorigin
292
+ */
293
+ crossOrigin?: 'anonymous' | 'use-credentials' | undefined;
294
+
295
+ /**
296
+ * Changes the color of all the non-transparent pixels to the tintColor.
297
+ *
298
+ * See https://reactnative.dev/docs/image#tintcolor
299
+ */
300
+ tintColor?: ColorValue | undefined;
301
+
302
+ /**
303
+ * A string indicating which referrer to use when fetching the resource.
304
+ * Similar to referrerpolicy from HTML.
305
+ *
306
+ * See https://reactnative.dev/docs/image#referrerpolicy
307
+ */
308
+ referrerPolicy?:
309
+ | 'no-referrer'
310
+ | 'no-referrer-when-downgrade'
311
+ | 'origin'
312
+ | 'origin-when-cross-origin'
313
+ | 'same-origin'
314
+ | 'strict-origin'
315
+ | 'strict-origin-when-cross-origin'
316
+ | 'unsafe-url'
317
+ | undefined;
257
318
  }
258
319
 
259
320
  export interface ImageProps extends ImagePropsBase {
@@ -298,7 +359,7 @@ export class Image extends ImageBase {
298
359
  }
299
360
 
300
361
  export interface ImageBackgroundProps extends ImagePropsBase {
301
- children?: React.ReactNode;
362
+ children?: React.ReactNode | undefined;
302
363
  imageStyle?: StyleProp<ImageStyle> | undefined;
303
364
  style?: StyleProp<ViewStyle> | undefined;
304
365
  imageRef?(image: Image): void;
@@ -114,10 +114,13 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
114
114
  let sources;
115
115
  let style: ImageStyleProp;
116
116
  if (Array.isArray(source)) {
117
+ // $FlowFixMe[underconstrained-implicit-instantiation]
117
118
  style = flattenStyle([styles.base, props.style]) || {};
118
119
  sources = source;
119
120
  } else {
121
+ // $FlowFixMe[incompatible-type]
120
122
  const {width = props.width, height = props.height, uri} = source;
123
+ // $FlowFixMe[underconstrained-implicit-instantiation]
121
124
  style = flattenStyle([{width, height}, styles.base, props.style]) || {};
122
125
  sources = [source];
123
126
 
@@ -137,10 +137,13 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
137
137
  let sources;
138
138
  let style: ImageStyleProp;
139
139
  if (Array.isArray(source)) {
140
+ // $FlowFixMe[underconstrained-implicit-instantiation]
140
141
  style = flattenStyle([styles.base, props.style]) || {};
141
142
  sources = source;
142
143
  } else {
144
+ // $FlowFixMe[incompatible-type]
143
145
  const {width = props.width, height = props.height, uri} = source;
146
+ // $FlowFixMe[underconstrained-implicit-instantiation]
144
147
  style = flattenStyle([{width, height}, styles.base, props.style]) || {};
145
148
  sources = [source];
146
149
 
@@ -76,6 +76,7 @@ class ImageBackground extends React.Component<ImageBackgroundProps> {
76
76
  ...props
77
77
  } = this.props;
78
78
 
79
+ // $FlowFixMe[underconstrained-implicit-instantiation]
79
80
  const flattenedStyle = flattenStyle(style);
80
81
  return (
81
82
  <View
@@ -93,7 +93,7 @@ export type ImageProps = {|
93
93
  'aria-label'?: ?Stringish,
94
94
 
95
95
  /**
96
- * Reperesents the nativeID of the associated label. When the assistive technology focuses on the component with this props.
96
+ * Represents the nativeID of the associated label. When the assistive technology focuses on the component with this props.
97
97
  *
98
98
  * @platform android
99
99
  */