@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
@@ -0,0 +1,312 @@
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 {HighResTimeStamp, PerformanceEntryType} from './PerformanceEntry';
14
+ import type {PerformanceEntryList} from './PerformanceObserver';
15
+
16
+ import warnOnce from '../Utilities/warnOnce';
17
+ import EventCounts from './EventCounts';
18
+ import MemoryInfo from './MemoryInfo';
19
+ import NativePerformance from './NativePerformance';
20
+ import NativePerformanceObserver from './NativePerformanceObserver';
21
+ import {PerformanceEntry} from './PerformanceEntry';
22
+ import {warnNoNativePerformanceObserver} from './PerformanceObserver';
23
+ import {
24
+ performanceEntryTypeToRaw,
25
+ rawToPerformanceEntry,
26
+ } from './RawPerformanceEntry';
27
+ import {RawPerformanceEntryTypeValues} from './RawPerformanceEntry';
28
+ import ReactNativeStartupTiming from './ReactNativeStartupTiming';
29
+
30
+ type DetailType = mixed;
31
+
32
+ export type PerformanceMarkOptions = {
33
+ detail?: DetailType,
34
+ startTime?: HighResTimeStamp,
35
+ };
36
+
37
+ declare var global: {
38
+ // This value is defined directly via JSI, if available.
39
+ +nativePerformanceNow?: ?() => number,
40
+ };
41
+
42
+ const getCurrentTimeStamp: () => HighResTimeStamp = global.nativePerformanceNow
43
+ ? global.nativePerformanceNow
44
+ : () => Date.now();
45
+
46
+ export class PerformanceMark extends PerformanceEntry {
47
+ detail: DetailType;
48
+
49
+ constructor(markName: string, markOptions?: PerformanceMarkOptions) {
50
+ super({
51
+ name: markName,
52
+ entryType: 'mark',
53
+ startTime: markOptions?.startTime ?? getCurrentTimeStamp(),
54
+ duration: 0,
55
+ });
56
+
57
+ if (markOptions) {
58
+ this.detail = markOptions.detail;
59
+ }
60
+ }
61
+ }
62
+
63
+ export type TimeStampOrName = HighResTimeStamp | string;
64
+
65
+ export type PerformanceMeasureOptions = {
66
+ detail?: DetailType,
67
+ start?: TimeStampOrName,
68
+ end?: TimeStampOrName,
69
+ duration?: HighResTimeStamp,
70
+ };
71
+
72
+ export class PerformanceMeasure extends PerformanceEntry {
73
+ detail: DetailType;
74
+
75
+ constructor(measureName: string, measureOptions?: PerformanceMeasureOptions) {
76
+ super({
77
+ name: measureName,
78
+ entryType: 'measure',
79
+ startTime: 0,
80
+ duration: measureOptions?.duration ?? 0,
81
+ });
82
+
83
+ if (measureOptions) {
84
+ this.detail = measureOptions.detail;
85
+ }
86
+ }
87
+ }
88
+
89
+ function warnNoNativePerformance() {
90
+ warnOnce(
91
+ 'missing-native-performance',
92
+ 'Missing native implementation of Performance',
93
+ );
94
+ }
95
+
96
+ /**
97
+ * Partial implementation of the Performance interface for RN,
98
+ * corresponding to the standard in
99
+ * https://www.w3.org/TR/user-timing/#extensions-performance-interface
100
+ */
101
+ export default class Performance {
102
+ eventCounts: EventCounts = new EventCounts();
103
+
104
+ // Get the current JS memory information.
105
+ get memory(): MemoryInfo {
106
+ if (NativePerformance?.getSimpleMemoryInfo) {
107
+ // JSI API implementations may have different variants of names for the JS
108
+ // heap information we need here. We will parse the result based on our
109
+ // guess of the implementation for now.
110
+ const memoryInfo = NativePerformance.getSimpleMemoryInfo();
111
+ if (memoryInfo.hasOwnProperty('hermes_heapSize')) {
112
+ // We got memory information from Hermes
113
+ const {
114
+ hermes_heapSize: totalJSHeapSize,
115
+ hermes_allocatedBytes: usedJSHeapSize,
116
+ } = memoryInfo;
117
+
118
+ return new MemoryInfo({
119
+ jsHeapSizeLimit: null, // We don't know the heap size limit from Hermes.
120
+ totalJSHeapSize,
121
+ usedJSHeapSize,
122
+ });
123
+ } else {
124
+ // JSC and V8 has no native implementations for memory information in JSI::Instrumentation
125
+ return new MemoryInfo();
126
+ }
127
+ }
128
+
129
+ return new MemoryInfo();
130
+ }
131
+
132
+ // Startup metrics is not used in web, but only in React Native.
133
+ get reactNativeStartupTiming(): ReactNativeStartupTiming {
134
+ if (NativePerformance?.getReactNativeStartupTiming) {
135
+ return new ReactNativeStartupTiming(
136
+ NativePerformance.getReactNativeStartupTiming(),
137
+ );
138
+ }
139
+ return new ReactNativeStartupTiming();
140
+ }
141
+
142
+ mark(
143
+ markName: string,
144
+ markOptions?: PerformanceMarkOptions,
145
+ ): PerformanceMark {
146
+ const mark = new PerformanceMark(markName, markOptions);
147
+
148
+ if (NativePerformance?.mark) {
149
+ NativePerformance.mark(markName, mark.startTime, mark.duration);
150
+ } else {
151
+ warnNoNativePerformance();
152
+ }
153
+
154
+ return mark;
155
+ }
156
+
157
+ clearMarks(markName?: string): void {
158
+ if (!NativePerformanceObserver?.clearEntries) {
159
+ warnNoNativePerformanceObserver();
160
+ return;
161
+ }
162
+
163
+ NativePerformanceObserver?.clearEntries(
164
+ RawPerformanceEntryTypeValues.MARK,
165
+ markName,
166
+ );
167
+ }
168
+
169
+ measure(
170
+ measureName: string,
171
+ startMarkOrOptions?: string | PerformanceMeasureOptions,
172
+ endMark?: string,
173
+ ): PerformanceMeasure {
174
+ let options;
175
+ let startMarkName,
176
+ endMarkName = endMark,
177
+ duration,
178
+ startTime = 0,
179
+ endTime = 0;
180
+
181
+ if (typeof startMarkOrOptions === 'string') {
182
+ startMarkName = startMarkOrOptions;
183
+ } else if (startMarkOrOptions !== undefined) {
184
+ options = startMarkOrOptions;
185
+ if (endMark !== undefined) {
186
+ throw new TypeError(
187
+ "Performance.measure: Can't have both options and endMark",
188
+ );
189
+ }
190
+ if (options.start === undefined && options.end === undefined) {
191
+ throw new TypeError(
192
+ 'Performance.measure: Must have at least one of start/end specified in options',
193
+ );
194
+ }
195
+ if (
196
+ options.start !== undefined &&
197
+ options.end !== undefined &&
198
+ options.duration !== undefined
199
+ ) {
200
+ throw new TypeError(
201
+ "Performance.measure: Can't have both start/end and duration explicitly in options",
202
+ );
203
+ }
204
+
205
+ if (typeof options.start === 'number') {
206
+ startTime = options.start;
207
+ } else {
208
+ startMarkName = options.start;
209
+ }
210
+
211
+ if (typeof options.end === 'number') {
212
+ endTime = options.end;
213
+ } else {
214
+ endMarkName = options.end;
215
+ }
216
+
217
+ duration = options.duration ?? duration;
218
+ }
219
+
220
+ const measure = new PerformanceMeasure(measureName, options);
221
+
222
+ if (NativePerformance?.measure) {
223
+ NativePerformance.measure(
224
+ measureName,
225
+ startTime,
226
+ endTime,
227
+ duration,
228
+ startMarkName,
229
+ endMarkName,
230
+ );
231
+ } else {
232
+ warnNoNativePerformance();
233
+ }
234
+
235
+ return measure;
236
+ }
237
+
238
+ clearMeasures(measureName?: string): void {
239
+ if (!NativePerformanceObserver?.clearEntries) {
240
+ warnNoNativePerformanceObserver();
241
+ return;
242
+ }
243
+
244
+ NativePerformanceObserver?.clearEntries(
245
+ RawPerformanceEntryTypeValues.MEASURE,
246
+ measureName,
247
+ );
248
+ }
249
+
250
+ /**
251
+ * Returns a double, measured in milliseconds.
252
+ * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
253
+ */
254
+ now(): HighResTimeStamp {
255
+ return getCurrentTimeStamp();
256
+ }
257
+
258
+ /**
259
+ * An extension that allows to get back to JS all currently logged marks/measures
260
+ * (in our case, be it from JS or native), see
261
+ * https://www.w3.org/TR/performance-timeline/#extensions-to-the-performance-interface
262
+ */
263
+ getEntries(): PerformanceEntryList {
264
+ if (!NativePerformanceObserver?.clearEntries) {
265
+ warnNoNativePerformanceObserver();
266
+ return [];
267
+ }
268
+ return NativePerformanceObserver.getEntries().map(rawToPerformanceEntry);
269
+ }
270
+
271
+ getEntriesByType(entryType: PerformanceEntryType): PerformanceEntryList {
272
+ if (entryType !== 'mark' && entryType !== 'measure') {
273
+ console.log(
274
+ `Performance.getEntriesByType: Only valid for 'mark' and 'measure' entry types, got ${entryType}`,
275
+ );
276
+ return [];
277
+ }
278
+
279
+ if (!NativePerformanceObserver?.clearEntries) {
280
+ warnNoNativePerformanceObserver();
281
+ return [];
282
+ }
283
+ return NativePerformanceObserver.getEntries(
284
+ performanceEntryTypeToRaw(entryType),
285
+ ).map(rawToPerformanceEntry);
286
+ }
287
+
288
+ getEntriesByName(
289
+ entryName: string,
290
+ entryType?: PerformanceEntryType,
291
+ ): PerformanceEntryList {
292
+ if (
293
+ entryType !== undefined &&
294
+ entryType !== 'mark' &&
295
+ entryType !== 'measure'
296
+ ) {
297
+ console.log(
298
+ `Performance.getEntriesByName: Only valid for 'mark' and 'measure' entry types, got ${entryType}`,
299
+ );
300
+ return [];
301
+ }
302
+
303
+ if (!NativePerformanceObserver?.clearEntries) {
304
+ warnNoNativePerformanceObserver();
305
+ return [];
306
+ }
307
+ return NativePerformanceObserver.getEntries(
308
+ entryType != null ? performanceEntryTypeToRaw(entryType) : undefined,
309
+ entryName,
310
+ ).map(rawToPerformanceEntry);
311
+ }
312
+ }
@@ -0,0 +1,45 @@
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
+ export type HighResTimeStamp = number;
12
+ export type PerformanceEntryType = 'mark' | 'measure' | 'event';
13
+
14
+ export class PerformanceEntry {
15
+ name: string;
16
+ entryType: PerformanceEntryType;
17
+ startTime: HighResTimeStamp;
18
+ duration: HighResTimeStamp;
19
+
20
+ constructor(init: {
21
+ name: string,
22
+ entryType: PerformanceEntryType,
23
+ startTime: HighResTimeStamp,
24
+ duration: HighResTimeStamp,
25
+ }) {
26
+ this.name = init.name;
27
+ this.entryType = init.entryType;
28
+ this.startTime = init.startTime;
29
+ this.duration = init.duration;
30
+ }
31
+
32
+ toJSON(): {
33
+ name: string,
34
+ entryType: PerformanceEntryType,
35
+ startTime: HighResTimeStamp,
36
+ duration: HighResTimeStamp,
37
+ } {
38
+ return {
39
+ name: this.name,
40
+ entryType: this.entryType,
41
+ startTime: this.startTime,
42
+ duration: this.duration,
43
+ };
44
+ }
45
+ }
@@ -0,0 +1,38 @@
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
+ import type {HighResTimeStamp} from './PerformanceEntry';
12
+
13
+ import {PerformanceEntry} from './PerformanceEntry';
14
+
15
+ export class PerformanceEventTiming extends PerformanceEntry {
16
+ processingStart: HighResTimeStamp;
17
+ processingEnd: HighResTimeStamp;
18
+ interactionId: number;
19
+
20
+ constructor(init: {
21
+ name: string,
22
+ startTime?: HighResTimeStamp,
23
+ duration?: HighResTimeStamp,
24
+ processingStart?: HighResTimeStamp,
25
+ processingEnd?: HighResTimeStamp,
26
+ interactionId?: number,
27
+ }) {
28
+ super({
29
+ name: init.name,
30
+ entryType: 'event',
31
+ startTime: init.startTime ?? 0,
32
+ duration: init.duration ?? 0,
33
+ });
34
+ this.processingStart = init.processingStart ?? 0;
35
+ this.processingEnd = init.processingEnd ?? 0;
36
+ this.interactionId = init.interactionId ?? 0;
37
+ }
38
+ }