react-native-windows 0.71.8 → 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 (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  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.windows.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.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +71 -45
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +11 -5
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +142 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.js +1 -1
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +1 -2
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +12 -4
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  475. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  476. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  477. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  478. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  479. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  480. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  481. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  482. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  483. package/codegen/NativePerformanceSpec.g.h +63 -0
  484. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  485. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  486. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  487. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  488. package/codegen/NativeShareModuleSpec.g.h +9 -3
  489. package/codegen/NativeUIManagerSpec.g.h +12 -12
  490. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  491. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  492. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  493. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  494. package/codegen/react/components/rnwcore/Props.h +59 -166
  495. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  496. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  497. package/codegen/react/components/rnwcore/States.h +15 -30
  498. package/codegen/rnwcoreJSI-generated.cpp +87 -25
  499. package/codegen/rnwcoreJSI.h +1077 -417
  500. package/generate.js +6 -1
  501. package/include/Include.vcxitems +0 -1
  502. package/include/Include.vcxitems.filters +0 -3
  503. package/index.js +56 -42
  504. package/index.windows.js +56 -42
  505. package/interface.js +1 -1
  506. package/jest/local-setup.js +33 -0
  507. package/jest/mockComponent.js +4 -2
  508. package/jest/mockNativeComponent.js +1 -1
  509. package/jest/mockScrollView.js +2 -1
  510. package/jest/react-native-env.js +1 -3
  511. package/jest/setup.js +11 -8
  512. package/just-task.js +12 -5
  513. package/package.json +32 -29
  514. package/rn-get-polyfills.js +1 -1
  515. package/template/metro.config.js +2 -0
  516. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  517. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  518. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  519. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  520. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  521. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  522. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  524. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  525. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  526. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  527. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  528. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  529. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  530. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  531. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  532. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  533. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  534. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  535. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  536. package/Libraries/Components/Popup/Popup.js.map +0 -1
  537. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  538. package/Libraries/Components/Popup/PopupProps.js +0 -8
  539. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  540. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  544. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  545. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  546. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  547. package/Libraries/Components/Slider/Slider.js +0 -282
  548. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  549. package/Libraries/Interaction/Batchinator.js +0 -76
  550. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  551. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  552. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  553. package/Libraries/Lists/CellRenderMask.js +0 -155
  554. package/Libraries/Lists/ChildListCollection.js +0 -72
  555. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  556. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  557. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  558. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  559. package/Libraries/Performance/PureComponentDebug.js +0 -74
  560. package/Libraries/Reliability/UserFlow.js +0 -158
  561. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  562. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  563. package/Libraries/Utilities/MatrixMath.js +0 -748
  564. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  565. package/Libraries/Utilities/clamp.js +0 -23
  566. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  567. package/Libraries/Utilities/groupByEveryN.js +0 -51
  568. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  569. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  570. package/Libraries/Utilities/truncate.js +0 -51
  571. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  592. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  594. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  595. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  596. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  597. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  598. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  599. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  600. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  601. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  602. package/Shared/AsyncStorageModule.h +0 -25
  603. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  604. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  605. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  606. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  607. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -8,6 +8,7 @@
8
8
  * @flow
9
9
  */
10
10
 
11
+ import type {PointerEvent} from '../Types/CoreEventTypes';
11
12
  import type {PressEvent} from '../Types/CoreEventTypes';
12
13
  import type {HostRef} from './getInspectorDataForViewAtPoint';
13
14
 
@@ -50,8 +51,15 @@ export default function DevtoolsOverlay({
50
51
 
51
52
  function onAgentShowNativeHighlight(node: any) {
52
53
  clearTimeout(hideTimeoutId);
53
- // Shape of `node` is different in Fabric.
54
- const component = node.canonical ?? node;
54
+
55
+ // `canonical.publicInstance` => Fabric
56
+ // `canonical` => Legacy Fabric
57
+ // `node` => Legacy renderer
58
+ const component =
59
+ (node.canonical && node.canonical.publicInstance) ??
60
+ // TODO: remove this check when syncing the new version of the renderer from React to React Native.
61
+ node.canonical ??
62
+ node;
55
63
  if (!component || !component.measure) {
56
64
  return;
57
65
  }
@@ -125,11 +133,11 @@ export default function DevtoolsOverlay({
125
133
  getInspectorDataForViewAtPoint(inspectedView, x, y, viewData => {
126
134
  const {touchedViewTag, closestInstance, frame} = viewData;
127
135
  if (closestInstance != null || touchedViewTag != null) {
136
+ // We call `selectNode` for both non-fabric(viewTag) and fabric(instance),
137
+ // this makes sure it works for both architectures.
138
+ agent.selectNode(findNodeHandle(touchedViewTag));
128
139
  if (closestInstance != null) {
129
- // Fabric
130
140
  agent.selectNode(closestInstance);
131
- } else {
132
- agent.selectNode(findNodeHandle(touchedViewTag));
133
141
  }
134
142
  setInspected({
135
143
  frame,
@@ -153,14 +161,14 @@ export default function DevtoolsOverlay({
153
161
  }, []);
154
162
 
155
163
  const onPointerMove = useCallback(
156
- e => {
164
+ (e: PointerEvent) => {
157
165
  findViewForLocation(e.nativeEvent.x, e.nativeEvent.y);
158
166
  },
159
167
  [findViewForLocation],
160
168
  );
161
169
 
162
170
  const onResponderMove = useCallback(
163
- e => {
171
+ (e: PressEvent) => {
164
172
  findViewForLocation(
165
173
  e.nativeEvent.touches[0].locationX,
166
174
  e.nativeEvent.touches[0].locationY,
@@ -169,7 +177,7 @@ export default function DevtoolsOverlay({
169
177
  [findViewForLocation],
170
178
  );
171
179
 
172
- const shouldSetResponser = useCallback(
180
+ const shouldSetResponder = useCallback(
173
181
  (e: PressEvent): boolean => {
174
182
  onResponderMove(e);
175
183
  return true;
@@ -179,17 +187,19 @@ export default function DevtoolsOverlay({
179
187
 
180
188
  let highlight = inspected ? <ElementBox frame={inspected.frame} /> : null;
181
189
  if (isInspecting) {
182
- const events = ReactNativeFeatureFlags.shouldEmitW3CPointerEvents
183
- ? {
184
- onPointerMove,
185
- onPointerDown: onPointerMove,
186
- onPointerUp: stopInspecting,
187
- }
188
- : {
189
- onStartShouldSetResponder: shouldSetResponser,
190
- onResponderMove: onResponderMove,
191
- onResponderRelease: stopInspecting,
192
- };
190
+ const events =
191
+ // Pointer events only work on fabric
192
+ ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()
193
+ ? {
194
+ onPointerMove,
195
+ onPointerDown: onPointerMove,
196
+ onPointerUp: stopInspecting,
197
+ }
198
+ : {
199
+ onStartShouldSetResponder: shouldSetResponder,
200
+ onResponderMove: onResponderMove,
201
+ onResponderRelease: stopInspecting,
202
+ };
193
203
  return (
194
204
  <View
195
205
  nativeID="devToolsInspectorOverlay"
@@ -13,13 +13,14 @@
13
13
  const View = require('../Components/View/View');
14
14
  const flattenStyle = require('../StyleSheet/flattenStyle');
15
15
  const StyleSheet = require('../StyleSheet/StyleSheet');
16
- const Dimensions = require('../Utilities/Dimensions');
16
+ const Dimensions = require('../Utilities/Dimensions').default;
17
17
  const BorderBox = require('./BorderBox');
18
18
  const resolveBoxStyle = require('./resolveBoxStyle');
19
19
  const React = require('react');
20
20
 
21
21
  class ElementBox extends React.Component<$FlowFixMeProps> {
22
22
  render(): React.Node {
23
+ // $FlowFixMe[underconstrained-implicit-instantiation]
23
24
  const style = flattenStyle(this.props.style) || {};
24
25
  let margin = resolveBoxStyle('margin', style);
25
26
  let padding = resolveBoxStyle('padding', style);
@@ -123,12 +124,14 @@ function resolveSizeInPlace(
123
124
  ) {
124
125
  if (style[direction] !== null && typeof style[direction] === 'string') {
125
126
  if (style[direction].indexOf('%') !== -1) {
127
+ // $FlowFixMe[prop-missing]
126
128
  style[direction] =
127
129
  (parseFloat(style[direction]) / 100.0) *
128
130
  Dimensions.get('window')[dimension];
129
131
  }
130
132
  if (style[direction] === 'auto') {
131
133
  // Ignore auto sizing in frame drawing due to complexity of correctly rendering this
134
+ // $FlowFixMe[prop-missing]
132
135
  style[direction] = 0;
133
136
  }
134
137
  }
@@ -18,7 +18,7 @@ const View = require('../Components/View/View');
18
18
  const PressabilityDebug = require('../Pressability/PressabilityDebug');
19
19
  const {findNodeHandle} = require('../ReactNative/RendererProxy');
20
20
  const StyleSheet = require('../StyleSheet/StyleSheet');
21
- const Dimensions = require('../Utilities/Dimensions');
21
+ const Dimensions = require('../Utilities/Dimensions').default;
22
22
  const Platform = require('../Utilities/Platform');
23
23
  const getInspectorDataForViewAtPoint = require('./getInspectorDataForViewAtPoint');
24
24
  const InspectorOverlay = require('./InspectorOverlay');
@@ -142,12 +142,11 @@ class Inspector extends React.Component<
142
142
  // Sync the touched view with React DevTools.
143
143
  // Note: This is Paper only. To support Fabric,
144
144
  // DevTools needs to be updated to not rely on view tags.
145
- if (this.state.devtoolsAgent) {
145
+ const agent = this.state.devtoolsAgent;
146
+ if (agent) {
147
+ agent.selectNode(findNodeHandle(touchedViewTag));
146
148
  if (closestInstance != null) {
147
- // Fabric
148
- this.state.devtoolsAgent.selectNode(closestInstance);
149
- } else if (touchedViewTag != null) {
150
- this.state.devtoolsAgent.selectNode(findNodeHandle(touchedViewTag));
149
+ agent.selectNode(closestInstance);
151
150
  }
152
151
  }
153
152
 
@@ -15,7 +15,7 @@ import type {PressEvent} from '../Types/CoreEventTypes';
15
15
 
16
16
  const View = require('../Components/View/View');
17
17
  const StyleSheet = require('../StyleSheet/StyleSheet');
18
- const Dimensions = require('../Utilities/Dimensions');
18
+ const Dimensions = require('../Utilities/Dimensions').default;
19
19
  const ElementBox = require('./ElementBox');
20
20
  const React = require('react');
21
21
 
@@ -36,7 +36,7 @@ class InspectorOverlay extends React.Component<Props> {
36
36
  this.props.onTouchPoint(locationX, locationY);
37
37
  };
38
38
 
39
- shouldSetResponser: (e: PressEvent) => boolean = (e: PressEvent): boolean => {
39
+ shouldSetResponder: (e: PressEvent) => boolean = (e: PressEvent): boolean => {
40
40
  this.findViewForTouchEvent(e);
41
41
  return true;
42
42
  };
@@ -54,7 +54,7 @@ class InspectorOverlay extends React.Component<Props> {
54
54
 
55
55
  return (
56
56
  <View
57
- onStartShouldSetResponder={this.shouldSetResponser}
57
+ onStartShouldSetResponder={this.shouldSetResponder}
58
58
  onResponderMove={this.findViewForTouchEvent}
59
59
  nativeID="inspectorOverlay" /* TODO: T68258846. */
60
60
  style={[styles.inspector, {height: Dimensions.get('window').height}]}>
@@ -10,7 +10,7 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import type {RenderItemProps} from '../Lists/VirtualizedList';
13
+ import type {RenderItemProps} from '@react-native/virtualized-lists';
14
14
 
15
15
  const ScrollView = require('../Components/ScrollView/ScrollView');
16
16
  const TouchableHighlight = require('../Components/Touchable/TouchableHighlight');
@@ -27,7 +27,7 @@ type Handler = {
27
27
  * other events from being processed in a timely manner.
28
28
  *
29
29
  * The "stall" time is defined as the amount of time in access of the acceptable
30
- * threshold, which is typically around 100-200ms. So if the treshold is set to
30
+ * threshold, which is typically around 100-200ms. So if the threshold is set to
31
31
  * 100 and a timer fires 150 ms later than it was scheduled because the event
32
32
  * loop was tied up, that would be considered a 50ms stall.
33
33
  *
@@ -11,7 +11,6 @@
11
11
  'use strict';
12
12
 
13
13
  import type {PressEvent} from '../Types/CoreEventTypes';
14
- import type {PanResponderType} from './PanResponder.flow.js';
15
14
 
16
15
  const InteractionManager = require('./InteractionManager');
17
16
  const TouchHistoryMath = require('./TouchHistoryMath');
@@ -191,7 +190,7 @@ type ActiveCallback = (
191
190
 
192
191
  type PassiveCallback = (event: PressEvent, gestureState: GestureState) => mixed;
193
192
 
194
- type PanHandlers = {|
193
+ export type PanHandlers = {|
195
194
  onMoveShouldSetResponder: (event: PressEvent) => boolean,
196
195
  onMoveShouldSetResponderCapture: (event: PressEvent) => boolean,
197
196
  onResponderEnd: (event: PressEvent) => void,
@@ -227,7 +226,7 @@ type PanResponderConfig = $ReadOnly<{|
227
226
  onShouldBlockNativeResponder?: ?ActiveCallback,
228
227
  |}>;
229
228
 
230
- const PanResponder: PanResponderType = {
229
+ const PanResponder = {
231
230
  /**
232
231
  *
233
232
  * A graphical explanation of the touch data flow:
@@ -399,10 +398,10 @@ const PanResponder: PanResponderType = {
399
398
  * accordingly. (numberActiveTouches) may not be totally accurate unless you
400
399
  * are the responder.
401
400
  */
402
- create(config: PanResponderConfig): $TEMPORARY$object<{|
401
+ create(config: PanResponderConfig): {
403
402
  getInteractionHandle: () => ?number,
404
403
  panHandlers: PanHandlers,
405
- |}> {
404
+ } {
406
405
  const interactionState = {
407
406
  handle: (null: ?number),
408
407
  };
@@ -580,4 +579,4 @@ export type PanResponderInstance = $Call<
580
579
  PanResponderConfig,
581
580
  >;
582
581
 
583
- module.exports = PanResponder;
582
+ export default PanResponder;
@@ -17,6 +17,7 @@ import type {
17
17
  LayoutAnimationType,
18
18
  } from '../Renderer/shims/ReactNativeTypes';
19
19
 
20
+ import {getFabricUIManager} from '../ReactNative/FabricUIManager';
20
21
  import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
21
22
  import Platform from '../Utilities/Platform';
22
23
 
@@ -77,7 +78,7 @@ function configureNext(
77
78
 
78
79
  // In Fabric, LayoutAnimations are unconditionally enabled for Android, and
79
80
  // conditionally enabled on iOS (pending fully shipping; this is a temporary state).
80
- const FabricUIManager: FabricUIManagerSpec = global?.nativeFabricUIManager;
81
+ const FabricUIManager = getFabricUIManager();
81
82
  if (FabricUIManager?.configureNextLayoutAnimation) {
82
83
  global?.nativeFabricUIManager?.configureNextLayoutAnimation(
83
84
  config,
@@ -11,7 +11,6 @@
11
11
  import type {EventSubscription} from '../vendor/emitter/EventEmitter';
12
12
 
13
13
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
14
- import InteractionManager from '../Interaction/InteractionManager';
15
14
  import Platform from '../Utilities/Platform';
16
15
  import NativeIntentAndroid from './NativeIntentAndroid';
17
16
  import NativeLinkingManager from './NativeLinkingManager';
@@ -96,9 +95,7 @@ class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
96
95
  */
97
96
  getInitialURL(): Promise<?string> {
98
97
  return Platform.OS === 'android'
99
- ? InteractionManager.runAfterInteractions().then(() =>
100
- nullthrows(NativeIntentAndroid).getInitialURL(),
101
- )
98
+ ? nullthrows(NativeIntentAndroid).getInitialURL()
102
99
  : nullthrows(NativeLinkingManager).getInitialURL();
103
100
  }
104
101
 
@@ -10,244 +10,10 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import type {FrameMetricProps} from './VirtualizedListProps';
13
+ import {typeof FillRateHelper as FillRateHelperType} from '@react-native/virtualized-lists';
14
14
 
15
- export type FillRateInfo = Info;
16
-
17
- class Info {
18
- any_blank_count: number = 0;
19
- any_blank_ms: number = 0;
20
- any_blank_speed_sum: number = 0;
21
- mostly_blank_count: number = 0;
22
- mostly_blank_ms: number = 0;
23
- pixels_blank: number = 0;
24
- pixels_sampled: number = 0;
25
- pixels_scrolled: number = 0;
26
- total_time_spent: number = 0;
27
- sample_count: number = 0;
28
- }
29
-
30
- type FrameMetrics = {
31
- inLayout?: boolean,
32
- length: number,
33
- offset: number,
34
- ...
35
- };
36
-
37
- const DEBUG = false;
38
-
39
- let _listeners: Array<(Info) => void> = [];
40
- let _minSampleCount = 10;
41
- let _sampleRate = DEBUG ? 1 : null;
42
-
43
- /**
44
- * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.
45
- * By default the sampling rate is set to zero and this will do nothing. If you want to collect
46
- * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.
47
- *
48
- * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with
49
- * `SceneTracker.getActiveScene` to determine the context of the events.
50
- */
51
- class FillRateHelper {
52
- _anyBlankStartTime: ?number = null;
53
- _enabled = false;
54
- _getFrameMetrics: (index: number, props: FrameMetricProps) => ?FrameMetrics;
55
- _info: Info = new Info();
56
- _mostlyBlankStartTime: ?number = null;
57
- _samplesStartTime: ?number = null;
58
-
59
- static addListener(callback: FillRateInfo => void): {
60
- remove: () => void,
61
- ...
62
- } {
63
- if (_sampleRate === null) {
64
- console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');
65
- }
66
- _listeners.push(callback);
67
- return {
68
- remove: () => {
69
- _listeners = _listeners.filter(listener => callback !== listener);
70
- },
71
- };
72
- }
73
-
74
- static setSampleRate(sampleRate: number) {
75
- _sampleRate = sampleRate;
76
- }
77
-
78
- static setMinSampleCount(minSampleCount: number) {
79
- _minSampleCount = minSampleCount;
80
- }
81
-
82
- constructor(
83
- getFrameMetrics: (index: number, props: FrameMetricProps) => ?FrameMetrics,
84
- ) {
85
- this._getFrameMetrics = getFrameMetrics;
86
- this._enabled = (_sampleRate || 0) > Math.random();
87
- this._resetData();
88
- }
89
-
90
- activate() {
91
- if (this._enabled && this._samplesStartTime == null) {
92
- DEBUG && console.debug('FillRateHelper: activate');
93
- this._samplesStartTime = global.performance.now();
94
- }
95
- }
96
-
97
- deactivateAndFlush() {
98
- if (!this._enabled) {
99
- return;
100
- }
101
- const start = this._samplesStartTime; // const for flow
102
- if (start == null) {
103
- DEBUG &&
104
- console.debug('FillRateHelper: bail on deactivate with no start time');
105
- return;
106
- }
107
- if (this._info.sample_count < _minSampleCount) {
108
- // Don't bother with under-sampled events.
109
- this._resetData();
110
- return;
111
- }
112
- const total_time_spent = global.performance.now() - start;
113
- const info: any = {
114
- ...this._info,
115
- total_time_spent,
116
- };
117
- if (DEBUG) {
118
- const derived = {
119
- avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,
120
- avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),
121
- avg_speed_when_any_blank:
122
- this._info.any_blank_speed_sum / this._info.any_blank_count,
123
- any_blank_per_min:
124
- this._info.any_blank_count / (total_time_spent / 1000 / 60),
125
- any_blank_time_frac: this._info.any_blank_ms / total_time_spent,
126
- mostly_blank_per_min:
127
- this._info.mostly_blank_count / (total_time_spent / 1000 / 60),
128
- mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent,
129
- };
130
- for (const key in derived) {
131
- // $FlowFixMe[prop-missing]
132
- derived[key] = Math.round(1000 * derived[key]) / 1000;
133
- }
134
- console.debug('FillRateHelper deactivateAndFlush: ', {derived, info});
135
- }
136
- _listeners.forEach(listener => listener(info));
137
- this._resetData();
138
- }
139
-
140
- computeBlankness(
141
- props: {
142
- ...FrameMetricProps,
143
- initialNumToRender?: ?number,
144
- ...
145
- },
146
- cellsAroundViewport: {
147
- first: number,
148
- last: number,
149
- ...
150
- },
151
- scrollMetrics: {
152
- dOffset: number,
153
- offset: number,
154
- velocity: number,
155
- visibleLength: number,
156
- ...
157
- },
158
- ): number {
159
- if (
160
- !this._enabled ||
161
- props.getItemCount(props.data) === 0 ||
162
- cellsAroundViewport.last < cellsAroundViewport.first ||
163
- this._samplesStartTime == null
164
- ) {
165
- return 0;
166
- }
167
- const {dOffset, offset, velocity, visibleLength} = scrollMetrics;
168
-
169
- // Denominator metrics that we track for all events - most of the time there is no blankness and
170
- // we want to capture that.
171
- this._info.sample_count++;
172
- this._info.pixels_sampled += Math.round(visibleLength);
173
- this._info.pixels_scrolled += Math.round(Math.abs(dOffset));
174
- const scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec
175
-
176
- // Whether blank now or not, record the elapsed time blank if we were blank last time.
177
- const now = global.performance.now();
178
- if (this._anyBlankStartTime != null) {
179
- this._info.any_blank_ms += now - this._anyBlankStartTime;
180
- }
181
- this._anyBlankStartTime = null;
182
- if (this._mostlyBlankStartTime != null) {
183
- this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;
184
- }
185
- this._mostlyBlankStartTime = null;
186
-
187
- let blankTop = 0;
188
- let first = cellsAroundViewport.first;
189
- let firstFrame = this._getFrameMetrics(first, props);
190
- while (
191
- first <= cellsAroundViewport.last &&
192
- (!firstFrame || !firstFrame.inLayout)
193
- ) {
194
- firstFrame = this._getFrameMetrics(first, props);
195
- first++;
196
- }
197
- // Only count blankTop if we aren't rendering the first item, otherwise we will count the header
198
- // as blank.
199
- if (firstFrame && first > 0) {
200
- blankTop = Math.min(
201
- visibleLength,
202
- Math.max(0, firstFrame.offset - offset),
203
- );
204
- }
205
- let blankBottom = 0;
206
- let last = cellsAroundViewport.last;
207
- let lastFrame = this._getFrameMetrics(last, props);
208
- while (
209
- last >= cellsAroundViewport.first &&
210
- (!lastFrame || !lastFrame.inLayout)
211
- ) {
212
- lastFrame = this._getFrameMetrics(last, props);
213
- last--;
214
- }
215
- // Only count blankBottom if we aren't rendering the last item, otherwise we will count the
216
- // footer as blank.
217
- if (lastFrame && last < props.getItemCount(props.data) - 1) {
218
- const bottomEdge = lastFrame.offset + lastFrame.length;
219
- blankBottom = Math.min(
220
- visibleLength,
221
- Math.max(0, offset + visibleLength - bottomEdge),
222
- );
223
- }
224
- const pixels_blank = Math.round(blankTop + blankBottom);
225
- const blankness = pixels_blank / visibleLength;
226
- if (blankness > 0) {
227
- this._anyBlankStartTime = now;
228
- this._info.any_blank_speed_sum += scrollSpeed;
229
- this._info.any_blank_count++;
230
- this._info.pixels_blank += pixels_blank;
231
- if (blankness > 0.5) {
232
- this._mostlyBlankStartTime = now;
233
- this._info.mostly_blank_count++;
234
- }
235
- } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {
236
- this.deactivateAndFlush();
237
- }
238
- return blankness;
239
- }
240
-
241
- enabled(): boolean {
242
- return this._enabled;
243
- }
244
-
245
- _resetData() {
246
- this._anyBlankStartTime = null;
247
- this._info = new Info();
248
- this._mostlyBlankStartTime = null;
249
- this._samplesStartTime = null;
250
- }
251
- }
15
+ const FillRateHelper: FillRateHelperType =
16
+ require('@react-native/virtualized-lists').FillRateHelper;
252
17
 
18
+ export type {FillRateInfo} from '@react-native/virtualized-lists';
253
19
  module.exports = FillRateHelper;
@@ -12,7 +12,7 @@ import type {
12
12
  ListRenderItem,
13
13
  ViewToken,
14
14
  VirtualizedListProps,
15
- } from './VirtualizedList';
15
+ } from '@react-native/virtualized-lists';
16
16
  import type {ScrollViewComponent} from '../Components/ScrollView/ScrollView';
17
17
  import type {StyleProp} from '../StyleSheet/StyleSheet';
18
18
  import type {ViewStyle} from '../StyleSheet/StyleSheetTypes';
@@ -41,7 +41,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
41
41
 
42
42
  /**
43
43
  * An array (or array-like list) of items to render. Other data types can be
44
- * used by targetting VirtualizedList directly.
44
+ * used by targeting VirtualizedList directly.
45
45
  */
46
46
  data: ArrayLike<ItemT> | null | undefined;
47
47
 
@@ -50,7 +50,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
50
50
  * If any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the `data` prop,
51
51
  * stick it here and treat it immutably.
52
52
  */
53
- extraData?: any;
53
+ extraData?: any | undefined;
54
54
 
55
55
  /**
56
56
  * `getItemLayout` is an optional optimization that lets us skip measurement of dynamic
@@ -66,7 +66,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
66
66
  */
67
67
  getItemLayout?:
68
68
  | ((
69
- data: Array<ItemT> | null | undefined,
69
+ data: ArrayLike<ItemT> | null | undefined,
70
70
  index: number,
71
71
  ) => {length: number; offset: number; index: number})
72
72
  | undefined;
@@ -104,19 +104,6 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
104
104
  */
105
105
  numColumns?: number | undefined;
106
106
 
107
- /**
108
- * Called once when the scroll position gets within onEndReachedThreshold of the rendered content.
109
- */
110
- onEndReached?: ((info: {distanceFromEnd: number}) => void) | null | undefined;
111
-
112
- /**
113
- * How far from the end (in units of visible length of the list) the bottom edge of the
114
- * list must be from the end of the content to trigger the `onEndReached` callback.
115
- * Thus a value of 0.5 will trigger `onEndReached` when the end of the content is
116
- * within half the visible length of the list.
117
- */
118
- onEndReachedThreshold?: number | null | undefined;
119
-
120
107
  /**
121
108
  * If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality.
122
109
  * Make sure to also set the refreshing prop correctly.
@@ -145,7 +132,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
145
132
  * _renderItem = ({item}) => (
146
133
  * <TouchableOpacity onPress={() => this._onPress(item)}>
147
134
  * <Text>{item.title}</Text>
148
- * <TouchableOpacity/>
135
+ * </TouchableOpacity>
149
136
  * );
150
137
  * ...
151
138
  * <FlatList data={[{title: 'Title Text', key: 'item1'}]} renderItem={this._renderItem} />
@@ -157,7 +144,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
157
144
  /**
158
145
  * See `ViewabilityHelper` for flow type and further documentation.
159
146
  */
160
- viewabilityConfig?: any;
147
+ viewabilityConfig?: any | undefined;
161
148
 
162
149
  /**
163
150
  * Note: may have bugs (missing content) in some circumstances - use at your own risk.
@@ -179,9 +166,10 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
179
166
  fadingEdgeLength?: number | undefined;
180
167
  }
181
168
 
182
- export class FlatList<ItemT = any> extends React.Component<
183
- FlatListProps<ItemT>
184
- > {
169
+ export abstract class FlatListComponent<
170
+ ItemT,
171
+ Props,
172
+ > extends React.Component<Props> {
185
173
  /**
186
174
  * Scrolls to the end of the content. May be janky without `getItemLayout` prop.
187
175
  */
@@ -249,3 +237,8 @@ export class FlatList<ItemT = any> extends React.Component<
249
237
  // TODO: use `unknown` instead of `any` for Typescript >= 3.0
250
238
  setNativeProps: (props: {[key: string]: any}) => void;
251
239
  }
240
+
241
+ export class FlatList<ItemT = any> extends FlatListComponent<
242
+ ItemT,
243
+ FlatListProps<ItemT>
244
+ > {}
@@ -11,14 +11,17 @@
11
11
  import typeof ScrollViewNativeComponent from '../Components/ScrollView/ScrollViewNativeComponent';
12
12
  import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
13
13
  import type {
14
+ RenderItemProps,
15
+ RenderItemType,
14
16
  ViewabilityConfigCallbackPair,
15
17
  ViewToken,
16
- } from './ViewabilityHelper';
17
- import type {RenderItemProps, RenderItemType} from './VirtualizedList';
18
+ } from '@react-native/virtualized-lists';
18
19
 
19
20
  import {type ScrollResponderType} from '../Components/ScrollView/ScrollView';
20
- import VirtualizedList from './VirtualizedList';
21
- import {keyExtractor as defaultKeyExtractor} from './VirtualizeUtils';
21
+ import {
22
+ VirtualizedList,
23
+ keyExtractor as defaultKeyExtractor,
24
+ } from '@react-native/virtualized-lists';
22
25
  import memoizeOne from 'memoize-one';
23
26
 
24
27
  const View = require('../Components/View/View');
@@ -31,7 +34,7 @@ const React = require('react');
31
34
  type RequiredProps<ItemT> = {|
32
35
  /**
33
36
  * An array (or array-like list) of items to render. Other data types can be
34
- * used by targetting VirtualizedList directly.
37
+ * used by targeting VirtualizedList directly.
35
38
  */
36
39
  data: ?$ArrayLike<ItemT>,
37
40
  |};
@@ -88,7 +91,7 @@ type OptionalProps<ItemT> = {|
88
91
  * specify `ItemSeparatorComponent`.
89
92
  */
90
93
  getItemLayout?: (
91
- data: ?Array<ItemT>,
94
+ data: ?$ArrayLike<ItemT>,
92
95
  index: number,
93
96
  ) => {
94
97
  length: number,