@office-iss/react-native-win32 0.71.5 → 0.72.0-preview.2

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 (326) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +321 -45
  3. package/CHANGELOG.md +149 -26
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  73. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  75. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  76. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  77. package/Libraries/Components/View/View.js +35 -16
  78. package/Libraries/Components/View/View.win32.js +38 -16
  79. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  80. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  81. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  82. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  83. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  86. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  87. package/Libraries/Components/View/ViewWin32.js +2 -35
  88. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  89. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  90. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  91. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  92. package/Libraries/Core/ExceptionsManager.js +2 -2
  93. package/Libraries/Core/InitializeCore.js +2 -1
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  96. package/Libraries/Core/ReactNativeVersionCheck.win32.js +4 -8
  97. package/Libraries/Core/Timers/JSTimers.js +1 -1
  98. package/Libraries/Core/Timers/immediateShim.js +1 -0
  99. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  100. package/Libraries/Core/setUpAlert.js +1 -1
  101. package/Libraries/Core/setUpDOM.js +18 -0
  102. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  103. package/Libraries/Core/setUpGlobals.js +5 -2
  104. package/Libraries/Core/setUpNavigator.js +6 -5
  105. package/Libraries/Core/setUpPerformance.js +23 -13
  106. package/Libraries/Core/setUpReactDevTools.js +2 -0
  107. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  108. package/Libraries/Core/setUpTimers.js +2 -2
  109. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  110. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  111. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  112. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  113. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  114. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  115. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  116. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  117. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  120. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  121. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  122. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  123. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  124. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  125. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  126. package/Libraries/Events/EventPolyfill.js +1 -1
  127. package/Libraries/Image/AssetRegistry.js +1 -1
  128. package/Libraries/Image/AssetSourceResolver.js +3 -3
  129. package/Libraries/Image/Image.android.js +4 -1
  130. package/Libraries/Image/Image.d.ts +63 -2
  131. package/Libraries/Image/Image.ios.js +3 -0
  132. package/Libraries/Image/Image.win32.js +3 -0
  133. package/Libraries/Image/ImageBackground.js +1 -0
  134. package/Libraries/Image/ImageProps.js +1 -1
  135. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  136. package/Libraries/Image/RelativeImageStub.js +1 -1
  137. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  138. package/Libraries/Image/resolveAssetSource.js +1 -1
  139. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  140. package/Libraries/Inspector/ElementBox.js +4 -1
  141. package/Libraries/Inspector/Inspector.js +5 -6
  142. package/Libraries/Inspector/Inspector.win32.js +7 -6
  143. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  144. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  145. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  146. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  147. package/Libraries/Interaction/PanResponder.js +5 -6
  148. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  149. package/Libraries/Linking/Linking.js +1 -4
  150. package/Libraries/Lists/FillRateHelper.js +4 -238
  151. package/Libraries/Lists/FlatList.d.ts +15 -22
  152. package/Libraries/Lists/FlatList.js +9 -6
  153. package/Libraries/Lists/SectionList.d.ts +10 -6
  154. package/Libraries/Lists/SectionList.js +5 -3
  155. package/Libraries/Lists/SectionListModern.js +3 -3
  156. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  157. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  158. package/Libraries/Lists/VirtualizedList.js +10 -1867
  159. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  160. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  161. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  162. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  163. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  164. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  165. package/Libraries/LogBox/LogBox.js +1 -1
  166. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  167. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  170. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  171. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  172. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  173. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  174. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  175. package/Libraries/Modal/Modal.js +2 -2
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  177. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  178. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  179. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  180. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  181. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  182. package/Libraries/Network/RCTNetworking.android.js +2 -2
  183. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  184. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  185. package/Libraries/Network/XMLHttpRequest.js +1 -1
  186. package/Libraries/Pressability/Pressability.js +10 -4
  187. package/Libraries/Pressability/Pressability.win32.js +9 -3
  188. package/Libraries/ReactNative/AppContainer.js +7 -1
  189. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  190. package/Libraries/ReactNative/AppRegistry.js +10 -13
  191. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  192. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  193. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  194. package/Libraries/ReactNative/UIManager.js +168 -1
  195. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  196. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  197. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  198. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  199. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  200. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  201. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  202. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  203. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  204. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  205. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  206. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  207. package/Libraries/Share/Share.js +1 -1
  208. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  210. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  211. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  212. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  213. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  214. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  215. package/Libraries/StyleSheet/processColor.js +1 -1
  216. package/Libraries/Text/Text.d.ts +12 -2
  217. package/Libraries/Text/Text.js +50 -41
  218. package/Libraries/Text/TextProps.js +3 -4
  219. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  220. package/Libraries/Types/CodegenTypes.js +1 -0
  221. package/Libraries/UTFSequence.js +3 -1
  222. package/Libraries/Utilities/Appearance.d.ts +10 -0
  223. package/Libraries/Utilities/Appearance.js +13 -0
  224. package/Libraries/Utilities/Dimensions.js +1 -1
  225. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  226. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  227. package/Libraries/Utilities/HMRClient.js +16 -10
  228. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  229. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  230. package/Libraries/Utilities/LoadingView.android.js +28 -11
  231. package/Libraries/Utilities/NativeAppearance.js +1 -0
  232. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  233. package/Libraries/Utilities/PixelRatio.js +2 -2
  234. package/Libraries/Utilities/Platform.win32.js +1 -1
  235. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  236. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  237. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  238. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  239. package/Libraries/Utilities/stringifySafe.js +2 -7
  240. package/Libraries/Utilities/useColorScheme.win32.js +26 -0
  241. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  242. package/Libraries/WebPerformance/EventCounts.js +78 -0
  243. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  244. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  245. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  246. package/Libraries/WebPerformance/Performance.js +312 -0
  247. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  248. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  249. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  250. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  251. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  252. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  253. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  254. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  255. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  256. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  257. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  258. package/flow/global.js +29 -4
  259. package/flow/jest.js +258 -164
  260. package/flow/use-sync-external-store.js +1 -0
  261. package/index.js +56 -42
  262. package/index.win32.js +56 -42
  263. package/interface.js +1 -1
  264. package/jest/local-setup.js +33 -0
  265. package/jest/mockComponent.js +4 -2
  266. package/jest/mockNativeComponent.js +1 -1
  267. package/jest/mockScrollView.js +2 -1
  268. package/jest/react-native-env.js +1 -3
  269. package/jest/setup.js +11 -8
  270. package/overrides.json +122 -85
  271. package/package.json +40 -30
  272. package/rn-get-polyfills.js +1 -1
  273. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  274. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +3 -3
  275. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  276. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  277. package/types/index.d.ts +2 -6
  278. package/types/modules/Codegen.d.ts +4 -4
  279. package/types/modules/globals.d.ts +27 -25
  280. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  281. package/types/public/ReactNativeRenderer.d.ts +2 -7
  282. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  283. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  284. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  285. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  286. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  287. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  288. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  289. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  290. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  291. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  292. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  293. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  294. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  295. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  296. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  297. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  298. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  299. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  300. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  301. package/Libraries/Components/Slider/Slider.js +0 -282
  302. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  303. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  304. package/Libraries/Interaction/Batchinator.js +0 -76
  305. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  306. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  307. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  308. package/Libraries/Lists/CellRenderMask.js +0 -155
  309. package/Libraries/Lists/ChildListCollection.js +0 -72
  310. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  311. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  312. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  313. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  314. package/Libraries/Performance/PureComponentDebug.js +0 -74
  315. package/Libraries/Reliability/UserFlow.js +0 -158
  316. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  317. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  318. package/Libraries/Utilities/MatrixMath.js +0 -748
  319. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  320. package/Libraries/Utilities/clamp.js +0 -23
  321. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  322. package/Libraries/Utilities/groupByEveryN.js +0 -51
  323. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  324. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  325. package/Libraries/Utilities/truncate.js +0 -51
  326. package/flow/JSITimerInternalType.js +0 -30
