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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +302 -47
  3. package/CHANGELOG.md +141 -27
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  73. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  75. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  76. package/Libraries/Components/View/View.js +71 -45
  77. package/Libraries/Components/View/View.win32.js +38 -16
  78. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  79. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  80. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  81. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  82. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  83. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  86. package/Libraries/Components/View/ViewWin32.js +3 -3
  87. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  88. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  89. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  90. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  91. package/Libraries/Core/ExceptionsManager.js +2 -2
  92. package/Libraries/Core/InitializeCore.js +2 -1
  93. package/Libraries/Core/ReactNativeVersion.js +3 -3
  94. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  95. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
  96. package/Libraries/Core/Timers/JSTimers.js +1 -1
  97. package/Libraries/Core/Timers/immediateShim.js +1 -0
  98. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  99. package/Libraries/Core/setUpAlert.js +1 -1
  100. package/Libraries/Core/setUpDOM.js +18 -0
  101. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  102. package/Libraries/Core/setUpGlobals.js +5 -2
  103. package/Libraries/Core/setUpNavigator.js +6 -5
  104. package/Libraries/Core/setUpPerformance.js +23 -13
  105. package/Libraries/Core/setUpReactDevTools.js +2 -0
  106. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  107. package/Libraries/Core/setUpTimers.js +2 -2
  108. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  109. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  110. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  111. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  112. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  113. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  114. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  115. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  116. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  117. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  120. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  121. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  122. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  123. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  124. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  125. package/Libraries/Events/EventPolyfill.js +1 -1
  126. package/Libraries/Image/AssetRegistry.js +1 -1
  127. package/Libraries/Image/AssetSourceResolver.js +3 -3
  128. package/Libraries/Image/Image.android.js +4 -1
  129. package/Libraries/Image/Image.d.ts +63 -2
  130. package/Libraries/Image/Image.ios.js +3 -0
  131. package/Libraries/Image/Image.win32.js +3 -0
  132. package/Libraries/Image/ImageBackground.js +1 -0
  133. package/Libraries/Image/ImageProps.js +1 -1
  134. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  135. package/Libraries/Image/RelativeImageStub.js +1 -1
  136. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  137. package/Libraries/Image/resolveAssetSource.js +1 -1
  138. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  139. package/Libraries/Inspector/ElementBox.js +4 -1
  140. package/Libraries/Inspector/Inspector.js +5 -6
  141. package/Libraries/Inspector/Inspector.win32.js +7 -6
  142. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  143. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  144. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  145. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  146. package/Libraries/Interaction/PanResponder.js +5 -6
  147. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  148. package/Libraries/Linking/Linking.js +1 -4
  149. package/Libraries/Lists/FillRateHelper.js +4 -238
  150. package/Libraries/Lists/FlatList.d.ts +15 -22
  151. package/Libraries/Lists/FlatList.js +9 -6
  152. package/Libraries/Lists/SectionList.d.ts +10 -6
  153. package/Libraries/Lists/SectionList.js +5 -3
  154. package/Libraries/Lists/SectionListModern.js +3 -3
  155. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  156. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  157. package/Libraries/Lists/VirtualizedList.js +10 -1867
  158. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  159. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  160. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  161. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  162. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  163. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  164. package/Libraries/LogBox/LogBox.js +1 -1
  165. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  166. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  167. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  170. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  171. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  172. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  173. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  174. package/Libraries/Modal/Modal.js +2 -2
  175. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  176. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  177. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  178. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  179. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  180. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  181. package/Libraries/Network/RCTNetworking.android.js +2 -2
  182. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  183. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  184. package/Libraries/Network/XMLHttpRequest.js +1 -1
  185. package/Libraries/Pressability/Pressability.js +11 -5
  186. package/Libraries/Pressability/Pressability.win32.js +9 -3
  187. package/Libraries/ReactNative/AppContainer.js +7 -1
  188. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  189. package/Libraries/ReactNative/AppRegistry.js +10 -13
  190. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  191. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  192. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  193. package/Libraries/ReactNative/UIManager.js +142 -1
  194. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  195. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  196. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  197. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  198. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  199. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  200. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  201. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  202. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  203. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  204. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  205. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  206. package/Libraries/Share/Share.js +1 -1
  207. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  208. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  210. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  211. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  212. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  213. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  214. package/Libraries/StyleSheet/processColor.js +1 -1
  215. package/Libraries/Text/Text.d.ts +12 -2
  216. package/Libraries/Text/Text.js +50 -41
  217. package/Libraries/Text/TextProps.js +3 -4
  218. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  219. package/Libraries/Types/CodegenTypes.js +1 -0
  220. package/Libraries/UTFSequence.js +3 -1
  221. package/Libraries/Utilities/Appearance.d.ts +10 -0
  222. package/Libraries/Utilities/Appearance.js +13 -0
  223. package/Libraries/Utilities/Dimensions.js +1 -1
  224. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  225. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  226. package/Libraries/Utilities/HMRClient.js +16 -10
  227. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  228. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  229. package/Libraries/Utilities/LoadingView.android.js +28 -11
  230. package/Libraries/Utilities/NativeAppearance.js +1 -0
  231. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  232. package/Libraries/Utilities/PixelRatio.js +2 -2
  233. package/Libraries/Utilities/Platform.win32.js +1 -1
  234. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  235. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  236. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  237. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  238. package/Libraries/Utilities/stringifySafe.js +2 -7
  239. package/Libraries/Utilities/useColorScheme.js +1 -1
  240. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  241. package/Libraries/WebPerformance/EventCounts.js +78 -0
  242. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  243. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  244. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  245. package/Libraries/WebPerformance/Performance.js +312 -0
  246. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  247. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  248. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  249. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  250. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  251. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  252. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  253. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  254. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  255. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  256. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  257. package/flow/global.js +29 -4
  258. package/flow/jest.js +258 -164
  259. package/index.js +56 -42
  260. package/index.win32.js +56 -42
  261. package/interface.js +1 -1
  262. package/jest/local-setup.js +33 -0
  263. package/jest/mockComponent.js +4 -2
  264. package/jest/mockNativeComponent.js +1 -1
  265. package/jest/mockScrollView.js +2 -1
  266. package/jest/react-native-env.js +1 -3
  267. package/jest/setup.js +11 -8
  268. package/overrides.json +115 -85
  269. package/package.json +38 -28
  270. package/rn-get-polyfills.js +1 -1
  271. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  272. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  273. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  274. package/types/index.d.ts +2 -6
  275. package/types/modules/Codegen.d.ts +4 -4
  276. package/types/modules/globals.d.ts +27 -25
  277. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  278. package/types/public/ReactNativeRenderer.d.ts +2 -7
  279. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  280. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  281. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  282. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  283. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  284. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  285. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  286. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  287. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  288. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  289. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  290. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  291. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  292. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  293. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  294. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  295. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  296. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  297. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  298. package/Libraries/Components/Slider/Slider.js +0 -282
  299. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  300. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  301. package/Libraries/Interaction/Batchinator.js +0 -76
  302. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  303. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  304. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  305. package/Libraries/Lists/CellRenderMask.js +0 -155
  306. package/Libraries/Lists/ChildListCollection.js +0 -72
  307. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  308. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  309. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  310. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  311. package/Libraries/Performance/PureComponentDebug.js +0 -74
  312. package/Libraries/Reliability/UserFlow.js +0 -158
  313. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  314. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  315. package/Libraries/Utilities/MatrixMath.js +0 -748
  316. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  317. package/Libraries/Utilities/clamp.js +0 -23
  318. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  319. package/Libraries/Utilities/groupByEveryN.js +0 -51
  320. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  321. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  322. package/Libraries/Utilities/truncate.js +0 -51
  323. package/flow/JSITimerInternalType.js +0 -30
  324. package/flow/use-sync-external-store.js +0 -19
