react-native-tvos 0.71.12-0 → 0.72.4-0rc0

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 (1287) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.d.ts +4 -4
  4. package/Libraries/Animated/Animated.d.ts +17 -6
  5. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  6. package/Libraries/Animated/bezier.js +1 -1
  7. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  8. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  9. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  10. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  11. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  13. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  14. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  18. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  19. package/Libraries/Animated/useAnimatedProps.js +7 -10
  20. package/Libraries/AppDelegate/RCTAppDelegate.h +6 -8
  21. package/Libraries/AppDelegate/RCTAppDelegate.mm +77 -33
  22. package/{React/AppSetup → Libraries/AppDelegate}/RCTAppSetupUtils.h +14 -2
  23. package/{React/AppSetup → Libraries/AppDelegate}/RCTAppSetupUtils.mm +38 -7
  24. package/{React/Base/RCTWeakProxy.h → Libraries/AppDelegate/RCTLegacyInteropComponents.h} +5 -3
  25. package/{React/Views/RCTSliderManager.h → Libraries/AppDelegate/RCTLegacyInteropComponents.mm} +7 -2
  26. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +43 -5
  27. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  28. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  30. package/Libraries/Blob/Blob.js +4 -0
  31. package/Libraries/Blob/FileReader.js +30 -2
  32. package/Libraries/Blob/React-RCTBlob.podspec +15 -2
  33. package/Libraries/Blob/URL.js +3 -1
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  37. package/Libraries/Components/Button.js +3 -2
  38. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  40. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  41. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  42. package/Libraries/Components/Pressable/Pressable.js +1 -1
  43. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.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/ScrollViewNativeComponent.js +17 -6
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -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 -12
  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.d.ts +30 -5
  58. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  59. package/Libraries/Components/TextInput/TextInput.js +99 -107
  60. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  61. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  62. package/Libraries/Components/Touchable/Touchable.js +6 -3
  63. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  64. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  65. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  66. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  67. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  68. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  69. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  70. package/Libraries/Components/View/ReactNativeStyleAttributes.js +19 -0
  71. package/Libraries/Components/View/View.js +1 -0
  72. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  73. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  74. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  75. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  76. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  77. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  78. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  79. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  80. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  81. package/Libraries/Core/ExceptionsManager.js +2 -2
  82. package/Libraries/Core/InitializeCore.js +2 -1
  83. package/Libraries/Core/ReactNativeVersion.js +3 -3
  84. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  85. package/Libraries/Core/Timers/JSTimers.js +1 -1
  86. package/Libraries/Core/Timers/immediateShim.js +1 -0
  87. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  88. package/Libraries/Core/setUpAlert.js +1 -1
  89. package/Libraries/Core/setUpDOM.js +18 -0
  90. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  91. package/Libraries/Core/setUpGlobals.js +5 -2
  92. package/Libraries/Core/setUpNavigator.js +6 -5
  93. package/Libraries/Core/setUpPerformance.js +23 -13
  94. package/Libraries/Core/setUpReactDevTools.js +2 -0
  95. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  96. package/Libraries/Core/setUpTimers.js +2 -2
  97. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  98. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  99. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  100. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  101. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  102. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  103. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  104. package/Libraries/DOM/OldStyleCollections/DOMRectList.js.flow +27 -0
  105. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  106. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js.flow +27 -0
  107. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  108. package/Libraries/DOM/OldStyleCollections/NodeList.js.flow +31 -0
  109. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  110. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  111. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  112. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  113. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  114. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  115. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  116. package/Libraries/Events/EventPolyfill.js +1 -1
  117. package/Libraries/FBLazyVector/BUCK +2 -2
  118. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  119. package/Libraries/Image/AssetRegistry.js +1 -1
  120. package/Libraries/Image/AssetSourceResolver.js +3 -3
  121. package/Libraries/Image/Image.android.js +3 -0
  122. package/Libraries/Image/Image.d.ts +63 -2
  123. package/Libraries/Image/Image.ios.js +3 -0
  124. package/Libraries/Image/ImageBackground.js +1 -0
  125. package/Libraries/Image/ImageProps.js +1 -1
  126. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  127. package/Libraries/Image/ImageViewNativeComponent.js.flow +1 -4
  128. package/Libraries/Image/RCTImageCache.h +1 -1
  129. package/Libraries/Image/RCTImageCache.m +4 -4
  130. package/Libraries/Image/RCTImageView.mm +1 -1
  131. package/Libraries/Image/React-RCTImage.podspec +15 -2
  132. package/Libraries/Image/RelativeImageStub.js +1 -1
  133. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  134. package/Libraries/Image/resolveAssetSource.js +1 -1
  135. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  136. package/Libraries/Inspector/ElementBox.js +4 -1
  137. package/Libraries/Inspector/Inspector.js +5 -6
  138. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  139. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  140. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  141. package/Libraries/Interaction/PanResponder.js +5 -6
  142. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  143. package/Libraries/Linking/Linking.js +1 -4
  144. package/Libraries/LinkingIOS/React-RCTLinking.podspec +18 -2
  145. package/Libraries/Lists/FillRateHelper.js +4 -238
  146. package/Libraries/Lists/FlatList.d.ts +15 -22
  147. package/Libraries/Lists/FlatList.js +9 -6
  148. package/Libraries/Lists/FlatList.js.flow +4 -3
  149. package/Libraries/Lists/SectionList.d.ts +10 -6
  150. package/Libraries/Lists/SectionList.js +5 -3
  151. package/Libraries/Lists/SectionListModern.js +3 -3
  152. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  153. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  154. package/Libraries/Lists/VirtualizedList.js +339 -129
  155. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  156. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  157. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  158. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  159. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  160. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -51
  161. package/Libraries/LogBox/LogBox.js +1 -1
  162. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  163. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  164. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  165. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  166. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  167. package/Libraries/Modal/Modal.js +2 -2
  168. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +3 -2
  169. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +14 -0
  170. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +108 -102
  171. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +1 -1
  172. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +6 -1
  173. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +1 -1
  174. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +5 -0
  175. package/Libraries/NativeAnimation/RCTAnimationUtils.h +16 -11
  176. package/Libraries/NativeAnimation/RCTAnimationUtils.m +24 -6
  177. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +15 -2
  178. package/Libraries/NativeComponent/BaseViewConfig.android.js +24 -12
  179. package/Libraries/NativeComponent/BaseViewConfig.ios.js +35 -19
  180. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  181. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  182. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  183. package/Libraries/Network/RCTNetworking.android.js +2 -2
  184. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  185. package/Libraries/Network/RCTNetworking.mm +3 -2
  186. package/Libraries/Network/React-RCTNetwork.podspec +19 -2
  187. package/Libraries/Network/XMLHttpRequest.js +1 -1
  188. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +0 -2
  189. package/Libraries/Pressability/Pressability.js +10 -4
  190. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +15 -2
  191. package/Libraries/RCTRequired/BUCK +3 -2
  192. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  193. package/Libraries/ReactNative/AppContainer.js +35 -6
  194. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  195. package/Libraries/ReactNative/AppRegistry.js +10 -13
  196. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  197. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  198. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  199. package/Libraries/ReactNative/UIManager.js +168 -1
  200. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  201. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  202. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  203. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  204. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  205. package/Libraries/Renderer/REVISION +1 -1
  206. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  207. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  208. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  209. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  210. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  211. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  212. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  213. package/Libraries/Settings/React-RCTSettings.podspec +18 -2
  214. package/Libraries/Share/Share.js +1 -1
  215. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  216. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +96 -76
  218. package/Libraries/StyleSheet/StyleSheetTypes.js +114 -33
  219. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  220. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  221. package/Libraries/StyleSheet/processColor.js +1 -1
  222. package/Libraries/Text/React-RCTText.podspec +1 -1
  223. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +3 -3
  224. package/Libraries/Text/Text/RCTTextView.m +4 -4
  225. package/Libraries/Text/Text.d.ts +12 -2
  226. package/Libraries/Text/Text.js +1 -0
  227. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +1 -1
  228. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +1 -1
  229. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +12 -6
  230. package/Libraries/Text/TextProps.js +3 -4
  231. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  232. package/Libraries/TypeSafety/RCTConvertHelpers.h +1 -1
  233. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  234. package/Libraries/Types/CodegenTypes.js +1 -0
  235. package/Libraries/UTFSequence.js +3 -1
  236. package/Libraries/Utilities/Appearance.d.ts +10 -0
  237. package/Libraries/Utilities/Appearance.js +13 -0
  238. package/Libraries/Utilities/Dimensions.js +1 -1
  239. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  240. package/Libraries/Utilities/HMRClient.js +16 -10
  241. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  242. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  243. package/Libraries/Utilities/LoadingView.android.js +28 -11
  244. package/Libraries/Utilities/NativeAppearance.js +1 -0
  245. package/Libraries/Utilities/PixelRatio.js +2 -2
  246. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  247. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  248. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  249. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  250. package/Libraries/Utilities/stringifySafe.js +2 -7
  251. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  252. package/Libraries/Vibration/React-RCTVibration.podspec +17 -2
  253. package/Libraries/WebPerformance/EventCounts.js +78 -0
  254. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  255. package/Libraries/WebPerformance/NativePerformance.cpp +74 -0
  256. package/Libraries/WebPerformance/NativePerformance.h +76 -0
  257. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  258. package/Libraries/WebPerformance/NativePerformanceObserver.cpp +69 -11
  259. package/Libraries/WebPerformance/NativePerformanceObserver.h +38 -7
  260. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  261. package/Libraries/WebPerformance/Performance.js +312 -0
  262. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  263. package/Libraries/WebPerformance/PerformanceEntryReporter.cpp +408 -0
  264. package/Libraries/WebPerformance/PerformanceEntryReporter.h +219 -0
  265. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  266. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  267. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  268. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  269. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  270. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  271. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +10 -10
  272. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  273. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  274. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  275. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  276. package/README.md +5 -5
  277. package/React/Base/RCTBridge+Private.h +1 -1
  278. package/React/Base/RCTBridge.h +2 -11
  279. package/React/Base/RCTBridge.m +0 -34
  280. package/React/Base/RCTBridgeModuleDecorator.h +1 -1
  281. package/React/Base/RCTBundleURLProvider.mm +5 -1
  282. package/React/Base/RCTConvert.h +2 -1
  283. package/React/Base/RCTConvert.m +28 -15
  284. package/React/Base/RCTDefines.h +37 -8
  285. package/React/Base/RCTDisplayLink.m +7 -0
  286. package/React/Base/RCTJSScriptLoaderModule.h +5 -1
  287. package/React/Base/RCTRootContentView.h +1 -1
  288. package/React/Base/RCTRootContentView.m +1 -1
  289. package/React/Base/RCTRootView.m +1 -1
  290. package/React/{Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.h → Base/RCTRuntimeExecutorFromBridge.h} +6 -8
  291. package/React/Base/RCTRuntimeExecutorFromBridge.mm +56 -0
  292. package/React/Base/RCTVersion.m +3 -3
  293. package/React/Base/Surface/RCTSurfaceRootShadowViewDelegate.h +1 -1
  294. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +3 -3
  295. package/React/CoreModules/BUCK +3 -6
  296. package/React/CoreModules/RCTAccessibilityManager+Internal.h +1 -1
  297. package/React/CoreModules/RCTAlertManager.mm +0 -14
  298. package/React/CoreModules/RCTAppearance.h +1 -0
  299. package/React/CoreModules/RCTAppearance.mm +12 -0
  300. package/React/CoreModules/RCTDevLoadingView.h +0 -1
  301. package/React/CoreModules/RCTDevMenu.mm +5 -5
  302. package/React/CoreModules/RCTDevSettings.mm +16 -2
  303. package/React/CoreModules/RCTDevSplitBundleLoader.mm +6 -4
  304. package/React/CoreModules/RCTExceptionsManager.mm +13 -6
  305. package/React/CoreModules/RCTFPSGraph.m +8 -3
  306. package/React/CoreModules/RCTPlatform.mm +2 -2
  307. package/React/CoreModules/RCTTiming.h +8 -4
  308. package/React/CoreModules/RCTWebSocketExecutor.mm +10 -10
  309. package/React/CoreModules/RCTWebSocketModule.mm +13 -13
  310. package/React/CoreModules/React-CoreModules.podspec +16 -2
  311. package/React/CxxBridge/RCTCxxBridge.mm +3 -2
  312. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +1 -10
  313. package/React/CxxModule/RCTNativeModule.mm +3 -2
  314. package/React/CxxUtils/RCTFollyConvert.mm +1 -0
  315. package/React/DevSupport/RCTInspectorDevServerHelper.h +1 -1
  316. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -1
  317. package/React/DevSupport/RCTPackagerConnection.mm +1 -1
  318. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +1 -1
  319. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +15 -1
  320. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +3 -1
  321. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -2
  322. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  323. package/React/{Views/RCTDatePicker.h → Fabric/Mounting/ComponentViews/ScrollView/RCTCustomPullToRefreshViewProtocol.h} +4 -1
  324. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h +2 -1
  325. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  326. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +91 -1
  327. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +14 -24
  328. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -5
  329. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +0 -2
  330. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +0 -2
  331. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +0 -6
  332. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +1 -2
  333. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +38 -20
  334. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +4 -3
  335. package/React/Fabric/Mounting/RCTMountingManager.h +2 -1
  336. package/React/Fabric/Mounting/RCTMountingManager.mm +12 -14
  337. package/React/Fabric/RCTConversions.h +0 -1
  338. package/React/Fabric/RCTScheduler.h +1 -1
  339. package/React/Fabric/RCTScheduler.mm +2 -11
  340. package/React/Fabric/RCTSurfacePointerHandler.h +28 -0
  341. package/React/Fabric/RCTSurfacePointerHandler.mm +903 -0
  342. package/React/Fabric/RCTSurfacePresenter.h +1 -1
  343. package/React/Fabric/RCTSurfacePresenter.mm +20 -6
  344. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +0 -3
  345. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -37
  346. package/React/Fabric/RCTSurfaceRegistry.mm +5 -6
  347. package/React/Fabric/RCTSurfaceTouchHandler.mm +27 -624
  348. package/React/Fabric/Utils/RCTIdentifierPool.h +44 -0
  349. package/React/Fabric/Utils/RCTReactTaggedView.h +1 -1
  350. package/React/Inspector/RCTInspector.h +1 -1
  351. package/React/Inspector/RCTInspector.mm +1 -2
  352. package/React/Inspector/RCTInspectorPackagerConnection.h +1 -1
  353. package/React/Inspector/RCTInspectorPackagerConnection.m +11 -11
  354. package/React/Modules/RCTEventEmitter.m +14 -11
  355. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  356. package/React/React-RCTFabric.podspec +44 -4
  357. package/React/Views/RCTComponentData.m +3 -15
  358. package/React/Views/RCTConvert+Transform.m +1 -1
  359. package/React/Views/RCTFont.mm +1 -5
  360. package/React/Views/RCTView.h +11 -0
  361. package/React/Views/RCTView.m +40 -18
  362. package/React/Views/RCTViewManager.m +17 -1
  363. package/React/Views/RefreshControl/RCTRefreshControl.h +1 -1
  364. package/React/Views/RefreshControl/RCTRefreshControl.m +7 -0
  365. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +1 -1
  366. package/React/Views/ScrollView/RCTScrollView.m +17 -7
  367. package/React/Views/ScrollView/RCTScrollableProtocol.h +5 -1
  368. package/React-Core.podspec +21 -8
  369. package/React.podspec +1 -1
  370. package/ReactAndroid/build.gradle +86 -13
  371. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +16 -1
  372. package/ReactAndroid/gradle.properties +6 -6
  373. package/ReactAndroid/hermes-engine/build.gradle +21 -5
  374. package/ReactAndroid/libs/BUCK +1 -1
  375. package/ReactAndroid/proguard-rules.pro +7 -0
  376. package/ReactAndroid/publish.gradle +1 -1
  377. package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -3
  378. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +15 -14
  379. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +54 -2
  380. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +7 -35
  381. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +12 -11
  382. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +98 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +40 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +22 -7
  385. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +19 -8
  386. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +11 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +111 -14
  389. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +54 -49
  390. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.java +1 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +5 -8
  392. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +143 -88
  393. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +19 -22
  394. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +7 -16
  395. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +3 -1
  396. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +8 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +1 -2
  398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +14 -19
  399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +11 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.java +33 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +110 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
  404. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -2
  405. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +59 -2
  406. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +3 -3
  407. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +13 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +11 -27
  409. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -12
  410. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.java +25 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +56 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -7
  413. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +2 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +0 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +18 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +5 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +47 -25
  419. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +30 -7
  420. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +20 -16
  421. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +6 -9
  422. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +18 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{DevLoadingViewController.java → DefaultDevLoadingViewImplementation.java} +10 -33
  424. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +15 -7
  425. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +83 -21
  426. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +4 -4
  428. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +1 -8
  429. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -6
  430. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +56 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.java +21 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/fabric/.clang-tidy +1 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +10 -13
  434. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +3 -24
  435. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +22 -3
  436. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -14
  437. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +64 -47
  438. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +2 -5
  439. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/InteropEvent.java +41 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/InteropEventEmitter.java +65 -0
  441. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +13 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +0 -4
  443. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +9 -7
  444. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -11
  445. package/ReactAndroid/src/main/java/com/facebook/react/modules/.clang-tidy +1 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +12 -23
  447. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +11 -9
  448. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +3 -14
  450. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +5 -8
  451. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.java +1 -1
  452. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +1 -8
  453. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +1 -7
  454. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -3
  455. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/NativeDevSplitBundleLoaderModule.java +1 -9
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +1 -7
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +1 -8
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +3 -12
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +1 -8
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +1 -8
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +1 -1
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +1 -8
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -8
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.java +2 -12
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +1 -8
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +5 -15
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/BUCK +25 -0
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +67 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/BUCK +25 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.java +53 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +2 -8
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +2 -13
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +0 -2
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +6 -9
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +29 -11
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +5 -8
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +1 -9
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +1 -9
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +48 -14
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +5 -8
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +66 -63
  482. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +16 -2
  483. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.java +26 -25
  484. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +1 -7
  485. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +1 -7
  486. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +0 -2
  487. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.java +1 -8
  488. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -7
  489. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +1 -6
  490. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +2 -1
  491. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +1 -7
  492. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  493. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +1 -7
  494. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +1 -8
  495. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +2 -14
  496. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +2 -1
  497. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +47 -26
  498. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +8 -10
  499. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +188 -4
  500. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +0 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/.clang-tidy +1 -0
  502. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +57 -63
  503. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +7 -14
  504. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +12 -14
  505. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +26 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewManagerWithChildren.java +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +95 -53
  508. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +36 -20
  509. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +10 -1
  510. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +355 -2
  511. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.java +21 -3
  512. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +1 -0
  513. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +9 -11
  514. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +3 -3
  515. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +16 -1
  516. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -55
  517. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +37 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +5 -11
  519. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +1 -1
  520. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +15 -6
  521. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +16 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -7
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +1 -1
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +3 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +23 -11
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +12 -38
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +4 -4
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -5
  529. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +5 -8
  530. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +7 -8
  531. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +30 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +11 -5
  533. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +10 -15
  534. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +10 -11
  535. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +4 -3
  536. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +2 -4
  537. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +15 -12
  538. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +6 -4
  540. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -7
  541. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +200 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +77 -9
  543. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -2
  544. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +77 -13
  545. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +9 -3
  546. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +29 -6
  547. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +5 -7
  548. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +5 -8
  549. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +5 -8
  550. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -1
  551. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java +4 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.java +1 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +3 -1
  554. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +13 -35
  555. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +7 -6
  556. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +11 -1
  557. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +3 -47
  558. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +4 -1
  559. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SetSpanOperation.java +52 -0
  560. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +8 -5
  561. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +5 -3
  562. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +35 -49
  563. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +30 -50
  564. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +6 -5
  566. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +73 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +23 -15
  568. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +5 -34
  569. package/ReactAndroid/src/main/java/com/facebook/react/views/{slider → traceupdateoverlay}/BUCK +7 -7
  570. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlay.java +70 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/TraceUpdateOverlayManager.java +83 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +5 -8
  573. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +6 -9
  574. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +2 -10
  575. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +17 -5
  576. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +147 -29
  577. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +18 -6
  578. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +5 -5
  579. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -8
  580. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -11
  581. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +5 -1
  582. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +1 -1
  583. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogger.java +1 -1
  584. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -2
  585. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -8
  586. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +18 -0
  587. package/ReactAndroid/src/main/jni/CMakeLists.txt +111 -3
  588. package/ReactAndroid/src/main/jni/CircularDepsValidator.cmake +32 -0
  589. package/ReactAndroid/src/main/jni/first-party/.clang-tidy +1 -0
  590. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +3 -0
  591. package/ReactAndroid/src/main/jni/first-party/yogajni/BUCK +1 -1
  592. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +0 -1
  593. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +0 -15
  594. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +4 -4
  595. package/ReactAndroid/src/main/jni/react/fabric/BUCK +0 -2
  596. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +22 -48
  597. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +5 -10
  598. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -2
  599. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h +1 -7
  600. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +2 -3
  601. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +3 -2
  602. package/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.h +1 -2
  603. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +32 -66
  604. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -6
  605. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +1 -3
  606. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -3
  607. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  608. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +3 -7
  609. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +2 -2
  610. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +3 -1
  611. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +10 -2
  612. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +1 -1
  613. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -0
  614. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -5
  615. package/ReactAndroid/src/main/jni/react/jni/.clang-tidy +1 -0
  616. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -4
  617. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +15 -11
  618. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +2 -0
  619. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +4 -8
  620. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +9 -2
  621. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +1 -0
  622. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +2 -2
  623. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +2 -2
  624. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +2 -2
  625. package/ReactAndroid/src/main/jni/react/jni/NativeArray.cpp +1 -3
  626. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +13 -3
  627. package/ReactAndroid/src/main/jni/react/jni/NativeMap.cpp +2 -2
  628. package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +10 -4
  629. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +6 -0
  630. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +0 -6
  631. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +4 -1
  632. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +11 -7
  633. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +2 -2
  634. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +1 -5
  635. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +9 -43
  636. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -9
  637. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -1
  638. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +15 -15
  639. package/ReactAndroid/src/main/res/devsupport/values-af/strings.xml +0 -1
  640. package/ReactAndroid/src/main/res/devsupport/values-ar/strings.xml +0 -1
  641. package/ReactAndroid/src/main/res/devsupport/values-as/strings.xml +0 -1
  642. package/ReactAndroid/src/main/res/devsupport/values-az/strings.xml +0 -1
  643. package/ReactAndroid/src/main/res/devsupport/values-be/strings.xml +6 -0
  644. package/ReactAndroid/src/main/res/devsupport/values-bg/strings.xml +0 -1
  645. package/ReactAndroid/src/main/res/devsupport/values-bn/strings.xml +0 -1
  646. package/ReactAndroid/src/main/res/devsupport/values-bs/strings.xml +0 -1
  647. package/ReactAndroid/src/main/res/devsupport/values-ca/strings.xml +0 -1
  648. package/ReactAndroid/src/main/res/devsupport/values-cb/strings.xml +0 -1
  649. package/ReactAndroid/src/main/res/devsupport/values-cs/strings.xml +0 -1
  650. package/ReactAndroid/src/main/res/devsupport/values-da/strings.xml +0 -1
  651. package/ReactAndroid/src/main/res/devsupport/values-de/strings.xml +0 -1
  652. package/ReactAndroid/src/main/res/devsupport/values-el/strings.xml +0 -1
  653. package/ReactAndroid/src/main/res/devsupport/values-en-rGB/strings.xml +0 -1
  654. package/ReactAndroid/src/main/res/devsupport/values-es/strings.xml +0 -1
  655. package/ReactAndroid/src/main/res/devsupport/values-es-rES/strings.xml +0 -1
  656. package/ReactAndroid/src/main/res/devsupport/values-et/strings.xml +0 -1
  657. package/ReactAndroid/src/main/res/devsupport/values-fa/strings.xml +0 -1
  658. package/ReactAndroid/src/main/res/devsupport/values-fb/strings.xml +0 -1
  659. package/ReactAndroid/src/main/res/devsupport/values-fb-rLS/strings.xml +0 -1
  660. package/ReactAndroid/src/main/res/devsupport/values-fi/strings.xml +0 -1
  661. package/ReactAndroid/src/main/res/devsupport/values-fr/strings.xml +0 -1
  662. package/ReactAndroid/src/main/res/devsupport/values-fr-rCA/strings.xml +0 -1
  663. package/ReactAndroid/src/main/res/devsupport/values-gu/strings.xml +0 -1
  664. package/ReactAndroid/src/main/res/devsupport/values-ha/strings.xml +6 -0
  665. package/ReactAndroid/src/main/res/devsupport/values-hi/strings.xml +0 -1
  666. package/ReactAndroid/src/main/res/devsupport/values-hr/strings.xml +0 -1
  667. package/ReactAndroid/src/main/res/devsupport/values-hu/strings.xml +0 -1
  668. package/ReactAndroid/src/main/res/devsupport/values-hy/strings.xml +6 -0
  669. package/ReactAndroid/src/main/res/devsupport/values-in/strings.xml +0 -1
  670. package/ReactAndroid/src/main/res/devsupport/values-is/strings.xml +0 -1
  671. package/ReactAndroid/src/main/res/devsupport/values-it/strings.xml +0 -1
  672. package/ReactAndroid/src/main/res/devsupport/values-iw/strings.xml +0 -1
  673. package/ReactAndroid/src/main/res/devsupport/values-ja/strings.xml +0 -1
  674. package/ReactAndroid/src/main/res/devsupport/values-jv/strings.xml +6 -0
  675. package/ReactAndroid/src/main/res/devsupport/values-ka/strings.xml +0 -1
  676. package/ReactAndroid/src/main/res/devsupport/values-kk/strings.xml +6 -0
  677. package/ReactAndroid/src/main/res/devsupport/values-km/strings.xml +0 -1
  678. package/ReactAndroid/src/main/res/devsupport/values-kn/strings.xml +0 -1
  679. package/ReactAndroid/src/main/res/devsupport/values-ko/strings.xml +0 -1
  680. package/ReactAndroid/src/main/res/devsupport/values-ku/strings.xml +6 -0
  681. package/ReactAndroid/src/main/res/devsupport/values-ky/strings.xml +6 -0
  682. package/ReactAndroid/src/main/res/devsupport/values-lo/strings.xml +0 -1
  683. package/ReactAndroid/src/main/res/devsupport/values-lt/strings.xml +0 -1
  684. package/ReactAndroid/src/main/res/devsupport/values-lv/strings.xml +0 -1
  685. package/ReactAndroid/src/main/res/devsupport/values-mk/strings.xml +0 -1
  686. package/ReactAndroid/src/main/res/devsupport/values-ml/strings.xml +0 -1
  687. package/ReactAndroid/src/main/res/devsupport/values-mn/strings.xml +0 -1
  688. package/ReactAndroid/src/main/res/devsupport/values-mr/strings.xml +0 -1
  689. package/ReactAndroid/src/main/res/devsupport/values-ms/strings.xml +0 -1
  690. package/ReactAndroid/src/main/res/devsupport/values-my/strings.xml +0 -1
  691. package/ReactAndroid/src/main/res/devsupport/values-nb/strings.xml +0 -1
  692. package/ReactAndroid/src/main/res/devsupport/values-ne/strings.xml +0 -1
  693. package/ReactAndroid/src/main/res/devsupport/values-nl/strings.xml +0 -1
  694. package/ReactAndroid/src/main/res/devsupport/values-pa/strings.xml +0 -1
  695. package/ReactAndroid/src/main/res/devsupport/values-pl/strings.xml +0 -1
  696. package/ReactAndroid/src/main/res/devsupport/values-ps/strings.xml +6 -0
  697. package/ReactAndroid/src/main/res/devsupport/values-pt/strings.xml +0 -1
  698. package/ReactAndroid/src/main/res/devsupport/values-pt-rPT/strings.xml +0 -1
  699. package/ReactAndroid/src/main/res/devsupport/values-qz/strings.xml +0 -1
  700. package/ReactAndroid/src/main/res/devsupport/values-ro/strings.xml +0 -1
  701. package/ReactAndroid/src/main/res/devsupport/values-ru/strings.xml +0 -1
  702. package/ReactAndroid/src/main/res/devsupport/values-si/strings.xml +0 -1
  703. package/ReactAndroid/src/main/res/devsupport/values-sk/strings.xml +0 -1
  704. package/ReactAndroid/src/main/res/devsupport/values-sl/strings.xml +0 -1
  705. package/ReactAndroid/src/main/res/devsupport/values-sn/strings.xml +0 -1
  706. package/ReactAndroid/src/main/res/devsupport/values-so/strings.xml +6 -0
  707. package/ReactAndroid/src/main/res/devsupport/values-sq/strings.xml +0 -1
  708. package/ReactAndroid/src/main/res/devsupport/values-sr/strings.xml +0 -1
  709. package/ReactAndroid/src/main/res/devsupport/values-sv/strings.xml +0 -1
  710. package/ReactAndroid/src/main/res/devsupport/values-sw/strings.xml +0 -1
  711. package/ReactAndroid/src/main/res/devsupport/values-ta/strings.xml +0 -1
  712. package/ReactAndroid/src/main/res/devsupport/values-te/strings.xml +0 -1
  713. package/ReactAndroid/src/main/res/devsupport/values-tg/strings.xml +6 -0
  714. package/ReactAndroid/src/main/res/devsupport/values-th/strings.xml +0 -1
  715. package/ReactAndroid/src/main/res/devsupport/values-tk/strings.xml +6 -0
  716. package/ReactAndroid/src/main/res/devsupport/values-tl/strings.xml +0 -1
  717. package/ReactAndroid/src/main/res/devsupport/values-tr/strings.xml +0 -1
  718. package/ReactAndroid/src/main/res/devsupport/values-uk/strings.xml +0 -1
  719. package/ReactAndroid/src/main/res/devsupport/values-ur/strings.xml +0 -1
  720. package/ReactAndroid/src/main/res/devsupport/values-uz/strings.xml +6 -0
  721. package/ReactAndroid/src/main/res/devsupport/values-vi/strings.xml +0 -1
  722. package/ReactAndroid/src/main/res/devsupport/values-wo/strings.xml +0 -1
  723. package/ReactAndroid/src/main/res/devsupport/values-zh-rCN/strings.xml +0 -1
  724. package/ReactAndroid/src/main/res/devsupport/values-zh-rHK/strings.xml +0 -1
  725. package/ReactAndroid/src/main/res/devsupport/values-zh-rTW/strings.xml +0 -1
  726. package/ReactAndroid/src/main/res/devsupport/values-zu/strings.xml +0 -1
  727. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +4 -1
  728. package/ReactCommon/React-Fabric.podspec +55 -71
  729. package/ReactCommon/React-rncore.podspec +25 -4
  730. package/ReactCommon/ReactCommon.podspec +5 -18
  731. package/ReactCommon/butter/BUCK +1 -9
  732. package/ReactCommon/butter/function.h +51 -0
  733. package/ReactCommon/butter/map.h +3 -3
  734. package/ReactCommon/callinvoker/.clang-tidy +1 -0
  735. package/ReactCommon/callinvoker/BUCK +0 -1
  736. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  737. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +11 -2
  738. package/ReactCommon/{butter/mutex.h → callinvoker/ReactCommon/SchedulerPriority.h} +10 -6
  739. package/ReactCommon/cxxreact/.clang-tidy +1 -0
  740. package/ReactCommon/cxxreact/BUCK +3 -1
  741. package/ReactCommon/cxxreact/CMakeLists.txt +3 -1
  742. package/ReactCommon/cxxreact/Instance.cpp +25 -19
  743. package/ReactCommon/cxxreact/Instance.h +2 -2
  744. package/ReactCommon/cxxreact/JSBigString.h +5 -5
  745. package/ReactCommon/cxxreact/JSExecutor.cpp +12 -0
  746. package/ReactCommon/cxxreact/JSExecutor.h +2 -0
  747. package/ReactCommon/cxxreact/MethodCall.cpp +3 -3
  748. package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -6
  749. package/ReactCommon/cxxreact/ModuleRegistry.h +3 -3
  750. package/ReactCommon/cxxreact/NativeModule.h +2 -2
  751. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -2
  752. package/ReactCommon/cxxreact/ReactMarker.cpp +55 -2
  753. package/ReactCommon/cxxreact/ReactMarker.h +36 -2
  754. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  755. package/ReactCommon/hermes/.clang-tidy +1 -0
  756. package/ReactCommon/hermes/React-hermes.podspec +3 -2
  757. package/ReactCommon/hermes/executor/CMakeLists.txt +8 -1
  758. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -20
  759. package/ReactCommon/hermes/inspector/BUCK +12 -6
  760. package/ReactCommon/hermes/inspector/CMakeLists.txt +9 -1
  761. package/ReactCommon/hermes/inspector/DEFS.bzl +2 -2
  762. package/ReactCommon/hermes/inspector/Inspector.cpp +2 -2
  763. package/ReactCommon/hermes/inspector/Inspector.h +7 -7
  764. package/ReactCommon/hermes/inspector/InspectorState.h +5 -5
  765. package/ReactCommon/hermes/inspector/README.md +7 -7
  766. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +1 -1
  767. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +12 -12
  768. package/ReactCommon/hermes/inspector/chrome/MessageConverters.h +3 -3
  769. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +96 -97
  770. package/ReactCommon/hermes/inspector/chrome/MessageTypesInlines.h +4 -3
  771. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +39 -38
  772. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +67 -64
  773. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +3 -3
  774. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.h +3 -3
  775. package/ReactCommon/hermes/inspector/detail/SerialExecutor.h +1 -1
  776. package/ReactCommon/hermes/inspector/tools/format +1 -1
  777. package/ReactCommon/hermes/inspector/tools/sandcastle/build_and_test.sh +4 -4
  778. package/ReactCommon/jsc/CMakeLists.txt +4 -0
  779. package/ReactCommon/jsc/JSCRuntime.cpp +11 -9
  780. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  781. package/ReactCommon/jsengineinstance/.clang-tidy +1 -0
  782. package/ReactCommon/jserrorhandler/BUCK +1 -1
  783. package/ReactCommon/jsi/.clang-tidy +1 -0
  784. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  785. package/ReactCommon/jsi/jsi/decorator.h +16 -10
  786. package/ReactCommon/jsi/jsi/jsi-inl.h +7 -5
  787. package/ReactCommon/jsi/jsi/jsi.cpp +51 -61
  788. package/ReactCommon/jsi/jsi/jsi.h +25 -19
  789. package/ReactCommon/jsiexecutor/.clang-tidy +1 -0
  790. package/ReactCommon/jsiexecutor/CMakeLists.txt +5 -1
  791. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  792. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +16 -16
  793. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +7 -7
  794. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +7 -7
  795. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +3 -3
  796. package/ReactCommon/jsinspector/.clang-tidy +1 -0
  797. package/ReactCommon/jsinspector/CMakeLists.txt +3 -1
  798. package/ReactCommon/jsinspector/React-jsinspector.podspec +2 -1
  799. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +3 -3
  800. package/ReactCommon/logger/React-logger.podspec +1 -1
  801. package/ReactCommon/react/bridging/BUCK +1 -2
  802. package/ReactCommon/react/bridging/Base.h +3 -3
  803. package/ReactCommon/react/bridging/CallbackWrapper.h +3 -39
  804. package/ReactCommon/react/bridging/Function.h +36 -17
  805. package/ReactCommon/react/bridging/LongLivedObject.cpp +6 -13
  806. package/ReactCommon/react/bridging/LongLivedObject.h +9 -8
  807. package/ReactCommon/react/bridging/Number.h +11 -0
  808. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +16 -1
  809. package/ReactCommon/react/config/.clang-tidy +1 -0
  810. package/ReactCommon/react/config/ReactNativeConfig.cpp +3 -0
  811. package/ReactCommon/react/config/ReactNativeConfig.h +1 -1
  812. package/ReactCommon/react/debug/CMakeLists.txt +4 -0
  813. package/ReactCommon/react/debug/React-debug.podspec +36 -0
  814. package/ReactCommon/react/debug/flags.h +3 -1
  815. package/ReactCommon/react/debug/react_native_assert.h +6 -0
  816. package/ReactCommon/react/debug/react_native_expect.h +41 -0
  817. package/ReactCommon/react/nativemodule/.clang-tidy +1 -0
  818. package/ReactCommon/react/nativemodule/core/BUCK +3 -1
  819. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +6 -1
  820. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +26 -8
  821. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +31 -3
  822. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +39 -44
  823. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +5 -14
  824. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +2 -2
  825. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -1
  826. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +28 -48
  827. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +3 -9
  828. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +56 -0
  829. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTBlockGuard.h → ReactCommon/RCTBlockGuard.h} +1 -1
  830. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModule.h → ReactCommon/RCTTurboModule.h} +0 -6
  831. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModule.mm → ReactCommon/RCTTurboModule.mm} +24 -51
  832. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModuleManager.h → ReactCommon/RCTTurboModuleManager.h} +5 -1
  833. package/ReactCommon/react/nativemodule/core/platform/ios/{RCTTurboModuleManager.mm → ReactCommon/RCTTurboModuleManager.mm} +14 -69
  834. package/ReactCommon/react/nativemodule/samples/BUCK +3 -1
  835. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +12 -0
  836. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +1 -0
  837. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +4 -0
  838. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +1 -0
  839. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +59 -0
  840. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  841. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +15 -0
  842. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +8 -0
  843. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTNativeSampleTurboModuleSpec.h → ReactCommon/RCTNativeSampleTurboModuleSpec.h} +1 -0
  844. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTNativeSampleTurboModuleSpec.mm → ReactCommon/RCTNativeSampleTurboModuleSpec.mm} +11 -0
  845. package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboModule.mm → ReactCommon/RCTSampleTurboModule.mm} +5 -0
  846. package/ReactCommon/react/nativemodule/samples/platform/ios/{SampleTurboCxxModuleLegacyImpl.cpp → ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp} +10 -0
  847. package/ReactCommon/react/nativemodule/samples/platform/ios/{SampleTurboCxxModuleLegacyImpl.h → ReactCommon/SampleTurboCxxModuleLegacyImpl.h} +1 -0
  848. package/ReactCommon/react/renderer/.clang-tidy +7 -0
  849. package/ReactCommon/react/renderer/animations/BUCK +2 -0
  850. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +41 -65
  851. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +3 -20
  852. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +1 -1
  853. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +1 -1
  854. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +1 -1
  855. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  856. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -1
  857. package/ReactCommon/react/renderer/attributedstring/conversions.h +48 -49
  858. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +1 -1
  859. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +1 -1
  860. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +4 -4
  861. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +4 -5
  862. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -5
  863. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +2 -2
  864. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +9 -7
  865. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  866. package/ReactCommon/react/renderer/components/image/conversions.h +4 -4
  867. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +1 -2
  868. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +31 -0
  869. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +26 -7
  870. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +8 -1
  871. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +49 -3
  872. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +38 -0
  873. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -2
  874. package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -4
  875. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +3 -3
  876. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -1
  877. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  878. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +65 -37
  879. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +5 -0
  880. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +4 -1
  881. package/ReactCommon/react/renderer/components/scrollview/conversions.h +35 -0
  882. package/ReactCommon/react/renderer/components/scrollview/primitives.h +17 -0
  883. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +1 -1
  884. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +0 -1
  885. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +1 -0
  886. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.cpp +84 -0
  887. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.h +71 -0
  888. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +4 -2
  889. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +13 -15
  890. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +2 -6
  891. package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -11
  892. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +4 -25
  893. package/ReactCommon/react/renderer/components/text/TextProps.h +0 -1
  894. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +5 -23
  895. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +7 -10
  896. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +55 -53
  897. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -35
  898. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +2 -1
  899. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +3 -0
  900. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputEventEmitter.cpp → react/renderer/components/iostextinput/TextInputEventEmitter.cpp} +31 -1
  901. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputEventEmitter.h → react/renderer/components/iostextinput/TextInputEventEmitter.h} +5 -0
  902. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputProps.cpp → react/renderer/components/iostextinput/TextInputProps.cpp} +1 -1
  903. package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputShadowNode.cpp → react/renderer/components/iostextinput/TextInputShadowNode.cpp} +2 -1
  904. package/ReactCommon/react/renderer/components/textinput/iostextinput/{propsConversions.h → react/renderer/components/iostextinput/propsConversions.h} +4 -3
  905. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +1 -1
  906. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +3 -3
  907. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -20
  908. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +0 -2
  909. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +4 -2
  910. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  911. package/ReactCommon/react/renderer/components/view/PointerEvent.h +1 -1
  912. package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
  913. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +63 -74
  914. package/ReactCommon/react/renderer/components/view/ViewProps.h +0 -1
  915. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +1 -1
  916. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +186 -91
  917. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +28 -31
  918. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +106 -7
  919. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +29 -1
  920. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +10 -7
  921. package/ReactCommon/react/renderer/components/view/conversions.h +133 -59
  922. package/ReactCommon/react/renderer/components/view/primitives.h +49 -18
  923. package/ReactCommon/react/renderer/components/view/propsConversions.h +65 -8
  924. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +88 -2
  925. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +21 -3
  926. package/ReactCommon/react/renderer/core/BUCK +7 -3
  927. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  928. package/ReactCommon/react/renderer/core/CoreFeatures.cpp +5 -0
  929. package/ReactCommon/react/renderer/core/CoreFeatures.h +24 -1
  930. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +1 -0
  931. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +8 -4
  932. package/ReactCommon/react/renderer/core/EventBeat.h +1 -1
  933. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +10 -4
  934. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  935. package/ReactCommon/react/renderer/core/EventListener.cpp +3 -3
  936. package/ReactCommon/react/renderer/core/EventListener.h +2 -3
  937. package/ReactCommon/react/renderer/core/EventLogger.cpp +22 -0
  938. package/ReactCommon/react/renderer/core/EventLogger.h +44 -0
  939. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +12 -2
  940. package/ReactCommon/react/renderer/core/LayoutConstraints.h +1 -1
  941. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -1
  942. package/ReactCommon/react/renderer/core/LayoutMetrics.h +2 -1
  943. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +16 -2
  944. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -26
  945. package/ReactCommon/react/renderer/core/PropsMacros.h +21 -7
  946. package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +2 -3
  947. package/ReactCommon/react/renderer/core/PropsMapBuffer.h +1 -0
  948. package/ReactCommon/react/renderer/core/RawEvent.h +2 -0
  949. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  950. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +1 -1
  951. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
  952. package/ReactCommon/react/renderer/core/Sealable.h +2 -2
  953. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -3
  954. package/ReactCommon/react/renderer/core/ShadowNode.h +6 -20
  955. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -3
  956. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +9 -2
  957. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +6 -11
  958. package/ReactCommon/react/renderer/core/TraitCast.h +90 -0
  959. package/ReactCommon/react/renderer/core/graphicsConversions.h +260 -0
  960. package/ReactCommon/react/renderer/core/propsConversions.h +1 -2
  961. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +2 -2
  962. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +147 -1
  963. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +1 -1
  964. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +12 -2
  965. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -0
  966. package/ReactCommon/react/renderer/debug/SystraceSection.h +13 -3
  967. package/ReactCommon/react/renderer/element/BUCK +2 -0
  968. package/ReactCommon/react/renderer/element/CMakeLists.txt +29 -0
  969. package/ReactCommon/react/renderer/graphics/BUCK +9 -12
  970. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +4 -8
  971. package/ReactCommon/react/renderer/graphics/{platform/cxx/react/renderer/graphics/Color.cpp → Color.cpp} +1 -1
  972. package/ReactCommon/react/renderer/graphics/{platform/ios/Color.h → Color.h} +12 -16
  973. package/ReactCommon/react/renderer/graphics/Geometry.h +3 -12
  974. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +18 -3
  975. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +11 -1
  976. package/ReactCommon/react/renderer/graphics/Transform.h +5 -2
  977. package/{ReactAndroid/src/main/jni/react/jni/NativeTime.h → ReactCommon/react/renderer/graphics/Vector.h} +8 -1
  978. package/ReactCommon/react/renderer/graphics/conversions.h +18 -252
  979. package/ReactCommon/{yoga/yoga/internal/experiments.h → react/renderer/graphics/platform/android/react/renderer/graphics/Float.h} +8 -12
  980. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +0 -1
  981. package/ReactCommon/react/renderer/graphics/platform/ios/{RCTPlatformColorUtils.mm → react/renderer/graphics/RCTPlatformColorUtils.mm} +1 -2
  982. package/ReactCommon/react/renderer/imagemanager/BUCK +4 -2
  983. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +11 -10
  984. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -1
  985. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +5 -13
  986. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +69 -0
  987. package/ReactCommon/react/renderer/imagemanager/platform/ios/{ImageManager.mm → react/renderer/imagemanager/ImageManager.mm} +1 -1
  988. package/ReactCommon/react/renderer/imagemanager/platform/ios/{ImageRequest.cpp → react/renderer/imagemanager/ImageRequest.cpp} +8 -22
  989. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManager.h → react/renderer/imagemanager/RCTImageManager.h} +1 -1
  990. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManager.mm → react/renderer/imagemanager/RCTImageManager.mm} +2 -4
  991. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTSyncImageManager.h → react/renderer/imagemanager/RCTSyncImageManager.h} +1 -1
  992. package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTSyncImageManager.mm → react/renderer/imagemanager/RCTSyncImageManager.mm} +2 -4
  993. package/ReactCommon/react/renderer/imagemanager/primitives.h +2 -1
  994. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +4 -2
  995. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +1 -1
  996. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
  997. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
  998. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +30 -22
  999. package/ReactCommon/react/renderer/mounting/ShadowTree.h +11 -5
  1000. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +2 -2
  1001. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +11 -6
  1002. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +6 -3
  1003. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +1 -0
  1004. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -8
  1005. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +8 -8
  1006. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -2
  1007. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  1008. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +66 -0
  1009. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +17 -5
  1010. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +6 -3
  1011. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +5 -4
  1012. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +2 -1
  1013. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +12 -2
  1014. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +6 -4
  1015. package/ReactCommon/react/renderer/runtimescheduler/{SchedulerPriority.h → SchedulerPriorityUtils.h} +3 -28
  1016. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +23 -6
  1017. package/ReactCommon/react/renderer/runtimescheduler/Task.h +13 -7
  1018. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +1 -2
  1019. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  1020. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +1 -0
  1021. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +42 -10
  1022. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -1
  1023. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +3 -5
  1024. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
  1025. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +32 -34
  1026. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -3
  1027. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
  1028. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +2 -1
  1029. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -1
  1030. package/ReactCommon/react/renderer/templateprocessor/BUCK +2 -0
  1031. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -2
  1032. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +1 -0
  1033. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +14 -3
  1034. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +7 -1
  1035. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +9 -1
  1036. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +7 -1
  1037. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{NSTextStorage+FontScaling.m → react/renderer/textlayoutmanager/NSTextStorage+FontScaling.m} +3 -3
  1038. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextLayoutManager.h → react/renderer/textlayoutmanager/RCTTextLayoutManager.h} +10 -4
  1039. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextLayoutManager.mm → react/renderer/textlayoutmanager/RCTTextLayoutManager.mm} +140 -96
  1040. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{TextLayoutManager.h → react/renderer/textlayoutmanager/TextLayoutManager.h} +7 -1
  1041. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{TextLayoutManager.mm → react/renderer/textlayoutmanager/TextLayoutManager.mm} +24 -3
  1042. package/ReactCommon/react/renderer/timeline/TimelineController.h +1 -1
  1043. package/ReactCommon/react/renderer/uimanager/BUCK +2 -0
  1044. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +4 -4
  1045. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +2 -2
  1046. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +158 -41
  1047. package/ReactCommon/react/renderer/uimanager/UIManager.h +16 -3
  1048. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +8 -0
  1049. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +86 -4
  1050. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +2 -1
  1051. package/ReactCommon/react/renderer/uimanager/primitives.h +48 -24
  1052. package/ReactCommon/react/utils/.clang-tidy +1 -0
  1053. package/ReactCommon/react/utils/BUCK +6 -2
  1054. package/ReactCommon/react/utils/ContextContainer.h +8 -8
  1055. package/ReactCommon/react/utils/React-utils.podspec +57 -0
  1056. package/ReactCommon/react/utils/SharedFunction.h +10 -10
  1057. package/ReactCommon/reactperflogger/.clang-tidy +1 -0
  1058. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  1059. package/ReactCommon/runtimeexecutor/.clang-tidy +1 -0
  1060. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  1061. package/ReactCommon/yoga/yoga/CMakeLists.txt +41 -0
  1062. package/ReactCommon/yoga/yoga/CompactValue.h +8 -0
  1063. package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
  1064. package/ReactCommon/yoga/yoga/Utils.h +2 -4
  1065. package/ReactCommon/yoga/yoga/YGEnums.cpp +4 -0
  1066. package/ReactCommon/yoga/yoga/YGEnums.h +3 -1
  1067. package/ReactCommon/yoga/yoga/YGLayout.h +1 -26
  1068. package/ReactCommon/yoga/yoga/YGNode.cpp +0 -47
  1069. package/ReactCommon/yoga/yoga/YGNode.h +0 -4
  1070. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +3 -1
  1071. package/ReactCommon/yoga/yoga/Yoga-internal.h +6 -3
  1072. package/ReactCommon/yoga/yoga/Yoga.cpp +55 -127
  1073. package/ReactCommon/yoga/yoga/Yoga.h +0 -5
  1074. package/ReactCommon/yoga/yoga/event/event.h +0 -5
  1075. package/build.gradle.kts +10 -125
  1076. package/flow/global.js +29 -4
  1077. package/flow/jest.js +258 -164
  1078. package/flow/use-sync-external-store.js +1 -0
  1079. package/gradle.properties +1 -12
  1080. package/index.js +56 -42
  1081. package/interface.js +1 -1
  1082. package/jest/local-setup.js +33 -0
  1083. package/jest/mockComponent.js +4 -2
  1084. package/jest/mockNativeComponent.js +1 -1
  1085. package/jest/mockScrollView.js +2 -1
  1086. package/jest/react-native-env.js +1 -3
  1087. package/jest/setup.js +11 -8
  1088. package/package.json +25 -114
  1089. package/react-native.config.js +2 -2
  1090. package/rn-get-polyfills.js +1 -1
  1091. package/scripts/cocoapods/__tests__/codegen-test.rb +54 -56
  1092. package/scripts/cocoapods/__tests__/codegen_utils-test.rb +105 -51
  1093. package/scripts/cocoapods/__tests__/fabric-test.rb +15 -2
  1094. package/scripts/cocoapods/__tests__/flipper-test.rb +11 -5
  1095. package/scripts/cocoapods/__tests__/jsengine-test.rb +7 -31
  1096. package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +27 -31
  1097. package/scripts/cocoapods/__tests__/new_architecture-test.rb +19 -6
  1098. package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +1 -1
  1099. package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +1 -13
  1100. package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +2 -21
  1101. package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +1 -1
  1102. package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +11 -2
  1103. package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +2 -1
  1104. package/scripts/cocoapods/__tests__/utils-test.rb +156 -9
  1105. package/scripts/cocoapods/codegen.rb +23 -19
  1106. package/scripts/cocoapods/codegen_utils.rb +79 -37
  1107. package/scripts/cocoapods/fabric.rb +2 -2
  1108. package/scripts/cocoapods/flipper.rb +3 -6
  1109. package/scripts/cocoapods/jsengine.rb +6 -46
  1110. package/scripts/cocoapods/local_podspec_patch.rb +6 -6
  1111. package/scripts/cocoapods/new_architecture.rb +45 -4
  1112. package/scripts/cocoapods/utils.rb +246 -19
  1113. package/scripts/codegen/__test_fixtures__/fixtures.js +132 -0
  1114. package/scripts/codegen/__tests__/generate-artifacts-executor-test.js +500 -0
  1115. package/scripts/codegen/__tests__/generate-specs-cli-executor-test.js +88 -0
  1116. package/scripts/codegen/codegen-utils.js +2 -2
  1117. package/scripts/codegen/generate-artifacts-executor.js +45 -18
  1118. package/scripts/codegen/generate-legacy-interop-components.js +123 -0
  1119. package/scripts/find-node-for-xcode.sh +4 -1
  1120. package/scripts/generate-provider-cli.js +1 -1
  1121. package/scripts/hermes/prepare-hermes-for-build.js +1 -1
  1122. package/scripts/packager.sh +3 -3
  1123. package/scripts/react-native-xcode.sh +3 -4
  1124. package/scripts/react_native_pods.rb +44 -23
  1125. package/scripts/react_native_pods_utils/script_phases.rb +1 -1
  1126. package/scripts/react_native_pods_utils/script_phases.sh +4 -4
  1127. package/scripts/xcode/with-environment.sh +6 -6
  1128. package/sdks/.hermesversion +1 -1
  1129. package/sdks/hermes-engine/hermes-engine.podspec +22 -54
  1130. package/sdks/hermes-engine/hermes-utils.rb +131 -4
  1131. package/sdks/hermes-engine/utils/build-apple-framework.sh +12 -2
  1132. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +7 -0
  1133. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +9 -2
  1134. package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +1 -16
  1135. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +30 -0
  1136. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1137. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1138. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1139. package/settings.gradle.kts +12 -15
  1140. package/template/Gemfile +2 -2
  1141. package/template/README.md +79 -0
  1142. package/template/__tests__/{App-test.tsx → App.test.tsx} +3 -0
  1143. package/template/_eslintrc.js +1 -1
  1144. package/template/_gitignore +3 -0
  1145. package/template/_watchmanconfig +1 -1
  1146. package/template/android/app/build.gradle +2 -50
  1147. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +1 -4
  1148. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +1 -1
  1149. package/template/android/build.gradle +1 -1
  1150. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  1151. package/template/android/gradle/wrapper/gradle-wrapper.properties +2 -1
  1152. package/template/android/gradle.properties +1 -1
  1153. package/template/android/gradlew +14 -4
  1154. package/template/android/gradlew.bat +9 -6
  1155. package/template/android/settings.gradle +1 -1
  1156. package/template/app.json +1 -1
  1157. package/template/ios/HelloWorld/AppDelegate.mm +0 -10
  1158. package/template/ios/Podfile +22 -34
  1159. package/template/jest.config.js +3 -0
  1160. package/template/metro.config.js +7 -13
  1161. package/template/package.json +8 -7
  1162. package/template/react-native.config.js +12 -0
  1163. package/third-party-podspecs/hermes-engine.podspec +1 -1
  1164. package/types/experimental.d.ts +101 -0
  1165. package/types/index.d.ts +6 -8
  1166. package/types/modules/Codegen.d.ts +4 -4
  1167. package/types/modules/globals.d.ts +27 -25
  1168. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  1169. package/types/public/ReactNativeRenderer.d.ts +2 -7
  1170. package/types/tslint.json +2 -1
  1171. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  1172. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  1173. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  1174. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  1175. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  1176. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  1177. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  1178. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  1179. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  1180. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  1181. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  1182. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  1183. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  1184. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  1185. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  1186. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  1187. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  1188. package/Libraries/Components/Slider/Slider.js +0 -288
  1189. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  1190. package/Libraries/Interaction/Batchinator.js +0 -76
  1191. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  1192. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1193. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  1194. package/Libraries/Lists/CellRenderMask.js +0 -155
  1195. package/Libraries/Lists/ChildListCollection.js +0 -72
  1196. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  1197. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  1198. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  1199. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  1200. package/Libraries/Performance/PureComponentDebug.js +0 -74
  1201. package/Libraries/Reliability/UserFlow.js +0 -158
  1202. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  1203. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  1204. package/Libraries/Utilities/MatrixMath.js +0 -748
  1205. package/Libraries/Utilities/PixelRatio.js.flow +0 -21
  1206. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  1207. package/Libraries/Utilities/clamp.js +0 -23
  1208. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  1209. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1210. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1211. package/Libraries/Utilities/truncate.js +0 -51
  1212. package/Libraries/WebSocket/RCTSRWebSocket.h +0 -136
  1213. package/Libraries/WebSocket/RCTSRWebSocket.m +0 -1746
  1214. package/React/Base/RCTWeakProxy.m +0 -30
  1215. package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.mm +0 -362
  1216. package/React/Views/RCTDatePicker.m +0 -70
  1217. package/React/Views/RCTDatePickerManager.h +0 -19
  1218. package/React/Views/RCTDatePickerManager.m +0 -105
  1219. package/React/Views/RCTProgressViewManager.h +0 -12
  1220. package/React/Views/RCTProgressViewManager.m +0 -47
  1221. package/React/Views/RCTSlider.h +0 -26
  1222. package/React/Views/RCTSlider.m +0 -104
  1223. package/React/Views/RCTSliderManager.m +0 -91
  1224. package/ReactAndroid/Android-prebuilt.mk +0 -211
  1225. package/ReactAndroid/src/main/AndroidManifest.xml +0 -5
  1226. package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +0 -18
  1227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +0 -47
  1228. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java +0 -116
  1229. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -54
  1230. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +0 -336
  1231. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -54
  1232. package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +0 -44
  1233. package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +0 -22
  1234. package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +0 -66
  1235. package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +0 -26
  1236. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +0 -51
  1237. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +0 -47
  1238. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +0 -73
  1239. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +0 -64
  1240. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +0 -100
  1241. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +0 -39
  1242. package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +0 -26
  1243. package/ReactCommon/react/renderer/components/slider/BUCK +0 -117
  1244. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +0 -45
  1245. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -58
  1246. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +0 -100
  1247. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +0 -77
  1248. package/ReactCommon/react/renderer/components/slider/SliderState.cpp +0 -44
  1249. package/ReactCommon/react/renderer/components/slider/SliderState.h +0 -89
  1250. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +0 -72
  1251. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.h +0 -40
  1252. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +0 -23
  1253. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.h +0 -33
  1254. package/ReactCommon/react/renderer/components/slider/tests/SliderTest.cpp +0 -14
  1255. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -80
  1256. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +0 -63
  1257. package/ReactCommon/yoga/yoga/internal/experiments-inl.h +0 -32
  1258. package/ReactCommon/yoga/yoga/internal/experiments.cpp +0 -38
  1259. package/flow/JSITimerInternalType.js +0 -30
  1260. package/flow-typed/npm/ansi-regex_v5.x.x.js +0 -14
  1261. package/react.gradle +0 -500
  1262. package/template/_node-version +0 -1
  1263. package/tvos-types.d.ts +0 -6
  1264. package/types/public/ReactNativeTVTypes.d.ts +0 -192
  1265. /package/ReactCommon/react/nativemodule/core/platform/ios/{RCTBlockGuard.mm → ReactCommon/RCTBlockGuard.mm} +0 -0
  1266. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboCxxModule.h → ReactCommon/RCTSampleTurboCxxModule.h} +0 -0
  1267. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboCxxModule.mm → ReactCommon/RCTSampleTurboCxxModule.mm} +0 -0
  1268. /package/ReactCommon/react/nativemodule/samples/platform/ios/{RCTSampleTurboModule.h → ReactCommon/RCTSampleTurboModule.h} +0 -0
  1269. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputComponentDescriptor.h → react/renderer/components/iostextinput/TextInputComponentDescriptor.h} +0 -0
  1270. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputProps.h → react/renderer/components/iostextinput/TextInputProps.h} +0 -0
  1271. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputShadowNode.h → react/renderer/components/iostextinput/TextInputShadowNode.h} +0 -0
  1272. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputState.cpp → react/renderer/components/iostextinput/TextInputState.cpp} +0 -0
  1273. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{TextInputState.h → react/renderer/components/iostextinput/TextInputState.h} +0 -0
  1274. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{conversions.h → react/renderer/components/iostextinput/conversions.h} +0 -0
  1275. /package/ReactCommon/react/renderer/components/textinput/iostextinput/{primitives.h → react/renderer/components/iostextinput/primitives.h} +0 -0
  1276. /package/ReactCommon/react/renderer/graphics/platform/ios/{Float.h → react/renderer/graphics/Float.h} +0 -0
  1277. /package/ReactCommon/react/renderer/graphics/platform/ios/{PlatformColorParser.h → react/renderer/graphics/PlatformColorParser.h} +0 -0
  1278. /package/ReactCommon/react/renderer/graphics/platform/ios/{RCTPlatformColorUtils.h → react/renderer/graphics/RCTPlatformColorUtils.h} +0 -0
  1279. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImageManagerProtocol.h → react/renderer/imagemanager/RCTImageManagerProtocol.h} +0 -0
  1280. /package/ReactCommon/react/renderer/imagemanager/platform/ios/{RCTImagePrimitivesConversions.h → react/renderer/imagemanager/RCTImagePrimitivesConversions.h} +0 -0
  1281. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{NSTextStorage+FontScaling.h → react/renderer/textlayoutmanager/NSTextStorage+FontScaling.h} +0 -0
  1282. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTAttributedTextUtils.h → react/renderer/textlayoutmanager/RCTAttributedTextUtils.h} +0 -0
  1283. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTAttributedTextUtils.mm → react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm} +0 -0
  1284. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontProperties.h → react/renderer/textlayoutmanager/RCTFontProperties.h} +0 -0
  1285. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontUtils.h → react/renderer/textlayoutmanager/RCTFontUtils.h} +0 -0
  1286. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTFontUtils.mm → react/renderer/textlayoutmanager/RCTFontUtils.mm} +0 -0
  1287. /package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/{RCTTextPrimitivesConversions.h → react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h} +0 -0
