@office-iss/react-native-win32 0.70.2 → 0.71.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 (559) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +2 -0
  3. package/.flowconfig +3 -6
  4. package/CHANGELOG.json +281 -43
  5. package/CHANGELOG.md +105 -24
  6. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  7. package/IntegrationTests/AppEventsTest.js +0 -1
  8. package/IntegrationTests/BUCK +0 -1
  9. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  10. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  11. package/IntegrationTests/IntegrationTestsApp.js +2 -3
  12. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  13. package/IntegrationTests/SyncMethodTest.js +1 -1
  14. package/IntegrationTests/TimersTest.js +4 -4
  15. package/IntegrationTests/WebSocketTest.js +3 -3
  16. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.d.ts +90 -0
  20. package/Libraries/Alert/Alert.js +7 -1
  21. package/Libraries/Alert/Alert.win32.js +1 -0
  22. package/Libraries/Alert/NativeAlertManager.js +2 -0
  23. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  24. package/Libraries/Animated/Animated.d.ts +587 -0
  25. package/Libraries/Animated/Animated.js +13 -11
  26. package/Libraries/Animated/AnimatedEvent.js +12 -17
  27. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  28. package/Libraries/Animated/AnimatedMock.js +11 -13
  29. package/Libraries/Animated/AnimatedWeb.js +2 -2
  30. package/Libraries/Animated/Easing.d.ts +37 -0
  31. package/Libraries/Animated/Easing.js +2 -2
  32. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  33. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  34. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  35. package/Libraries/Animated/SpringConfig.js +2 -7
  36. package/Libraries/Animated/animations/Animation.js +3 -4
  37. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  38. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  39. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  40. package/Libraries/Animated/bezier.js +2 -2
  41. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  42. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  43. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  44. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  45. package/Libraries/Animated/components/AnimatedText.js +5 -6
  46. package/Libraries/Animated/components/AnimatedView.js +5 -6
  47. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  48. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  49. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  50. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  51. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  52. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  54. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  55. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  56. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  57. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  58. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  59. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  60. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  61. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  62. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  63. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  64. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  65. package/Libraries/Animated/useAnimatedProps.js +8 -16
  66. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  67. package/Libraries/Animated/useAnimatedValue.js +25 -0
  68. package/Libraries/AppState/AppState.d.ts +58 -0
  69. package/Libraries/AppState/AppState.js +3 -7
  70. package/Libraries/AppState/NativeAppState.js +1 -0
  71. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  72. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  73. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  74. package/Libraries/Blob/BlobManager.js +5 -3
  75. package/Libraries/Blob/File.js +2 -3
  76. package/Libraries/Blob/FileReader.js +6 -5
  77. package/Libraries/Blob/NativeBlobModule.js +1 -0
  78. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  79. package/Libraries/Blob/URL.js +11 -9
  80. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  81. package/Libraries/BugReporting/getReactData.js +1 -1
  82. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  83. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  84. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  85. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
  86. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  87. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  89. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  90. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  91. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  92. package/Libraries/Components/Button.d.ts +42 -0
  93. package/Libraries/Components/Button.flow.js +265 -0
  94. package/Libraries/Components/Button.js +62 -18
  95. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  96. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  97. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  98. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  99. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  100. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  101. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  102. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
  103. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  104. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  105. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  106. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  107. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  108. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  109. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  110. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  111. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  112. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  113. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  114. package/Libraries/Components/Pressable/Pressable.js +73 -15
  115. package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
  116. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  117. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  118. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  119. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  120. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  121. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  122. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  123. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
  124. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  125. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  126. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  127. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  128. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  129. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  130. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  132. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  133. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  134. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
  135. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  136. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  137. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  138. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  139. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  140. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  141. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  142. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  143. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  144. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  145. package/Libraries/Components/Slider/Slider.js +9 -9
  146. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  147. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  148. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  149. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  150. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  151. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  152. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  153. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  154. package/Libraries/Components/Switch/Switch.js +7 -7
  155. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  156. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  157. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  158. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  159. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  160. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  161. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  162. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  163. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  164. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  165. package/Libraries/Components/TextInput/TextInput.js +344 -38
  166. package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
  167. package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
  168. package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
  169. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  170. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  171. package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
  172. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  173. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  174. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  175. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  176. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  177. package/Libraries/Components/Touchable/Touchable.js +12 -12
  178. package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
  179. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  180. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  181. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  182. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  183. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  184. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  185. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  186. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
  187. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  188. package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
  189. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  190. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  191. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  192. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  193. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  194. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  195. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
  196. package/Libraries/Components/View/View.d.ts +29 -0
  197. package/Libraries/Components/View/View.js +91 -8
  198. package/Libraries/Components/View/View.win32.js +176 -89
  199. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  200. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  201. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  202. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  203. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  204. package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
  205. package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
  206. package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
  207. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  208. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  209. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  210. package/Libraries/Core/ExceptionsManager.js +8 -0
  211. package/Libraries/Core/ExtendedError.js +11 -8
  212. package/Libraries/Core/InitializeCore.js +2 -1
  213. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  214. package/Libraries/Core/RawEventEmitter.js +2 -1
  215. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  216. package/Libraries/Core/ReactNativeVersion.js +2 -2
  217. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  218. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
  219. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  220. package/Libraries/Core/Timers/JSTimers.js +13 -11
  221. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  222. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  223. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  224. package/Libraries/Core/setUpReactDevTools.js +4 -1
  225. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  226. package/Libraries/Core/setUpTimers.js +1 -1
  227. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  228. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  229. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  230. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  231. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  232. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  233. package/Libraries/Events/EventPolyfill.js +1 -1
  234. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  235. package/Libraries/Image/AssetSourceResolver.js +4 -6
  236. package/Libraries/Image/Image.android.js +63 -45
  237. package/Libraries/Image/Image.d.ts +322 -0
  238. package/Libraries/Image/Image.flow.js +64 -0
  239. package/Libraries/Image/Image.ios.js +55 -28
  240. package/Libraries/Image/Image.win32.js +54 -25
  241. package/Libraries/Image/ImageBackground.js +18 -7
  242. package/Libraries/Image/ImageInjection.js +2 -1
  243. package/Libraries/Image/ImageProps.js +88 -5
  244. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  245. package/Libraries/Image/ImageSource.d.ts +76 -0
  246. package/Libraries/Image/ImageSourceUtils.js +80 -0
  247. package/Libraries/Image/ImageUtils.js +21 -0
  248. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  249. package/Libraries/Image/NativeImageEditor.js +1 -0
  250. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  251. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  252. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  253. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  254. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  255. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  256. package/Libraries/Image/nativeImageSource.js +2 -2
  257. package/Libraries/Image/resolveAssetSource.js +5 -5
  258. package/Libraries/Inspector/BorderBox.js +1 -1
  259. package/Libraries/Inspector/BoxInspector.js +3 -4
  260. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  261. package/Libraries/Inspector/ElementBox.js +4 -5
  262. package/Libraries/Inspector/ElementProperties.js +10 -11
  263. package/Libraries/Inspector/Inspector.js +22 -108
  264. package/Libraries/Inspector/Inspector.win32.js +23 -109
  265. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  266. package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
  267. package/Libraries/Inspector/InspectorPanel.js +12 -10
  268. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  269. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  270. package/Libraries/Inspector/StyleInspector.js +2 -2
  271. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  272. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  273. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  274. package/Libraries/Interaction/InteractionManager.js +8 -8
  275. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  276. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  277. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  278. package/Libraries/Interaction/PanResponder.js +4 -3
  279. package/Libraries/JSInspector/JSInspector.js +0 -3
  280. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  281. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  282. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  283. package/Libraries/Linking/Linking.d.ts +61 -0
  284. package/Libraries/Linking/Linking.js +3 -2
  285. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  286. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  287. package/Libraries/Lists/CellRenderMask.js +13 -3
  288. package/Libraries/Lists/ChildListCollection.js +72 -0
  289. package/Libraries/Lists/FillRateHelper.js +28 -17
  290. package/Libraries/Lists/FlatList.d.ts +292 -0
  291. package/Libraries/Lists/FlatList.js +70 -70
  292. package/Libraries/Lists/SectionList.d.ts +300 -0
  293. package/Libraries/Lists/SectionList.js +5 -5
  294. package/Libraries/Lists/SectionListModern.js +6 -6
  295. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  296. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  297. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  298. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  299. package/Libraries/Lists/VirtualizedList.js +548 -890
  300. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  301. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  302. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  303. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  304. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  305. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  306. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  307. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  308. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  309. package/Libraries/LogBox/LogBox.d.ts +28 -0
  310. package/Libraries/LogBox/LogBox.js +11 -11
  311. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  312. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  313. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  314. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  315. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  316. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  317. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  318. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  319. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
  320. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  321. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  322. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  323. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  324. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  325. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
  326. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  327. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  328. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  329. package/Libraries/Modal/Modal.d.ts +104 -0
  330. package/Libraries/Modal/Modal.js +14 -14
  331. package/Libraries/Modal/NativeModalManager.js +1 -0
  332. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  333. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  334. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  335. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
  336. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  337. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  338. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  339. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  340. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  341. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  342. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  343. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  344. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  345. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  346. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  347. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  348. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  349. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  350. package/Libraries/Network/RCTNetworking.android.js +4 -3
  351. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  352. package/Libraries/Network/RCTNetworking.win32.js +1 -0
  353. package/Libraries/Network/convertRequestBody.js +1 -2
  354. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  355. package/Libraries/NewAppScreen/components/Header.js +6 -2
  356. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  357. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  358. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  359. package/Libraries/NewAppScreen/index.js +1 -1
  360. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  361. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  362. package/Libraries/Performance/Systrace.d.ts +66 -0
  363. package/Libraries/Performance/Systrace.js +110 -195
  364. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  365. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  366. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  367. package/Libraries/Pressability/Pressability.js +12 -10
  368. package/Libraries/Pressability/Pressability.win32.js +9 -7
  369. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  370. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  371. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  372. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  373. package/Libraries/ReactNative/AppContainer.js +17 -7
  374. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  375. package/Libraries/ReactNative/AppRegistry.js +11 -14
  376. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  377. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  378. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  379. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  380. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  381. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  382. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  383. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  384. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  385. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  386. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  387. package/Libraries/ReactNative/RendererProxy.js +26 -0
  388. package/Libraries/ReactNative/RootTag.js +0 -1
  389. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  390. package/Libraries/ReactNative/UIManager.js +1 -1
  391. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  392. package/Libraries/ReactNative/renderApplication.js +38 -20
  393. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  394. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  395. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  396. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  397. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  398. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  399. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  400. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  401. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  402. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  403. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  404. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  405. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  406. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  407. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  408. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  409. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  410. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  411. package/Libraries/Settings/Settings.d.ts +18 -0
  412. package/Libraries/Share/NativeShareModule.js +1 -0
  413. package/Libraries/Share/Share.d.ts +80 -0
  414. package/Libraries/Share/Share.js +7 -5
  415. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  416. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  417. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  418. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  419. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  420. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  421. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  422. package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
  423. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  424. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  425. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  426. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  427. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  428. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  429. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  430. package/Libraries/StyleSheet/processColor.js +3 -4
  431. package/Libraries/StyleSheet/processColorArray.js +1 -0
  432. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  433. package/Libraries/StyleSheet/processTransform.js +114 -105
  434. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  435. package/Libraries/Text/Text.d.ts +209 -0
  436. package/Libraries/Text/Text.js +94 -12
  437. package/Libraries/Text/TextNativeComponent.js +49 -41
  438. package/Libraries/Text/TextNativeComponent.win32.js +67 -48
  439. package/Libraries/Text/TextProps.js +64 -7
  440. package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
  441. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  442. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  443. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  444. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  445. package/Libraries/Types/CoreEventTypes.js +2 -1
  446. package/Libraries/Types/CoreEventTypes.win32.js +2 -1
  447. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  448. package/Libraries/Utilities/Appearance.d.ts +43 -0
  449. package/Libraries/Utilities/Appearance.js +3 -3
  450. package/Libraries/Utilities/BackHandler.android.js +3 -5
  451. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  452. package/Libraries/Utilities/BackHandler.win32.js +3 -5
  453. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  454. package/Libraries/Utilities/DevSettings.js +4 -2
  455. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  456. package/Libraries/Utilities/Dimensions.js +2 -2
  457. package/Libraries/Utilities/Dimensions.win32.js +2 -2
  458. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  459. package/Libraries/Utilities/HMRClient.js +23 -8
  460. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  461. package/Libraries/Utilities/NativeAppearance.js +1 -0
  462. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  463. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  464. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  465. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  466. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  467. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  468. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  469. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  470. package/Libraries/Utilities/Platform.android.js +11 -5
  471. package/Libraries/Utilities/Platform.d.ts +102 -0
  472. package/Libraries/Utilities/Platform.ios.js +12 -5
  473. package/Libraries/Utilities/Platform.win32.js +11 -5
  474. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  475. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  476. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  477. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  478. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  479. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  480. package/Libraries/Utilities/groupByEveryN.js +1 -1
  481. package/Libraries/Utilities/stringifySafe.js +3 -1
  482. package/Libraries/Utilities/useColorScheme.js +3 -2
  483. package/Libraries/Utilities/useRefEffect.js +1 -1
  484. package/Libraries/Vibration/NativeVibration.js +1 -0
  485. package/Libraries/Vibration/Vibration.d.ts +43 -0
  486. package/Libraries/Vibration/Vibration.js +1 -0
  487. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  488. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  489. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  490. package/Libraries/WebSocket/WebSocket.js +11 -3
  491. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  492. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  493. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  494. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  495. package/Libraries/__tests__/ButtonWin32-test.js +16 -0
  496. package/Libraries/platform-types.d.ts +25 -0
  497. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  498. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  499. package/babel.config.js +3 -0
  500. package/flow/jest.js +2 -2
  501. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  502. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  503. package/index.js +89 -55
  504. package/index.win32.js +89 -55
  505. package/interface.js +8 -0
  506. package/jest/react-native-env.js +18 -0
  507. package/jest/renderer.js +2 -2
  508. package/jest/setup.js +7 -9
  509. package/jest.config.js +9 -2
  510. package/overrides.json +40 -101
  511. package/package.json +34 -33
  512. package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
  513. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
  514. package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
  515. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
  516. package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
  517. package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  518. package/src/Libraries/platform-types.d.ts +25 -0
  519. package/types/index.d.ts +215 -0
  520. package/IntegrationTests/AsyncStorageTest.js +0 -261
  521. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  522. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  523. package/Libraries/Core/setUpSystrace.js +0 -21
  524. package/Libraries/Image/ImagePickerIOS.js +0 -103
  525. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  526. package/Libraries/Lists/VirtualizedList.win32.js +0 -9
  527. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  528. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  529. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  530. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  531. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  532. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  533. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  534. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  535. package/Libraries/Storage/AsyncStorage.js +0 -385
  536. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  537. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  538. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  539. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  540. package/rntypes/BatchedBridge.d.ts +0 -23
  541. package/rntypes/Devtools.d.ts +0 -20
  542. package/rntypes/LaunchScreen.d.ts +0 -9
  543. package/rntypes/globals.d.ts +0 -497
  544. package/rntypes/index.d.ts +0 -9754
  545. package/rntypes/legacy-properties.d.ts +0 -238
  546. package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
  547. package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
  548. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
  549. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
  550. package/src/rntypes/BatchedBridge.d.ts +0 -23
  551. package/src/rntypes/Devtools.d.ts +0 -20
  552. package/src/rntypes/LaunchScreen.d.ts +0 -9
  553. package/src/rntypes/globals.d.ts +0 -497
  554. package/src/rntypes/index.d.ts +0 -9754
  555. package/src/rntypes/legacy-properties.d.ts +0 -238
  556. package/src/typings-index.ts +0 -37
  557. package/typings-index.d.ts +0 -23
  558. package/typings-index.js +0 -47
  559. package/typings-index.js.map +0 -1