@@ -1,72 +0,0 @@
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 invariant from 'invariant';
12
-
13
- export default class ChildListCollection<TList> {
14
- _cellKeyToChildren: Map<string, Set<TList>> = new Map();
15
- _childrenToCellKey: Map<TList, string> = new Map();
16
-
17
- add(list: TList, cellKey: string): void {
18
- invariant(
19
- !this._childrenToCellKey.has(list),
20
- 'Trying to add already present child list',
21
- );
22
-
23
- const cellLists = this._cellKeyToChildren.get(cellKey) ?? new Set();
24
- cellLists.add(list);
25
- this._cellKeyToChildren.set(cellKey, cellLists);
26
-
27
- this._childrenToCellKey.set(list, cellKey);
28
- }
29
-
30
- remove(list: TList): void {
31
- const cellKey = this._childrenToCellKey.get(list);
32
- invariant(cellKey != null, 'Trying to remove non-present child list');
33
- this._childrenToCellKey.delete(list);
34
-
35
- const cellLists = this._cellKeyToChildren.get(cellKey);
36
- invariant(cellLists, '_cellKeyToChildren should contain cellKey');
37
- cellLists.delete(list);
38
-
39
- if (cellLists.size === 0) {
40
- this._cellKeyToChildren.delete(cellKey);
41
- }
42
- }
43
-
44
- forEach(fn: TList => void): void {
45
- for (const listSet of this._cellKeyToChildren.values()) {
46
- for (const list of listSet) {
47
- fn(list);
48
- }
49
- }
50
- }
51
-
52
- forEachInCell(cellKey: string, fn: TList => void): void {
53
- const listSet = this._cellKeyToChildren.get(cellKey) ?? [];
54
- for (const list of listSet) {
55
- fn(list);
56
- }
57
- }
58
-
59
- anyInCell(cellKey: string, fn: TList => boolean): boolean {
60
- const listSet = this._cellKeyToChildren.get(cellKey) ?? [];
61
- for (const list of listSet) {
62
- if (fn(list)) {
63
- return true;
64
- }
65
- }
66
- return false;
67
- }
68
-
69
- size(): number {
70
- return this._childrenToCellKey.size;
71
- }
72
- }
@@ -1,85 +0,0 @@
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 invariant from 'invariant';
12
- import * as React from 'react';
13
-
14
- /**
15
- * `setState` is called asynchronously, and should not rely on the value of
16
- * `this.props` or `this.state`:
17
- * https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous
18
- *
19
- * SafePureComponent adds runtime enforcement, to catch cases where these
20
- * variables are read in a state updater function, instead of the ones passed
21
- * in.
22
- */
23
- export default class StateSafePureComponent<
24
- Props,
25
- State: interface {},
26
- > extends React.PureComponent<Props, State> {
27
- _inAsyncStateUpdate = false;
28
-
29
- constructor(props: Props) {
30
- super(props);
31
- this._installSetStateHooks();
32
- }
33
-
34
- setState(
35
- partialState: ?($Shape<State> | ((State, Props) => ?$Shape<State>)),
36
- callback?: () => mixed,
37
- ): void {
38
- if (typeof partialState === 'function') {
39
- super.setState((state, props) => {
40
- this._inAsyncStateUpdate = true;
41
- let ret;
42
- try {
43
- ret = partialState(state, props);
44
- } catch (err) {
45
- throw err;
46
- } finally {
47
- this._inAsyncStateUpdate = false;
48
- }
49
- return ret;
50
- }, callback);
51
- } else {
52
- super.setState(partialState, callback);
53
- }
54
- }
55
-
56
- _installSetStateHooks() {
57
- const that = this;
58
- let {props, state} = this;
59
-
60
- Object.defineProperty(this, 'props', {
61
- get() {
62
- invariant(
63
- !that._inAsyncStateUpdate,
64
- '"this.props" should not be accessed during state updates',
65
- );
66
- return props;
67
- },
68
- set(newProps: Props) {
69
- props = newProps;
70
- },
71
- });
72
- Object.defineProperty(this, 'state', {
73
- get() {
74
- invariant(
75
- !that._inAsyncStateUpdate,
76
- '"this.state" should not be acceessed during state updates',
77
- );
78
- return state;
79
- },
80
- set(newState: State) {
81
- state = newState;
82
- },
83
- });
84
- }
85
- }
@@ -1,347 +0,0 @@
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 type * as React from 'react';
11
- import type {LayoutChangeEvent} from '../../types';
12
- import {StyleProp} from '../StyleSheet/StyleSheet';
13
- import {ViewStyle} from '../StyleSheet/StyleSheetTypes';
14
- import type {
15
- ScrollResponderMixin,
16
- ScrollView,
17
- ScrollViewProps,
18
- } from '../Components/ScrollView/ScrollView';
19
- import type {View} from '../Components/View/View';
20
-
21
- export interface ViewToken {
22
- item: any;
23
- key: string;
24
- index: number | null;
25
- isViewable: boolean;
26
- section?: any;
27
- }
28
-
29
- export interface ViewabilityConfig {
30
- /**
31
- * Minimum amount of time (in milliseconds) that an item must be physically viewable before the
32
- * viewability callback will be fired. A high number means that scrolling through content without
33
- * stopping will not mark the content as viewable.
34
- */
35
- minimumViewTime?: number | undefined;
36
-
37
- /**
38
- * Percent of viewport that must be covered for a partially occluded item to count as
39
- * "viewable", 0-100. Fully visible items are always considered viewable. A value of 0 means
40
- * that a single pixel in the viewport makes the item viewable, and a value of 100 means that
41
- * an item must be either entirely visible or cover the entire viewport to count as viewable.
42
- */
43
- viewAreaCoveragePercentThreshold?: number | undefined;
44
-
45
- /**
46
- * Similar to `viewAreaCoveragePercentThreshold`, but considers the percent of the item that is visible,
47
- * rather than the fraction of the viewable area it covers.
48
- */
49
- itemVisiblePercentThreshold?: number | undefined;
50
-
51
- /**
52
- * Nothing is considered viewable until the user scrolls or `recordInteraction` is called after
53
- * render.
54
- */
55
- waitForInteraction?: boolean | undefined;
56
- }
57
-
58
- export interface ViewabilityConfigCallbackPair {
59
- viewabilityConfig: ViewabilityConfig;
60
- onViewableItemsChanged:
61
- | ((info: {
62
- viewableItems: Array<ViewToken>;
63
- changed: Array<ViewToken>;
64
- }) => void)
65
- | null;
66
- }
67
-
68
- export type ViewabilityConfigCallbackPairs = ViewabilityConfigCallbackPair[];
69
-
70
- /**
71
- * @see https://reactnative.dev/docs/flatlist#props
72
- */
73
-
74
- export interface ListRenderItemInfo<ItemT> {
75
- item: ItemT;
76
-
77
- index: number;
78
-
79
- separators: {
80
- highlight: () => void;
81
- unhighlight: () => void;
82
- updateProps: (select: 'leading' | 'trailing', newProps: any) => void;
83
- };
84
- }
85
-
86
- export type ListRenderItem<ItemT> = (
87
- info: ListRenderItemInfo<ItemT>,
88
- ) => React.ReactElement | null;
89
-
90
- /**
91
- * @see https://reactnative.dev/docs/virtualizedlist
92
- */
93
- export class VirtualizedList<ItemT> extends React.Component<
94
- VirtualizedListProps<ItemT>
95
- > {
96
- scrollToEnd: (params?: {animated?: boolean | undefined}) => void;
97
- scrollToIndex: (params: {
98
- animated?: boolean | undefined;
99
- index: number;
100
- viewOffset?: number | undefined;
101
- viewPosition?: number | undefined;
102
- }) => void;
103
- scrollToItem: (params: {
104
- animated?: boolean | undefined;
105
- item: ItemT;
106
- viewOffset?: number | undefined;
107
- viewPosition?: number | undefined;
108
- }) => void;
109
-
110
- /**
111
- * Scroll to a specific content pixel offset in the list.
112
- * Param `offset` expects the offset to scroll to. In case of horizontal is true, the
113
- * offset is the x-value, in any other case the offset is the y-value.
114
- * Param `animated` (true by default) defines whether the list should do an animation while scrolling.
115
- */
116
- scrollToOffset: (params: {
117
- animated?: boolean | undefined;
118
- offset: number;
119
- }) => void;
120
-
121
- recordInteraction: () => void;
122
-
123
- getScrollRef: () =>
124
- | React.ElementRef<typeof ScrollView>
125
- | React.ElementRef<typeof View>
126
- | null;
127
-
128
- getScrollResponder: () => ScrollResponderMixin | null;
129
- }
130
-
131
- /**
132
- * @see https://reactnative.dev/docs/virtualizedlist#props
133
- */
134
-
135
- export interface VirtualizedListProps<ItemT>
136
- extends VirtualizedListWithoutRenderItemProps<ItemT> {
137
- renderItem: ListRenderItem<ItemT> | null | undefined;
138
- }
139
-
140
- export interface VirtualizedListWithoutRenderItemProps<ItemT>
141
- extends ScrollViewProps {
142
- /**
143
- * Rendered in between each item, but not at the top or bottom
144
- */
145
- ItemSeparatorComponent?: React.ComponentType<any> | null | undefined;
146
-
147
- /**
148
- * Rendered when the list is empty. Can be a React Component Class, a render function, or
149
- * a rendered element.
150
- */
151
- ListEmptyComponent?:
152
- | React.ComponentType<any>
153
- | React.ReactElement
154
- | null
155
- | undefined;
156
-
157
- /**
158
- * Rendered at the bottom of all the items. Can be a React Component Class, a render function, or
159
- * a rendered element.
160
- */
161
- ListFooterComponent?:
162
- | React.ComponentType<any>
163
- | React.ReactElement
164
- | null
165
- | undefined;
166
-
167
- /**
168
- * Styling for internal View for ListFooterComponent
169
- */
170
- ListFooterComponentStyle?: StyleProp<ViewStyle> | undefined;
171
-
172
- /**
173
- * Rendered at the top of all the items. Can be a React Component Class, a render function, or
174
- * a rendered element.
175
- */
176
- ListHeaderComponent?:
177
- | React.ComponentType<any>
178
- | React.ReactElement
179
- | null
180
- | undefined;
181
-
182
- /**
183
- * Styling for internal View for ListHeaderComponent
184
- */
185
- ListHeaderComponentStyle?: StyleProp<ViewStyle> | undefined;
186
-
187
- /**
188
- * The default accessor functions assume this is an Array<{key: string}> but you can override
189
- * getItem, getItemCount, and keyExtractor to handle any type of index-based data.
190
- */
191
- data?: any;
192
-
193
- /**
194
- * `debug` will turn on extra logging and visual overlays to aid with debugging both usage and
195
- * implementation, but with a significant perf hit.
196
- */
197
- debug?: boolean | undefined;
198
-
199
- /**
200
- * DEPRECATED: Virtualization provides significant performance and memory optimizations, but fully
201
- * unmounts react instances that are outside of the render window. You should only need to disable
202
- * this for debugging purposes.
203
- */
204
- disableVirtualization?: boolean | undefined;
205
-
206
- /**
207
- * A marker property for telling the list to re-render (since it implements `PureComponent`). If
208
- * any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the
209
- * `data` prop, stick it here and treat it immutably.
210
- */
211
- extraData?: any;
212
-
213
- /**
214
- * A generic accessor for extracting an item from any sort of data blob.
215
- */
216
- getItem?: ((data: any, index: number) => ItemT) | undefined;
217
-
218
- /**
219
- * Determines how many items are in the data blob.
220
- */
221
- getItemCount?: ((data: any) => number) | undefined;
222
-
223
- getItemLayout?:
224
- | ((
225
- data: any,
226
- index: number,
227
- ) => {
228
- length: number;
229
- offset: number;
230
- index: number;
231
- })
232
- | undefined;
233
-
234
- horizontal?: boolean | null | undefined;
235
-
236
- /**
237
- * How many items to render in the initial batch. This should be enough to fill the screen but not
238
- * much more. Note these items will never be unmounted as part of the windowed rendering in order
239
- * to improve perceived performance of scroll-to-top actions.
240
- */
241
- initialNumToRender?: number | undefined;
242
-
243
- /**
244
- * Instead of starting at the top with the first item, start at `initialScrollIndex`. This
245
- * disables the "scroll to top" optimization that keeps the first `initialNumToRender` items
246
- * always rendered and immediately renders the items starting at this initial index. Requires
247
- * `getItemLayout` to be implemented.
248
- */
249
- initialScrollIndex?: number | null | undefined;
250
-
251
- /**
252
- * Reverses the direction of scroll. Uses scale transforms of -1.
253
- */
254
- inverted?: boolean | null | undefined;
255
-
256
- keyExtractor?: ((item: ItemT, index: number) => string) | undefined;
257
-
258
- /**
259
- * The maximum number of items to render in each incremental render batch. The more rendered at
260
- * once, the better the fill rate, but responsiveness my suffer because rendering content may
261
- * interfere with responding to button taps or other interactions.
262
- */
263
- maxToRenderPerBatch?: number | undefined;
264
-
265
- onEndReached?: ((info: {distanceFromEnd: number}) => void) | null | undefined;
266
-
267
- onEndReachedThreshold?: number | null | undefined;
268
-
269
- onLayout?: ((event: LayoutChangeEvent) => void) | undefined;
270
-
271
- /**
272
- * If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality. Make
273
- * sure to also set the `refreshing` prop correctly.
274
- */
275
- onRefresh?: (() => void) | null | undefined;
276
-
277
- /**
278
- * Used to handle failures when scrolling to an index that has not been measured yet.
279
- * Recommended action is to either compute your own offset and `scrollTo` it, or scroll as far
280
- * as possible and then try again after more items have been rendered.
281
- */
282
- onScrollToIndexFailed?:
283
- | ((info: {
284
- index: number;
285
- highestMeasuredFrameIndex: number;
286
- averageItemLength: number;
287
- }) => void)
288
- | undefined;
289
-
290
- /**
291
- * Called when the viewability of rows changes, as defined by the
292
- * `viewabilityConfig` prop.
293
- */
294
- onViewableItemsChanged?:
295
- | ((info: {
296
- viewableItems: Array<ViewToken>;
297
- changed: Array<ViewToken>;
298
- }) => void)
299
- | null
300
- | undefined;
301
-
302
- /**
303
- * Set this when offset is needed for the loading indicator to show correctly.
304
- * @platform android
305
- */
306
- progressViewOffset?: number | undefined;
307
-
308
- /**
309
- * Set this true while waiting for new data from a refresh.
310
- */
311
- refreshing?: boolean | null | undefined;
312
-
313
- /**
314
- * Note: may have bugs (missing content) in some circumstances - use at your own risk.
315
- *
316
- * This may improve scroll performance for large lists.
317
- */
318
- removeClippedSubviews?: boolean | undefined;
319
-
320
- /**
321
- * Render a custom scroll component, e.g. with a differently styled `RefreshControl`.
322
- */
323
- renderScrollComponent?:
324
- | ((props: ScrollViewProps) => React.ReactElement<ScrollViewProps>)
325
- | undefined;
326
-
327
- /**
328
- * Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off
329
- * screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`.
330
- */
331
- updateCellsBatchingPeriod?: number | undefined;
332
-
333
- viewabilityConfig?: ViewabilityConfig | undefined;
334
-
335
- viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined;
336
-
337
- /**
338
- * Determines the maximum number of items rendered outside of the visible area, in units of
339
- * visible lengths. So if your list fills the screen, then `windowSize={21}` (the default) will
340
- * render the visible screen area plus up to 10 screens above and 10 below the viewport. Reducing
341
- * this number will reduce memory consumption and may improve performance, but will increase the
342
- * chance that fast scrolling may reveal momentary blank areas of unrendered content.
343
- */
344
- windowSize?: number | undefined;
345
-
346
- CellRendererComponent?: React.ComponentType<any> | undefined;
347
- }