@@ -13,7 +13,7 @@
13
13
  let resolvedPromise;
14
14
 
15
15
  /**
16
- * Polyfill for the microtask queuening API defined by WHATWG HTMP spec.
16
+ * Polyfill for the microtask queueing API defined by WHATWG HTML spec.
17
17
  * https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
18
18
  *
19
19
  * The method must queue a microtask to invoke @param {function} callback, and
@@ -15,7 +15,7 @@
15
15
  * You can use this module directly, or just require InitializeCore.
16
16
  */
17
17
  if (!global.alert) {
18
- global.alert = function (text) {
18
+ global.alert = function (text: string) {
19
19
  // Require Alert on demand. Requiring it too early can lead to issues
20
20
  // with things like Platform not being fully initialized.
21
21
  require('../Alert/Alert').alert('Alert', '' + text);
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ import DOMRect from '../DOM/Geometry/DOMRect';
12
+ import DOMRectReadOnly from '../DOM/Geometry/DOMRectReadOnly';
13
+
14
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
15
+ global.DOMRect = DOMRect;
16
+
17
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
18
+ global.DOMRectReadOnly = DOMRectReadOnly;
@@ -56,7 +56,7 @@ if (__DEV__) {
56
56
  'debug',
57
57
  ].forEach(level => {
58
58
  const originalFunction = console[level];
59
- console[level] = function (...args) {
59
+ console[level] = function (...args: $ReadOnlyArray<mixed>) {
60
60
  HMRClient.log(level, args);
61
61
  originalFunction.apply(console, args);
62
62
  };
@@ -15,18 +15,21 @@
15
15
  * You can use this module directly, or just require InitializeCore.
16
16
  */
17
17
  if (global.window === undefined) {
18
- // $FlowFixMe[cannot-write]
18
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
19
19
  global.window = global;
20
20
  }
21
21
 
22
22
  if (global.self === undefined) {
23
- // $FlowFixMe[cannot-write]
23
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
24
24
  global.self = global;
25
25
  }
26
26
 
27
27
  // Set up process
28
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
28
29
  global.process = global.process || {};
30
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
29
31
  global.process.env = global.process.env || {};
30
32
  if (!global.process.env.NODE_ENV) {
33
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
31
34
  global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production';
32
35
  }
@@ -12,10 +12,11 @@
12
12
 
13
13
  const {polyfillObjectProperty} = require('../Utilities/PolyfillFunctions');
14
14
 
15
- let navigator = global.navigator;
15
+ const navigator = global.navigator;
16
16
  if (navigator === undefined) {
17
- global.navigator = navigator = {};
17
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
18
+ global.navigator = {product: 'ReactNative'};
19
+ } else {
20
+ // see https://github.com/facebook/react-native/issues/10881
21
+ polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
18
22
  }
19
-
20
- // see https://github.com/facebook/react-native/issues/10881
21
- polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
@@ -8,19 +8,29 @@
8
8
  * @format
9
9
  */
10
10
 
11
- 'use strict';
11
+ import NativePerformance from '../WebPerformance/NativePerformance';
12
+ import Performance from '../WebPerformance/Performance';
12
13
 
13
- if (!global.performance) {
14
- global.performance = ({}: {now?: () => number});
15
- }
14
+ // In case if the native implementation of the Performance API is available, use it,
15
+ // otherwise fall back to the legacy/default one, which only defines 'Performance.now()'
16
+ if (NativePerformance) {
17
+ // $FlowExpectedError[cannot-write]
18
+ global.performance = new Performance();
19
+ } else {
20
+ if (!global.performance) {
21
+ // $FlowExpectedError[cannot-write]
22
+ global.performance = ({}: {now?: () => number});
23
+ }
16
24
 
17
- /**
18
- * Returns a double, measured in milliseconds.
19
- * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
20
- */
21
- if (typeof global.performance.now !== 'function') {
22
- global.performance.now = function () {
23
- const performanceNow = global.nativePerformanceNow || Date.now;
24
- return performanceNow();
25
- };
25
+ /**
26
+ * Returns a double, measured in milliseconds.
27
+ * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
28
+ */
29
+ if (typeof global.performance.now !== 'function') {
30
+ // $FlowExpectedError[cannot-write]
31
+ global.performance.now = function () {
32
+ const performanceNow = global.nativePerformanceNow || Date.now;
33
+ return performanceNow();
34
+ };
35
+ }
26
36
  }
@@ -62,6 +62,7 @@ if (__DEV__) {
62
62
  });
63
63
 
64
64
  const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
65
+ const devToolsSettingsManager = require('../DevToolsSettings/DevToolsSettingsManager');
65
66
 
66
67
  reactDevTools.connectToDevTools({
67
68
  isAppActive,
@@ -70,6 +71,7 @@ if (__DEV__) {
70
71
  ReactNativeStyleAttributes,
71
72
  ),
72
73
  websocket: ws,
74
+ devToolsSettingsManager,
73
75
  });
74
76
  }
75
77
  };
@@ -11,7 +11,6 @@
11
11
  'use strict';
12
12
 
13
13
  export type FetchSegmentFunction = typeof __fetchSegment;
14
- export type GetSegmentFunction = typeof __getSegment;
15
14
 
16
15
  /**
17
16
  * Set up SegmentFetcher.
@@ -51,43 +50,3 @@ function __fetchSegment(
51
50
  }
52
51
 
53
52
  global.__fetchSegment = __fetchSegment;
54
-
55
- function __getSegment(
56
- segmentId: number,
57
- options: $ReadOnly<{
58
- otaBuildNumber: ?string,
59
- requestedModuleName: string,
60
- segmentHash: string,
61
- }>,
62
- callback: (?Error, ?string) => void,
63
- ) {
64
- const SegmentFetcher =
65
- require('./SegmentFetcher/NativeSegmentFetcher').default;
66
-
67
- if (!SegmentFetcher.getSegment) {
68
- throw new Error('SegmentFetcher.getSegment must be defined');
69
- }
70
-
71
- SegmentFetcher.getSegment(
72
- segmentId,
73
- options,
74
- (
75
- errorObject: ?{
76
- message: string,
77
- code: string,
78
- ...
79
- },
80
- path: ?string,
81
- ) => {
82
- if (errorObject) {
83
- const error = new Error(errorObject.message);
84
- (error: any).code = errorObject.code; // flowlint-line unclear-type: off
85
- callback(error);
86
- }
87
-
88
- callback(null, path);
89
- },
90
- );
91
- }
92
-
93
- global.__getSegment = __getSegment;
@@ -61,7 +61,7 @@ if (global.RN$Bridgeless !== true) {
61
61
  * as the Promise.
62
62
  */
63
63
  if (hasPromiseQueuedToJSVM) {
64
- // When promise queues to the JSVM microtasks queue, we shim the immedaite
64
+ // When promise queues to the JSVM microtasks queue, we shim the immediate
65
65
  // APIs via `queueMicrotask` to maintain the backward compatibility.
66
66
  polyfillGlobal(
67
67
  'setImmediate',
@@ -95,7 +95,7 @@ if (hasHermesPromiseQueuedToJSVM) {
95
95
  // Fast path for Hermes.
96
96
  polyfillGlobal('queueMicrotask', () => global.HermesInternal?.enqueueJob);
97
97
  } else {
98
- // Polyfill it with promise (regardless it's polyfiled or native) otherwise.
98
+ // Polyfill it with promise (regardless it's polyfilled or native) otherwise.
99
99
  polyfillGlobal(
100
100
  'queueMicrotask',
101
101
  () => require('./Timers/queueMicrotask.js').default,
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ /**
12
+ * The JSDoc comments in this file have been extracted from [DOMRect](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
13
+ * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/contributors.txt),
14
+ * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
15
+ */
16
+
17
+ import DOMRectReadOnly, {type DOMRectLike} from './DOMRectReadOnly';
18
+
19
+ // flowlint unsafe-getters-setters:off
20
+
21
+ /**
22
+ * A `DOMRect` describes the size and position of a rectangle.
23
+ * The type of box represented by the `DOMRect` is specified by the method or property that returned it.
24
+ *
25
+ * This is a (mostly) spec-compliant version of `DOMRect` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
26
+ */
27
+ export default class DOMRect extends DOMRectReadOnly {
28
+ /**
29
+ * The x coordinate of the `DOMRect`'s origin.
30
+ */
31
+ get x(): number {
32
+ return this.__getInternalX();
33
+ }
34
+
35
+ set x(x: ?number) {
36
+ this.__setInternalX(x);
37
+ }
38
+
39
+ /**
40
+ * The y coordinate of the `DOMRect`'s origin.
41
+ */
42
+ get y(): number {
43
+ return this.__getInternalY();
44
+ }
45
+
46
+ set y(y: ?number) {
47
+ this.__setInternalY(y);
48
+ }
49
+
50
+ /**
51
+ * The width of the `DOMRect`.
52
+ */
53
+ get width(): number {
54
+ return this.__getInternalWidth();
55
+ }
56
+
57
+ set width(width: ?number) {
58
+ this.__setInternalWidth(width);
59
+ }
60
+
61
+ /**
62
+ * The height of the `DOMRect`.
63
+ */
64
+ get height(): number {
65
+ return this.__getInternalHeight();
66
+ }
67
+
68
+ set height(height: ?number) {
69
+ this.__setInternalHeight(height);
70
+ }
71
+
72
+ /**
73
+ * Creates a new `DOMRect` object with a given location and dimensions.
74
+ */
75
+ static fromRect(rect?: ?DOMRectLike): DOMRect {
76
+ if (!rect) {
77
+ return new DOMRect();
78
+ }
79
+
80
+ return new DOMRect(rect.x, rect.y, rect.width, rect.height);
81
+ }
82
+ }
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ /**
12
+ * The JSDoc comments in this file have been extracted from [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
13
+ * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly/contributors.txt),
14
+ * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
15
+ */
16
+
17
+ // flowlint sketchy-null:off, unsafe-getters-setters:off
18
+
19
+ export interface DOMRectLike {
20
+ x?: ?number;
21
+ y?: ?number;
22
+ width?: ?number;
23
+ height?: ?number;
24
+ }
25
+
26
+ function castToNumber(value: mixed): number {
27
+ return value ? Number(value) : 0;
28
+ }
29
+
30
+ /**
31
+ * The `DOMRectReadOnly` interface specifies the standard properties used by `DOMRect` to define a rectangle whose properties are immutable.
32
+ *
33
+ * This is a (mostly) spec-compliant version of `DOMRectReadOnly` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
34
+ */
35
+ export default class DOMRectReadOnly {
36
+ _x: number;
37
+ _y: number;
38
+ _width: number;
39
+ _height: number;
40
+
41
+ constructor(x: ?number, y: ?number, width: ?number, height: ?number) {
42
+ this.__setInternalX(x);
43
+ this.__setInternalY(y);
44
+ this.__setInternalWidth(width);
45
+ this.__setInternalHeight(height);
46
+ }
47
+
48
+ /**
49
+ * The x coordinate of the `DOMRectReadOnly`'s origin.
50
+ */
51
+ get x(): number {
52
+ return this._x;
53
+ }
54
+
55
+ /**
56
+ * The y coordinate of the `DOMRectReadOnly`'s origin.
57
+ */
58
+ get y(): number {
59
+ return this._y;
60
+ }
61
+
62
+ /**
63
+ * The width of the `DOMRectReadOnly`.
64
+ */
65
+ get width(): number {
66
+ return this._width;
67
+ }
68
+
69
+ /**
70
+ * The height of the `DOMRectReadOnly`.
71
+ */
72
+ get height(): number {
73
+ return this._height;
74
+ }
75
+
76
+ /**
77
+ * Returns the top coordinate value of the `DOMRect` (has the same value as `y`, or `y + height` if `height` is negative).
78
+ */
79
+ get top(): number {
80
+ const height = this._height;
81
+ const y = this._y;
82
+
83
+ if (height < 0) {
84
+ return y + height;
85
+ }
86
+
87
+ return y;
88
+ }
89
+
90
+ /**
91
+ * Returns the right coordinate value of the `DOMRect` (has the same value as ``x + width`, or `x` if `width` is negative).
92
+ */
93
+ get right(): number {
94
+ const width = this._width;
95
+ const x = this._x;
96
+
97
+ if (width < 0) {
98
+ return x;
99
+ }
100
+
101
+ return x + width;
102
+ }
103
+
104
+ /**
105
+ * Returns the bottom coordinate value of the `DOMRect` (has the same value as `y + height`, or `y` if `height` is negative).
106
+ */
107
+ get bottom(): number {
108
+ const height = this._height;
109
+ const y = this._y;
110
+
111
+ if (height < 0) {
112
+ return y;
113
+ }
114
+
115
+ return y + height;
116
+ }
117
+
118
+ /**
119
+ * Returns the left coordinate value of the `DOMRect` (has the same value as `x`, or `x + width` if `width` is negative).
120
+ */
121
+ get left(): number {
122
+ const width = this._width;
123
+ const x = this._x;
124
+
125
+ if (width < 0) {
126
+ return x + width;
127
+ }
128
+
129
+ return x;
130
+ }
131
+
132
+ toJSON(): {
133
+ x: number,
134
+ y: number,
135
+ width: number,
136
+ height: number,
137
+ top: number,
138
+ left: number,
139
+ bottom: number,
140
+ right: number,
141
+ } {
142
+ const {x, y, width, height, top, left, bottom, right} = this;
143
+ return {x, y, width, height, top, left, bottom, right};
144
+ }
145
+
146
+ /**
147
+ * Creates a new `DOMRectReadOnly` object with a given location and dimensions.
148
+ */
149
+ static fromRect(rect?: ?DOMRectLike): DOMRectReadOnly {
150
+ if (!rect) {
151
+ return new DOMRectReadOnly();
152
+ }
153
+
154
+ return new DOMRectReadOnly(rect.x, rect.y, rect.width, rect.height);
155
+ }
156
+
157
+ __getInternalX(): number {
158
+ return this._x;
159
+ }
160
+
161
+ __getInternalY(): number {
162
+ return this._y;
163
+ }
164
+
165
+ __getInternalWidth(): number {
166
+ return this._width;
167
+ }
168
+
169
+ __getInternalHeight(): number {
170
+ return this._height;
171
+ }
172
+
173
+ __setInternalX(x: ?number) {
174
+ this._x = castToNumber(x);
175
+ }
176
+
177
+ __setInternalY(y: ?number) {
178
+ this._y = castToNumber(y);
179
+ }
180
+
181
+ __setInternalWidth(width: ?number) {
182
+ this._width = castToNumber(width);
183
+ }
184
+
185
+ __setInternalHeight(height: ?number) {
186
+ this._height = castToNumber(height);
187
+ }
188
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {
14
+ HostComponent,
15
+ MeasureInWindowOnSuccessCallback,
16
+ MeasureLayoutOnSuccessCallback,
17
+ MeasureOnSuccessCallback,
18
+ } from '../../Renderer/shims/ReactNativeTypes';
19
+ import type {ElementRef} from 'react';
20
+
21
+ import ReadOnlyElement from './ReadOnlyElement';
22
+
23
+ export default class ReactNativeElement extends ReadOnlyElement {
24
+ get offsetHeight(): number {
25
+ throw new TypeError('Unimplemented');
26
+ }
27
+
28
+ get offsetLeft(): number {
29
+ throw new TypeError('Unimplemented');
30
+ }
31
+
32
+ get offsetParent(): ReadOnlyElement | null {
33
+ throw new TypeError('Unimplemented');
34
+ }
35
+
36
+ get offsetTop(): number {
37
+ throw new TypeError('Unimplemented');
38
+ }
39
+
40
+ get offsetWidth(): number {
41
+ throw new TypeError('Unimplemented');
42
+ }
43
+
44
+ /**
45
+ * React Native compatibility methods
46
+ */
47
+
48
+ blur(): void {
49
+ throw new TypeError('Unimplemented');
50
+ }
51
+
52
+ focus(): void {
53
+ throw new TypeError('Unimplemented');
54
+ }
55
+
56
+ measure(callback: MeasureOnSuccessCallback): void {
57
+ throw new TypeError('Unimplemented');
58
+ }
59
+
60
+ measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {
61
+ throw new TypeError('Unimplemented');
62
+ }
63
+
64
+ measureLayout(
65
+ relativeToNativeNode: number | ElementRef<HostComponent<mixed>>,
66
+ onSuccess: MeasureLayoutOnSuccessCallback,
67
+ onFail?: () => void /* currently unused */,
68
+ ): void {
69
+ throw new TypeError('Unimplemented');
70
+ }
71
+
72
+ setNativeProps(nativeProps: {...}): void {
73
+ throw new TypeError('Unimplemented');
74
+ }
75
+ }
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type HTMLCollection from '../OldStyleCollections/HTMLCollection';
14
+
15
+ import ReadOnlyNode from './ReadOnlyNode';
16
+
17
+ export default class ReadOnlyElement extends ReadOnlyNode {
18
+ get childElementCount(): number {
19
+ throw new TypeError('Unimplemented');
20
+ }
21
+
22
+ get children(): HTMLCollection<ReadOnlyElement> {
23
+ throw new TypeError('Unimplemented');
24
+ }
25
+
26
+ get clientHeight(): number {
27
+ throw new TypeError('Unimplemented');
28
+ }
29
+
30
+ get clientLeft(): number {
31
+ throw new TypeError('Unimplemented');
32
+ }
33
+
34
+ get clientTop(): number {
35
+ throw new TypeError('Unimplemented');
36
+ }
37
+
38
+ get clientWidth(): number {
39
+ throw new TypeError('Unimplemented');
40
+ }
41
+
42
+ get firstElementChild(): ReadOnlyElement | null {
43
+ throw new TypeError('Unimplemented');
44
+ }
45
+
46
+ get id(): string {
47
+ throw new TypeError('Unimplemented');
48
+ }
49
+
50
+ get lastElementChild(): ReadOnlyElement | null {
51
+ throw new TypeError('Unimplemented');
52
+ }
53
+
54
+ get nextElementSibling(): ReadOnlyElement | null {
55
+ throw new TypeError('Unimplemented');
56
+ }
57
+
58
+ get previousElementSibling(): ReadOnlyElement | null {
59
+ throw new TypeError('Unimplemented');
60
+ }
61
+
62
+ get scrollHeight(): number {
63
+ throw new TypeError('Unimplemented');
64
+ }
65
+
66
+ get scrollLeft(): number {
67
+ throw new TypeError('Unimplemented');
68
+ }
69
+
70
+ get scrollTop(): number {
71
+ throw new TypeError('Unimplemented');
72
+ }
73
+
74
+ get scrollWidth(): number {
75
+ throw new TypeError('Unimplemented');
76
+ }
77
+
78
+ get tagName(): string {
79
+ throw new TypeError('Unimplemented');
80
+ }
81
+
82
+ getBoundingClientRect(): DOMRect {
83
+ throw new TypeError('Unimplemented');
84
+ }
85
+
86
+ getClientRects(): DOMRectList {
87
+ throw new TypeError('Unimplemented');
88
+ }
89
+ }