@@ -19,39 +19,40 @@ import type {
19
19
  RenderItemProps,
20
20
  RenderItemType,
21
21
  Separators,
22
- } from './VirtualizedListProps';
22
+ } from '@react-native/virtualized-lists/Lists/VirtualizedListProps';
23
23
 
24
+ import Platform from '../Utilities/Platform';
24
25
  import RefreshControl from '../Components/RefreshControl/RefreshControl';
25
26
  import ScrollView from '../Components/ScrollView/ScrollView';
26
27
  import View from '../Components/View/View';
27
- import Batchinator from '../Interaction/Batchinator';
28
- import {findNodeHandle} from '../ReactNative/RendererProxy';
29
- import flattenStyle from '../StyleSheet/flattenStyle';
30
28
  import StyleSheet from '../StyleSheet/StyleSheet';
31
- import clamp from '../Utilities/clamp';
32
- import infoLog from '../Utilities/infoLog';
33
- import {CellRenderMask} from './CellRenderMask';
34
- import ChildListCollection from './ChildListCollection';
35
- import FillRateHelper from './FillRateHelper';
36
- import StateSafePureComponent from './StateSafePureComponent';
37
- import ViewabilityHelper from './ViewabilityHelper';
38
- import CellRenderer from './VirtualizedListCellRenderer';
29
+ import TVFocusGuideView from '../Components/TV/TVFocusGuideView';
30
+
31
+ import Batchinator from '@react-native/virtualized-lists/Interaction/Batchinator';
32
+ import clamp from '@react-native/virtualized-lists/Utilities/clamp';
33
+ import infoLog from '@react-native/virtualized-lists/Utilities/infoLog';
34
+ import {CellRenderMask} from '@react-native/virtualized-lists/Lists/CellRenderMask';
35
+ import ChildListCollection from '@react-native/virtualized-lists/Lists/ChildListCollection';
36
+ import FillRateHelper from '@react-native/virtualized-lists/Lists/FillRateHelper';
37
+ import StateSafePureComponent from '@react-native/virtualized-lists/Lists/StateSafePureComponent';
38
+ import ViewabilityHelper from '@react-native/virtualized-lists/Lists/ViewabilityHelper';
39
+ import CellRenderer from '@react-native/virtualized-lists/Lists/VirtualizedListCellRenderer';
39
40
  import {
40
41
  VirtualizedListCellContextProvider,
41
42
  VirtualizedListContext,
42
43
  VirtualizedListContextProvider,
43
44
  } from './VirtualizedListContext.js';