@@ -10,14 +10,15 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import Image from './Image';
14
- import * as React from 'react';
15
- import StyleSheet from '../StyleSheet/StyleSheet';
16
- import flattenStyle from '../StyleSheet/flattenStyle';
17
- import View from '../Components/View/View';
13
+ import type {ViewProps} from '../Components/View/ViewPropTypes';
18
14
  import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
19
15
  import type {ImageBackgroundProps} from './ImageProps';
20
- import type {ViewProps} from '../Components/View/ViewPropTypes';
16
+
17
+ import View from '../Components/View/View';
18
+ import flattenStyle from '../StyleSheet/flattenStyle';
19
+ import StyleSheet from '../StyleSheet/StyleSheet';
20
+ import Image from './Image';
21
+ import * as React from 'react';
21
22
 
22
23
  /**
23
24
  * Very simple drop-in replacement for <Image> which supports nesting views.
@@ -66,15 +67,25 @@ class ImageBackground extends React.Component<ImageBackgroundProps> {
66
67
  };
67
68
 
68
69
  render(): React.Node {
69
- const {children, style, imageStyle, imageRef, ...props} = this.props;
70
+ const {
71
+ children,
72
+ style,
73
+ imageStyle,
74
+ imageRef,
75
+ importantForAccessibility,
76
+ ...props
77
+ } = this.props;
78
+
70
79
  const flattenedStyle = flattenStyle(style);
71
80
  return (
72
81
  <View
73
82
  accessibilityIgnoresInvertColors={true}
83
+ importantForAccessibility={importantForAccessibility}
74
84
  style={style}
75
85
  ref={this._captureRef}>
76
86
  <Image
77
87
  {...props}
88
+ importantForAccessibility={importantForAccessibility}
78
89
  style={[
79
90
  StyleSheet.absoluteFill,
80
91
  {
@@ -8,10 +8,11 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- import * as React from 'react';
12
11
  import type {ImageProps as ImagePropsType} from './ImageProps';
12
+
13
13
  import ImageViewNativeComponent from './ImageViewNativeComponent';
14
14
  import TextInlineImageNativeComponent from './TextInlineImageNativeComponent';
15
+ import * as React from 'react';
15
16
 
16
17
  export default {
17
18
  unstable_createImageComponent: (null: ?(
@@ -10,13 +10,17 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import type {SyntheticEvent, LayoutEvent} from '../Types/CoreEventTypes';
13
+ import type {ViewProps} from '../Components/View/ViewPropTypes';
14
14
  import type {EdgeInsetsProp} from '../StyleSheet/EdgeInsetsPropType';
15
+ import type {
16
+ ColorValue,
17
+ ImageStyleProp,
18
+ ViewStyleProp,
19
+ } from '../StyleSheet/StyleSheet';
20
+ import type {LayoutEvent, SyntheticEvent} from '../Types/CoreEventTypes';
21
+ import typeof Image from './Image';
15
22
  import type {ImageSource} from './ImageSource';
16
- import type {ViewStyleProp, ImageStyleProp} from '../StyleSheet/StyleSheet';
17
- import type {ViewProps} from '../Components/View/ViewPropTypes';
18
23
  import type {Node, Ref} from 'react';
19
- import typeof Image from './Image';
20
24
 
21
25
  export type ImageLoadEvent = SyntheticEvent<
22
26
  $ReadOnly<{|
@@ -82,6 +86,26 @@ export type ImageProps = {|
82
86
  */
