@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
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import Platform from '../Utilities/Platform';
12
+
12
13
  const ReactNativeVersion = require('./ReactNativeVersion');
13
14
 
14
15
  /**
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import Platform from '../Utilities/Platform';
12
+
12
13
  const ReactNativeVersion = require('./ReactNativeVersion');
13
14
 
14
15
  /**
@@ -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 {
@@ -8,13 +8,12 @@
8
8
  * @flow
9
9
  */
10
10
 
11
+ import NativeTiming from './NativeTiming';
12
+
11
13
  const BatchedBridge = require('../../BatchedBridge/BatchedBridge');
12
14
  const Systrace = require('../../Performance/Systrace');
13
-
14
15
  const invariant = require('invariant');
15
16
 
16
- import NativeTiming from './NativeTiming';
17
-
18
17
  /**
19
18
  * JS implementation of timer functions. Must be completely driven by an
20
19
  * external clock signal, all that's stored here is timerID, timer type, and
@@ -243,7 +242,7 @@ const JSTimers = {
243
242
  * @param {function} func Callback to be invoked before the end of the
244
243
  * current JavaScript execution loop.
245
244
  */
246
- queueReactNativeMicrotask: function (func: Function, ...args: any) {
245
+ queueReactNativeMicrotask: function (func: Function, ...args: any): number {
247
246
  const id = _allocateCallback(
248
247
  () => func.apply(undefined, args),
249
248
  'queueReactNativeMicrotask',
@@ -255,7 +254,7 @@ const JSTimers = {
255
254
  /**
256
255
  * @param {function} func Callback to be invoked every frame.
257
256
  */
258
- requestAnimationFrame: function (func: Function) {
257
+ requestAnimationFrame: function (func: Function): any | number {
259
258
  const id = _allocateCallback(func, 'requestAnimationFrame');
260
259
  createTimer(id, 1, Date.now(), /* recurring */ false);
261
260
  return id;
@@ -266,16 +265,19 @@ const JSTimers = {
266
265
  * with time remaining in frame.
267
266
  * @param {?object} options
268
267
  */
269
- requestIdleCallback: function (func: Function, options: ?Object) {
268
+ requestIdleCallback: function (
269
+ func: Function,
270
+ options: ?Object,
271
+ ): any | number {
270
272
  if (requestIdleCallbacks.length === 0) {
271
273
  setSendIdleEvents(true);
272
274
  }
273
275
 
274
276
  const timeout = options && options.timeout;
275
- const id = _allocateCallback(
277
+ const id: number = _allocateCallback(
276
278
  timeout != null
277
279
  ? (deadline: any) => {
278
- const timeoutId = requestIdleCallbackTimeouts[id];
280
+ const timeoutId: number = requestIdleCallbackTimeouts[id];
279
281
  if (timeoutId) {
280
282
  JSTimers.clearTimeout(timeoutId);
281
283
  delete requestIdleCallbackTimeouts[id];
@@ -288,8 +290,8 @@ const JSTimers = {
288
290
  requestIdleCallbacks.push(id);
289
291
 
290
292
  if (timeout != null) {
291
- const timeoutId = JSTimers.setTimeout(() => {
292
- const index = requestIdleCallbacks.indexOf(id);
293
+ const timeoutId: number = JSTimers.setTimeout(() => {
294
+ const index: number = requestIdleCallbacks.indexOf(id);
293
295
  if (index > -1) {
294
296
  requestIdleCallbacks.splice(index, 1);
295
297
  _callTimer(id, global.performance.now(), true);
@@ -346,7 +348,7 @@ const JSTimers = {
346
348
  * This is called from the native side. We are passed an array of timerIDs,
347
349
  * and
348
350
  */
349
- callTimers: function (timersToCall: Array<number>) {
351
+ callTimers: function (timersToCall: Array<number>): any | void {
350
352
  invariant(
351
353
  timersToCall.length !== 0,
352
354
  'Cannot call `callTimers` with an empty list of IDs.',
@@ -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 {
@@ -20,7 +20,6 @@ if (global.RN$Bridgeless === true && global.RN$registerCallableModule) {
20
20
  | $TEMPORARY$string<'GlobalPerformanceLogger'>
21
21
  | $TEMPORARY$string<'HMRClient'>
22
22
  | $TEMPORARY$string<'HeapCapture'>
23
- | $TEMPORARY$string<'JSDevSupportModule'>
24
23
  | $TEMPORARY$string<'JSTimers'>
25
24
  | $TEMPORARY$string<'RCTDeviceEventEmitter'>
26
25
  | $TEMPORARY$string<'RCTLog'>
@@ -52,11 +51,8 @@ registerModule('RCTNativeAppEventEmitter', () =>
52
51
  registerModule('GlobalPerformanceLogger', () =>
53
52
  require('../Utilities/GlobalPerformanceLogger'),
54
53
  );
55
- registerModule('JSDevSupportModule', () =>
56
- require('../Utilities/JSDevSupportModule'),
57
- );
58
54
 
59
- if (__DEV__ && !global.__RCTProfileIsProfiling) {
55
+ if (__DEV__) {
60
56
  registerModule('HMRClient', () => require('../Utilities/HMRClient'));
61
57
  } else {
62
58
  registerModule('HMRClient', () => require('../Utilities/HMRClientProdShim'));
@@ -17,13 +17,11 @@ declare var console: typeof console & {_isPolyfilled: boolean, ...};
17
17
  * You can use this module directly, or just require InitializeCore.
18
18
  */
19
19
  if (__DEV__) {
20
- if (!global.__RCTProfileIsProfiling) {
21
- require('./setUpReactDevTools');
20
+ require('./setUpReactDevTools');
22
21
 
23
- // Set up inspector
24
- const JSInspector = require('../JSInspector/JSInspector');
25
- JSInspector.registerAgent(require('../JSInspector/NetworkAgent'));
26
- }
22
+ // Set up inspector
23
+ const JSInspector = require('../JSInspector/JSInspector');
24
+ JSInspector.registerAgent(require('../JSInspector/NetworkAgent'));
27
25
 
28
26
  // Note we can't check if console is "native" because it would appear "native" in JSC and Hermes.
29
27
  // We also can't check any properties that don't exist in the Chrome worker environment.
@@ -39,7 +39,10 @@ if (__DEV__) {
39
39
  // Get hostname from development server (packager)
40
40
  const devServer = getDevServer();
41
41
  const host = devServer.bundleLoadedFromServer
42
- ? devServer.url.replace(/https?:\/\//, '').split(':')[0]
42
+ ? devServer.url
43
+ .replace(/https?:\/\//, '')
44
+ .replace(/\/$/, '')
45
+ .split(':')[0]
43
46
  : 'localhost';
44
47
 
45
48
  // Read the optional global variable for backward compatibility.
@@ -10,8 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const {polyfillGlobal} = require('../Utilities/PolyfillFunctions');
14
13
  const {hasNativeConstructor} = require('../Utilities/FeatureDetection');
14
+ const {polyfillGlobal} = require('../Utilities/PolyfillFunctions');
15
15
 
16
16
  /**
17
17
  * Set up regenerator.
@@ -10,8 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const {polyfillGlobal} = require('../Utilities/PolyfillFunctions');
14
13
  const {isNativeFunction} = require('../Utilities/FeatureDetection');
14
+ const {polyfillGlobal} = require('../Utilities/PolyfillFunctions');
15
15
 
16
16
  if (__DEV__) {
17
17
  if (typeof global.Promise !== 'function') {
@@ -0,0 +1,70 @@
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
+ import {
11
+ EmitterSubscription,
12
+ EventEmitter,
13
+ } from '../vendor/emitter/EventEmitter';
14
+
15
+ /**
16
+ * The React Native implementation of the IOS RCTEventEmitter which is required when creating
17
+ * a module that communicates with IOS
18
+ */
19
+ type NativeModule = {
20
+ /**
21
+ * Add the provided eventType as an active listener
22
+ * @param eventType name of the event for which we are registering listener
23
+ */
24
+ addListener: (eventType: string) => void;
25
+
26
+ /**
27
+ * Remove a specified number of events. There are no eventTypes in this case, as
28
+ * the native side doesn't remove the name, but only manages a counter of total
29
+ * listeners
30
+ * @param count number of listeners to remove (of any type)
31
+ */
32
+ removeListeners: (count: number) => void;
33
+ };
34
+
35
+ /**
36
+ * Abstract base class for implementing event-emitting modules. This implements
37
+ * a subset of the standard EventEmitter node module API.
38
+ */
39
+ declare class NativeEventEmitter extends EventEmitter {
40
+ /**
41
+ * @param nativeModule the NativeModule implementation. This is required on IOS and will throw
42
+ * an invariant error if undefined.
43
+ */
44
+ constructor(nativeModule?: NativeModule);
45
+
46
+ /**
47
+ * Add the specified listener, this call passes through to the NativeModule
48
+ * addListener
49
+ *
50
+ * @param eventType name of the event for which we are registering listener
51
+ * @param listener the listener function
52
+ * @param context context of the listener
53
+ */
54
+ addListener(
55
+ eventType: string,
56
+ listener: (event: any) => void,
57
+ context?: Object,
58
+ ): EmitterSubscription;
59
+
60
+ /**
61
+ * @param eventType name of the event whose registered listeners to remove
62
+ */
63
+ removeAllListeners(eventType: string): void;
64
+
65
+ /**
66
+ * Removes a subscription created by the addListener, the EventSubscription#remove()
67
+ * function actually calls through to this.
68
+ */
69
+ removeSubscription(subscription: EmitterSubscription): void;
70
+ }
@@ -14,6 +14,7 @@ import type {
14
14
  EventSubscription,
15
15
  IEventEmitter,
16
16
  } from '../vendor/emitter/EventEmitter';
17
+
17
18
  import Platform from '../Utilities/Platform';
18
19
  import RCTDeviceEventEmitter from './RCTDeviceEventEmitter';
19
20
  import invariant from 'invariant';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import {
11
+ EmitterSubscription,
12
+ EventEmitter,
13
+ EventSubscriptionVendor,
14
+ } from '../vendor/emitter/EventEmitter';
15
+
16
+ /**
17
+ * Deprecated - subclass NativeEventEmitter to create granular event modules instead of
18
+ * adding all event listeners directly to RCTDeviceEventEmitter.
19
+ */
20
+ interface DeviceEventEmitterStatic extends EventEmitter {
21
+ sharedSubscriber: EventSubscriptionVendor;
22
+ new (): DeviceEventEmitterStatic;
23
+ addListener(
24
+ type: string,
25
+ listener: (data: any) => void,
26
+ context?: any,
27
+ ): EmitterSubscription;
28
+ }
29
+
30
+ export const DeviceEventEmitter: DeviceEventEmitterStatic;
@@ -8,9 +8,10 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import EventEmitter from '../vendor/emitter/EventEmitter';
12
11
  import type {IEventEmitter} from '../vendor/emitter/EventEmitter';
13
12
 
13
+ import EventEmitter from '../vendor/emitter/EventEmitter';
14
+
14
15
  // FIXME: use typed events
15
16
  type RCTDeviceEventDefinitions = $FlowFixMe;
16
17
 
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import {DeviceEventEmitterStatic} from './RCTDeviceEventEmitter';
11
+
12
+ export interface NativeEventSubscription {
13
+ /**
14
+ * Call this method to un-subscribe from a native-event
15
+ */
16
+ remove(): void;
17
+ }
18
+
19
+ /**
20
+ * Receive events from native-code
21
+ * Deprecated - subclass NativeEventEmitter to create granular event modules instead of
22
+ * adding all event listeners directly to RCTNativeAppEventEmitter.
23
+ * @see https://github.com/facebook/react-native/blob/0.34-stable\Libraries\EventEmitter\RCTNativeAppEventEmitter.js
24
+ * @see https://reactnative.dev/docs/native-modules-ios#sending-events-to-javascript
25
+ */
26
+ type RCTNativeAppEventEmitter = DeviceEventEmitterStatic;
27
+
28
+ /**
29
+ * Deprecated - subclass NativeEventEmitter to create granular event modules instead of
30
+ * adding all event listeners directly to RCTNativeAppEventEmitter.
31
+ */
32
+ export const NativeAppEventEmitter: RCTNativeAppEventEmitter;
@@ -12,6 +12,7 @@ import type {
12
12
  EventSubscription,
13
13
  IEventEmitter,
14
14
  } from '../../vendor/emitter/EventEmitter';
15
+
15
16
  import RCTDeviceEventEmitter from '../RCTDeviceEventEmitter';
16
17
 
17
18
  /**
@@ -227,7 +227,7 @@ class EventPolyfill implements IEvent {
227
227
  }
228
228
 
229
229
  // Assertion magic for polyfill follows.
230
- declare var checkEvent: Event;
230
+ declare var checkEvent: Event; // eslint-disable-line no-unused-vars
231
231
 
232
232
  /*::
233
233
  // This can be a strict mode error at runtime so put it in a Flow comment.
@@ -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 {
@@ -21,16 +21,14 @@ export type ResolvedAssetSource = {|
21
21
  import type {PackagerAsset} from '@react-native/assets/registry';
22
22
 
23
23
  const PixelRatio = require('../Utilities/PixelRatio');
24
- const {pickScale} = require('./AssetUtils');
25
24
  const Platform = require('../Utilities/Platform');
26
-
27
- const invariant = require('invariant');
28
-
25
+ const {pickScale} = require('./AssetUtils');
29
26
  const {
30
27
  getAndroidResourceFolderName,
31
28
  getAndroidResourceIdentifier,
32
29
  getBasePath,
33
30
  } = require('@react-native/assets/path-support');
31
+ const invariant = require('invariant');
34
32
 
35
33
  /**
36
34
  * Returns a path like 'assets/AwesomeModule/icon@2x.png'
@@ -47,9 +45,9 @@ function getScaledAssetPath(asset: PackagerAsset): string {
47
45
  */
48
46
  function getAssetPathInDrawableFolder(asset: PackagerAsset): string {
49
47
  const scale = pickScale(asset.scales, PixelRatio.get());
50
- const drawbleFolder = getAndroidResourceFolderName(asset, scale);
48
+ const drawableFolder = getAndroidResourceFolderName(asset, scale);
51
49
  const fileName = getAndroidResourceIdentifier(asset);
52
- return drawbleFolder + '/' + fileName + '.' + asset.type;
50
+ return drawableFolder + '/' + fileName + '.' + asset.type;
53
51
  }
54
52
 
55
53
  class AssetSourceResolver {
@@ -8,21 +8,22 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import ImageViewNativeComponent from './ImageViewNativeComponent';
12
- import * as React from 'react';
11
+ import type {RootTag} from '../Types/RootTagTypes';
12
+ import type {ImageAndroid} from './Image.flow';
13
+ import type {ImageProps as ImagePropsType} from './ImageProps';
14
+
15
+ import flattenStyle from '../StyleSheet/flattenStyle';
13
16
  import StyleSheet from '../StyleSheet/StyleSheet';
14
17
  import TextAncestor from '../Text/TextAncestor';
15
- import ImageInjection from './ImageInjection';
16
18
  import ImageAnalyticsTagContext from './ImageAnalyticsTagContext';
17
- import flattenStyle from '../StyleSheet/flattenStyle';
18
- import resolveAssetSource from './resolveAssetSource';
19
-
19
+ import ImageInjection from './ImageInjection';
20
+ import {getImageSourcesFromImageProps} from './ImageSourceUtils';
21
+ import {convertObjectFitToResizeMode} from './ImageUtils';
22
+ import ImageViewNativeComponent from './ImageViewNativeComponent';
20
23
  import NativeImageLoaderAndroid from './NativeImageLoaderAndroid';
21
-
24
+ import resolveAssetSource from './resolveAssetSource';
22
25
  import TextInlineImageNativeComponent from './TextInlineImageNativeComponent';
23
-
24
- import type {ImageProps as ImagePropsType} from './ImageProps';
25
- import type {RootTag} from '../Types/RootTagTypes';
26
+ import * as React from 'react';
26
27
 
27
28
  let _requestId = 1;
28
29
  function generateRequestId() {
@@ -126,25 +127,16 @@ export type ImageComponentStatics = $ReadOnly<{|
126
127
  /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
127
128
  * LTI update could not be added via codemod */
128
129
  const BaseImage = (props: ImagePropsType, forwardedRef) => {
129
- let source = resolveAssetSource(props.source);
130
+ let source = getImageSourcesFromImageProps(props) || {
131
+ uri: undefined,
132
+ width: undefined,
133
+ height: undefined,
134
+ };
130
135
  const defaultSource = resolveAssetSource(props.defaultSource);
131
136
  const loadingIndicatorSource = resolveAssetSource(
132
137
  props.loadingIndicatorSource,
133
138
  );
134
139
 
135
- if (source) {
136
- const uri = source.uri;
137
- if (uri === '') {
138
- console.warn('source.uri should not be an empty string');
139
- }
140
- }
141
-
142
- if (props.src) {
143
- console.warn(
144
- 'The <Image> component requires a `source` property rather than `src`.',
145
- );
146
- }
147
-
148
140
  if (props.children) {
149
141
  throw new Error(
150
142
  'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
@@ -157,37 +149,58 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
157
149
  );
158
150
  }
159
151
 
160
- if (source && !source.uri && !Array.isArray(source)) {
161
- source = null;
162
- }
163
-
164
152
  let style;
165
153
  let sources;
166
- if (source?.uri != null) {
167
- const {width, height} = source;
168
- style = flattenStyle([{width, height}, styles.base, props.style]);
169
- sources = [{uri: source.uri}];
170
- } else {
154
+ if (Array.isArray(source)) {
171
155
  style = flattenStyle([styles.base, props.style]);
172
156
  sources = source;
157
+ } else {
158
+ const {width = props.width, height = props.height, uri} = source;
159
+ style = flattenStyle([{width, height}, styles.base, props.style]);
160
+ sources = [source];
161
+
162
+ if (uri === '') {
163
+ console.warn('source.uri should not be an empty string');
164
+ }
173
165
  }
174
166
 
167
+ const {height, width, ...restProps} = props;
175
168
  const {onLoadStart, onLoad, onLoadEnd, onError} = props;
176
169
  const nativeProps = {
177
- ...props,
170
+ ...restProps,
178
171
  style,
179
172
  shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
180
173
  src: sources,
181
174
  /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
182
175
  * when making Flow check .android.js files. */
183
- headers: source?.headers,
176
+ headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
184
177
  defaultSrc: defaultSource ? defaultSource.uri : null,
185
178
  loadingIndicatorSrc: loadingIndicatorSource
186
179
  ? loadingIndicatorSource.uri
187
180
  : null,
188
181
  ref: forwardedRef,
182
+ accessibilityLabel:
183
+ props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
184
+ accessibilityLabelledBy:
185
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
186
+ accessible: props.alt !== undefined ? true : props.accessible,
187
+ accessibilityState: {
188
+ busy: props['aria-busy'] ?? props.accessibilityState?.busy,
189
+ checked: props['aria-checked'] ?? props.accessibilityState?.checked,
190
+ disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
191
+ expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
192
+ selected: props['aria-selected'] ?? props.accessibilityState?.selected,
193
+ },
189
194
  };
190
195
 
196
+ const objectFit =
197
+ style && style.objectFit
198
+ ? convertObjectFitToResizeMode(style.objectFit)
199
+ : null;
200
+ // $FlowFixMe[prop-missing]
201
+ const resizeMode =
202
+ objectFit || props.resizeMode || (style && style.resizeMode) || 'cover';
203
+
191
204
  return (
192
205
  <ImageAnalyticsTagContext.Consumer>
193
206
  {analyticTag => {
@@ -202,19 +215,23 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
202
215
  <TextAncestor.Consumer>
203
216
  {hasTextAncestor => {
204
217
  if (hasTextAncestor) {
205
- let src = Array.isArray(sources) ? sources : [sources];
206
218
  return (
207
219
  <TextInlineImageNativeComponent
208
220
  style={style}
209
- resizeMode={props.resizeMode}
221
+ resizeMode={resizeMode}
210
222
  headers={nativeProps.headers}
211
- src={src}
223
+ src={sources}
212
224
  ref={forwardedRef}
213
225
  />
214
226
  );
215
227
  }
216
228
 
217
- return <ImageViewNativeComponent {...nativePropsWithAnalytics} />;
229
+ return (
230
+ <ImageViewNativeComponent
231
+ {...nativePropsWithAnalytics}
232
+ resizeMode={resizeMode}
233
+ />
234
+ );
218
235
  }}
219
236
  </TextAncestor.Consumer>
220
237
  );
@@ -308,15 +325,16 @@ Image.queryCache = queryCache;
308
325
  * comment and run Flow. */
309
326
  Image.resolveAssetSource = resolveAssetSource;
310
327
 
328
+ /**
329
+ * Switch to `deprecated-react-native-prop-types` for compatibility with future
330
+ * releases. This is deprecated and will be removed in the future.
331
+ */
332
+ Image.propTypes = require('deprecated-react-native-prop-types').ImagePropTypes;
333
+
311
334
  const styles = StyleSheet.create({
312
335
  base: {
313
336
  overflow: 'hidden',
314
337
  },
315
338
  });
316
339
 
317
- module.exports = ((Image: any): React.AbstractComponent<
318
- ImagePropsType,
319
- | React.ElementRef<typeof TextInlineImageNativeComponent>
320
- | React.ElementRef<typeof ImageViewNativeComponent>,
321
- > &
322
- ImageComponentStatics);
340
+ module.exports = ((Image: any): ImageAndroid);