44
- import TVFocusGuideView from '../Components/TV/TVFocusGuideView';
45
45
  import {
46
46
  computeWindowedRenderLimits,
47
47
  keyExtractor as defaultKeyExtractor,
48
48
  } from './VirtualizeUtils';
49
49
  import invariant from 'invariant';
50
+ import nullthrows from 'nullthrows';
50
51
  import * as React from 'react';
51
52
 
52
53
  export type {RenderItemProps, RenderItemType, Separators};
53
54
 
54
- const ON_END_REACHED_EPSILON = 0.001;
55
+ const ON_EDGE_REACHED_EPSILON = 0.001;
55
56
 
56
57
  let _usedIndexForKey = false;
57
58
  let _keylessItemComponentName: string = '';
@@ -69,6 +70,10 @@ type ViewabilityHelperCallbackTuple = {
69
70
  type State = {
70
71
  renderMask: CellRenderMask,
71
72
  cellsAroundViewport: {first: number, last: number},
73
+ // Used to track items added at the start of the list for maintainVisibleContentPosition.
74
+ firstVisibleItemKey: ?string,
75
+ // When > 0 the scroll position available in JS is considered stale and should not be used.
76
+ pendingScrollUpdateCount: number,
72
77
  };
73
78
 
74
79
  /**
@@ -81,7 +86,7 @@ function horizontalOrDefault(horizontal: ?boolean) {
81
86
  return horizontal ?? false;
82
87
  }
83
88
 
84
- // initialNumToRenderOrDefault(this.props.initialNumToRenderOrDefault)
89
+ // initialNumToRenderOrDefault(this.props.initialNumToRender)
85
90
  function initialNumToRenderOrDefault(initialNumToRender: ?number) {
86
91
  return initialNumToRender ?? 10;
87
92
  }
@@ -91,11 +96,21 @@ function maxToRenderPerBatchOrDefault(maxToRenderPerBatch: ?number) {
91
96
  return maxToRenderPerBatch ?? 10;
92
97
  }
93
98
 
99
+ // onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)
100
+ function onStartReachedThresholdOrDefault(onStartReachedThreshold: ?number) {
101
+ return onStartReachedThreshold ?? 2;
102
+ }
103
+
94
104
  // onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)
95
105
  function onEndReachedThresholdOrDefault(onEndReachedThreshold: ?number) {
96
106
  return onEndReachedThreshold ?? 2;
97
107
  }
98
108
 
109
+ // getScrollingThreshold(visibleLength, onEndReachedThreshold)
110
+ function getScrollingThreshold(threshold: number, visibleLength: number) {
111
+ return (threshold * visibleLength) / 2;
112
+ }
113
+
99
114
  // scrollEventThrottleOrDefault(this.props.scrollEventThrottle)
100
115
  function scrollEventThrottleOrDefault(scrollEventThrottle: ?number) {
101
116
  return scrollEventThrottle ?? 50;
@@ -148,10 +163,7 @@ function findLastWhere<T>(
148
163
  * - As an effort to remove defaultProps, use helper functions when referencing certain props
149
164
  *
150
165
  */
151
- export default class VirtualizedList extends StateSafePureComponent<
152
- Props,
153
- State,
154
- > {
166
+ class VirtualizedList extends StateSafePureComponent<Props, State> {
155
167
  static contextType: typeof VirtualizedListContext = VirtualizedListContext;
156
168
 
157
169
  // scrollToEnd may be janky without getItemLayout prop
@@ -410,21 +422,7 @@ export default class VirtualizedList extends StateSafePureComponent<
410
422
 
411
423
  constructor(props: Props) {
412
424
  super(props);
413
- invariant(
414
- // $FlowFixMe[prop-missing]
415
- !props.onScroll || !props.onScroll.__isNative,
416
- 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' +
417
- 'to support native onScroll events with useNativeDriver',
418
- );
419
- invariant(
420
- windowSizeOrDefault(props.windowSize) > 0,
421
- 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.',
422
- );
423
-
424
- invariant(
425
- props.getItemCount,
426
- 'VirtualizedList: The "getItemCount" prop must be provided',
427
- );
425
+ this._checkProps(props);
428
426
 
429
427
  this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);
430
428
  this._updateCellsToRenderBatcher = new Batchinator(
@@ -449,19 +447,111 @@ export default class VirtualizedList extends StateSafePureComponent<
449
447
  }
450
448
  }
451
449
 
452
- invariant(
453
- !this.context,
454
- 'Unexpectedly saw VirtualizedListContext available in ctor',
455
- );
456
-
457
450
  const initialRenderRegion = VirtualizedList._initialRenderRegion(props);
458
451
 
452
+ const minIndexForVisible =
453
+ this.props.maintainVisibleContentPosition?.minIndexForVisible ?? 0;
454
+
459
455
  this.state = {
460
456
  cellsAroundViewport: initialRenderRegion,
461
457
  renderMask: VirtualizedList._createRenderMask(props, initialRenderRegion),
458
+ firstVisibleItemKey:
459
+ this.props.getItemCount(this.props.data) > minIndexForVisible
460
+ ? VirtualizedList._getItemKey(this.props, minIndexForVisible)
461
+ : null,
462
+ // When we have a non-zero initialScrollIndex, we will receive a
463
+ // scroll event later so this will prevent the window from updating
464
+ // until we get a valid offset.
465
+ pendingScrollUpdateCount:
466
+ this.props.initialScrollIndex != null &&
467
+ this.props.initialScrollIndex > 0
468
+ ? 1
469
+ : 0,
462
470
  };
463
471
  }
464
472
 
473
+ _checkProps(props: Props) {
474
+ const {onScroll, windowSize, getItemCount, data, initialScrollIndex} =
475
+ props;
476
+
477
+ invariant(
478
+ // $FlowFixMe[prop-missing]
479
+ !onScroll || !onScroll.__isNative,
480
+ 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' +
481
+ 'to support native onScroll events with useNativeDriver',
482
+ );
483
+ invariant(
484
+ windowSizeOrDefault(windowSize) > 0,
485
+ 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.',
486
+ );
487
+
488
+ invariant(
489
+ getItemCount,
490
+ 'VirtualizedList: The "getItemCount" prop must be provided',
491
+ );
492
+
493
+ const itemCount = getItemCount(data);
494
+
495
+ if (
496
+ initialScrollIndex != null &&
497
+ !this._hasTriggeredInitialScrollToIndex &&
498
+ (initialScrollIndex < 0 ||
499
+ (itemCount > 0 && initialScrollIndex >= itemCount)) &&
500
+ !this._hasWarned.initialScrollIndex
501
+ ) {
502
+ console.warn(
503
+ `initialScrollIndex "${initialScrollIndex}" is not valid (list has ${itemCount} items)`,
504
+ );
505
+ this._hasWarned.initialScrollIndex = true;
506
+ }
507
+
508
+ if (__DEV__ && !this._hasWarned.flexWrap) {
509
+ // $FlowFixMe[underconstrained-implicit-instantiation]
510
+ const flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);
511
+ if (flatStyles != null && flatStyles.flexWrap === 'wrap') {
512
+ console.warn(
513
+ '`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' +
514
+ 'Consider using `numColumns` with `FlatList` instead.',
515
+ );
516
+ this._hasWarned.flexWrap = true;
517
+ }
518
+ }
519
+ }
520
+
521
+ static _findItemIndexWithKey(
522
+ props: Props,
523
+ key: string,
524
+ hint: ?number,
525
+ ): ?number {
526
+ const itemCount = props.getItemCount(props.data);
527
+ if (hint != null && hint >= 0 && hint < itemCount) {
528
+ const curKey = VirtualizedList._getItemKey(props, hint);
529
+ if (curKey === key) {
530
+ return hint;
531
+ }
532
+ }
533
+ for (let ii = 0; ii < itemCount; ii++) {
534
+ const curKey = VirtualizedList._getItemKey(props, ii);
535
+ if (curKey === key) {
536
+ return ii;
537
+ }
538
+ }
539
+ return null;
540
+ }
541
+
542
+ static _getItemKey(
543
+ props: {
544
+ data: Props['data'],
545
+ getItem: Props['getItem'],
546
+ keyExtractor: Props['keyExtractor'],
547
+ ...
548
+ },
549
+ index: number,
550
+ ): string {
551
+ const item = props.getItem(props.data, index);
552
+ return VirtualizedList._keyExtractor(item, index, props);
553
+ }
554
+
465
555
  static _createRenderMask(
466
556
  props: Props,
467
557
  cellsAroundViewport: {first: number, last: number},
@@ -508,15 +598,21 @@ export default class VirtualizedList extends StateSafePureComponent<
508
598
 
509
599
  static _initialRenderRegion(props: Props): {first: number, last: number} {
510
600
  const itemCount = props.getItemCount(props.data);
511
- const scrollIndex = Math.floor(Math.max(0, props.initialScrollIndex ?? 0));
601
+
602
+ const firstCellIndex = Math.max(
603
+ 0,
604
+ Math.min(itemCount - 1, Math.floor(props.initialScrollIndex ?? 0)),
605
+ );
606
+
607
+ const lastCellIndex =
608
+ Math.min(
609
+ itemCount,
610
+ firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender),
611
+ ) - 1;
512
612
 
513
613
  return {
514
- first: scrollIndex,
515
- last:
516
- Math.min(
517
- itemCount,
518
- scrollIndex + initialNumToRenderOrDefault(props.initialNumToRender),
519
- ) - 1,
614
+ first: firstCellIndex,
615
+ last: lastCellIndex,
520
616
  };
521
617
  }