83
87
  accessibilityLabel?: ?Stringish,
84
88
 
89
+ /**
90
+ * Alias for accessibilityLabel
91
+ * See https://reactnative.dev/docs/image#accessibilitylabel
92
+ */
93
+ 'aria-label'?: ?Stringish,
94
+
95
+ /**
96
+ * Reperesents the nativeID of the associated label. When the assistive technology focuses on the component with this props.
97
+ *
98
+ * @platform android
99
+ */
100
+ 'aria-labelledby'?: ?string,
101
+ /**
102
+ * The text that's read by the screen reader when the user interacts with
103
+ * the image.
104
+ *
105
+ * See https://reactnative.dev/docs/image#alt
106
+ */
107
+ alt?: ?Stringish,
108
+
85
109
  /**
86
110
  * blurRadius: the blur radius of the blur filter added to the image
87
111
  *
@@ -94,6 +118,28 @@ export type ImageProps = {|
94
118
  */
95
119
  capInsets?: ?EdgeInsetsProp,
96
120
 
121
+ /**
122
+ * Adds the CORS related header to the request.
123
+ * Similar to crossorigin from HTML.
124
+ *
125
+ * See https://reactnative.dev/docs/image#crossorigin
126
+ */
127
+ crossOrigin?: ?('anonymous' | 'use-credentials'),
128
+
129
+ /**
130
+ * Height of the image component.
131
+ *
132
+ * See https://reactnative.dev/docs/image#height
133
+ */
134
+ height?: number,
135
+
136
+ /**
137
+ * Width of the image component.
138
+ *
139
+ * See https://reactnative.dev/docs/image#width
140
+ */
141
+ width?: number,
142
+
97
143
  /**
98
144
  * Invoked on load error with `{nativeEvent: {error}}`.
99
145
  *
@@ -154,6 +200,23 @@ export type ImageProps = {|
154
200
  */
155
201
  style?: ?ImageStyleProp,
156
202
 
203
+ /**
204
+ * A string indicating which referrer to use when fetching the resource.
205
+ * Similar to referrerpolicy from HTML.
206
+ *
207
+ * See https://reactnative.dev/docs/image#referrerpolicy
208
+ */
209
+ referrerPolicy?: ?(
210
+ | 'no-referrer'
211
+ | 'no-referrer-when-downgrade'
212
+ | 'origin'
213
+ | 'origin-when-cross-origin'
214
+ | 'same-origin'
215
+ | 'strict-origin'
216
+ | 'strict-origin-when-cross-origin'
217
+ | 'unsafe-url'
218
+ ),
219
+
157
220
  /**
158
221
  * Determines how to resize the image when the frame doesn't match the raw
159
222
  * image dimensions.
@@ -170,7 +233,27 @@ export type ImageProps = {|
170
233
  */
171
234
  testID?: ?string,
172
235
 
173
- src?: empty,
236
+ /**
237
+ * Changes the color of all the non-transparent pixels to the tintColor.
238
+ *
239
+ * See https://reactnative.dev/docs/image#tintcolor
240
+ */
241
+ tintColor?: ColorValue,
242
+
243
+ /**
244
+ * A string representing the resource identifier for the image. Similar to
245
+ * src from HTML.
246
+ *
247
+ * See https://reactnative.dev/docs/image#src
248
+ */
249
+ src?: ?string,
250
+
251
+ /**
252
+ * Similar to srcset from HTML.
253
+ *
254
+ * See https://reactnative.dev/docs/image#srcset
255
+ */
256
+ srcSet?: ?string,
174
257
  children?: empty,