522
618
 
@@ -539,13 +635,12 @@ export default class VirtualizedList extends StateSafePureComponent<
539
635
  _adjustCellsAroundViewport(
540
636
  props: Props,
541
637
  cellsAroundViewport: {first: number, last: number},
638
+ pendingScrollUpdateCount: number,
542
639
  ): {first: number, last: number} {
543
640
  const {data, getItemCount} = props;
544
641
  const onEndReachedThreshold = onEndReachedThresholdOrDefault(
545
642
  props.onEndReachedThreshold,
546
643
  );
547
- this._updateViewableItems(props, cellsAroundViewport);
548
-
549
644
  const {contentLength, offset, visibleLength} = this._scrollMetrics;
550
645
  const distanceFromEnd = contentLength - visibleLength - offset;
551
646
 
@@ -572,21 +667,9 @@ export default class VirtualizedList extends StateSafePureComponent<
572
667
  ),
573
668
  };
574
669
  } else {
575
- // If we have a non-zero initialScrollIndex and run this before we've scrolled,
576
- // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.
577
- // So let's wait until we've scrolled the view to the right place. And until then,
578
- // we will trust the initialScrollIndex suggestion.
579
-
580
- // Thus, we want to recalculate the windowed render limits if any of the following hold:
581
- // - initialScrollIndex is undefined or is 0
582
- // - initialScrollIndex > 0 AND scrolling is complete
583
- // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case
584
- // where the list is shorter than the visible area)
585
- if (
586
- props.initialScrollIndex &&
587
- !this._scrollMetrics.offset &&
588
- Math.abs(distanceFromEnd) >= Number.EPSILON
589
- ) {
670
+ // If we have a pending scroll update, we should not adjust the render window as it
671
+ // might override the correct window.
672
+ if (pendingScrollUpdateCount > 0) {
590
673
  return cellsAroundViewport.last >= getItemCount(data)
591
674
  ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)
592
675
  : cellsAroundViewport;
@@ -668,14 +751,59 @@ export default class VirtualizedList extends StateSafePureComponent<
668
751
  return prevState;
669
752
  }
670
753
 
754
+ let maintainVisibleContentPositionAdjustment: ?number = null;
755
+ const prevFirstVisibleItemKey = prevState.firstVisibleItemKey;
756
+ const minIndexForVisible =
757
+ newProps.maintainVisibleContentPosition?.minIndexForVisible ?? 0;
758
+ const newFirstVisibleItemKey =
759
+ newProps.getItemCount(newProps.data) > minIndexForVisible
760
+ ? VirtualizedList._getItemKey(newProps, minIndexForVisible)
761
+ : null;
762
+ if (
763
+ newProps.maintainVisibleContentPosition != null &&
764
+ prevFirstVisibleItemKey != null &&
765
+ newFirstVisibleItemKey != null
766
+ ) {
767
+ if (newFirstVisibleItemKey !== prevFirstVisibleItemKey) {
768
+ // Fast path if items were added at the start of the list.
769
+ const hint =
770
+ itemCount - prevState.renderMask.numCells() + minIndexForVisible;
771
+ const firstVisibleItemIndex = VirtualizedList._findItemIndexWithKey(
772
+ newProps,
773
+ prevFirstVisibleItemKey,
774
+ hint,
775
+ );
776
+ maintainVisibleContentPositionAdjustment =
777
+ firstVisibleItemIndex != null
778
+ ? firstVisibleItemIndex - minIndexForVisible
779
+ : null;
780
+ } else {
781
+ maintainVisibleContentPositionAdjustment = null;
782
+ }
783
+ }
784
+
671
785
  const constrainedCells = VirtualizedList._constrainToItemCount(
672
- prevState.cellsAroundViewport,
786
+ maintainVisibleContentPositionAdjustment != null
787
+ ? {
788
+ first:
789
+ prevState.cellsAroundViewport.first +
790
+ maintainVisibleContentPositionAdjustment,
791
+ last:
792
+ prevState.cellsAroundViewport.last +
793
+ maintainVisibleContentPositionAdjustment,
794
+ }
795
+ : prevState.cellsAroundViewport,
673
796
  newProps,
674
797
  );
675
798
 
676
799
  return {
677
800
  cellsAroundViewport: constrainedCells,
678
801
  renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells),
802
+ firstVisibleItemKey: newFirstVisibleItemKey,
803
+ pendingScrollUpdateCount:
804
+ maintainVisibleContentPositionAdjustment != null
805
+ ? prevState.pendingScrollUpdateCount + 1
806
+ : prevState.pendingScrollUpdateCount,
679
807
  };