175
258
  |};
176
259
 
@@ -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
+ * @format
8
+ */
9
+
10
+ export type ImageResizeMode =
11
+ | 'cover'
12
+ | 'contain'
13
+ | 'stretch'
14
+ | 'repeat'
15
+ | 'center';
16
+
17
+ /**
18
+ * @see ImageResizeMode.js
19
+ */
20
+ export interface ImageResizeModeStatic {
21
+ /**
22
+ * contain - The image will be resized such that it will be completely
23
+ * visible, contained within the frame of the View.
24
+ */
25
+ contain: ImageResizeMode;
26
+ /**
27
+ * cover - The image will be resized such that the entire area of the view
28
+ * is covered by the image, potentially clipping parts of the image.
29
+ */
30
+ cover: ImageResizeMode;
31
+ /**
32
+ * stretch - The image will be stretched to fill the entire frame of the
33
+ * view without clipping. This may change the aspect ratio of the image,
34
+ * distoring it. Only supported on iOS.
35
+ */
36
+ stretch: ImageResizeMode;
37
+ /**
38
+ * center - The image will be scaled down such that it is completely visible,
39
+ * if bigger than the area of the view.
40
+ * The image will not be scaled up.
41
+ */
42
+ center: ImageResizeMode;
43
+
44
+ /**
45
+ * repeat - The image will be repeated to cover the frame of the View. The
46
+ * image will keep it's size and aspect ratio.
47
+ */
48
+ repeat: ImageResizeMode;
49
+ }
@@ -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
+ */
9
+
10
+ /*
11
+ * @see https://github.com/facebook/react-native/blob/master/Libraries/Image/ImageSource.js
12
+ */
13
+ export interface ImageURISource {
14
+ /**
15
+ * `uri` is a string representing the resource identifier for the image, which
16
+ * could be an http address, a local file path, or the name of a static image
17
+ * resource (which should be wrapped in the `require('./path/to/image.png')`
18
+ * function).
19
+ */
20
+ uri?: string | undefined;
21
+ /**
22
+ * `bundle` is the iOS asset bundle which the image is included in. This
23
+ * will default to [NSBundle mainBundle] if not set.
24
+ * @platform ios
25
+ */
26
+ bundle?: string | undefined;
27
+ /**
28
+ * `method` is the HTTP Method to use. Defaults to GET if not specified.
29
+ */
30
+ method?: string | undefined;
31
+ /**
32
+ * `headers` is an object representing the HTTP headers to send along with the
33
+ * request for a remote image.
34
+ */
35
+ headers?: {[key: string]: string} | undefined;
36
+ /**
37
+ * `cache` determines how the requests handles potentially cached
38
+ * responses.
39
+ *
40
+ * - `default`: Use the native platforms default strategy. `useProtocolCachePolicy` on iOS.
41
+ *
42
+ * - `reload`: The data for the URL will be loaded from the originating source.
43
+ * No existing cache data should be used to satisfy a URL load request.
44
+ *
45
+ * - `force-cache`: The existing cached data will be used to satisfy the request,
46
+ * regardless of its age or expiration date. If there is no existing data in the cache
47
+ * corresponding the request, the data is loaded from the originating source.
48
+ *
49
+ * - `only-if-cached`: The existing cache data will be used to satisfy a request, regardless of
50
+ * its age or expiration date. If there is no existing data in the cache corresponding
51
+ * to a URL load request, no attempt is made to load the data from the originating source,
52
+ * and the load is considered to have failed.
53
+ *
54
+ * @platform ios
55
+ */
56
+ cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached' | undefined;
57
+ /**
58
+ * `body` is the HTTP body to send with the request. This must be a valid
59
+ * UTF-8 string, and will be sent exactly as specified, with no
60
+ * additional encoding (e.g. URL-escaping or base64) applied.
61
+ */
62
+ body?: string | undefined;
63
+ /**
64
+ * `width` and `height` can be specified if known at build time, in which case
65
+ * these will be used to set the default `<Image/>` component dimensions.
66
+ */
67
+ width?: number | undefined;
68
+ height?: number | undefined;
69
+ /**
70
+ * `scale` is used to indicate the scale factor of the image. Defaults to 1.0 if
71
+ * unspecified, meaning that one image pixel equates to one display point / DIP.
72
+ */
73
+ scale?: number | undefined;
74
+ }
75
+
76
+ export type ImageRequireSource = number;
@@ -0,0 +1,80 @@
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
+ 'use strict';
12
+
13
+ import type {ResolvedAssetSource} from './AssetSourceResolver';
14
+ import type {ImageProps} from './ImageProps';
15
+
16
+ import resolveAssetSource from './resolveAssetSource';
17
+
18
+ /**
19
+ * A function which returns the appropriate value for image source
20
+ * by resolving the `source`, `src` and `srcSet` props.
21
+ */
22
+ export function getImageSourcesFromImageProps(
23
+ imageProps: ImageProps,
24
+ ): ?ResolvedAssetSource | $ReadOnlyArray<{uri: string, ...}> {
25
+ let source = resolveAssetSource(imageProps.source);
26
+
27
+ let sources;
28
+
29
+ const {crossOrigin, referrerPolicy, src, srcSet, width, height} = imageProps;
30
+
31
+ const headers: {[string]: string} = {};
32
+ if (crossOrigin === 'use-credentials') {
33
+ headers['Access-Control-Allow-Credentials'] = 'true';
34
+ }
35
+ if (referrerPolicy != null) {
36
+ headers['Referrer-Policy'] = referrerPolicy;
37
+ }
38
+ if (srcSet != null) {
39
+ const sourceList = [];
40
+ const srcSetList = srcSet.split(', ');
41
+ // `src` prop should be used with default scale if `srcSet` does not have 1x scale.
42
+ let shouldUseSrcForDefaultScale = true;
43
+ srcSetList.forEach(imageSrc => {
44
+ const [uri, xScale = '1x'] = imageSrc.split(' ');
45
+ if (!xScale.endsWith('x')) {
46
+ console.warn(
47
+ 'The provided format for scale is not supported yet. Please use scales like 1x, 2x, etc.',
48
+ );
49
+ } else {
50
+ const scale = parseInt(xScale.split('x')[0], 10);
51
+ if (!isNaN(scale)) {
52
+ // 1x scale is provided in `srcSet` prop so ignore the `src` prop if provided.
53
+ shouldUseSrcForDefaultScale =
54
+ scale === 1 ? false : shouldUseSrcForDefaultScale;
55
+ sourceList.push({headers: headers, scale, uri, width, height});
56
+ }
57
+ }
58
+ });
59
+
60
+ if (shouldUseSrcForDefaultScale && src != null) {
61
+ sourceList.push({
62
+ headers: headers,
63
+ scale: 1,
64
+ uri: src,
65
+ width,
66
+ height,
67
+ });
68
+ }
69
+ if (sourceList.length === 0) {
70
+ console.warn('The provided value for srcSet is not valid.');
71
+ }
72
+
73
+ sources = sourceList;
74
+ } else if (src != null) {
75
+ sources = [{uri: src, headers: headers, width, height}];
76
+ } else {
77
+ sources = source;
78
+ }
79
+ return sources;
80
+ }
@@ -0,0 +1,21 @@
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
8
+ * @format
9
+ */
10
+
11
+ type ResizeMode = 'cover' | 'contain' | 'stretch' | 'repeat' | 'center';
12
+
13
+ export function convertObjectFitToResizeMode(objectFit: string): ResizeMode {
14
+ const objectFitMap = {
15
+ contain: 'contain',
16
+ cover: 'cover',
17
+ fill: 'stretch',
18
+ 'scale-down': 'contain',
19
+ };
20
+ return objectFitMap[objectFit];
21
+ }
@@ -8,11 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {ResolvedAssetSource} from './AssetSourceResolver';
12
- import type {ImageProps} from './ImageProps';
13
11
  import type {ViewProps} from '../Components/View/ViewPropTypes';