680
808
  }
681
809
 
@@ -704,29 +832,31 @@ export default class VirtualizedList extends StateSafePureComponent<
704
832
  const end = getItemCount(data) - 1;
705
833
  let prevCellKey;
706
834
  last = Math.min(end, last);
835
+
707
836
  for (let ii = first; ii <= last; ii++) {
708
837
  const item = getItem(data, ii);
709
- const key = this._keyExtractor(item, ii, this.props);
838
+ const key = VirtualizedList._keyExtractor(item, ii, this.props);
839
+
710
840
  this._indicesToKeys.set(ii, key);
711
841
  if (stickyIndicesFromProps.has(ii + stickyOffset)) {
712
842
  stickyHeaderIndices.push(cells.length);
713
843
  }
844
+
845
+ const shouldListenForLayout =
846
+ getItemLayout == null || debug || this._fillRateHelper.enabled();
847
+
714
848
  cells.push(
715
849
  <CellRenderer
716
850
  CellRendererComponent={CellRendererComponent}
717
851
  ItemSeparatorComponent={ii < end ? ItemSeparatorComponent : undefined}
718
852
  ListItemComponent={ListItemComponent}
719
853
  cellKey={key}
720
- debug={debug}
721
- fillRateHelper={this._fillRateHelper}
722
- getItemLayout={getItemLayout}
723
854
  horizontal={horizontal}
724
855
  index={ii}
725
856
  inversionStyle={inversionStyle}
726
857
  item={item}
727
858
  key={key}
728
859
  prevCellKey={prevCellKey}
729
- onCellLayout={this._onCellLayout}
730
860
  onUpdateSeparators={this._onUpdateSeparators}
731
861
  onCellFocusCapture={e => this._onCellFocusCapture(key)}
732
862
  onUnmount={this._onCellUnmount}
@@ -734,6 +864,9 @@ export default class VirtualizedList extends StateSafePureComponent<
734
864
  this._cellRefs[key] = ref;
735
865
  }}
736
866
  renderItem={renderItem}
867
+ {...(shouldListenForLayout && {
868
+ onCellLayout: this._onCellLayout,
869
+ })}
737
870
  />,
738
871
  );
739
872
  prevCellKey = key;
@@ -775,15 +908,14 @@ export default class VirtualizedList extends StateSafePureComponent<
775
908
  _getSpacerKey = (isVertical: boolean): string =>
776
909
  isVertical ? 'height' : 'width';
777
910
 
778
- _keyExtractor(
911
+ static _keyExtractor(
779
912
  item: Item,
780
913
  index: number,
781
914
  props: {
782
915
  keyExtractor?: ?(item: Item, index: number) => string,
783
916
  ...
784
917
  },
785
- // $FlowFixMe[missing-local-annot]
786
- ) {
918
+ ): string {
787
919
  if (props.keyExtractor != null) {
788
920
  return props.keyExtractor(item, index);
789
921
  }
@@ -799,15 +931,7 @@ export default class VirtualizedList extends StateSafePureComponent<
799
931
  }
800
932
 
801
933
  render(): React.Node {
802
- if (__DEV__) {
803
- const flatStyles = flattenStyle(this.props.contentContainerStyle);
804
- if (flatStyles != null && flatStyles.flexWrap === 'wrap') {
805
- console.warn(
806
- '`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' +
807
- 'Consider using `numColumns` with `FlatList` instead.',
808
- );
809
- }
810
- }
934
+ this._checkProps(this.props);
811
935
  const {ListEmptyComponent, ListFooterComponent, ListHeaderComponent} =
812
936
  this.props;
813
937
  const {data, horizontal} = this.props;
@@ -837,6 +961,10 @@ export default class VirtualizedList extends StateSafePureComponent<
837
961
  cellKey={this._getCellKey() + '-header'}
838
962
  key="$header">
839
963
  <View
964
+ // We expect that header component will be a single native view so make it
965
+ // not collapsable to avoid this view being flattened and make this assumption
966
+ // no longer true.
967
+ collapsable={false}
840
968
  onLayout={this._onLayoutHeader}
841
969
  style={StyleSheet.compose(
842
970
  inversionStyle,
@@ -994,6 +1122,17 @@ export default class VirtualizedList extends StateSafePureComponent<
994
1122
  style: inversionStyle
995
1123
  ? [inversionStyle, this.props.style]
996
1124
  : this.props.style,
1125
+ isInvertedVirtualizedList: this.props.inverted,
1126
+ maintainVisibleContentPosition:
1127
+ this.props.maintainVisibleContentPosition != null
1128
+ ? {
1129
+ ...this.props.maintainVisibleContentPosition,
1130
+ // Adjust index to account for ListHeaderComponent.
1131
+ minIndexForVisible:
1132
+ this.props.maintainVisibleContentPosition.minIndexForVisible +
1133
+ (this.props.ListHeaderComponent ? 1 : 0),
1134
+ }
1135
+ : undefined,
997
1136
  };
998
1137
 
999
1138
  this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;
@@ -1134,6 +1273,7 @@ export default class VirtualizedList extends StateSafePureComponent<
1134
1273
  zoomScale: 1,
1135
1274
  };
1136
1275
  _scrollRef: ?React.ElementRef<any> = null;
1276
+ _sentStartForContentLength = 0;
1137
1277
  _sentEndForContentLength = 0;
1138
1278
  _totalCellLength = 0;
1139
1279
  _totalCellsMeasured = 0;
@@ -1231,21 +1371,11 @@ export default class VirtualizedList extends StateSafePureComponent<
1231
1371
 
1232
1372
  _onCellFocusCapture(cellKey: string) {
1233
1373
  this._lastFocusedCellKey = cellKey;
1234
- const renderMask = VirtualizedList._createRenderMask(
1235
- this.props,
1236
- this.state.cellsAroundViewport,
1237
- this._getNonViewportRenderRegions(this.props),
1238
- );
1239
-
1240
- this.setState(state => {
1241
- if (!renderMask.equals(state.renderMask)) {
1242
- return {renderMask};
1243
- }
1244
- return null;
1245
- });
1374
+ this._updateCellsToRender();
1246
1375
  }
1247
1376
 
1248
1377
  _onCellUnmount = (cellKey: string) => {
1378
+ delete this._cellRefs[cellKey];
1249
1379
  const curr = this._frames[cellKey];
1250
1380
  if (curr) {
1251
1381
  this._frames[cellKey] = {...curr, inLayout: false};
@@ -1321,7 +1451,7 @@ export default class VirtualizedList extends StateSafePureComponent<
1321
1451
  }
1322
1452
  this.props.onLayout && this.props.onLayout(e);
1323
1453
  this._scheduleCellsToRenderUpdate();
1324
- this._maybeCallOnEndReached();
1454
+ this._maybeCallOnEdgeReached();
1325
1455
  };
1326
1456
 
1327
1457
  _onLayoutEmpty = (e: LayoutEvent) => {
@@ -1430,35 +1560,85 @@ export default class VirtualizedList extends StateSafePureComponent<
1430
1560
  return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;
1431
1561
  }
1432
1562
 
1433
- _maybeCallOnEndReached() {
1434
- const {data, getItemCount, onEndReached, onEndReachedThreshold} =
1435
- this.props;
1563
+ _maybeCallOnEdgeReached() {
1564
+ const {
1565
+ data,
1566
+ getItemCount,
1567
+ onStartReached,
1568
+ onStartReachedThreshold,
1569
+ onEndReached,
1570
+ onEndReachedThreshold,
1571
+ } = this.props;
1572
+ // If we have any pending scroll updates it means that the scroll metrics
1573
+ // are out of date and we should not call any of the edge reached callbacks.
1574
+ if (this.state.pendingScrollUpdateCount > 0) {
1575
+ return;
1576
+ }
1577
+
1436
1578
  const {contentLength, visibleLength, offset} = this._scrollMetrics;
1579
+ let distanceFromStart = offset;
1437
1580
  let distanceFromEnd = contentLength - visibleLength - offset;
1438
1581
 
1439
- // Especially when oERT is zero it's necessary to 'floor' very small distanceFromEnd values to be 0
1582
+ // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0
1440
1583
  // since debouncing causes us to not fire this event for every single "pixel" we scroll and can thus
1441
- // be at the "end" of the list with a distanceFromEnd approximating 0 but not quite there.
1442
- if (distanceFromEnd < ON_END_REACHED_EPSILON) {
1584
+ // be at the edge of the list with a distance approximating 0 but not quite there.
1585
+ if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {
1586
+ distanceFromStart = 0;
1587
+ }
1588
+ if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {
1443
1589
  distanceFromEnd = 0;
1444
1590
  }
1445
1591
 
1446
- // TODO: T121172172 Look into why we're "defaulting" to a threshold of 2 when oERT is not present
1447
- const threshold =
1448
- onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : 2;
1592
+ // TODO: T121172172 Look into why we're "defaulting" to a threshold of 2px
1593
+ // when oERT is not present (different from 2 viewports used elsewhere)
1594
+ const DEFAULT_THRESHOLD_PX = 2;
1595
+
1596
+ const startThreshold =
1597
+ onStartReachedThreshold != null
1598
+ ? onStartReachedThreshold * visibleLength
1599
+ : DEFAULT_THRESHOLD_PX;
1600
+ const endThreshold =
1601
+ onEndReachedThreshold != null
1602
+ ? onEndReachedThreshold * visibleLength
1603
+ : DEFAULT_THRESHOLD_PX;
1604
+ const isWithinStartThreshold = distanceFromStart <= startThreshold;
1605
+ const isWithinEndThreshold = distanceFromEnd <= endThreshold;
1606
+
1607
+ // First check if the user just scrolled within the end threshold
1608
+ // and call onEndReached only once for a given content length,
1609
+ // and only if onStartReached is not being executed
1449
1610
  if (
1450
1611
  onEndReached &&
1451
1612
  this.state.cellsAroundViewport.last === getItemCount(data) - 1 &&
1452
- distanceFromEnd <= threshold &&
1613
+ isWithinEndThreshold &&
1453
1614
  this._scrollMetrics.contentLength !== this._sentEndForContentLength
1454
1615
  ) {
1455
- // Only call onEndReached once for a given content length
1456
1616
  this._sentEndForContentLength = this._scrollMetrics.contentLength;
1457
1617
  onEndReached({distanceFromEnd});
1458
- } else if (distanceFromEnd > threshold) {
1459
- // If the user scrolls away from the end and back again cause
1460
- // an onEndReached to be triggered again
1461
- this._sentEndForContentLength = 0;
1618
+ }
1619
+
1620
+ // Next check if the user just scrolled within the start threshold
1621
+ // and call onStartReached only once for a given content length,
1622
+ // and only if onEndReached is not being executed
1623
+ else if (
1624
+ onStartReached != null &&
1625
+ this.state.cellsAroundViewport.first === 0 &&
1626
+ isWithinStartThreshold &&
1627
+ this._scrollMetrics.contentLength !== this._sentStartForContentLength
1628
+ ) {
1629
+ this._sentStartForContentLength = this._scrollMetrics.contentLength;
1630
+ onStartReached({distanceFromStart});
1631
+ }
1632
+
1633
+ // If the user scrolls away from the start or end and back again,
1634
+ // cause onStartReached or onEndReached to be triggered again
1635
+ else {
1636
+ this._sentStartForContentLength = isWithinStartThreshold
1637
+ ? this._sentStartForContentLength
1638
+ : 0;
1639
+ this._sentEndForContentLength = isWithinEndThreshold
1640
+ ? this._sentEndForContentLength
1641
+ : 0;
1462
1642
  }
1463
1643
  }
1464
1644
 
@@ -1471,10 +1651,17 @@ export default class VirtualizedList extends StateSafePureComponent<
1471
1651
  !this._hasTriggeredInitialScrollToIndex
1472
1652
  ) {
1473
1653
  if (this.props.contentOffset == null) {
1474
- this.scrollToIndex({
1475
- animated: false,
1476
- index: this.props.initialScrollIndex,
1477
- });
1654
+ if (
1655
+ this.props.initialScrollIndex <
1656
+ this.props.getItemCount(this.props.data)
1657
+ ) {
1658
+ this.scrollToIndex({
1659
+ animated: false,
1660
+ index: nullthrows(this.props.initialScrollIndex),
1661
+ });
1662
+ } else {
1663
+ this.scrollToEnd({animated: false});
1664
+ }
1478
1665
  }
1479
1666
  this._hasTriggeredInitialScrollToIndex = true;
1480
1667
  }
@@ -1483,7 +1670,7 @@ export default class VirtualizedList extends StateSafePureComponent<
1483
1670
  }
1484
1671
  this._scrollMetrics.contentLength = this._selectLength({height, width});
1485
1672
  this._scheduleCellsToRenderUpdate();
1486
- this._maybeCallOnEndReached();
1673
+ this._maybeCallOnEdgeReached();
1487
1674
  };
1488
1675
 
1489
1676
  /* Translates metrics from a scroll event in a parent VirtualizedList into
@@ -1567,11 +1754,16 @@ export default class VirtualizedList extends StateSafePureComponent<
1567
1754
  visibleLength,
1568
1755
  zoomScale,
1569
1756
  };
1757
+ if (this.state.pendingScrollUpdateCount > 0) {
1758
+ this.setState(state => ({
1759
+ pendingScrollUpdateCount: state.pendingScrollUpdateCount - 1,
1760
+ }));
1761
+ }
1570
1762
  this._updateViewableItems(this.props, this.state.cellsAroundViewport);
1571
1763
  if (!this.props) {
1572
1764
  return;
1573
1765
  }
1574
- this._maybeCallOnEndReached();
1766
+ this._maybeCallOnEdgeReached();
1575
1767
  if (velocity !== 0) {
1576
1768
  this._fillRateHelper.activate();
1577
1769
  }
@@ -1584,28 +1776,34 @@ export default class VirtualizedList extends StateSafePureComponent<
1584
1776
  const {offset, visibleLength, velocity} = this._scrollMetrics;
1585
1777
  const itemCount = this.props.getItemCount(this.props.data);
1586
1778
  let hiPri = false;
1779
+ const onStartReachedThreshold = onStartReachedThresholdOrDefault(
1780
+ this.props.onStartReachedThreshold,
1781
+ );
1587
1782
  const onEndReachedThreshold = onEndReachedThresholdOrDefault(
1588
1783
  this.props.onEndReachedThreshold,
1589
1784
  );
1590
- const scrollingThreshold = (onEndReachedThreshold * visibleLength) / 2;
1591
1785
  // Mark as high priority if we're close to the start of the first item
1592
1786
  // But only if there are items before the first rendered item
1593
1787
  if (first > 0) {
1594
1788
  const distTop =
1595
1789
  offset - this.__getFrameMetricsApprox(first, this.props).offset;
1596
1790
  hiPri =
1597
- hiPri || distTop < 0 || (velocity < -2 && distTop < scrollingThreshold);
1791
+ distTop < 0 ||
1792
+ (velocity < -2 &&
1793
+ distTop <
1794
+ getScrollingThreshold(onStartReachedThreshold, visibleLength));
1598
1795
  }
1599
1796
  // Mark as high priority if we're close to the end of the last item
1600
1797
  // But only if there are items after the last rendered item
1601
- if (last >= 0 && last < itemCount - 1) {
1798
+ if (!hiPri && last >= 0 && last < itemCount - 1) {
1602
1799
  const distBottom =
1603
1800
  this.__getFrameMetricsApprox(last, this.props).offset -
1604
1801
  (offset + visibleLength);
1605
1802
  hiPri =
1606
- hiPri ||
1607
1803
  distBottom < 0 ||
1608
- (velocity > 2 && distBottom < scrollingThreshold);
1804
+ (velocity > 2 &&
1805
+ distBottom <
1806
+ getScrollingThreshold(onEndReachedThreshold, visibleLength));
1609
1807
  }
1610
1808
  // Only trigger high-priority updates if we've actually rendered cells,
1611
1809
  // and with that size estimate, accurately compute how many cells we should render.
@@ -1670,10 +1868,13 @@ export default class VirtualizedList extends StateSafePureComponent<
1670
1868
  };
1671
1869
 
1672
1870
  _updateCellsToRender = () => {
1871
+ this._updateViewableItems(this.props, this.state.cellsAroundViewport);
1872
+
1673
1873
  this.setState((state, props) => {
1674
1874
  const cellsAroundViewport = this._adjustCellsAroundViewport(
1675
1875
  props,
1676
1876
  state.cellsAroundViewport,
1877
+ state.pendingScrollUpdateCount,
1677
1878
  );
1678
1879
  const renderMask = VirtualizedList._createRenderMask(
1679
1880
  props,
@@ -1704,7 +1905,7 @@ export default class VirtualizedList extends StateSafePureComponent<
1704
1905
  return {
1705
1906
  index,
1706
1907
  item,
1707
- key: this._keyExtractor(item, index, props),
1908
+ key: VirtualizedList._keyExtractor(item, index, props),
1708
1909
  isViewable,
1709
1910
  };
1710
1911
  };
@@ -1765,13 +1966,12 @@ export default class VirtualizedList extends StateSafePureComponent<
1765
1966
  inLayout?: boolean,
1766
1967
  ...
1767
1968
  } => {
1768
- const {data, getItem, getItemCount, getItemLayout} = props;
1969
+ const {data, getItemCount, getItemLayout} = props;
1769
1970
  invariant(
1770
1971
  index >= 0 && index < getItemCount(data),
1771
1972
  'Tried to get frame for out of range index ' + index,
1772
1973
  );
1773
- const item = getItem(data, index);
1774
- const frame = item && this._frames[this._keyExtractor(item, index, props)];
1974
+ const frame = this._frames[VirtualizedList._getItemKey(props, index)];
1775
1975
  if (!frame || frame.index !== index) {
1776
1976
  if (getItemLayout) {
1777
1977
  /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment
@@ -1802,10 +2002,12 @@ export default class VirtualizedList extends StateSafePureComponent<
1802
2002
  const focusedCellIndex = lastFocusedCellRenderer.props.index;
1803
2003
  const itemCount = props.getItemCount(props.data);
1804
2004
 
1805
- // The cell may have been unmounted and have a stale index
2005
+ // The last cell we rendered may be at a new index. Bail if we don't know
2006
+ // where it is.
1806
2007
  if (
1807
2008
  focusedCellIndex >= itemCount ||
1808
- this._indicesToKeys.get(focusedCellIndex) !== this._lastFocusedCellKey
2009
+ VirtualizedList._getItemKey(props, focusedCellIndex) !==
2010
+ this._lastFocusedCellKey
1809
2011
  ) {
1810
2012
  return [];
1811
2013
  }
@@ -1846,6 +2048,11 @@ export default class VirtualizedList extends StateSafePureComponent<
1846
2048
  props: FrameMetricProps,
1847
2049
  cellsAroundViewport: {first: number, last: number},
1848
2050
  ) {
2051
+ // If we have any pending scroll updates it means that the scroll metrics
2052
+ // are out of date and we should not call any of the visibility callbacks.
2053
+ if (this.state.pendingScrollUpdateCount > 0) {
2054
+ return;
2055
+ }
1849
2056
  this._viewabilityTuples.forEach(tuple => {
1850
2057
  tuple.viewabilityHelper.onUpdate(
1851
2058
  props,
@@ -1861,9 +2068,10 @@ export default class VirtualizedList extends StateSafePureComponent<
1861
2068
  }
1862
2069
 
1863
2070
  const styles = StyleSheet.create({
1864
- verticallyInverted: {
1865
- transform: [{scaleY: -1}],
1866
- },
2071
+ verticallyInverted:
2072
+ Platform.OS === 'android'
2073
+ ? {transform: [{scale: -1}]}
2074
+ : {transform: [{scaleY: -1}]},
1867
2075
  horizontallyInverted: {
1868
2076
  transform: [{scaleX: -1}],
1869
2077
  },
@@ -1896,3 +2104,5 @@ const styles = StyleSheet.create({
1896
2104
  borderWidth: 2,
1897
2105
  },
1898
2106
  });
2107
+
2108
+ module.exports = VirtualizedList;