14
- import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
15
- import {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIgnore';
16
12
  import type {
17
13
  HostComponent,
18
14
  PartialViewConfig,
@@ -22,6 +18,11 @@ import type {
22
18
  DangerouslyImpreciseStyle,
23
19
  ImageStyleProp,
24
20
  } from '../StyleSheet/StyleSheet';
21
+ import type {ResolvedAssetSource} from './AssetSourceResolver';
22
+ import type {ImageProps} from './ImageProps';
23
+
24
+ import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
25
+ import {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIgnore';
25
26
  import Platform from '../Utilities/Platform';
26
27
 
27
28
  type Props = $ReadOnly<{
@@ -35,7 +36,9 @@ type Props = $ReadOnly<{
35
36
 
36
37
  // Android native props
37
38
  shouldNotifyLoadEvents?: boolean,
38
- src?: ?ResolvedAssetSource | $ReadOnlyArray<{uri: string, ...}>,
39
+ src?:
40
+ | ?ResolvedAssetSource
41
+ | ?$ReadOnlyArray<?$ReadOnly<{uri?: ?string, ...}>>,
39
42
  headers?: ?{[string]: string},
40
43
  defaultSrc?: ?string,
41
44
  loadingIndicatorSrc?: ?string,
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  type Options = {|
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  export interface Spec extends TurboModule {
@@ -10,6 +10,7 @@
10
10
 
11
11
  import type {RootTag} from '../TurboModule/RCTExport';
12
12
  import type {TurboModule} from '../TurboModule/RCTExport';
13
+
13
14
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
15
 
15
16
  export interface Spec extends TurboModule {
@@ -10,6 +10,7 @@
10
10
 
11
11
  import type {RootTag} from '../TurboModule/RCTExport';
12
12
  import type {TurboModule} from '../TurboModule/RCTExport';
13
+
13
14
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
15
 
15
16
  export interface Spec extends TurboModule {
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  export interface Spec extends TurboModule {
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  export interface Spec extends TurboModule {
@@ -10,19 +10,20 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {ViewProps} from '../Components/View/ViewPropTypes';
13
14
  import type {
14
15
  HostComponent,
15
16
  PartialViewConfig,
16
17
  } from '../Renderer/shims/ReactNativeTypes';
17
- import type {ViewProps} from '../Components/View/ViewPropTypes';
18
+ import type {ColorValue} from '../StyleSheet/StyleSheet';
18
19
  import type {ImageResizeMode} from './ImageResizeMode';
20
+
19
21
  import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
20
- import type {ColorValue} from '../StyleSheet/StyleSheet';
21
22
 
22
23
  type NativeProps = $ReadOnly<{
23
24
  ...ViewProps,
24
25
  resizeMode?: ?ImageResizeMode,
25
- src?: ?$ReadOnlyArray<?$ReadOnly<{uri: string, ...}>>,
26
+ src?: ?$ReadOnlyArray<?$ReadOnly<{uri?: ?string, ...}>>,
26
27
  tintColor?: ?ColorValue,
27
28
  headers?: ?{[string]: string},
28
29
  }>;
@@ -8,10 +8,10 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import Platform from '../Utilities/Platform';
12
-
13
11
  import type {ImageURISource} from './ImageSource';
14
12
 
13
+ import Platform from '../Utilities/Platform';
14
+
15
15
  type NativeImageSourceSpec = $ReadOnly<{|
16
16
  android?: string,
17
17
  ios?: string,
@@ -12,11 +12,11 @@
12
12
 
13
13
  'use strict';
14
14
 
15
- const AssetRegistry = require('@react-native/assets/registry');
15
+ import type {ResolvedAssetSource} from './AssetSourceResolver';
16
+
16
17
  const AssetSourceResolver = require('./AssetSourceResolver');
17
18
  const {pickScale} = require('./AssetUtils');
18
-
19
- import type {ResolvedAssetSource} from './AssetSourceResolver';
19
+ const AssetRegistry = require('@react-native/assets/registry');
20
20
 
21
21
  let _customSourceTransformer, _serverURL, _scriptURL;
22
22
 
@@ -105,6 +105,6 @@ function resolveAssetSource(source: any): ?ResolvedAssetSource {
105
105
  return resolver.defaultAsset();
106
106
  }
107
107
 
108
+ resolveAssetSource.pickScale = pickScale;
109
+ resolveAssetSource.setCustomSourceTransformer = setCustomSourceTransformer;
108
110
  module.exports = resolveAssetSource;
109
- module.exports.pickScale = pickScale;
110
- module.exports.setCustomSourceTransformer = setCustomSourceTransformer;
@@ -10,8 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
14
13
  const View = require('../Components/View/View');
14
+ const React = require('react');
15
15
 
16
16
  class BorderBox extends React.Component<$FlowFixMeProps> {
17
17
  render(): $FlowFixMe | React.Node {
@@ -10,12 +10,11 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
13
+ const View = require('../Components/View/View');
14
14
  const StyleSheet = require('../StyleSheet/StyleSheet');
15
15
  const Text = require('../Text/Text');
16
- const View = require('../Components/View/View');
17
-
18
16
  const resolveBoxStyle = require('./resolveBoxStyle');
17
+ const React = require('react');
19
18
 
20
19
  const blank = {
21
20
  top: 0,
@@ -49,7 +48,7 @@ class BoxInspector extends React.Component<$FlowFixMeProps> {
49
48
  }
50
49
 
51
50
  class BoxContainer extends React.Component<$FlowFixMeProps> {
52
- render() {
51
+ render(): React.Node {
53
52
  const box = this.props.box;
54
53
  return (
55
54
  <View style={styles.box}>