not-react-native-macos 0.83.0-rc.1 → 0.87.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2860) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +22 -27
  2. package/Libraries/Alert/Alert.js +38 -120
  3. package/Libraries/Alert/RCTAlertManager.macos.js +12 -7
  4. package/Libraries/Animated/Animated.d.ts +8 -1
  5. package/Libraries/Animated/AnimatedEvent.js +7 -7
  6. package/Libraries/Animated/AnimatedExports.js +22 -0
  7. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  8. package/Libraries/Animated/AnimatedImplementation.js +134 -13
  9. package/Libraries/Animated/AnimatedMock.js +1 -7
  10. package/Libraries/Animated/Easing.js +4 -3
  11. package/Libraries/Animated/NativeAnimatedAllowlist.js +58 -0
  12. package/Libraries/Animated/__tests__/Animated-benchmark-itest.js +133 -0
  13. package/Libraries/Animated/__tests__/Animated-itest.js +1010 -0
  14. package/Libraries/Animated/__tests__/Animated-test.js +1257 -0
  15. package/Libraries/Animated/__tests__/Animated-web-test.js +199 -0
  16. package/Libraries/Animated/__tests__/AnimatedBackend-benchmark-itest.js +198 -0
  17. package/Libraries/Animated/__tests__/AnimatedBackend-itest.js +733 -0
  18. package/Libraries/Animated/__tests__/AnimatedBackendSuspense-itest.js +592 -0
  19. package/Libraries/Animated/__tests__/AnimatedMock-itest.js +49 -0
  20. package/Libraries/Animated/__tests__/AnimatedObject-itest.js +90 -0
  21. package/Libraries/Animated/__tests__/AnimatedValue-itest.js +248 -0
  22. package/Libraries/Animated/__tests__/Easing-itest.js +249 -0
  23. package/Libraries/Animated/__tests__/Interpolation-itest.js +601 -0
  24. package/Libraries/Animated/__tests__/NativeAnimatedAllowlist-test.js +86 -0
  25. package/Libraries/Animated/__tests__/TimingAnimation-itest.js +40 -0
  26. package/Libraries/Animated/__tests__/bezier-itest.js +149 -0
  27. package/Libraries/Animated/animations/Animation.js +18 -11
  28. package/Libraries/Animated/animations/DecayAnimation.js +5 -4
  29. package/Libraries/Animated/animations/SpringAnimation.js +6 -5
  30. package/Libraries/Animated/animations/TimingAnimation.js +14 -5
  31. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  32. package/Libraries/Animated/components/AnimatedText.js +3 -3
  33. package/Libraries/Animated/createAnimatedComponent.js +21 -18
  34. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  35. package/Libraries/Animated/nodes/AnimatedColor.js +18 -18
  36. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  37. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  38. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -27
  39. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  40. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  41. package/Libraries/Animated/nodes/AnimatedNode.js +6 -6
  42. package/Libraries/Animated/nodes/AnimatedObject.js +18 -13
  43. package/Libraries/Animated/nodes/AnimatedProps.js +73 -18
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +19 -19
  45. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  46. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  47. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  48. package/Libraries/Animated/nodes/AnimatedValue.js +17 -6
  49. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -4
  50. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  51. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  52. package/Libraries/Animated/useAnimatedColor.js +25 -0
  53. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  54. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  55. package/Libraries/AppDelegate/RCTAppDelegate.h +8 -16
  56. package/Libraries/AppDelegate/RCTAppDelegate.mm +4 -60
  57. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  58. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -80
  59. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.h +1 -5
  60. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +23 -22
  61. package/Libraries/AppDelegate/RCTReactNativeFactory.h +12 -45
  62. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +22 -108
  63. package/Libraries/AppDelegate/RCTRootViewFactory.h +26 -17
  64. package/Libraries/AppDelegate/RCTRootViewFactory.mm +35 -134
  65. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +2 -2
  66. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -0
  67. package/Libraries/AppState/AppState.d.ts +4 -1
  68. package/Libraries/AppState/AppState.js +35 -22
  69. package/Libraries/BatchedBridge/MessageQueue.js +69 -76
  70. package/Libraries/BatchedBridge/NativeModules.js +20 -11
  71. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +37 -0
  72. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +24 -0
  73. package/Libraries/BatchedBridge/__tests__/MessageQueue-itest.js +183 -0
  74. package/Libraries/BatchedBridge/__tests__/NativeModules-test.js +253 -0
  75. package/Libraries/Blob/Blob.js +7 -1
  76. package/Libraries/Blob/FileReader.js +6 -0
  77. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  78. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  79. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  80. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  81. package/Libraries/Blob/URL.js +34 -3
  82. package/Libraries/Blob/URLSearchParams.js +1 -0
  83. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  84. package/Libraries/Blob/__mocks__/BlobModule.js +16 -0
  85. package/Libraries/Blob/__mocks__/FileReaderModule.js +20 -0
  86. package/Libraries/Blob/__tests__/Blob-test.js +135 -0
  87. package/Libraries/Blob/__tests__/BlobManager-test.js +32 -0
  88. package/Libraries/Blob/__tests__/BlobRegistry-itest.js +49 -0
  89. package/Libraries/Blob/__tests__/File-test.js +89 -0
  90. package/Libraries/Blob/__tests__/FileReader-test.js +87 -0
  91. package/Libraries/Blob/__tests__/URL-itest.js +168 -0
  92. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +29 -19
  93. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +118 -156
  94. package/Libraries/Components/AccessibilityInfo/__tests__/AccessibilityInfo-test.js +822 -0
  95. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.macos.js +14 -7
  96. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +61 -51
  97. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  98. package/Libraries/Components/ActivityIndicator/__tests__/ActivityIndicator-itest.js +195 -0
  99. package/Libraries/Components/Button.js +104 -248
  100. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  101. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  102. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +9 -70
  103. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  104. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  105. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.macos.js +23 -0
  106. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +32 -37
  107. package/Libraries/Components/DrawerAndroid/__tests__/DrawerAndroid-test.js +38 -0
  108. package/Libraries/Components/DrawerAndroid/__tests__/__snapshots__/DrawerAndroid-test.js.snap +107 -0
  109. package/Libraries/Components/Keyboard/Keyboard.js +34 -71
  110. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -9
  111. package/Libraries/Components/Keyboard/__tests__/Keyboard-test.js +83 -0
  112. package/Libraries/Components/LayoutConformance/LayoutConformance.js +2 -28
  113. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  114. package/Libraries/Components/Pressable/Pressable.d.ts +6 -0
  115. package/Libraries/Components/Pressable/Pressable.js +53 -172
  116. package/Libraries/Components/Pressable/__tests__/Pressable-itest.js +323 -0
  117. package/Libraries/Components/Pressable/useAndroidRippleForView.js +11 -12
  118. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  119. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +5 -5
  120. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  121. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +20 -3
  122. package/Libraries/Components/ProgressBarAndroid/__tests__/ProgressBarAndroid-itest.js +31 -0
  123. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  124. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  125. package/Libraries/Components/RefreshControl/RefreshControl.js +44 -54
  126. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  127. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  128. package/Libraries/Components/SafeAreaView/__tests__/SafeAreaView-itest.js +38 -0
  129. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  130. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  131. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -5
  132. package/Libraries/Components/ScrollView/ScrollView.d.ts +64 -43
  133. package/Libraries/Components/ScrollView/ScrollView.js +227 -165
  134. package/Libraries/Components/ScrollView/ScrollViewCommands.js +6 -6
  135. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -32
  136. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  137. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +4 -4
  138. package/Libraries/Components/ScrollView/__tests__/ScrollView-itest.js +240 -0
  139. package/Libraries/Components/ScrollView/__tests__/ScrollView-viewCulling-itest.js +2602 -0
  140. package/Libraries/Components/StaticRenderer.js +1 -1
  141. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  142. package/Libraries/Components/StatusBar/StatusBar.js +93 -169
  143. package/Libraries/Components/StatusBar/__tests__/StatusBar-test.js +79 -0
  144. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  145. package/Libraries/Components/Switch/Switch.js +80 -79
  146. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  147. package/Libraries/Components/Switch/__tests__/Switch-itest.js +47 -0
  148. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +58 -49
  149. package/Libraries/Components/TextInput/InputAccessoryView.js +14 -62
  150. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  151. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -2
  152. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -3
  153. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -41
  154. package/Libraries/Components/TextInput/TextInput.d.ts +33 -127
  155. package/Libraries/Components/TextInput/TextInput.flow.js +79 -205
  156. package/Libraries/Components/TextInput/TextInput.js +163 -246
  157. package/Libraries/Components/TextInput/TextInputNativeCommands.js +4 -16
  158. package/Libraries/Components/TextInput/TextInputState.js +3 -7
  159. package/Libraries/Components/TextInput/__tests__/InputAccessoryView-itest.js +33 -0
  160. package/Libraries/Components/TextInput/__tests__/TextInput-itest.js +633 -0
  161. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +30 -24
  162. package/Libraries/Components/ToastAndroid/ToastAndroid.macos.js +23 -0
  163. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  164. package/Libraries/Components/Touchable/PooledClass.js +6 -6
  165. package/Libraries/Components/Touchable/Touchable.js +95 -101
  166. package/Libraries/Components/Touchable/TouchableBounce.js +12 -32
  167. package/Libraries/Components/Touchable/TouchableHighlight.js +53 -139
  168. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +27 -43
  169. package/Libraries/Components/Touchable/TouchableOpacity.js +20 -116
  170. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +15 -49
  171. package/Libraries/Components/Touchable/__tests__/TouchableHighlight-itest.js +483 -0
  172. package/Libraries/Components/Touchable/__tests__/TouchableNativeFeedback-itest.js +160 -0
  173. package/Libraries/Components/Touchable/__tests__/TouchableOpacity-itest.js +235 -0
  174. package/Libraries/Components/Touchable/__tests__/TouchableWithoutFeedback-itest.js +170 -0
  175. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  176. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  177. package/Libraries/Components/View/ReactNativeStyleAttributes.js +79 -33
  178. package/Libraries/Components/View/View.js +21 -72
  179. package/Libraries/Components/View/ViewAccessibility.d.ts +11 -1
  180. package/Libraries/Components/View/ViewAccessibility.js +23 -13
  181. package/Libraries/Components/View/ViewNativeComponent.js +4 -6
  182. package/Libraries/Components/View/ViewPropTypes.d.ts +0 -26
  183. package/Libraries/Components/View/ViewPropTypes.js +98 -170
  184. package/Libraries/Components/View/__tests__/FantomEventHandlers-itest.js +80 -0
  185. package/Libraries/Components/View/__tests__/View-benchmark-itest.js +270 -0
  186. package/Libraries/Components/View/__tests__/View-flexBasisFitContent-itest.js +87 -0
  187. package/Libraries/Components/View/__tests__/View-itest.js +1138 -0
  188. package/Libraries/Components/View/__tests__/View-vs-ViewNativeComponent-benchmark-itest.js +60 -0
  189. package/Libraries/Components/View/__tests__/View-yogaNodeOwnerAssertion-itest.js +120 -0
  190. package/Libraries/Components/View/__tests__/ViewProps-benchmark-itest.js +172 -0
  191. package/Libraries/Components/__tests__/Button-itest.js +290 -0
  192. package/Libraries/Core/Devtools/__tests__/loadBundleFromServer-test.js +269 -0
  193. package/Libraries/Core/Devtools/__tests__/parseErrorStack-itest.js +45 -0
  194. package/Libraries/Core/Devtools/__tests__/parseHermesStack-itest.js +241 -0
  195. package/Libraries/Core/Devtools/loadBundleFromServer.js +14 -3
  196. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  197. package/Libraries/Core/Devtools/symbolicateStackTrace.js +3 -3
  198. package/Libraries/Core/ExceptionsManager.js +5 -11
  199. package/Libraries/Core/ExtendedError.js +3 -3
  200. package/Libraries/Core/InitializeCore.js +9 -14
  201. package/Libraries/Core/RawEventEmitter.js +2 -2
  202. package/Libraries/Core/ReactFiberErrorDialog.js +6 -6
  203. package/Libraries/Core/ReactNativeVersion.js +3 -3
  204. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  205. package/Libraries/Core/Timers/JSTimers.js +56 -54
  206. package/Libraries/Core/Timers/__tests__/JSTimers-test.js +427 -0
  207. package/Libraries/Core/Timers/immediateShim.js +1 -1
  208. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +18 -0
  209. package/Libraries/Core/__tests__/ExceptionsManager-test.js +1102 -0
  210. package/Libraries/Core/__tests__/ReactNativeVersionCheck-itest.js +135 -0
  211. package/Libraries/Core/setUpAlert.js +0 -1
  212. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  213. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  214. package/Libraries/Core/setUpErrorHandling.js +5 -3
  215. package/Libraries/Core/setUpGlobals.js +9 -4
  216. package/Libraries/Core/setUpNavigator.js +6 -1
  217. package/Libraries/Core/setUpReactDevTools.js +0 -101
  218. package/Libraries/Core/setUpSegmentFetcher.js +2 -2
  219. package/Libraries/Core/setUpXHR.js +6 -2
  220. package/Libraries/Debugging/DebuggingOverlay.js +4 -4
  221. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  222. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  223. package/Libraries/EventEmitter/NativeEventEmitter.js +41 -11
  224. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -9
  225. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  226. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +51 -0
  227. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
  228. package/Libraries/Image/AssetSourceResolver.js +18 -27
  229. package/Libraries/Image/Image.android.js +170 -313
  230. package/Libraries/Image/Image.d.ts +0 -5
  231. package/Libraries/Image/Image.ios.js +5 -5
  232. package/Libraries/Image/Image.macos.js +15 -7
  233. package/Libraries/Image/ImageBackground.js +30 -18
  234. package/Libraries/Image/ImageProps.js +126 -134
  235. package/Libraries/Image/ImageSource.d.ts +1 -1
  236. package/Libraries/Image/ImageSource.js +11 -11
  237. package/Libraries/Image/ImageSourceUtils.js +14 -7
  238. package/Libraries/Image/ImageTypes.flow.js +6 -4
  239. package/Libraries/Image/ImageViewNativeComponent.js +8 -17
  240. package/Libraries/Image/RCTAnimatedImage.h +4 -8
  241. package/Libraries/Image/RCTAnimatedImage.mm +1 -12
  242. package/Libraries/Image/RCTBundleAssetImageLoader.mm +1 -1
  243. package/Libraries/Image/RCTDisplayWeakRefreshable.h +2 -4
  244. package/Libraries/Image/RCTDisplayWeakRefreshable.mm +3 -3
  245. package/Libraries/Image/RCTImageBlurUtils.h +2 -2
  246. package/Libraries/Image/RCTImageBlurUtils.mm +7 -20
  247. package/Libraries/Image/RCTImageCache.h +4 -4
  248. package/Libraries/Image/RCTImageCache.mm +3 -7
  249. package/Libraries/Image/RCTImageDataDecoder.h +1 -1
  250. package/Libraries/Image/RCTImageEditingManager.mm +4 -4
  251. package/Libraries/Image/RCTImageLoader.h +1 -2
  252. package/Libraries/Image/RCTImageLoader.mm +91 -144
  253. package/Libraries/Image/RCTImageLoaderProtocol.h +2 -1
  254. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +2 -2
  255. package/Libraries/Image/RCTImagePlugins.h +1 -0
  256. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  257. package/Libraries/Image/RCTImageStoreManager.h +5 -7
  258. package/Libraries/Image/RCTImageStoreManager.mm +6 -8
  259. package/Libraries/Image/RCTImageURLLoader.h +4 -4
  260. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -1
  261. package/Libraries/Image/RCTImageUtils.h +5 -10
  262. package/Libraries/Image/RCTImageUtils.mm +44 -48
  263. package/Libraries/Image/RCTLocalAssetImageLoader.mm +1 -1
  264. package/Libraries/Image/RCTResizeMode.h +2 -13
  265. package/Libraries/Image/RCTUIImageViewAnimated.h +2 -1
  266. package/Libraries/Image/RCTUIImageViewAnimated.mm +24 -30
  267. package/Libraries/Image/React-RCTImage.podspec +1 -5
  268. package/Libraries/Image/RelativeImageStub.js +3 -3
  269. package/Libraries/Image/__tests__/AssetUtils-itest.js +50 -0
  270. package/Libraries/Image/__tests__/Image-benchmark-itest.js +80 -0
  271. package/Libraries/Image/__tests__/Image-itest.js +1085 -0
  272. package/Libraries/Image/__tests__/ImageBackground-itest.js +154 -0
  273. package/Libraries/Image/__tests__/ImageSourceUtils-itest.js +301 -0
  274. package/Libraries/Image/__tests__/assetRelativePathInSnapshot-itest.js +41 -0
  275. package/Libraries/Image/__tests__/img/img1.png +0 -0
  276. package/Libraries/Image/__tests__/img/img2.png +0 -0
  277. package/Libraries/Image/__tests__/resolveAssetSource-test.js +459 -0
  278. package/Libraries/Image/nativeImageSource.js +1 -3
  279. package/Libraries/Image/resolveAssetSource.js +1 -1
  280. package/Libraries/Interaction/PanResponder.js +104 -99
  281. package/Libraries/LayoutAnimation/LayoutAnimation.js +37 -21
  282. package/Libraries/Linking/Linking.js +27 -30
  283. package/Libraries/LinkingIOS/RCTLinkingManager.h +1 -8
  284. package/Libraries/LinkingIOS/RCTLinkingManager.mm +0 -3
  285. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  286. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -8
  287. package/Libraries/Lists/FillRateHelper.js +2 -2
  288. package/Libraries/Lists/FlatList.d.ts +7 -18
  289. package/Libraries/Lists/FlatList.js +16 -55
  290. package/Libraries/Lists/SectionList.d.ts +1 -1
  291. package/Libraries/Lists/SectionList.js +10 -3
  292. package/Libraries/Lists/SectionListModern.js +4 -4
  293. package/Libraries/Lists/ViewabilityHelper.js +2 -2
  294. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  295. package/Libraries/Lists/VirtualizedList.js +5 -2
  296. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  297. package/Libraries/Lists/VirtualizedSectionList.js +6 -2
  298. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +118 -0
  299. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +130 -0
  300. package/Libraries/Lists/__tests__/FlatList-itest.js +1160 -0
  301. package/Libraries/Lists/__tests__/SectionList-itest.js +728 -0
  302. package/Libraries/Lists/__tests__/VirtualizedList-stickyHeaders-benchmark-itest.js +85 -0
  303. package/Libraries/LogBox/Data/LogBoxData.js +69 -28
  304. package/Libraries/LogBox/Data/LogBoxLog.js +45 -114
  305. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  306. package/Libraries/LogBox/Data/__tests__/LogBoxData-test.js +867 -0
  307. package/Libraries/LogBox/Data/__tests__/LogBoxLog-test.js +600 -0
  308. package/Libraries/LogBox/Data/__tests__/LogBoxSymbolication-test.js +60 -0
  309. package/Libraries/LogBox/Data/__tests__/parseLogBoxLog-itest.js +776 -0
  310. package/Libraries/LogBox/Data/__tests__/parseLogBoxLog-test.js +365 -0
  311. package/Libraries/LogBox/Data/parseLogBoxLog.js +23 -119
  312. package/Libraries/LogBox/LogBox.js +53 -30
  313. package/Libraries/LogBox/LogBoxInspectorContainer.js +26 -4
  314. package/Libraries/LogBox/LogBoxNotificationContainer.js +29 -6
  315. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  316. package/Libraries/LogBox/UI/LogBoxButton.js +55 -34
  317. package/Libraries/LogBox/UI/LogBoxInspector.js +63 -3
  318. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +10 -25
  319. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -2
  320. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +4 -2
  321. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -4
  322. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  323. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +18 -16
  324. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +32 -24
  325. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +7 -7
  326. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +11 -11
  327. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -8
  328. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +20 -30
  329. package/Libraries/LogBox/UI/LogBoxMessage.js +43 -39
  330. package/Libraries/LogBox/UI/LogBoxNotification.js +3 -1
  331. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  332. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  333. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  334. package/Libraries/LogBox/UI/__tests__/LogBoxButton-itest.js +54 -0
  335. package/Libraries/LogBox/UI/__tests__/LogBoxInspector-itest.js +106 -0
  336. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorCodeFrame-itest.js +140 -0
  337. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorFooter-itest.js +81 -0
  338. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorHeader-itest.js +81 -0
  339. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorMessageHeader-itest.js +134 -0
  340. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorReactFrames-itest.js +196 -0
  341. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorSection-itest.js +46 -0
  342. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorSourceMapStatus-itest.js +50 -0
  343. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorStackFrame-itest.js +77 -0
  344. package/Libraries/LogBox/UI/__tests__/LogBoxInspectorStackFrames-itest.js +110 -0
  345. package/Libraries/LogBox/UI/__tests__/LogBoxMessage-itest.js +266 -0
  346. package/Libraries/LogBox/UI/__tests__/LogBoxNotification-itest.js +47 -0
  347. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxButton-itest.js.snap +38 -0
  348. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspector-itest.js.snap +367 -0
  349. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorCodeFrame-itest.js.snap +924 -0
  350. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorFooter-itest.js.snap +203 -0
  351. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorHeader-itest.js.snap +177 -0
  352. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorMessageHeader-itest.js.snap +289 -0
  353. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorReactFrames-itest.js.snap +475 -0
  354. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorSection-itest.js.snap +69 -0
  355. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorSourceMapStatus-itest.js.snap +76 -0
  356. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorStackFrame-itest.js.snap +121 -0
  357. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxInspectorStackFrames-itest.js.snap +100 -0
  358. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxMessage-itest.js.snap +332 -0
  359. package/Libraries/LogBox/UI/__tests__/__snapshots__/LogBoxNotification-itest.js.snap +102 -0
  360. package/Libraries/LogBox/__tests__/LogBox-test.js +464 -0
  361. package/Libraries/LogBox/__tests__/LogBoxInspectorContainer-test.js +168 -0
  362. package/Libraries/LogBox/__tests__/LogBoxNotificationContainer-test.js +362 -0
  363. package/Libraries/LogBox/__tests__/__snapshots__/LogBoxInspectorContainer-test.js.snap +78 -0
  364. package/Libraries/LogBox/__tests__/__snapshots__/LogBoxNotificationContainer-test.js.snap +231 -0
  365. package/Libraries/LogBox/__tests__/fantomHelpers.js +225 -0
  366. package/Libraries/Modal/Modal.d.ts +5 -4
  367. package/Libraries/Modal/Modal.js +87 -48
  368. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  369. package/Libraries/Modal/__tests__/Modal-itest.js +324 -0
  370. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm +1 -1
  371. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm +1 -1
  372. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm +1 -1
  373. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +2 -4
  374. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +1 -1
  375. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  376. package/Libraries/NativeAnimation/RCTAnimationUtils.h +2 -2
  377. package/Libraries/NativeAnimation/RCTAnimationUtils.mm +1 -1
  378. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +2 -2
  379. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -2
  380. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +3 -3
  381. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
  382. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +2 -5
  383. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -52
  384. package/Libraries/NativeComponent/BaseViewConfig.ios.js +36 -21
  385. package/Libraries/NativeComponent/BaseViewConfig.macos.js +12 -89
  386. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  387. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  388. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  389. package/Libraries/NativeComponent/ViewConfigIgnore.js +6 -5
  390. package/Libraries/NativeComponent/__tests__/StaticViewConfigValidator-itest.js +239 -0
  391. package/Libraries/Network/RCTFileRequestHandler.mm +0 -4
  392. package/Libraries/Network/RCTHTTPRequestHandler.h +10 -1
  393. package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
  394. package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
  395. package/Libraries/Network/RCTNetworkConversions.h +1 -1
  396. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  397. package/Libraries/Network/RCTNetworking.android.js +4 -4
  398. package/Libraries/Network/RCTNetworking.ios.js +3 -3
  399. package/Libraries/Network/RCTNetworking.js.flow +3 -3
  400. package/Libraries/Network/RCTNetworking.macos.js +15 -7
  401. package/Libraries/Network/RCTNetworking.mm +1 -2
  402. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  403. package/Libraries/Network/React-RCTNetwork.podspec +1 -4
  404. package/Libraries/Network/XMLHttpRequest.js +30 -13
  405. package/Libraries/Network/__tests__/FormData-itest.js +130 -0
  406. package/Libraries/Network/__tests__/XMLHttpRequest-test.js +288 -0
  407. package/Libraries/Performance/Systrace.js +36 -0
  408. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  409. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +32 -20
  410. package/Libraries/Pressability/HoverState.js +0 -4
  411. package/Libraries/Pressability/Pressability.js +17 -82
  412. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  413. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  414. package/Libraries/Pressability/__tests__/Pressability-itest.js +253 -0
  415. package/Libraries/Pressability/__tests__/Pressability-test.js +989 -0
  416. package/Libraries/Pressability/usePressability.js +3 -14
  417. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +8 -7
  418. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +0 -5
  419. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +26 -27
  420. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  421. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -5
  422. package/Libraries/ReactNative/AppContainer-dev.js +22 -4
  423. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  424. package/Libraries/ReactNative/AppContainer.js +1 -2
  425. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  426. package/Libraries/ReactNative/AppRegistry.flow.js +4 -4
  427. package/Libraries/ReactNative/AppRegistry.js +15 -11
  428. package/Libraries/ReactNative/AppRegistryImpl.js +74 -28
  429. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  430. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  431. package/Libraries/ReactNative/DisplayMode.js +1 -1
  432. package/Libraries/ReactNative/FabricUIManager.js +36 -27
  433. package/Libraries/ReactNative/I18nManager.js +20 -0
  434. package/Libraries/ReactNative/IPerformanceLogger.d.ts +51 -0
  435. package/Libraries/ReactNative/IPerformanceLogger.flow.js +52 -0
  436. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  437. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  438. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  439. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +15 -15
  440. package/Libraries/ReactNative/ReactFabricPublicInstance/__tests__/ReactNativeAttributePayload-itest.js +495 -0
  441. package/Libraries/ReactNative/RendererImplementation.js +26 -142
  442. package/Libraries/ReactNative/RendererProxy.js +4 -15
  443. package/Libraries/ReactNative/UIManager.js +53 -0
  444. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  445. package/Libraries/ReactNative/__tests__/FabricUIManager-test.js +67 -0
  446. package/Libraries/ReactNative/__tests__/StaleEventHandlersFromInterruptedRender-itest.js +126 -0
  447. package/Libraries/ReactNative/__tests__/State-ForcedCloneCommitHook-itest.js +57 -0
  448. package/Libraries/ReactNative/__tests__/SyncOnCommit-itest.js +181 -0
  449. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  450. package/Libraries/ReactNative/renderApplication.js +33 -59
  451. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  452. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -122
  453. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  454. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  455. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  456. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  457. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -66
  458. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  459. package/Libraries/Settings/RCTSettingsManager.mm +1 -32
  460. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  461. package/Libraries/Settings/Settings.ios.js +24 -2
  462. package/Libraries/Settings/Settings.macos.js +25 -7
  463. package/Libraries/Share/Share.js +25 -28
  464. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +4 -4
  465. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +4 -4
  466. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +10 -2
  467. package/Libraries/StyleSheet/PlatformColorValueTypes.macos.js +11 -159
  468. package/Libraries/StyleSheet/PointPropType.js +1 -1
  469. package/Libraries/StyleSheet/Rect.js +1 -1
  470. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  471. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  472. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  473. package/Libraries/StyleSheet/StyleSheetExports.js +23 -30
  474. package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -8
  475. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +123 -48
  476. package/Libraries/StyleSheet/StyleSheetTypes.js +79 -95
  477. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +51 -0
  478. package/Libraries/StyleSheet/__tests__/StyleSheet-itest.js +53 -0
  479. package/Libraries/StyleSheet/__tests__/flattenStyle-benchmark-itest.js +72 -0
  480. package/Libraries/StyleSheet/__tests__/flattenStyle-itest.js +190 -0
  481. package/Libraries/StyleSheet/__tests__/normalizeColor-itest.js +99 -0
  482. package/Libraries/StyleSheet/__tests__/processAspectRatio-itest.js +75 -0
  483. package/Libraries/StyleSheet/__tests__/processBackgroundImage-itest.js +1158 -0
  484. package/Libraries/StyleSheet/__tests__/processBackgroundPosition-itest.js +477 -0
  485. package/Libraries/StyleSheet/__tests__/processBackgroundRepeat-itest.js +242 -0
  486. package/Libraries/StyleSheet/__tests__/processBackgroundSize-itest.js +227 -0
  487. package/Libraries/StyleSheet/__tests__/processBoxShadow-itest.js +353 -0
  488. package/Libraries/StyleSheet/__tests__/processColor-itest.js +125 -0
  489. package/Libraries/StyleSheet/__tests__/processColorArray-itest.js +141 -0
  490. package/Libraries/StyleSheet/__tests__/processFilter-itest.js +416 -0
  491. package/Libraries/StyleSheet/__tests__/processFontVariant-itest.js +50 -0
  492. package/Libraries/StyleSheet/__tests__/processTransform-itest.js +151 -0
  493. package/Libraries/StyleSheet/__tests__/processTransformOrigin-itest.js +117 -0
  494. package/Libraries/StyleSheet/__tests__/setNormalizedColorAlpha-itest.js +35 -0
  495. package/Libraries/StyleSheet/__tests__/splitLayoutProps-itest.js +54 -0
  496. package/Libraries/StyleSheet/flattenStyle.js +29 -14
  497. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  498. package/Libraries/StyleSheet/private/_TransformStyle.js +22 -20
  499. package/Libraries/StyleSheet/processBackgroundImage.js +26 -16
  500. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  501. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  502. package/Libraries/StyleSheet/processBackgroundSize.js +11 -16
  503. package/Libraries/StyleSheet/processBoxShadow.js +15 -13
  504. package/Libraries/StyleSheet/processColorArray.js +2 -2
  505. package/Libraries/StyleSheet/processFilter.js +19 -11
  506. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  507. package/Libraries/Text/RCTConvert+Text.h +0 -16
  508. package/Libraries/Text/RCTConvert+Text.mm +0 -2
  509. package/Libraries/Text/React-RCTText.podspec +1 -6
  510. package/Libraries/Text/Text/NSTextStorage+FontScaling.h +1 -1
  511. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +1 -1
  512. package/Libraries/Text/Text/RCTDynamicTypeRamp.h +0 -2
  513. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +6 -5
  514. package/Libraries/Text/Text.d.ts +0 -1
  515. package/Libraries/Text/Text.js +307 -626
  516. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  517. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +38 -62
  518. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +18 -337
  519. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +4 -22
  520. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -12
  521. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +46 -215
  522. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +5 -53
  523. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +2 -41
  524. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +8 -446
  525. package/Libraries/Text/TextNativeComponent.js +18 -12
  526. package/Libraries/Text/TextProps.js +67 -129
  527. package/Libraries/Text/__tests__/Text-benchmark-itest.js +76 -0
  528. package/Libraries/Text/__tests__/Text-itest.js +830 -0
  529. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  530. package/Libraries/TurboModule/RCTExport.js +2 -2
  531. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  532. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
  533. package/Libraries/Types/CodegenTypes.js +9 -6
  534. package/Libraries/Types/CoreEventTypes.d.ts +8 -76
  535. package/Libraries/Types/CoreEventTypes.js +78 -125
  536. package/Libraries/Types/ReactDevToolsTypes.js +4 -4
  537. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  538. package/Libraries/Utilities/Appearance.d.ts +32 -17
  539. package/Libraries/Utilities/Appearance.js +39 -17
  540. package/Libraries/Utilities/BackHandler.android.js +24 -33
  541. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  542. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  543. package/Libraries/Utilities/BackHandler.js.flow +22 -1
  544. package/Libraries/Utilities/BackHandler.macos.js +15 -10
  545. package/Libraries/Utilities/DevLoadingView.js +8 -1
  546. package/Libraries/Utilities/DevSettings.js +12 -5
  547. package/Libraries/Utilities/Dimensions.js +19 -13
  548. package/Libraries/Utilities/HMRClient.js +35 -7
  549. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  550. package/Libraries/Utilities/PixelRatio.js +5 -2
  551. package/Libraries/Utilities/Platform.js.flow +4 -0
  552. package/Libraries/Utilities/Platform.macos.js +11 -82
  553. package/Libraries/Utilities/PlatformTypes.js +77 -0
  554. package/Libraries/Utilities/RCTLog.js +3 -3
  555. package/Libraries/Utilities/ReactNativeTestTools.js +6 -7
  556. package/Libraries/Utilities/__mocks__/BackHandler.js +52 -0
  557. package/Libraries/Utilities/__mocks__/PixelRatio.js +24 -0
  558. package/Libraries/Utilities/__tests__/BackHandler-itest.js +144 -0
  559. package/Libraries/Utilities/__tests__/DeviceInfo-itest.js +19 -0
  560. package/Libraries/Utilities/__tests__/Dimensions-itest.js +70 -0
  561. package/Libraries/Utilities/__tests__/HardwareBackPressEvent-itest.js +65 -0
  562. package/Libraries/Utilities/__tests__/PixelRatio-itest.js +53 -0
  563. package/Libraries/Utilities/__tests__/Platform-itest.js +50 -0
  564. package/Libraries/Utilities/__tests__/ReactNativeTestTools-test.js +103 -0
  565. package/Libraries/Utilities/__tests__/binaryToBase64-itest.js +47 -0
  566. package/Libraries/Utilities/__tests__/codegenNativeComponent-test.js +93 -0
  567. package/Libraries/Utilities/__tests__/deepFreezeAndThrowOnMutationInDev-itest.js +165 -0
  568. package/Libraries/Utilities/__tests__/logError-itest.js +58 -0
  569. package/Libraries/Utilities/__tests__/mapWithSeparator-itest.js +70 -0
  570. package/Libraries/Utilities/__tests__/stringifySafe-itest.js +88 -0
  571. package/Libraries/Utilities/__tests__/useColorScheme-itest.js +60 -0
  572. package/Libraries/Utilities/__tests__/useMergeRefs-itest.js +299 -0
  573. package/Libraries/Utilities/__tests__/useRefEffect-itest.js +213 -0
  574. package/Libraries/Utilities/__tests__/warnOnce-itest.js +33 -0
  575. package/Libraries/Utilities/binaryToBase64.js +1 -1
  576. package/Libraries/Utilities/codegenNativeCommands.js +6 -6
  577. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  578. package/Libraries/Utilities/codegenNativeComponent.js +6 -6
  579. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  580. package/Libraries/Utilities/differ/__tests__/deepDiffer-itest.js +195 -0
  581. package/Libraries/Utilities/differ/__tests__/matricesDiffer-itest.js +45 -0
  582. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  583. package/Libraries/Utilities/logError.js +1 -1
  584. package/Libraries/Utilities/stringifySafe.js +10 -10
  585. package/Libraries/Utilities/useColorScheme.js +11 -1
  586. package/Libraries/Utilities/useMergeRefs.js +2 -2
  587. package/Libraries/Utilities/useRefEffect.js +1 -1
  588. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  589. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  590. package/Libraries/Vibration/Vibration.js +14 -11
  591. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
  592. package/Libraries/WebSocket/WebSocket.js +1 -3
  593. package/Libraries/WebSocket/WebSocketInterceptor.js +4 -6
  594. package/Libraries/WebSocket/__tests__/WebSocket-itest.js +23 -0
  595. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +30 -0
  596. package/Libraries/promiseRejectionTrackingOptions.js +9 -9
  597. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  598. package/Libraries/vendor/emitter/EventEmitter.js +35 -25
  599. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  600. package/Libraries/vendor/emitter/__tests__/EventEmitter-itest.js +422 -0
  601. package/README.md +40 -59
  602. package/React/Base/RCTAssert.m +2 -2
  603. package/React/Base/RCTBridge+Private.h +0 -22
  604. package/React/Base/RCTBridge.h +11 -13
  605. package/React/Base/RCTBridge.mm +5 -459
  606. package/React/Base/RCTBridgeDelegate.h +1 -56
  607. package/React/Base/RCTBridgeModule.h +3 -12
  608. package/React/Base/RCTBridgeProxy.h +8 -0
  609. package/React/Base/RCTBridgeProxy.mm +6 -23
  610. package/React/Base/RCTBundleManager.h +58 -9
  611. package/React/Base/RCTBundleManager.m +109 -29
  612. package/React/Base/RCTBundleURLProvider.h +43 -1
  613. package/React/Base/RCTBundleURLProvider.mm +163 -15
  614. package/React/Base/RCTCallableJSModules.m +0 -18
  615. package/React/Base/RCTConstants.h +1 -4
  616. package/React/Base/RCTConstants.m +7 -8
  617. package/React/Base/RCTConvert.h +12 -27
  618. package/React/Base/RCTConvert.mm +48 -458
  619. package/React/Base/RCTDefines.h +1 -9
  620. package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
  621. package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
  622. package/React/Base/RCTDisplayLink.h +3 -1
  623. package/React/Base/RCTDisplayLink.m +5 -10
  624. package/React/Base/RCTEventDispatcherProtocol.h +1 -1
  625. package/React/Base/RCTFrameUpdate.h +3 -2
  626. package/React/Base/RCTFrameUpdate.m +2 -2
  627. package/React/Base/RCTJSThread.h +1 -1
  628. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  629. package/React/Base/RCTJavaScriptLoader.h +2 -1
  630. package/React/Base/RCTJavaScriptLoader.mm +6 -2
  631. package/React/Base/RCTKeyCommands.h +0 -2
  632. package/React/Base/RCTKeyCommands.m +0 -2
  633. package/React/Base/RCTModuleData.mm +2 -483
  634. package/React/Base/RCTModuleRegistry.m +0 -25
  635. package/React/Base/RCTMultipartDataTask.h +9 -0
  636. package/React/Base/RCTMultipartDataTask.m +16 -1
  637. package/React/Base/RCTPlatformDisplayLink.h +19 -31
  638. package/React/Base/RCTRedBoxSetEnabled.m +1 -1
  639. package/React/Base/RCTReloadCommand.m +2 -4
  640. package/React/Base/RCTRootView.h +10 -6
  641. package/React/Base/RCTRootView.m +4 -507
  642. package/React/Base/RCTRootViewDelegate.h +5 -2
  643. package/React/Base/RCTTextView.h +31 -0
  644. package/React/Base/RCTTouchHandler.h +3 -11
  645. package/React/Base/RCTTouchHandler.m +30 -285
  646. package/React/Base/RCTUIKit.h +89 -737
  647. package/React/Base/RCTUIKit.m +29 -0
  648. package/React/Base/RCTUtils.h +13 -24
  649. package/React/Base/RCTUtils.mm +107 -164
  650. package/React/Base/RCTUtilsUIOverride.h +1 -1
  651. package/React/Base/RCTUtilsUIOverride.m +0 -1
  652. package/React/Base/RCTVersion.m +3 -3
  653. package/React/Base/RCTViewRegistry.m +3 -31
  654. package/React/Base/Surface/RCTSurface.h +3 -0
  655. package/React/Base/Surface/RCTSurface.mm +1 -582
  656. package/React/Base/Surface/RCTSurfaceDelegate.h +8 -4
  657. package/React/Base/Surface/RCTSurfaceProtocol.h +1 -1
  658. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  659. package/React/Base/Surface/RCTSurfaceRootShadowViewDelegate.h +1 -1
  660. package/React/Base/Surface/RCTSurfaceRootView.h +1 -1
  661. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  662. package/React/Base/Surface/RCTSurfaceStage.h +1 -1
  663. package/React/Base/Surface/RCTSurfaceView+Internal.h +1 -1
  664. package/React/Base/Surface/RCTSurfaceView.h +2 -2
  665. package/React/Base/Surface/RCTSurfaceView.mm +2 -8
  666. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +9 -4
  667. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +32 -7
  668. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +3 -17
  669. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +6 -57
  670. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.h +1 -1
  671. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.mm +1 -1
  672. package/React/CoreModules/CoreModulesPlugins.mm +98 -39
  673. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -3
  674. package/React/CoreModules/RCTAccessibilityManager.h +0 -1
  675. package/React/CoreModules/RCTAccessibilityManager.mm +20 -153
  676. package/React/CoreModules/RCTActionSheetManager.h +1 -1
  677. package/React/CoreModules/RCTActionSheetManager.mm +21 -185
  678. package/React/CoreModules/RCTAlertController.h +1 -7
  679. package/React/CoreModules/RCTAlertController.mm +2 -6
  680. package/React/CoreModules/RCTAlertManager.h +1 -1
  681. package/React/CoreModules/RCTAlertManager.mm +1 -115
  682. package/React/CoreModules/RCTAppState.mm +3 -16
  683. package/React/CoreModules/RCTAppearance.h +2 -6
  684. package/React/CoreModules/RCTAppearance.mm +1 -56
  685. package/React/CoreModules/RCTClipboard.mm +7 -12
  686. package/React/CoreModules/RCTDevLoadingView.mm +144 -110
  687. package/React/CoreModules/RCTDevMenu.h +1 -8
  688. package/React/CoreModules/RCTDevMenu.mm +5 -209
  689. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  690. package/React/CoreModules/RCTDevSettings.h +36 -9
  691. package/React/CoreModules/RCTDevSettings.mm +56 -33
  692. package/React/CoreModules/RCTDeviceInfo.h +2 -2
  693. package/React/CoreModules/RCTDeviceInfo.mm +16 -48
  694. package/React/CoreModules/RCTEventDispatcher.h +1 -1
  695. package/React/CoreModules/RCTEventDispatcher.mm +1 -1
  696. package/React/CoreModules/RCTExceptionsManager.mm +5 -2
  697. package/React/CoreModules/RCTFPSGraph.h +3 -3
  698. package/React/CoreModules/RCTFPSGraph.mm +6 -13
  699. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  700. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  701. package/React/CoreModules/RCTKeyboardObserver.mm +11 -13
  702. package/React/CoreModules/RCTLogBox.h +1 -1
  703. package/React/CoreModules/RCTLogBox.mm +0 -11
  704. package/React/CoreModules/RCTLogBoxView.h +3 -17
  705. package/React/CoreModules/RCTLogBoxView.mm +5 -85
  706. package/React/CoreModules/RCTPerfMonitor.mm +58 -366
  707. package/React/CoreModules/RCTPlatform.mm +4 -20
  708. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  709. package/React/CoreModules/RCTRedBox.h +1 -1
  710. package/React/CoreModules/RCTRedBox.mm +35 -780
  711. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  712. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  713. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  714. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  715. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  716. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  717. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  718. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  719. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  720. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  721. package/React/CoreModules/RCTStatusBarManager.h +3 -3
  722. package/React/CoreModules/RCTStatusBarManager.mm +1 -42
  723. package/React/CoreModules/RCTTiming.mm +1 -9
  724. package/React/CoreModules/RCTWebSocketModule.h +6 -0
  725. package/React/CoreModules/RCTWebSocketModule.mm +79 -30
  726. package/React/CoreModules/React-CoreModules.podspec +3 -5
  727. package/React/CxxModule/RCTCxxUtils.h +0 -8
  728. package/React/CxxModule/RCTCxxUtils.mm +1 -28
  729. package/React/DevSupport/RCTDevLoadingViewProtocol.h +5 -2
  730. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  731. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  732. package/React/DevSupport/RCTInspectorDevServerHelper.h +2 -1
  733. package/React/DevSupport/RCTInspectorDevServerHelper.mm +41 -53
  734. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
  735. package/React/DevSupport/RCTInspectorUtils.mm +9 -3
  736. package/React/DevSupport/RCTPackagerConnection.h +4 -2
  737. package/React/DevSupport/RCTPackagerConnection.mm +43 -44
  738. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +8 -86
  739. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +188 -23
  740. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +162 -40
  741. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +920 -566
  742. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  743. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  744. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  745. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +97 -96
  746. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  747. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +223 -210
  748. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  749. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  750. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  751. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  752. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.h +1 -1
  753. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +2 -3
  754. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h +1 -1
  755. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -11
  756. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.h +1 -1
  757. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +18 -16
  758. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.h +2 -2
  759. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +3 -3
  760. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +6 -2
  761. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +23 -13
  762. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +5 -1
  763. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +6 -1
  764. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.h +1 -3
  765. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +14 -12
  766. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +1 -4
  767. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +18 -9
  768. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  769. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  770. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.h +1 -1
  771. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +1 -1
  772. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.h +1 -1
  773. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +3 -15
  774. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTCustomPullToRefreshViewProtocol.h +1 -1
  775. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +4 -4
  776. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +30 -14
  777. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h +1 -1
  778. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +18 -32
  779. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +7 -7
  780. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +56 -97
  781. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +16 -30
  782. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewProtocol.h +2 -2
  783. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.h +1 -1
  784. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +21 -13
  785. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -5
  786. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +1 -3
  787. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.h +2 -4
  788. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +2 -6
  789. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.h +1 -1
  790. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +56 -40
  791. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.h +1 -1
  792. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +20 -368
  793. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +5 -10
  794. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +6 -27
  795. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.h +1 -2
  796. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +4 -10
  797. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.h +1 -1
  798. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +4 -10
  799. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +5 -18
  800. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +239 -799
  801. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +3 -2
  802. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -204
  803. package/React/Fabric/Mounting/RCTComponentViewClassDescriptor.h +1 -1
  804. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +2 -2
  805. package/React/Fabric/Mounting/RCTComponentViewFactory.h +1 -1
  806. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  807. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +3 -6
  808. package/React/Fabric/Mounting/RCTComponentViewRegistry.h +2 -2
  809. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -11
  810. package/React/Fabric/Mounting/RCTMountingManager.h +3 -3
  811. package/React/Fabric/Mounting/RCTMountingManager.mm +17 -20
  812. package/React/Fabric/Mounting/RCTMountingManagerDelegate.h +1 -1
  813. package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +1 -1
  814. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +5 -8
  815. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +5 -23
  816. package/React/Fabric/RCTConversions.h +37 -56
  817. package/React/Fabric/RCTImageResponseDelegate.h +2 -2
  818. package/React/Fabric/RCTImageResponseObserverProxy.mm +1 -1
  819. package/React/Fabric/RCTLocalizationProvider.h +1 -1
  820. package/React/Fabric/RCTScheduler.h +3 -1
  821. package/React/Fabric/RCTScheduler.mm +75 -0
  822. package/React/Fabric/RCTSurfacePointerHandler.h +3 -3
  823. package/React/Fabric/RCTSurfacePointerHandler.mm +65 -209
  824. package/React/Fabric/RCTSurfacePresenter.h +2 -2
  825. package/React/Fabric/RCTSurfacePresenter.mm +94 -6
  826. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +3 -1
  827. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  828. package/React/Fabric/RCTSurfaceTouchHandler.h +3 -3
  829. package/React/Fabric/RCTSurfaceTouchHandler.mm +37 -205
  830. package/React/Fabric/RCTTouchableComponentViewProtocol.h +1 -1
  831. package/React/Fabric/Surface/RCTFabricSurface.mm +8 -3
  832. package/React/Fabric/Utils/RCTBoxShadow.h +1 -1
  833. package/React/Fabric/Utils/RCTBoxShadow.mm +1 -18
  834. package/React/Fabric/Utils/RCTGenericDelegateSplitter.h +1 -1
  835. package/React/Fabric/Utils/RCTGradientUtils.mm +3 -3
  836. package/React/Fabric/Utils/RCTLinearGradient.h +1 -1
  837. package/React/Fabric/Utils/RCTLinearGradient.mm +4 -10
  838. package/React/Fabric/Utils/RCTRadialGradient.h +1 -1
  839. package/React/Fabric/Utils/RCTRadialGradient.mm +0 -1
  840. package/React/Fabric/Utils/RCTReactTaggedView.h +5 -5
  841. package/React/Fabric/Utils/RCTReactTaggedView.mm +3 -5
  842. package/React/I18n/RCTLocalizedString.mm +38 -2
  843. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  844. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +11 -3
  845. package/React/Modules/RCTEventEmitter.h +7 -7
  846. package/React/Modules/RCTEventEmitter.m +31 -10
  847. package/React/Modules/RCTI18nUtil.m +4 -2
  848. package/React/Modules/RCTLayoutAnimation.h +1 -1
  849. package/React/Modules/RCTLayoutAnimation.m +8 -54
  850. package/React/Modules/RCTLayoutAnimationGroup.h +1 -1
  851. package/React/Modules/RCTRedBoxExtraDataViewController.h +1 -6
  852. package/React/Modules/RCTRedBoxExtraDataViewController.m +3 -18
  853. package/React/Modules/RCTSurfacePresenterStub.h +1 -1
  854. package/React/Modules/RCTUIManager.h +15 -14
  855. package/React/Modules/RCTUIManager.mm +5 -1561
  856. package/React/Modules/RCTUIManagerObserverCoordinator.h +1 -1
  857. package/React/Modules/RCTUIManagerUtils.h +0 -1
  858. package/React/Profiler/RCTProfile.h +5 -0
  859. package/React/Profiler/RCTProfile.m +19 -27
  860. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  861. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  862. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  863. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  864. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  865. package/React/React-RCTFabric.podspec +4 -4
  866. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  867. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  868. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +32 -5
  869. package/React/Views/RCTAnimationType.h +0 -4
  870. package/React/Views/RCTAutoInsetsProtocol.h +1 -1
  871. package/React/Views/RCTBorderDrawing.h +7 -8
  872. package/React/Views/RCTBorderDrawing.m +19 -26
  873. package/React/Views/RCTComponentData.h +3 -3
  874. package/React/Views/RCTComponentData.mm +4 -4
  875. package/React/Views/RCTCursor.h +1 -44
  876. package/React/Views/RCTDebuggingOverlay.h +3 -3
  877. package/React/Views/RCTDebuggingOverlay.m +10 -9
  878. package/React/Views/RCTFont+Private.h +1 -5
  879. package/React/Views/RCTFont.h +1 -1
  880. package/React/Views/RCTFont.mm +0 -17
  881. package/React/Views/RCTLayout.h +1 -1
  882. package/React/Views/RCTLayout.m +4 -3
  883. package/React/Views/RCTModalHostViewController.h +0 -15
  884. package/React/Views/RCTModalHostViewManager.h +0 -26
  885. package/React/Views/RCTShadowView+Layout.h +1 -1
  886. package/React/Views/RCTShadowView.h +2 -4
  887. package/React/Views/RCTShadowView.m +0 -723
  888. package/React/Views/RCTView.h +14 -68
  889. package/React/Views/RCTView.m +54 -813
  890. package/React/Views/RCTViewManager.h +3 -22
  891. package/React/Views/RCTViewManager.m +10 -166
  892. package/React/Views/RCTViewUtils.h +2 -2
  893. package/React/Views/RCTViewUtils.m +1 -3
  894. package/React/Views/RCTWrapperViewController.h +2 -2
  895. package/React/Views/RCTWrapperViewController.m +1 -3
  896. package/React/Views/RefreshControl/RCTRefreshableProtocol.h +1 -1
  897. package/React/Views/ScrollView/RCTScrollEvent.m +1 -1
  898. package/React/Views/ScrollView/RCTScrollView.h +1 -94
  899. package/React/Views/ScrollView/RCTScrollableProtocol.h +4 -10
  900. package/React/Views/UIView+Private.h +4 -4
  901. package/React/Views/UIView+React.h +8 -19
  902. package/React/Views/UIView+React.m +29 -123
  903. package/React-Core-prebuilt.podspec +46 -18
  904. package/React-Core.podspec +11 -2
  905. package/ReactAndroid/api/ReactAndroid.api +280 -521
  906. package/ReactAndroid/build.gradle.kts +65 -42
  907. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  908. package/ReactAndroid/gradle.properties +1 -1
  909. package/ReactAndroid/hermes-engine/build.gradle.kts +118 -51
  910. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  911. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  912. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  913. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  914. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
  915. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
  916. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +5 -5
  917. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  918. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +13 -18
  919. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +56 -336
  920. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -12
  921. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  922. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
  923. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
  924. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +96 -111
  925. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  926. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
  927. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
  928. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
  929. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -26
  930. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
  931. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +20 -100
  932. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +12 -33
  933. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +13 -25
  934. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
  935. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
  936. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  937. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  938. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
  939. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  940. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
  941. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  942. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
  943. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  944. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +4 -34
  945. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
  946. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
  947. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +61 -2
  948. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  949. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  950. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  951. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
  952. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
  953. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  954. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
  955. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  956. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  957. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +67 -26
  958. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  959. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  960. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  961. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
  962. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  963. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  964. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
  965. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +59 -51
  966. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
  967. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +101 -17
  968. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +61 -15
  969. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
  970. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +15 -15
  971. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +12 -12
  972. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +11 -14
  973. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  974. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
  975. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  976. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  977. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  978. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
  979. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
  980. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  981. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +49 -0
  982. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +16 -0
  983. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +274 -0
  984. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +2 -13
  985. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  986. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
  987. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
  988. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateProvider.kt +12 -0
  989. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  990. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +7 -2
  991. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
  992. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
  993. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
  994. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
  995. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +17 -16
  996. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
  997. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  998. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +199 -72
  999. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +7 -2
  1000. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
  1001. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
  1002. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +227 -0
  1003. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
  1004. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  1005. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +26 -22
  1006. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/__docs__/README.md +22 -0
  1007. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/__docs__/life-of-an-event.excalidraw.svg +4 -0
  1008. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +108 -69
  1009. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +10 -14
  1010. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1395 -0
  1011. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
  1012. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
  1013. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
  1014. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +2 -2
  1015. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  1016. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  1017. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +102 -84
  1018. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +196 -166
  1019. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +41 -35
  1020. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +44 -38
  1021. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +227 -194
  1022. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +8 -4
  1023. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +7 -3
  1024. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -6
  1025. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +41 -35
  1026. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  1027. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +3 -11
  1028. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/__docs__/README.md +12 -0
  1029. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  1030. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  1031. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
  1032. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
  1033. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
  1034. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
  1035. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
  1036. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +40 -1
  1037. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +11 -6
  1038. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  1039. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  1040. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  1041. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
  1042. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  1043. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  1044. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
  1045. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  1046. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
  1047. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
  1048. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +108 -61
  1049. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +7 -3
  1050. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +116 -54
  1051. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +26 -14
  1052. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -0
  1053. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +2 -0
  1054. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +46 -112
  1055. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
  1056. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +9 -4
  1057. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +10 -8
  1058. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
  1059. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +28 -8
  1060. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
  1061. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
  1062. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -13
  1063. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +16 -11
  1064. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  1065. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +108 -36
  1066. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -4
  1067. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +13 -19
  1068. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +10 -8
  1069. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +78 -24
  1070. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +18 -6
  1071. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  1072. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  1073. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +139 -31
  1074. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +78 -37
  1075. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  1076. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -53
  1077. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  1078. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
  1079. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  1080. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
  1081. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  1082. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +3 -6
  1083. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
  1084. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  1085. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
  1086. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +3 -3
  1087. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  1088. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  1089. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  1090. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +19 -62
  1091. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  1092. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  1093. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  1094. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +25 -0
  1095. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +27 -17
  1096. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +20 -32
  1097. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  1098. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  1099. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +25 -109
  1100. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  1101. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  1102. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  1103. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  1104. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  1105. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  1106. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  1107. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
  1108. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +44 -30
  1109. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  1110. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  1111. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
  1112. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +5 -42
  1113. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
  1114. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
  1115. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
  1116. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +30 -4
  1117. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
  1118. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +42 -1
  1119. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  1120. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
  1121. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -42
  1122. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
  1123. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
  1124. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
  1125. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
  1126. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
  1127. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
  1128. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +52 -8
  1129. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
  1130. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
  1131. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +51 -7
  1132. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
  1133. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
  1134. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
  1135. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
  1136. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
  1137. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
  1138. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
  1139. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
  1140. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +34 -3
  1141. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  1142. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
  1143. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +19 -17
  1144. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -4
  1145. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +7 -1
  1146. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +10 -9
  1147. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  1148. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  1149. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  1150. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1640 -0
  1151. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +11 -6
  1152. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1317 -0
  1153. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
  1154. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1309 -0
  1155. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +16 -14
  1156. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +11 -6
  1157. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +20 -67
  1158. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +15 -36
  1159. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +30 -44
  1160. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +263 -0
  1161. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +8 -2
  1162. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  1163. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
  1164. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  1165. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  1166. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
  1167. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +154 -20
  1168. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
  1169. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
  1170. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +150 -267
  1171. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +37 -15
  1172. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +247 -21
  1173. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +42 -2
  1174. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
  1175. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +49 -4
  1176. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  1177. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  1178. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  1179. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +542 -150
  1180. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  1181. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CanvasEffectSpan.kt +26 -0
  1182. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +24 -7
  1183. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
  1184. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
  1185. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  1186. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  1187. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  1188. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  1189. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  1190. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  1191. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +90 -97
  1192. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
  1193. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
  1194. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +49 -40
  1195. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
  1196. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
  1197. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  1198. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
  1199. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  1200. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +95 -77
  1201. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +52 -69
  1202. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +87 -13
  1203. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  1204. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +153 -308
  1205. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
  1206. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  1207. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  1208. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  1209. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +17 -2
  1210. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +70 -0
  1211. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  1212. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  1213. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
  1214. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  1215. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  1216. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  1217. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  1218. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  1219. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  1220. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  1221. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  1222. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  1223. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  1224. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +17 -1
  1225. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +254 -0
  1226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  1227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  1228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  1229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  1230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  1231. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +205 -0
  1232. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  1233. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  1234. package/ReactAndroid/src/main/jni/CMakeLists.txt +36 -3
  1235. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  1236. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +7 -0
  1237. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  1238. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  1239. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  1240. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  1241. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
  1242. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  1243. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +7 -6
  1244. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  1245. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  1246. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +152 -3
  1247. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +22 -6
  1248. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +132 -28
  1249. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +15 -0
  1250. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  1251. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
  1252. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  1253. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  1254. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  1255. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  1256. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  1257. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +255 -213
  1258. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +50 -41
  1259. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  1260. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
  1261. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -4
  1262. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  1263. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  1264. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  1265. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  1266. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  1267. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -2
  1268. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  1269. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  1270. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  1271. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -12
  1272. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  1273. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  1274. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  1275. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  1276. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  1277. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
  1278. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
  1279. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +167 -51
  1280. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +205 -26
  1281. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +6 -2
  1282. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  1283. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
  1284. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +79 -65
  1285. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +10 -7
  1286. package/ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h +19 -0
  1287. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  1288. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  1289. package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
  1290. package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
  1291. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
  1292. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +8 -0
  1293. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +18 -0
  1294. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  1295. package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +64 -0
  1296. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt +194 -0
  1297. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.kt +171 -0
  1298. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.kt +1418 -0
  1299. package/ReactAndroid/src/test/java/com/facebook/react/bridge/DimensionPropConverterTest.kt +45 -0
  1300. package/ReactAndroid/src/test/java/com/facebook/react/bridge/DynamicFromMapTest.kt +64 -0
  1301. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.kt +37 -0
  1302. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyMapTest.kt +56 -0
  1303. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.kt +30 -0
  1304. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.kt +75 -0
  1305. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReadableArrayBuilderTest.kt +71 -0
  1306. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReadableMapBuilderTest.kt +87 -0
  1307. package/ReactAndroid/src/test/java/com/facebook/react/bridge/interop/InteropModuleRegistryTest.kt +84 -0
  1308. package/ReactAndroid/src/test/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPointTest.kt +115 -0
  1309. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/CxxInspectorPackagerConnectionTest.kt +28 -0
  1310. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.kt +237 -0
  1311. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.kt +134 -0
  1312. package/ReactAndroid/src/test/java/com/facebook/react/fabric/FabricMountingManagerInstrumentationTest.kt +261 -0
  1313. package/ReactAndroid/src/test/java/com/facebook/react/fabric/FabricMountingManagerTestHelper.kt +48 -0
  1314. package/ReactAndroid/src/test/java/com/facebook/react/fabric/FabricUIManagerTest.kt +64 -0
  1315. package/ReactAndroid/src/test/java/com/facebook/react/fabric/MountingManagerTest.kt +81 -0
  1316. package/ReactAndroid/src/test/java/com/facebook/react/fabric/SurfaceMountingManagerEventOrderingTest.kt +353 -0
  1317. package/ReactAndroid/src/test/java/com/facebook/react/fabric/SurfaceMountingManagerSynchronousMountPropsTest.kt +273 -0
  1318. package/ReactAndroid/src/test/java/com/facebook/react/fabric/SurfaceMountingManagerTest.kt +195 -0
  1319. package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt +690 -0
  1320. package/ReactAndroid/src/test/java/com/facebook/react/fabric/internal/interop/InteropUiBlockListenerTest.kt +131 -0
  1321. package/ReactAndroid/src/test/java/com/facebook/react/interfaces/ExtraWindowEventListenerTest.kt +124 -0
  1322. package/ReactAndroid/src/test/java/com/facebook/react/internal/interop/InteropEventEmitterTest.kt +61 -0
  1323. package/ReactAndroid/src/test/java/com/facebook/react/modules/appstate/AppStateModuleTest.kt +127 -0
  1324. package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.kt +227 -0
  1325. package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.kt +85 -0
  1326. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.kt +62 -0
  1327. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.kt +261 -0
  1328. package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.kt +205 -0
  1329. package/ReactAndroid/src/test/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcherTest.kt +139 -0
  1330. package/ReactAndroid/src/test/java/com/facebook/react/modules/image/ImageLoaderModuleTest.kt +274 -0
  1331. package/ReactAndroid/src/test/java/com/facebook/react/modules/intent/IntentModuleTest.kt +143 -0
  1332. package/ReactAndroid/src/test/java/com/facebook/react/modules/model/ReactModuleInfoTest.kt +50 -0
  1333. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.kt +48 -0
  1334. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkEventUtilTest.kt +454 -0
  1335. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.kt +666 -0
  1336. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/OkHttpClientProviderTest.kt +135 -0
  1337. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressResponseBodyTest.kt +165 -0
  1338. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.kt +137 -0
  1339. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.kt +59 -0
  1340. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/RequestBodyUtilTest.kt +152 -0
  1341. package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.kt +160 -0
  1342. package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.kt +307 -0
  1343. package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.kt +157 -0
  1344. package/ReactAndroid/src/test/java/com/facebook/react/runtime/BridgelessReactContextTest.kt +99 -0
  1345. package/ReactAndroid/src/test/java/com/facebook/react/runtime/ReactHostDelegateTest.kt +49 -0
  1346. package/ReactAndroid/src/test/java/com/facebook/react/runtime/ReactHostTest.kt +171 -0
  1347. package/ReactAndroid/src/test/java/com/facebook/react/runtime/ReactSurfaceTest.kt +162 -0
  1348. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.kt +133 -0
  1349. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BorderRadiusStyleTest.kt +208 -0
  1350. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/DisplayMetricsHolderTest.kt +167 -0
  1351. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/JSPointerDispatcherTest.kt +87 -0
  1352. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.kt +775 -0
  1353. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/OnLayoutEventTest.kt +63 -0
  1354. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/PixelUtilTest.kt +189 -0
  1355. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactAccessibilityDelegateTest.kt +376 -0
  1356. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.kt +120 -0
  1357. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.kt +435 -0
  1358. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.kt +142 -0
  1359. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.kt +177 -0
  1360. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.kt +153 -0
  1361. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.kt +93 -0
  1362. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SkewMatrixHelperTest.kt +221 -0
  1363. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ThemedReactContextTest.kt +84 -0
  1364. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/TouchTargetHelperTest.kt +169 -0
  1365. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.kt +82 -0
  1366. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.kt +235 -0
  1367. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/style/ColorStopTest.kt +186 -0
  1368. package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.kt +109 -0
  1369. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.kt +52 -0
  1370. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.kt +235 -0
  1371. package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextViewTest.kt +154 -0
  1372. package/ReactAndroid/src/test/java/com/facebook/react/views/text/TextAttributePropsTest.kt +37 -0
  1373. package/ReactAndroid/src/test/java/com/facebook/react/views/text/TextDecorationStyleTest.kt +53 -0
  1374. package/ReactAndroid/src/test/java/com/facebook/react/views/text/TextLayoutManagerAbsoluteLayoutWithFractionalPixelTest.kt +131 -0
  1375. package/ReactAndroid/src/test/java/com/facebook/react/views/text/TextLayoutManagerFontWeightAdjustmentTest.kt +70 -0
  1376. package/ReactAndroid/src/test/java/com/facebook/react/views/text/TextTransformTest.kt +34 -0
  1377. package/ReactAndroid/src/test/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpanTest.kt +99 -0
  1378. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.kt +530 -0
  1379. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.kt +23 -0
  1380. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ReactViewGroupTest.kt +79 -0
  1381. package/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeBatchEventDispatchedListener.kt +17 -0
  1382. package/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeEventDispatcher.kt +41 -0
  1383. package/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeUIManager.kt +125 -0
  1384. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowArguments.kt +35 -0
  1385. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowNativeArray.kt +24 -0
  1386. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowNativeLoader.kt +21 -0
  1387. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowNativeMap.kt +46 -0
  1388. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowReadableNativeArray.kt +45 -0
  1389. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowReadableNativeMap.kt +53 -0
  1390. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowSoLoader.kt +24 -0
  1391. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowWritableNativeArray.kt +36 -0
  1392. package/ReactAndroid/src/test/java/com/facebook/testutils/shadows/ShadowWritableNativeMap.kt +45 -0
  1393. package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.kt +17 -0
  1394. package/ReactAndroid/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +1 -0
  1395. package/ReactAndroid/src/test/resources/robolectric.properties +2 -0
  1396. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
  1397. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +45 -5
  1398. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  1399. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +12 -1
  1400. package/ReactApple/RCTSwiftUI/RCTSwiftUIContainerView.swift +9 -41
  1401. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIContainerViewWrapper.h +0 -17
  1402. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIContainerViewWrapper.m +73 -11
  1403. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
  1404. package/ReactCommon/React-Fabric.podspec +28 -9
  1405. package/ReactCommon/React-FabricComponents.podspec +7 -9
  1406. package/ReactCommon/ReactCommon.podspec +2 -12
  1407. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -0
  1408. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  1409. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  1410. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  1411. package/ReactCommon/cxxreact/Instance.h +0 -2
  1412. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  1413. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  1414. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  1415. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  1416. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -1
  1417. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -31
  1418. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  1419. package/ReactCommon/cxxreact/ReactNativeVersion.h +10 -8
  1420. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  1421. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  1422. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
  1423. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  1424. package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
  1425. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +9 -80
  1426. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
  1427. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
  1428. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
  1429. package/ReactCommon/jsc/JSCRuntime.cpp +10 -31
  1430. package/ReactCommon/jsc/JSCRuntime.h +0 -9
  1431. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  1432. package/ReactCommon/jserrorhandler/ErrorUtils.h +16 -0
  1433. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +2 -1
  1434. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  1435. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -3
  1436. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  1437. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  1438. package/ReactCommon/jsi/jsi/hermes-interfaces.h +242 -0
  1439. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  1440. package/ReactCommon/jsi/jsi/jsi.cpp +214 -28
  1441. package/ReactCommon/jsi/jsi/jsi.h +621 -219
  1442. package/ReactCommon/jsi/jsi/test/testlib.cpp +455 -2
  1443. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  1444. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +6 -1
  1445. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +5 -57
  1446. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
  1447. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -14
  1448. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  1449. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  1450. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  1451. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  1452. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  1453. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  1454. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  1455. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  1456. package/ReactCommon/jsinspector-modern/HostAgent.cpp +137 -26
  1457. package/ReactCommon/jsinspector-modern/HostAgent.h +6 -7
  1458. package/ReactCommon/jsinspector-modern/HostTarget.cpp +40 -33
  1459. package/ReactCommon/jsinspector-modern/HostTarget.h +136 -32
  1460. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +42 -8
  1461. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  1462. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  1463. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  1464. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +24 -2
  1465. package/ReactCommon/jsinspector-modern/InspectorFlags.h +24 -2
  1466. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +39 -2
  1467. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +12 -2
  1468. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +186 -56
  1469. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +42 -4
  1470. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  1471. package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
  1472. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +13 -4
  1473. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
  1474. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  1475. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  1476. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +34 -1
  1477. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +8 -1
  1478. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +99 -18
  1479. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +57 -13
  1480. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  1481. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
  1482. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
  1483. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
  1484. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
  1485. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
  1486. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  1487. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +48 -54
  1488. package/ReactCommon/jsinspector-modern/TracingAgent.h +1 -11
  1489. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
  1490. package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
  1491. package/ReactCommon/jsinspector-modern/__docs__/InspectorPackagerConnection.md +70 -0
  1492. package/ReactCommon/jsinspector-modern/__docs__/consoleTimeStamp.md +96 -0
  1493. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
  1494. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
  1495. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  1496. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
  1497. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +121 -3
  1498. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +23 -2
  1499. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
  1500. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
  1501. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
  1502. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +159 -6
  1503. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +60 -56
  1504. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  1505. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +335 -0
  1506. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  1507. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
  1508. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
  1509. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  1510. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  1511. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  1512. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +61 -0
  1513. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +56 -0
  1514. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +165 -0
  1515. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +50 -0
  1516. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
  1517. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
  1518. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  1519. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +5 -0
  1520. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  1521. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  1522. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  1523. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +100 -0
  1524. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +60 -0
  1525. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +44 -1
  1526. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  1527. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +29 -7
  1528. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +138 -0
  1529. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  1530. package/ReactCommon/jsitooling/React-jsitooling.podspec +5 -0
  1531. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  1532. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h +20 -0
  1533. package/ReactCommon/logger/react_native_log.cpp +0 -1
  1534. package/ReactCommon/react/bridging/Array.h +1 -1
  1535. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  1536. package/ReactCommon/react/bridging/Bridging.h +1 -0
  1537. package/ReactCommon/react/bridging/Convert.h +12 -0
  1538. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  1539. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  1540. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  1541. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  1542. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  1543. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  1544. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  1545. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  1546. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  1547. package/ReactCommon/react/debug/React-debug.podspec +7 -1
  1548. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  1549. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  1550. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  1551. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  1552. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  1553. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  1554. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  1555. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  1556. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  1557. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +81 -69
  1558. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +93 -78
  1559. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +309 -255
  1560. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +54 -48
  1561. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +70 -58
  1562. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +151 -124
  1563. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +13 -5
  1564. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +11 -3
  1565. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -12
  1566. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +27 -24
  1567. package/ReactCommon/react/featureflags/__docs__/README.md +12 -0
  1568. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  1569. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  1570. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +8 -2
  1571. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
  1572. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
  1573. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -1
  1574. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  1575. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  1576. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  1577. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  1578. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +7 -9
  1579. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -4
  1580. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
  1581. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +106 -65
  1582. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  1583. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +47 -174
  1584. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  1585. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +4 -0
  1586. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +36 -3
  1587. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +8 -1
  1588. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  1589. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -0
  1590. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +33 -1
  1591. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
  1592. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +90 -75
  1593. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +41 -35
  1594. package/ReactCommon/react/nativemodule/featureflags/__docs__/README.md +12 -0
  1595. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
  1596. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +4 -0
  1597. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +67 -0
  1598. package/ReactCommon/react/nativemodule/intersectionobserver/__docs__/README.md +13 -0
  1599. package/ReactCommon/react/nativemodule/microtasks/__docs__/README.md +13 -0
  1600. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +7 -2
  1601. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  1602. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +67 -0
  1603. package/ReactCommon/react/nativemodule/mutationobserver/__docs__/README.md +13 -0
  1604. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -5
  1605. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.h +1 -1
  1606. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  1607. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +21 -26
  1608. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  1609. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  1610. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  1611. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  1612. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  1613. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -0
  1614. package/ReactCommon/react/networking/CMakeLists.txt +7 -0
  1615. package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
  1616. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  1617. package/ReactCommon/react/networking/React-networking.podspec +0 -1
  1618. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  1619. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  1620. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  1621. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  1622. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
  1623. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  1624. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  1625. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  1626. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  1627. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
  1628. package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
  1629. package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
  1630. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +281 -178
  1631. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +51 -9
  1632. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +85 -72
  1633. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
  1634. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +21 -1
  1635. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  1636. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
  1637. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
  1638. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
  1639. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
  1640. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
  1641. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +169 -9
  1642. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +21 -0
  1643. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +59 -15
  1644. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +22 -0
  1645. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
  1646. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
  1647. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
  1648. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +107 -0
  1649. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
  1650. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  1651. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  1652. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +711 -0
  1653. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
  1654. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
  1655. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +118 -0
  1656. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +303 -0
  1657. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
  1658. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +225 -113
  1659. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +54 -27
  1660. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +85 -0
  1661. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +31 -0
  1662. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +44 -0
  1663. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
  1664. package/ReactCommon/react/renderer/animationbackend/__docs__/AnimationBackend.md +88 -0
  1665. package/ReactCommon/react/renderer/animationbackend/__docs__/AnimationBackend.svg +4 -0
  1666. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  1667. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +3 -4
  1668. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  1669. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  1670. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  1671. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  1672. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
  1673. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -1
  1674. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
  1675. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
  1676. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -3
  1677. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  1678. package/ReactCommon/react/renderer/attributedstring/conversions.h +193 -4
  1679. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  1680. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  1681. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  1682. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
  1683. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  1684. package/ReactCommon/react/renderer/components/image/ImageProps.h +3 -3
  1685. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
  1686. package/ReactCommon/react/renderer/components/image/conversions.h +7 -3
  1687. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  1688. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  1689. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  1690. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  1691. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  1692. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  1693. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  1694. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  1695. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  1696. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  1697. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +39 -0
  1698. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +182 -0
  1699. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm +11 -0
  1700. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +48 -0
  1701. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +227 -0
  1702. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  1703. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +235 -352
  1704. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  1705. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  1706. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  1707. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +30 -46
  1708. package/ReactCommon/react/renderer/components/scrollview/primitives.h +1 -10
  1709. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
  1710. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/IOSSwitchShadowNode.mm +1 -1
  1711. package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
  1712. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  1713. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +24 -25
  1714. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  1715. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
  1716. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  1717. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
  1718. package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
  1719. package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
  1720. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  1721. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  1722. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  1723. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp +14 -0
  1724. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  1725. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +19 -29
  1726. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  1727. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
  1728. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  1729. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  1730. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
  1731. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -40
  1732. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.h +0 -20
  1733. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  1734. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +0 -22
  1735. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +0 -48
  1736. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +0 -61
  1737. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -36
  1738. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +149 -225
  1739. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
  1740. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -16
  1741. package/ReactCommon/react/renderer/components/view/BaseTouch.h +11 -30
  1742. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +256 -312
  1743. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -1
  1744. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
  1745. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
  1746. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  1747. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  1748. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  1749. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  1750. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  1751. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -6
  1752. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  1753. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +78 -27
  1754. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  1755. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +36 -39
  1756. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  1757. package/ReactCommon/react/renderer/components/view/conversions.h +294 -36
  1758. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +110 -201
  1759. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  1760. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  1761. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h +14 -0
  1762. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  1763. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  1764. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  1765. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  1766. package/ReactCommon/react/renderer/components/view/primitives.h +8 -87
  1767. package/ReactCommon/react/renderer/components/view/propsConversions.h +81 -43
  1768. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +301 -0
  1769. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +6 -6
  1770. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +384 -3
  1771. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
  1772. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +59 -14
  1773. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +33 -0
  1774. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
  1775. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
  1776. package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
  1777. package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
  1778. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  1779. package/ReactCommon/react/renderer/core/EventEmitter.cpp +99 -21
  1780. package/ReactCommon/react/renderer/core/EventEmitter.h +33 -8
  1781. package/ReactCommon/react/renderer/core/EventPipe.h +4 -2
  1782. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +21 -13
  1783. package/ReactCommon/react/renderer/core/EventTarget.cpp +11 -8
  1784. package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
  1785. package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
  1786. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -7
  1787. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  1788. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -2
  1789. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  1790. package/ReactCommon/react/renderer/core/Props.cpp +26 -22
  1791. package/ReactCommon/react/renderer/core/Props.h +69 -17
  1792. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1793. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  1794. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  1795. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  1796. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +15 -28
  1797. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  1798. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +5 -13
  1799. package/ReactCommon/react/renderer/core/RawPropsParser.h +5 -9
  1800. package/ReactCommon/react/renderer/core/RawValue.h +1 -2
  1801. package/ReactCommon/react/renderer/core/ShadowNode.cpp +63 -59
  1802. package/ReactCommon/react/renderer/core/ShadowNode.h +21 -31
  1803. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
  1804. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +16 -14
  1805. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
  1806. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
  1807. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  1808. package/ReactCommon/react/renderer/core/__docs__/RSNRU.excalidraw.svg +2 -0
  1809. package/ReactCommon/react/renderer/core/__docs__/RSNRU.md +61 -0
  1810. package/ReactCommon/react/renderer/core/__docs__/passChildrenWhenCloning.excalidraw.svg +2 -0
  1811. package/ReactCommon/react/renderer/core/__docs__/passChildrenWhenCloning.md +52 -0
  1812. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  1813. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  1814. package/ReactCommon/react/renderer/core/propsConversions.h +4 -8
  1815. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  1816. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  1817. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  1818. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  1819. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  1820. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  1821. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  1822. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +88 -1
  1823. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
  1824. package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
  1825. package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
  1826. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
  1827. package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
  1828. package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
  1829. package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
  1830. package/ReactCommon/react/renderer/css/CSSList.h +11 -11
  1831. package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
  1832. package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
  1833. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +17 -6
  1834. package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
  1835. package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
  1836. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
  1837. package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
  1838. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +12 -11
  1839. package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
  1840. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  1841. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  1842. package/ReactCommon/react/renderer/debug/flags.h +3 -2
  1843. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  1844. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  1845. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
  1846. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
  1847. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
  1848. package/ReactCommon/react/renderer/graphics/BlendMode.h +7 -0
  1849. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  1850. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  1851. package/ReactCommon/react/renderer/graphics/Filter.h +5 -2
  1852. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
  1853. package/ReactCommon/react/renderer/graphics/LinearGradient.h +10 -19
  1854. package/ReactCommon/react/renderer/graphics/Point.h +0 -2
  1855. package/ReactCommon/react/renderer/graphics/RadialGradient.h +8 -35
  1856. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -6
  1857. package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
  1858. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
  1859. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
  1860. package/ReactCommon/react/renderer/graphics/Size.h +0 -5
  1861. package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
  1862. package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
  1863. package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
  1864. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  1865. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
  1866. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
  1867. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +17 -53
  1868. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +3 -3
  1869. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +13 -16
  1870. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -4
  1871. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
  1872. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
  1873. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +19 -13
  1874. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
  1875. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
  1876. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +6 -36
  1877. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +25 -4
  1878. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  1879. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  1880. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.h +1 -1
  1881. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +1 -1
  1882. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +1 -5
  1883. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.h +1 -1
  1884. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +8 -4
  1885. package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -11
  1886. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +158 -47
  1887. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +28 -14
  1888. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +99 -48
  1889. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  1890. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  1891. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  1892. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +39 -42
  1893. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
  1894. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  1895. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +253 -21
  1896. package/ReactCommon/react/renderer/mounting/ShadowTree.h +32 -6
  1897. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  1898. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
  1899. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
  1900. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
  1901. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
  1902. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
  1903. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
  1904. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
  1905. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
  1906. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +220 -0
  1907. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  1908. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +79 -18
  1909. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  1910. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  1911. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
  1912. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +37 -11
  1913. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
  1914. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
  1915. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
  1916. package/ReactCommon/react/renderer/observers/intersection/__docs__/README.md +13 -0
  1917. package/ReactCommon/react/renderer/observers/mutation/__docs__/README.md +13 -0
  1918. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  1919. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -0
  1920. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  1921. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  1922. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  1923. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  1924. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  1925. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  1926. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  1927. package/ReactCommon/react/renderer/runtimescheduler/__docs__/README.md +210 -0
  1928. package/ReactCommon/react/renderer/runtimescheduler/__docs__/event-loop-async-task.excalidraw.svg +4 -0
  1929. package/ReactCommon/react/renderer/runtimescheduler/__docs__/event-loop-sync-task.excalidraw.svg +4 -0
  1930. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +134 -31
  1931. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +2 -0
  1932. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +118 -10
  1933. package/ReactCommon/react/renderer/scheduler/Scheduler.h +17 -4
  1934. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +11 -0
  1935. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  1936. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -105
  1937. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -9
  1938. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  1939. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  1940. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
  1941. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  1942. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +12 -16
  1943. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
  1944. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +15 -4
  1945. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +82 -44
  1946. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontProperties.h +1 -1
  1947. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.h +1 -1
  1948. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +1 -25
  1949. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +2 -8
  1950. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +210 -32
  1951. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -6
  1952. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +12 -2
  1953. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  1954. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
  1955. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
  1956. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
  1957. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +144 -98
  1958. package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -10
  1959. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +20 -5
  1960. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +349 -7
  1961. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +7 -5
  1962. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +16 -1
  1963. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  1964. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
  1965. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
  1966. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
  1967. package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
  1968. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  1969. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +236 -0
  1970. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  1971. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  1972. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +569 -0
  1973. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +171 -0
  1974. package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
  1975. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +12 -0
  1976. package/ReactCommon/react/runtime/ReactInstance.cpp +99 -77
  1977. package/ReactCommon/react/runtime/ReactInstance.h +5 -1
  1978. package/ReactCommon/react/runtime/TimerManager.cpp +30 -56
  1979. package/ReactCommon/react/runtime/TimerManager.h +7 -12
  1980. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
  1981. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -95
  1982. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  1983. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
  1984. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  1985. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +2 -2
  1986. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +20 -5
  1987. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +170 -7
  1988. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -1
  1989. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +49 -39
  1990. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  1991. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  1992. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  1993. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  1994. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
  1995. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  1996. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  1997. package/ReactCommon/react/timing/__docs__/README.md +107 -0
  1998. package/ReactCommon/react/timing/primitives.h +33 -1
  1999. package/ReactCommon/react/utils/Base64.h +99 -0
  2000. package/ReactCommon/react/utils/ContextContainer.h +0 -2
  2001. package/ReactCommon/react/utils/React-utils.podspec +3 -1
  2002. package/ReactCommon/react/utils/Telemetry.h +0 -13
  2003. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  2004. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  2005. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  2006. package/ReactCommon/yoga/Yoga.podspec +1 -1
  2007. package/ReactCommon/yoga/yoga/YGEnums.cpp +34 -0
  2008. package/ReactCommon/yoga/yoga/YGEnums.h +21 -4
  2009. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  2010. package/ReactCommon/yoga/yoga/YGNode.cpp +41 -0
  2011. package/ReactCommon/yoga/yoga/YGNode.h +70 -1
  2012. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  2013. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  2014. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  2015. package/ReactCommon/yoga/yoga/YGValue.h +0 -4
  2016. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +41 -9
  2017. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  2018. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +401 -32
  2019. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  2020. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
  2021. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
  2022. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  2023. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  2024. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  2025. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  2026. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  2027. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  2028. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  2029. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
  2030. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  2031. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  2032. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -3
  2033. package/ReactCommon/yoga/yoga/node/Node.cpp +38 -1
  2034. package/ReactCommon/yoga/yoga/node/Node.h +37 -4
  2035. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
  2036. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  2037. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  2038. package/ReactCommon/yoga/yoga/style/Style.h +268 -82
  2039. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  2040. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +14 -1
  2041. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  2042. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  2043. package/cli.js +4 -183
  2044. package/flow/HermesInternalType.js +6 -6
  2045. package/flow/bom.js.flow +152 -52
  2046. package/flow/cssom.js.flow +24 -24
  2047. package/flow/dom.js.flow +258 -250
  2048. package/flow/global.js +7 -1
  2049. package/gradle/libs.versions.toml +11 -7
  2050. package/index.js +95 -100
  2051. package/index.js.flow +92 -32
  2052. package/macos/UIKitCompat/MobileCoreServices/MobileCoreServices.h +14 -0
  2053. package/macos/UIKitCompat/MobileCoreServices/UTCoreTypes.h +14 -0
  2054. package/macos/UIKitCompat/MobileCoreServices/UTType.h +14 -0
  2055. package/macos/UIKitCompat/RCTPlatformViewCompat.h +68 -0
  2056. package/macos/UIKitCompat/README.md +77 -0
  2057. package/macos/UIKitCompat/React-UIKitCompat.podspec +61 -0
  2058. package/macos/UIKitCompat/UIKit/UIAccessibility.h +72 -0
  2059. package/macos/UIKitCompat/UIKit/UIAccessibility.m +103 -0
  2060. package/macos/UIKitCompat/UIKit/UIAlertController.h +92 -0
  2061. package/macos/UIKitCompat/UIKit/UIAlertController.m +172 -0
  2062. package/macos/UIKitCompat/UIKit/UIApplication.h +39 -0
  2063. package/macos/UIKitCompat/UIKit/UIApplication.m +30 -0
  2064. package/macos/UIKitCompat/UIKit/UIApplicationDelegate.h +156 -0
  2065. package/macos/UIKitCompat/UIKit/UIApplicationDelegate.m +116 -0
  2066. package/macos/UIKitCompat/UIKit/UIColor.h +50 -0
  2067. package/macos/UIKitCompat/UIKit/UIColor.m +84 -0
  2068. package/macos/UIKitCompat/UIKit/UIControls.h +352 -0
  2069. package/macos/UIKitCompat/UIKit/UIControls.m +609 -0
  2070. package/macos/UIKitCompat/UIKit/UIDisplayLink.h +52 -0
  2071. package/macos/UIKitCompat/UIKit/UIDisplayLink.m +168 -0
  2072. package/macos/UIKitCompat/UIKit/UIEvent.h +110 -0
  2073. package/macos/UIKitCompat/UIKit/UIEvent.m +109 -0
  2074. package/macos/UIKitCompat/UIKit/UIGestureRecognizerSubclass.h +16 -0
  2075. package/macos/UIKitCompat/UIKit/UIGraphics.h +66 -0
  2076. package/macos/UIKitCompat/UIKit/UIGraphics.m +192 -0
  2077. package/macos/UIKitCompat/UIKit/UIImage.h +90 -0
  2078. package/macos/UIKitCompat/UIKit/UIImage.m +176 -0
  2079. package/macos/UIKitCompat/UIKit/UIKeyCommand.h +95 -0
  2080. package/macos/UIKitCompat/UIKit/UIKeyCommand.m +66 -0
  2081. package/macos/UIKitCompat/UIKit/UIKit.h +51 -0
  2082. package/macos/UIKitCompat/UIKit/UIKitDefines.h +417 -0
  2083. package/macos/UIKitCompat/UIKit/UIPlatformGaps.h +405 -0
  2084. package/macos/UIKitCompat/UIKit/UIPlatformGaps.m +1075 -0
  2085. package/macos/UIKitCompat/UIKit/UIScrollView.h +106 -0
  2086. package/macos/UIKitCompat/UIKit/UIScrollView.m +237 -0
  2087. package/macos/UIKitCompat/UIKit/UIStatusBar.h +42 -0
  2088. package/macos/UIKitCompat/UIKit/UIStatusBar.m +27 -0
  2089. package/macos/UIKitCompat/UIKit/UIText.h +234 -0
  2090. package/macos/UIKitCompat/UIKit/UIText.m +332 -0
  2091. package/macos/UIKitCompat/UIKit/UITouch.h +24 -0
  2092. package/macos/UIKitCompat/UIKit/UITraitCollection.h +57 -0
  2093. package/macos/UIKitCompat/UIKit/UITraitCollection.m +114 -0
  2094. package/macos/UIKitCompat/UIKit/UIUserActivity.h +14 -0
  2095. package/macos/UIKitCompat/UIKit/UIView.h +166 -0
  2096. package/macos/UIKitCompat/UIKit/UIView.m +555 -0
  2097. package/macos/UIKitCompat/UIKit/UIViewAnimation.h +355 -0
  2098. package/macos/UIKitCompat/UIKit/UIViewAnimation.m +481 -0
  2099. package/macos/UIKitCompat/UIKit/UIViewController.h +24 -0
  2100. package/macos/UIKitCompat/UIKit/UIWindow.h +24 -0
  2101. package/macos/UIKitCompat/macos-excludes.txt +22 -0
  2102. package/macos/metro-config.js +120 -0
  2103. package/package.json +79 -89
  2104. package/react-native.config.js +86 -57
  2105. package/scripts/cocoapods/__docs__/prebuilt-deps.md +78 -0
  2106. package/scripts/cocoapods/__tests__/codegen_utils-test.rb +315 -0
  2107. package/scripts/cocoapods/__tests__/fabric-test.rb +57 -0
  2108. package/scripts/cocoapods/__tests__/jsengine-test.rb +47 -0
  2109. package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +167 -0
  2110. package/scripts/cocoapods/__tests__/new_architecture-test.rb +402 -0
  2111. package/scripts/cocoapods/__tests__/rndependencies-test.rb +89 -0
  2112. package/scripts/cocoapods/__tests__/spm-test.rb +100 -0
  2113. package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +21 -0
  2114. package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +108 -0
  2115. package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +72 -0
  2116. package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +21 -0
  2117. package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +113 -0
  2118. package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +40 -0
  2119. package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +28 -0
  2120. package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +239 -0
  2121. package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +14 -0
  2122. package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +43 -0
  2123. package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +50 -0
  2124. package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +144 -0
  2125. package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +30 -0
  2126. package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +21 -0
  2127. package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +12 -0
  2128. package/scripts/cocoapods/__tests__/test_utils/XcodebuildMock.rb +26 -0
  2129. package/scripts/cocoapods/__tests__/test_utils/XcodeprojMock.rb +21 -0
  2130. package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +39 -0
  2131. package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +14 -0
  2132. package/scripts/cocoapods/__tests__/utils-test.rb +1079 -0
  2133. package/scripts/cocoapods/autolinking.rb +11 -2
  2134. package/scripts/cocoapods/codegen.rb +3 -1
  2135. package/scripts/cocoapods/codegen_utils.rb +7 -2
  2136. package/scripts/cocoapods/fabric.rb +1 -1
  2137. package/scripts/cocoapods/helpers.rb +27 -6
  2138. package/scripts/cocoapods/jsengine.rb +1 -1
  2139. package/scripts/cocoapods/new_architecture.rb +8 -2
  2140. package/scripts/cocoapods/rncore.rb +153 -18
  2141. package/scripts/cocoapods/rncore_facades.rb +232 -0
  2142. package/scripts/cocoapods/rndependencies.rb +148 -27
  2143. package/scripts/cocoapods/rndeps_facades.rb +197 -0
  2144. package/scripts/cocoapods/spm.rb +104 -19
  2145. package/scripts/cocoapods/utils.rb +65 -26
  2146. package/scripts/codegen/__fixtures__/fixtures.js +133 -0
  2147. package/scripts/codegen/__fixtures__/test-app/lib/test-library/package.json +66 -0
  2148. package/scripts/codegen/__fixtures__/test-app/package.json +67 -0
  2149. package/scripts/codegen/__fixtures__/test-app-legacy/package.json +37 -0
  2150. package/scripts/codegen/__fixtures__/test-library/test-library.podspec +10 -0
  2151. package/scripts/codegen/__fixtures__/test-library-2/test-library-2.podspec +12 -0
  2152. package/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap +995 -0
  2153. package/scripts/codegen/__tests__/generate-artifacts-executor-test.js +509 -0
  2154. package/scripts/codegen/__tests__/generate-specs-cli-executor-test.js +74 -0
  2155. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +4 -4
  2156. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +4 -4
  2157. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +15 -7
  2158. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +2 -2
  2159. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +4 -3
  2160. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +12 -9
  2161. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +26 -11
  2162. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +8 -8
  2163. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -4
  2164. package/scripts/codegen/generate-artifacts-executor/index.js +102 -33
  2165. package/scripts/codegen/generate-artifacts-executor/utils.js +67 -6
  2166. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  2167. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  2168. package/scripts/codegen/templates/Package.swift.template +7 -0
  2169. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +22 -1
  2170. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  2171. package/scripts/generate-codegen-artifacts.js +20 -2
  2172. package/scripts/generate-provider-cli.js +1 -1
  2173. package/scripts/hermes/hermes-utils.js +27 -58
  2174. package/scripts/ios-configure-glog.sh +24 -1
  2175. package/scripts/node-binary.sh +0 -0
  2176. package/scripts/react-native-xcode.sh +24 -6
  2177. package/scripts/react_native_pods.rb +125 -30
  2178. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  2179. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  2180. package/scripts/replace-rncore-version.js +110 -37
  2181. package/scripts/setup-apple-spm.js +1283 -0
  2182. package/scripts/spm/__docs__/README.md +92 -0
  2183. package/scripts/spm/__docs__/spm-autolinking-plugins.md +359 -0
  2184. package/scripts/spm/__docs__/spm-header-paths-contract.md +100 -0
  2185. package/scripts/spm/__docs__/spm-scripts.md +646 -0
  2186. package/scripts/spm/__tests__/__fixtures__/plain-app.pbxproj +171 -0
  2187. package/scripts/spm/__tests__/autolinking-plugins-test.js +543 -0
  2188. package/scripts/spm/__tests__/download-spm-artifacts-test.js +893 -0
  2189. package/scripts/spm/__tests__/expand-spm-dependencies-test.js +959 -0
  2190. package/scripts/spm/__tests__/flavored-frameworks-plist-dep-test.js +102 -0
  2191. package/scripts/spm/__tests__/flavored-frameworks-test.js +439 -0
  2192. package/scripts/spm/__tests__/generate-spm-autolinking-config-test.js +364 -0
  2193. package/scripts/spm/__tests__/generate-spm-autolinking-test.js +1960 -0
  2194. package/scripts/spm/__tests__/generate-spm-package-test.js +335 -0
  2195. package/scripts/spm/__tests__/generate-spm-xcodeproj-test.js +443 -0
  2196. package/scripts/spm/__tests__/inject-spm-xcodeproj-test.js +1169 -0
  2197. package/scripts/spm/__tests__/pbxproj-oracles.js +33 -0
  2198. package/scripts/spm/__tests__/read-podspec-test.js +487 -0
  2199. package/scripts/spm/__tests__/remove-spm-injection-test.js +1379 -0
  2200. package/scripts/spm/__tests__/scaffold-package-swift-test.js +1321 -0
  2201. package/scripts/spm/__tests__/setup-apple-spm-test.js +652 -0
  2202. package/scripts/spm/__tests__/spm-pbxproj-test.js +707 -0
  2203. package/scripts/spm/__tests__/spm-utils-test.js +715 -0
  2204. package/scripts/spm/__tests__/swift-tools-version-test.js +97 -0
  2205. package/scripts/spm/__tests__/sync-spm-autolinking-test.js +118 -0
  2206. package/scripts/spm/autolinking-plugins.js +411 -0
  2207. package/scripts/spm/download-spm-artifacts.js +1467 -0
  2208. package/scripts/spm/expand-spm-dependencies.js +435 -0
  2209. package/scripts/spm/flavored-frameworks.js +1008 -0
  2210. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  2211. package/scripts/spm/generate-spm-autolinking.js +2005 -0
  2212. package/scripts/spm/generate-spm-package.js +314 -0
  2213. package/scripts/spm/generate-spm-xcodeproj.js +2790 -0
  2214. package/scripts/spm/read-podspec.js +695 -0
  2215. package/scripts/spm/scaffold-package-swift.js +1247 -0
  2216. package/scripts/spm/spm-pbxproj.js +784 -0
  2217. package/scripts/spm/spm-types.js +546 -0
  2218. package/scripts/spm/spm-utils.js +760 -0
  2219. package/scripts/spm/sync-spm-autolinking.js +160 -0
  2220. package/scripts/xcode/with-environment.sh +7 -1
  2221. package/sdks/.hermesv1version +1 -0
  2222. package/sdks/hermes-engine/hermes-engine.podspec +12 -31
  2223. package/sdks/hermes-engine/hermes-utils.rb +108 -133
  2224. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  2225. package/sdks/hermes-engine/version.properties +1 -2
  2226. package/settings.gradle.kts +0 -23
  2227. package/src/asset-registry.js +29 -0
  2228. package/src/private/__tests__/MemoryBaseline-itest.js +113 -0
  2229. package/src/private/__tests__/utilities/ShadowNodeReferenceCounter.js +60 -0
  2230. package/src/private/__tests__/utilities/ShadowNodeRevisionGetter.js +49 -0
  2231. package/src/private/__tests__/utilities/__tests__/ShadowNodeReferenceCounter-itest.js +196 -0
  2232. package/src/private/__tests__/utilities/__tests__/ShadowNodeRevisionGetter-itest.js +79 -0
  2233. package/src/private/__tests__/utilities/accessibilityPropsSuite.js +332 -0
  2234. package/src/private/__tests__/utilities/commonPropsSuite.js +40 -0
  2235. package/src/private/__tests__/utilities/ensureInstance.js +21 -0
  2236. package/src/private/__tests__/utilities/isUnreachable.js +27 -0
  2237. package/src/private/__tests__/utilities/measureRenderTime.js +46 -0
  2238. package/src/private/animated/NativeAnimatedHelper.js +170 -143
  2239. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  2240. package/src/private/animated/__tests__/AnimatedNative-test.js +1766 -0
  2241. package/src/private/animated/__tests__/AnimatedProps-itest.js +80 -0
  2242. package/src/private/animated/__tests__/createAnimatedPropsHook-itest.js +89 -0
  2243. package/src/private/animated/__tests__/createAnimatedPropsMemoHook-itest.js +370 -0
  2244. package/src/private/animated/createAnimatedPropsHook.js +15 -7
  2245. package/src/private/animated/createAnimatedPropsMemoHook.js +20 -20
  2246. package/src/private/assets/AssetRegistry.js +52 -0
  2247. package/src/private/components/activityindicator/specs/ActivityIndicatorViewNativeComponent.js +56 -0
  2248. package/src/private/components/debuggingoverlay/specs/DebuggingOverlayNativeComponent.js +62 -0
  2249. package/src/private/components/drawerlayoutandroid/specs/AndroidDrawerLayoutNativeComponent.js +124 -0
  2250. package/src/private/components/inputaccessoryview/specs/RCTInputAccessoryViewNativeComponent.js +29 -0
  2251. package/src/private/components/modal/specs/RCTModalHostViewNativeComponent.js +151 -0
  2252. package/src/private/components/progressbarandroid/specs/ProgressBarAndroidNativeComponent.js +39 -0
  2253. package/src/private/components/refreshcontrol/specs/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  2254. package/src/private/components/refreshcontrol/specs/PullToRefreshViewNativeComponent.js +74 -0
  2255. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  2256. package/src/private/components/safeareaview/specs/RCTSafeAreaViewNativeComponent.js +28 -0
  2257. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  2258. package/src/private/components/scrollview/specs/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
  2259. package/src/private/components/switch/specs/AndroidSwitchNativeComponent.js +65 -0
  2260. package/src/private/components/switch/specs/SwitchNativeComponent.js +65 -0
  2261. package/src/private/components/unimplementedview/specs/UnimplementedNativeViewNativeComponent.js +26 -0
  2262. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  2263. package/src/private/components/virtualcollection/Virtual.js +62 -0
  2264. package/src/private/components/virtualcollection/VirtualCollectionView.js +234 -0
  2265. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  2266. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  2267. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  2268. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  2269. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  2270. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  2271. package/src/private/components/virtualview/VirtualView.js +30 -30
  2272. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  2273. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  2274. package/src/private/components/virtualview/__tests__/VirtualView-itest.js +409 -0
  2275. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  2276. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  2277. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  2278. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  2279. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  2280. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +2 -2
  2281. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +42 -37
  2282. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  2283. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +3 -29
  2284. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  2285. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  2286. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  2287. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  2288. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  2289. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  2290. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +5 -5
  2291. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  2292. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  2293. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.macos.js +7 -5
  2294. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  2295. package/src/private/devsupport/rndevtools/__docs__/FuseboxReactDevToolsDispatcher.excalidraw.svg +3 -0
  2296. package/src/private/devsupport/rndevtools/__tests__/TracingStateObserver-itest.js +131 -0
  2297. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +6 -4
  2298. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +4 -4
  2299. package/src/private/featureflags/ReactNativeFeatureFlags.js +136 -133
  2300. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +6 -6
  2301. package/src/private/featureflags/__docs__/README.md +229 -0
  2302. package/src/private/featureflags/__docs__/architecture.excalidraw.svg +4 -0
  2303. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-itest.js +104 -0
  2304. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +91 -0
  2305. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -85
  2306. package/src/private/renderer/branching/__tests__/ShadowTreeBranching-itest.js +249 -0
  2307. package/src/private/renderer/consistency/__tests__/UIConsistency-itest.js +159 -0
  2308. package/src/private/renderer/core/__tests__/EventDispatching-benchmark-itest.js +326 -0
  2309. package/src/private/renderer/core/__tests__/EventDispatching-itest.js +685 -0
  2310. package/src/private/renderer/core/__tests__/EventTargetDispatching-itest.js +1630 -0
  2311. package/src/private/renderer/core/__tests__/ResponderEventTarget-itest.js +910 -0
  2312. package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -9
  2313. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  2314. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  2315. package/src/private/renderer/events/ReactNativeResponder.js +732 -0
  2316. package/src/private/renderer/events/ResponderEvent.js +40 -0
  2317. package/src/private/renderer/events/ResponderTouchHistoryStore.js +267 -0
  2318. package/src/private/renderer/events/dispatchNativeEvent.js +118 -0
  2319. package/src/private/renderer/mounting/__tests__/Mounting-itest.js +563 -0
  2320. package/src/private/renderer/runtimescheduler/__tests__/RuntimeScheduler-benchmark-itest.js +62 -0
  2321. package/src/private/setup/__tests__/setUpDefaultReactNativeEnvironment-ComponentSideEffects-itest.js +56 -0
  2322. package/src/private/setup/__tests__/setUpDefaultReactNativeEnvironment-FeatureFlags-itest.js +28 -0
  2323. package/src/private/setup/__tests__/setUpDefaultReactNativeEnvironment-Globals-IntersectionObserver-itest.js +44 -0
  2324. package/src/private/setup/__tests__/setUpDefaultReactNativeEnvironment-Globals-MutationObserver-itest.js +44 -0
  2325. package/src/private/setup/__tests__/setUpDefaultReactNativeEnvironment-Globals-itest.js +346 -0
  2326. package/src/private/setup/setUpDOM.js +39 -9
  2327. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +12 -0
  2328. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  2329. package/src/private/setup/setUpMutationObserver.js +3 -1
  2330. package/src/private/specs_DEPRECATED/__docs__/README.md +12 -0
  2331. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +10 -10
  2332. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +26 -32
  2333. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +29 -29
  2334. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +2 -7
  2335. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +48 -24
  2336. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  2337. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +5 -5
  2338. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +9 -7
  2339. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +8 -8
  2340. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +4 -4
  2341. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +4 -3
  2342. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +12 -15
  2343. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +2 -2
  2344. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  2345. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +8 -8
  2346. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +5 -9
  2347. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +4 -4
  2348. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +5 -5
  2349. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +3 -3
  2350. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +2 -2
  2351. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +15 -15
  2352. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +10 -7
  2353. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +7 -7
  2354. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +4 -4
  2355. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +10 -7
  2356. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +6 -6
  2357. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +2 -2
  2358. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +3 -3
  2359. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +7 -7
  2360. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +3 -3
  2361. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +3 -3
  2362. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +6 -6
  2363. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +7 -7
  2364. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +7 -5
  2365. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +4 -4
  2366. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +3 -3
  2367. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +37 -33
  2368. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +3 -3
  2369. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +26 -26
  2370. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +3 -3
  2371. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +5 -5
  2372. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +3 -3
  2373. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +2 -2
  2374. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  2375. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  2376. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  2377. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +4 -4
  2378. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +5 -5
  2379. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +36 -23
  2380. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +5 -5
  2381. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +9 -9
  2382. package/src/private/styles/composeStyles.js +2 -2
  2383. package/src/private/testing/fantom/specs/NativeCPUTime.js +24 -0
  2384. package/src/private/testing/fantom/specs/NativeFantom.js +140 -0
  2385. package/src/private/testing/fantom/specs/NativeFantomTestSpecificMethods.js +37 -0
  2386. package/src/private/testing/fantom/specs/__docs__/README.md +19 -0
  2387. package/src/private/timers/__tests__/Timers-itest.js +140 -0
  2388. package/src/private/types/HostComponent.js +1 -1
  2389. package/src/private/types/HostInstance.js +38 -80
  2390. package/src/private/utilities/toError.js +27 -0
  2391. package/src/private/utilities/toExtendedError.js +30 -0
  2392. package/src/private/viewtransition/specs/NativeViewTransition.js +35 -0
  2393. package/src/private/webapis/console/__tests__/consoleCreateTask-benchmark-itest.js +35 -0
  2394. package/src/private/webapis/console/__tests__/consoleCreateTask-jsx-benchmark-itest.js +79 -0
  2395. package/src/private/webapis/console/__tests__/no-consoleCreateTask-jsx-benchmark-itest.js +19 -0
  2396. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  2397. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  2398. package/src/private/webapis/dom/abort-api/__tests__/AbortController-itest.js +466 -0
  2399. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  2400. package/src/private/webapis/dom/events/Event.js +22 -13
  2401. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  2402. package/src/private/webapis/dom/events/EventTarget.js +184 -33
  2403. package/src/private/webapis/dom/events/__tests__/CustomEvent-itest.js +51 -0
  2404. package/src/private/webapis/dom/events/__tests__/Event-itest.js +317 -0
  2405. package/src/private/webapis/dom/events/__tests__/EventHandlerAttributes-itest.js +203 -0
  2406. package/src/private/webapis/dom/events/__tests__/EventTarget-benchmark-itest.js +209 -0
  2407. package/src/private/webapis/dom/events/__tests__/EventTarget-itest.js +1048 -0
  2408. package/src/private/webapis/dom/events/__tests__/createEventTargetHierarchyWithDepth.js +37 -0
  2409. package/src/private/webapis/dom/events/internals/EventInternals.js +56 -3
  2410. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +50 -3
  2411. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  2412. package/src/private/webapis/dom/nodes/ReactNativeElement.js +127 -2
  2413. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  2414. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +14 -7
  2415. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +99 -3
  2416. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  2417. package/src/private/webapis/dom/nodes/__tests__/ReactNativeDocument-itest.js +319 -0
  2418. package/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-itest.js +1810 -0
  2419. package/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-traversal-benchmark-itest.js +181 -0
  2420. package/src/private/webapis/dom/nodes/__tests__/ReadOnlyText-itest.js +462 -0
  2421. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  2422. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  2423. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  2424. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +88 -84
  2425. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -3
  2426. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +7 -3
  2427. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -4
  2428. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +8 -4
  2429. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-itest.js +97 -0
  2430. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-itest.js +178 -0
  2431. package/src/private/webapis/errors/DOMException.js +50 -50
  2432. package/src/private/webapis/errors/__tests__/DOMException-itest.js +157 -0
  2433. package/src/private/webapis/geometry/DOMRectList.js +14 -2
  2434. package/src/private/webapis/geometry/DOMRectList.js.flow +4 -2
  2435. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  2436. package/src/private/webapis/geometry/__tests__/DOMRectList-itest.js +102 -0
  2437. package/src/private/webapis/html/events/MessageEvent.js +5 -5
  2438. package/src/private/webapis/idlecallbacks/__tests__/requestIdleCallback-itest.js +172 -0
  2439. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +7 -7
  2440. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +61 -13
  2441. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  2442. package/src/private/webapis/intersectionobserver/__docs__/README.md +53 -0
  2443. package/src/private/webapis/intersectionobserver/__docs__/architecture.excalidraw.svg +5 -0
  2444. package/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-benchmark-itest.js +449 -0
  2445. package/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-itest.js +4295 -0
  2446. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +10 -18
  2447. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +16 -16
  2448. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +3 -3
  2449. package/src/private/webapis/mutationobserver/MutationObserver.js +9 -9
  2450. package/src/private/webapis/mutationobserver/MutationRecord.js +15 -3
  2451. package/src/private/webapis/mutationobserver/__docs__/README.md +46 -0
  2452. package/src/private/webapis/mutationobserver/__docs__/architecture.excalidraw.svg +4 -0
  2453. package/src/private/webapis/mutationobserver/__tests__/MutationObserver-itest.js +943 -0
  2454. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +6 -8
  2455. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +13 -13
  2456. package/src/private/webapis/performance/EventTiming.js +3 -3
  2457. package/src/private/webapis/performance/LongTasks.js +3 -3
  2458. package/src/private/webapis/performance/Performance.js +5 -5
  2459. package/src/private/webapis/performance/PerformanceEntry.js +4 -4
  2460. package/src/private/webapis/performance/PerformanceObserver.js +6 -6
  2461. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  2462. package/src/private/webapis/performance/UserTiming.js +4 -4
  2463. package/src/private/webapis/performance/__tests__/EventTimingAPI-itest.js +403 -0
  2464. package/src/private/webapis/performance/__tests__/LongTasksAPI-itest.js +207 -0
  2465. package/src/private/webapis/performance/__tests__/Performance-benchmark-itest.js +146 -0
  2466. package/src/private/webapis/performance/__tests__/Performance-itest.js +77 -0
  2467. package/src/private/webapis/performance/__tests__/PerformanceMemory-itest.js +28 -0
  2468. package/src/private/webapis/performance/__tests__/PerformanceObserver-itest.js +127 -0
  2469. package/src/private/webapis/performance/__tests__/UserTiming-itest.js +828 -0
  2470. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  2471. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  2472. package/src/private/webapis/performance/specs/NativePerformance.js +34 -28
  2473. package/src/private/webapis/structuredClone/__tests__/structuredClone-benchmark-itest.js +43 -0
  2474. package/src/private/webapis/structuredClone/__tests__/structuredClone-itest.js +444 -0
  2475. package/src/private/webapis/structuredClone/structuredClone.js +6 -6
  2476. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  2477. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  2478. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  2479. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  2480. package/src/react-private-interface.js +145 -0
  2481. package/src/react-private-interface.js.flow +48 -0
  2482. package/src/setup-env.js +22 -0
  2483. package/src/types/globals.d.ts +67 -6
  2484. package/src/unstable-internals-do-not-use.d.ts +214 -0
  2485. package/src/unstable-internals-do-not-use.js +76 -0
  2486. package/third-party-podspecs/RCT-Folly.podspec +2 -1
  2487. package/third-party-podspecs/ReactNativeDependencies.podspec +2 -2
  2488. package/third-party-podspecs/fmt.podspec +2 -2
  2489. package/third-party-podspecs/glog.podspec +1 -0
  2490. package/types/index.d.ts +3 -3
  2491. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  2492. package/types/public/ReactNativeTypes.d.ts +4 -2
  2493. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  2494. package/Libraries/Components/View/DraggedType.js +0 -23
  2495. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -77
  2496. package/Libraries/DevToolsSettings/DevToolsSettingsManager.macos.js +0 -14
  2497. package/Libraries/Image/AssetRegistry.js +0 -14
  2498. package/Libraries/Image/RCTImageShadowView.h +0 -17
  2499. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  2500. package/Libraries/Image/RCTImageView.h +0 -35
  2501. package/Libraries/Image/RCTImageView.mm +0 -657
  2502. package/Libraries/Image/RCTImageViewManager.h +0 -17
  2503. package/Libraries/Image/RCTImageViewManager.mm +0 -119
  2504. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  2505. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  2506. package/Libraries/Interaction/InteractionManager.js +0 -188
  2507. package/Libraries/LinkingIOS/macos/RCTLinkingManager.mm +0 -123
  2508. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19660
  2509. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11121
  2510. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12922
  2511. package/Libraries/Renderer/shims/ReactNative.js +0 -26
  2512. package/Libraries/StyleSheet/PlatformColorValueTypesMacOS.d.ts +0 -30
  2513. package/Libraries/StyleSheet/PlatformColorValueTypesMacOS.js +0 -44
  2514. package/Libraries/StyleSheet/PlatformColorValueTypesMacOS.macos.js +0 -52
  2515. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  2516. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  2517. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  2518. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -69
  2519. package/Libraries/Text/RCTTextAttributes.h +0 -112
  2520. package/Libraries/Text/RCTTextAttributes.mm +0 -381
  2521. package/Libraries/Text/RCTTextUIKit.h +0 -50
  2522. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  2523. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  2524. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  2525. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  2526. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  2527. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  2528. package/Libraries/Text/Text/RCTTextView.h +0 -37
  2529. package/Libraries/Text/Text/RCTTextView.mm +0 -571
  2530. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  2531. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -101
  2532. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -29
  2533. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -209
  2534. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  2535. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -42
  2536. package/Libraries/Text/TextInput/Multiline/RCTWrappedTextView.h +0 -30
  2537. package/Libraries/Text/TextInput/Multiline/RCTWrappedTextView.m +0 -210
  2538. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  2539. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -379
  2540. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -86
  2541. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -1217
  2542. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  2543. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -217
  2544. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  2545. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -26
  2546. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  2547. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  2548. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  2549. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  2550. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  2551. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  2552. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  2553. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -106
  2554. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  2555. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -37
  2556. package/Libraries/Text/TextInput/Singleline/macOS/RCTUISecureTextField.h +0 -15
  2557. package/Libraries/Text/TextInput/Singleline/macOS/RCTUISecureTextField.m +0 -14
  2558. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  2559. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  2560. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  2561. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +0 -16
  2562. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  2563. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  2564. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  2565. package/Libraries/Utilities/IPerformanceLogger.d.ts +0 -48
  2566. package/Libraries/Utilities/IPerformanceLogger.js +0 -49
  2567. package/Libraries/Utilities/NativePlatformConstantsMacOS.js +0 -31
  2568. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  2569. package/Libraries/Utilities/SceneTracker.js +0 -42
  2570. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  2571. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  2572. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  2573. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  2574. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  2575. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -29
  2576. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  2577. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  2578. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  2579. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  2580. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  2581. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  2582. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  2583. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  2584. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -34
  2585. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  2586. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  2587. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  2588. package/React/Base/RCTFocusChangeEvent.h +0 -20
  2589. package/React/Base/RCTFocusChangeEvent.m +0 -30
  2590. package/React/Base/RCTRootContentView.h +0 -43
  2591. package/React/Base/RCTRootContentView.m +0 -158
  2592. package/React/Base/RCTRootViewInternal.h +0 -28
  2593. package/React/Base/macOS/RCTPlatformDisplayLink.m +0 -165
  2594. package/React/Base/macOS/RCTUIKit.m +0 -908
  2595. package/React/CxxBridge/RCTCxxBridge.mm +0 -1585
  2596. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  2597. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  2598. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  2599. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  2600. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.h +0 -16
  2601. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -35
  2602. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  2603. package/React/CxxModule/RCTCxxMethod.h +0 -17
  2604. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  2605. package/React/CxxModule/RCTCxxModule.h +0 -29
  2606. package/React/CxxModule/RCTCxxModule.mm +0 -87
  2607. package/React/CxxModule/RCTNativeModule.h +0 -34
  2608. package/React/CxxModule/RCTNativeModule.mm +0 -241
  2609. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
  2610. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -325
  2611. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  2612. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  2613. package/React/Views/RCTActivityIndicatorView.h +0 -26
  2614. package/React/Views/RCTActivityIndicatorView.m +0 -132
  2615. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  2616. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  2617. package/React/Views/RCTCursor.m +0 -233
  2618. package/React/Views/RCTDebuggingOverlayManager.h +0 -18
  2619. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  2620. package/React/Views/RCTHandledKey.h +0 -40
  2621. package/React/Views/RCTHandledKey.m +0 -139
  2622. package/React/Views/RCTModalHostView.h +0 -64
  2623. package/React/Views/RCTModalHostView.m +0 -260
  2624. package/React/Views/RCTModalHostViewController.m +0 -80
  2625. package/React/Views/RCTModalHostViewManager.m +0 -133
  2626. package/React/Views/RCTModalManager.h +0 -22
  2627. package/React/Views/RCTModalManager.m +0 -46
  2628. package/React/Views/RCTRootShadowView.h +0 -35
  2629. package/React/Views/RCTRootShadowView.m +0 -53
  2630. package/React/Views/RCTShadowView+Internal.h +0 -18
  2631. package/React/Views/RCTShadowView+Internal.m +0 -23
  2632. package/React/Views/RCTSwitch.h +0 -22
  2633. package/React/Views/RCTSwitch.m +0 -24
  2634. package/React/Views/RCTSwitchManager.h +0 -17
  2635. package/React/Views/RCTSwitchManager.m +0 -77
  2636. package/React/Views/RCTViewKeyboardEvent.h +0 -17
  2637. package/React/Views/RCTViewKeyboardEvent.m +0 -109
  2638. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -26
  2639. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -232
  2640. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -17
  2641. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -49
  2642. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  2643. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  2644. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  2645. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -83
  2646. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  2647. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  2648. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  2649. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -34
  2650. package/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.h +0 -27
  2651. package/React/Views/ScrollView/MacOS/RCTScrollContentLocalData.m +0 -26
  2652. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  2653. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -53
  2654. package/React/Views/ScrollView/RCTScrollContentView.h +0 -23
  2655. package/React/Views/ScrollView/RCTScrollContentView.m +0 -81
  2656. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  2657. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -33
  2658. package/React/Views/ScrollView/RCTScrollView.m +0 -1533
  2659. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -28
  2660. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -214
  2661. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
  2662. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  2663. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  2664. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
  2665. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -710
  2666. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  2667. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  2668. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -427
  2669. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
  2670. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
  2671. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
  2672. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
  2673. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  2674. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
  2675. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  2676. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingStateProvider.kt +0 -12
  2677. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1410
  2678. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  2679. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
  2680. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -714
  2681. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
  2682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
  2683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -904
  2684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -485
  2685. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -403
  2686. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -25
  2687. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -1008
  2688. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -848
  2689. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -1092
  2690. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -111
  2691. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  2692. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
  2693. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
  2694. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
  2695. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
  2696. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
  2697. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
  2698. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  2699. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1783
  2700. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1605
  2701. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
  2702. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
  2703. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
  2704. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
  2705. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
  2706. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
  2707. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
  2708. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
  2709. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
  2710. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
  2711. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -314
  2712. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
  2713. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -47
  2714. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  2715. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
  2716. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  2717. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  2718. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
  2719. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -35
  2720. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  2721. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  2722. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -31
  2723. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  2724. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  2725. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -41
  2726. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  2727. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  2728. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
  2729. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -827
  2730. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  2731. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  2732. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  2733. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  2734. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
  2735. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  2736. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  2737. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -428
  2738. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -118
  2739. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
  2740. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
  2741. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +0 -22
  2742. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
  2743. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
  2744. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -136
  2745. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  2746. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  2747. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  2748. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -37
  2749. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  2750. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  2751. package/ReactCommon/jsi/jsi/hermes.h +0 -189
  2752. package/ReactCommon/jsinspector-modern/Base64.h +0 -99
  2753. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  2754. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +0 -42
  2755. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
  2756. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
  2757. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
  2758. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -147
  2759. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  2760. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  2761. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -71
  2762. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -280
  2763. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +0 -35
  2764. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -177
  2765. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm +0 -11
  2766. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +0 -44
  2767. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +0 -222
  2768. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp +0 -14
  2769. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformTouch.h +0 -16
  2770. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -197
  2771. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewEventEmitter.h +0 -50
  2772. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewEvents.h +0 -81
  2773. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewProps.cpp +0 -160
  2774. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewProps.h +0 -58
  2775. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +0 -30
  2776. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/KeyEvent.h +0 -137
  2777. package/ReactCommon/react/renderer/components/view/platform/macos/react/renderer/components/view/MouseEvent.h +0 -83
  2778. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
  2779. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
  2780. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -72
  2781. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -40
  2782. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
  2783. package/ReactCommon/react/renderer/graphics/DoubleConversions.h +0 -16
  2784. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  2785. package/interface.js +0 -21
  2786. package/jest/MockNativeMethods.js +0 -27
  2787. package/jest/RefreshControlMock.js +0 -32
  2788. package/jest/assetFileTransformer.js +0 -33
  2789. package/jest/local-setup.js +0 -29
  2790. package/jest/mock.js +0 -39
  2791. package/jest/mockComponent.js +0 -104
  2792. package/jest/mockNativeComponent.js +0 -52
  2793. package/jest/mocks/AccessibilityInfo.js +0 -67
  2794. package/jest/mocks/ActivityIndicator.js +0 -23
  2795. package/jest/mocks/AppState.js +0 -19
  2796. package/jest/mocks/Clipboard.js +0 -16
  2797. package/jest/mocks/Image.js +0 -23
  2798. package/jest/mocks/InitializeCore.js +0 -9
  2799. package/jest/mocks/Linking.js +0 -28
  2800. package/jest/mocks/Modal.js +0 -33
  2801. package/jest/mocks/NativeComponentRegistry.js +0 -30
  2802. package/jest/mocks/NativeModules.js +0 -239
  2803. package/jest/mocks/RefreshControl.js +0 -31
  2804. package/jest/mocks/RendererProxy.js +0 -45
  2805. package/jest/mocks/ScrollView.js +0 -58
  2806. package/jest/mocks/Text.js +0 -27
  2807. package/jest/mocks/TextInput.js +0 -32
  2808. package/jest/mocks/UIManager.js +0 -60
  2809. package/jest/mocks/Vibration.js +0 -16
  2810. package/jest/mocks/View.js +0 -27
  2811. package/jest/mocks/ViewNativeComponent.js +0 -23
  2812. package/jest/mocks/requireNativeComponent.js +0 -22
  2813. package/jest/mocks/useColorScheme.js +0 -18
  2814. package/jest/react-native-env.js +0 -17
  2815. package/jest/renderer.js +0 -40
  2816. package/jest/resolver.js +0 -32
  2817. package/jest/setup.js +0 -140
  2818. package/jest-preset.js +0 -30
  2819. package/local-cli/cli.js +0 -18
  2820. package/local-cli/generate-macos.js +0 -36
  2821. package/local-cli/generator-common/index.js +0 -385
  2822. package/local-cli/generator-macos/index.js +0 -135
  2823. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/AppDelegate.h +0 -6
  2824. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/AppDelegate.mm +0 -47
  2825. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -58
  2826. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/Contents.json +0 -6
  2827. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard +0 -684
  2828. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements +0 -12
  2829. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist +0 -47
  2830. package/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m +0 -5
  2831. package/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj +0 -536
  2832. package/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-iOS.xcscheme +0 -78
  2833. package/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-macOS.xcscheme +0 -78
  2834. package/local-cli/generator-macos/templates/macos/Podfile +0 -28
  2835. package/local-cli/generator-macos/templates/macos/_gitignore +0 -2
  2836. package/local-cli/runMacOS/runMacOS.js +0 -387
  2837. package/rn-get-polyfills.js +0 -13
  2838. package/sdks/.hermesversion +0 -1
  2839. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  2840. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
  2841. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +0 -56
  2842. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +0 -124
  2843. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +0 -27
  2844. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +0 -74
  2845. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +0 -65
  2846. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +0 -62
  2847. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +0 -39
  2848. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +0 -74
  2849. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +0 -29
  2850. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +0 -156
  2851. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +0 -28
  2852. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -62
  2853. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +0 -26
  2854. package/third-party-podspecs/SocketRocket.podspec +0 -30
  2855. package/types/tsconfig.json +0 -15
  2856. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
  2857. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
  2858. /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
  2859. /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
  2860. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -0,0 +1,1640 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.views.scroll
9
+
10
+ import android.animation.ObjectAnimator
11
+ import android.animation.ValueAnimator
12
+ import android.content.Context
13
+ import android.graphics.Canvas
14
+ import android.graphics.Color
15
+ import android.graphics.Point
16
+ import android.graphics.Rect
17
+ import android.graphics.drawable.Drawable
18
+ import android.os.Build
19
+ import android.view.FocusFinder
20
+ import android.view.KeyEvent
21
+ import android.view.MotionEvent
22
+ import android.view.View
23
+ import android.view.ViewGroup
24
+ import android.view.ViewParent
25
+ import android.view.accessibility.AccessibilityNodeInfo
26
+ import android.widget.HorizontalScrollView
27
+ import android.widget.OverScroller
28
+ import androidx.core.graphics.drawable.toDrawable
29
+ import androidx.core.view.ViewCompat
30
+ import androidx.core.view.ViewCompat.FocusDirection
31
+ import androidx.core.view.isEmpty
32
+ import androidx.core.view.isNotEmpty
33
+ import com.facebook.common.logging.FLog
34
+ import com.facebook.react.R
35
+ import com.facebook.react.common.ReactConstants
36
+ import com.facebook.react.common.build.ReactBuildConfig
37
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
38
+ import com.facebook.react.uimanager.BackgroundStyleApplicator
39
+ import com.facebook.react.uimanager.HasChildPressedStateDelay
40
+ import com.facebook.react.uimanager.LengthPercentage
41
+ import com.facebook.react.uimanager.LengthPercentageType
42
+ import com.facebook.react.uimanager.MeasureSpecAssertions
43
+ import com.facebook.react.uimanager.PixelUtil
44
+ import com.facebook.react.uimanager.PointerEvents
45
+ import com.facebook.react.uimanager.ReactClippingViewGroup
46
+ import com.facebook.react.uimanager.ReactClippingViewGroupHelper
47
+ import com.facebook.react.uimanager.ReactOverflowViewWithInset
48
+ import com.facebook.react.uimanager.StateWrapper
49
+ import com.facebook.react.uimanager.events.NativeGestureUtil
50
+ import com.facebook.react.uimanager.style.BorderRadiusProp
51
+ import com.facebook.react.uimanager.style.BorderStyle
52
+ import com.facebook.react.uimanager.style.LogicalEdge
53
+ import com.facebook.react.uimanager.style.Overflow
54
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasFlingAnimator
55
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollEventThrottle
56
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollState
57
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasSmoothScroll
58
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasStateWrapper
59
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.ReactScrollViewScrollState
60
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.SNAP_ALIGNMENT_CENTER
61
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.SNAP_ALIGNMENT_DISABLED
62
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.SNAP_ALIGNMENT_END
63
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.SNAP_ALIGNMENT_START
64
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.findNextFocusableView
65
+ import com.facebook.systrace.Systrace
66
+ import kotlin.math.abs
67
+ import kotlin.math.ceil
68
+ import kotlin.math.floor
69
+ import kotlin.math.max
70
+ import kotlin.math.round
71
+ import kotlin.math.sign
72
+
73
+ /** Similar to [ReactScrollView] but only supports horizontal scrolling. */
74
+ public open class ReactHorizontalScrollView
75
+ @JvmOverloads
76
+ constructor(context: Context, private val fpsListener: FpsListener? = null) :
77
+ HorizontalScrollView(context),
78
+ ReactClippingViewGroup,
79
+ ViewGroup.OnHierarchyChangeListener,
80
+ View.OnLayoutChangeListener,
81
+ ReactAccessibleScrollView,
82
+ ReactOverflowViewWithInset,
83
+ HasScrollState,
84
+ HasStateWrapper,
85
+ HasFlingAnimator,
86
+ HasScrollEventThrottle,
87
+ HasSmoothScroll,
88
+ VirtualViewContainer,
89
+ HasChildPressedStateDelay {
90
+
91
+ private companion object {
92
+ private val DEBUG_MODE = false && ReactBuildConfig.DEBUG
93
+ private val TAG = ReactHorizontalScrollView::class.java.simpleName
94
+
95
+ private const val NO_SCROLL_POSITION = Int.MIN_VALUE
96
+ private const val UNSET_CONTENT_OFFSET = -1
97
+
98
+ private var scrollerField: java.lang.reflect.Field? = null
99
+ private var triedToGetScrollerField = false
100
+
101
+ private fun findDeepestScrollViewForMotionEvent(
102
+ view: View,
103
+ ev: MotionEvent,
104
+ ): HorizontalScrollView? = findDeepestScrollViewForMotionEvent(view, ev, true)
105
+
106
+ private fun findDeepestScrollViewForMotionEvent(
107
+ view: View?,
108
+ ev: MotionEvent,
109
+ skipInitialView: Boolean,
110
+ ): HorizontalScrollView? {
111
+ if (view == null) return null
112
+
113
+ val rectOnScreen = Rect()
114
+ view.getGlobalVisibleRect(rectOnScreen)
115
+ if (!rectOnScreen.contains(ev.rawX.toInt(), ev.rawY.toInt())) {
116
+ return null
117
+ }
118
+
119
+ if (
120
+ !skipInitialView &&
121
+ view is HorizontalScrollView &&
122
+ ViewCompat.isNestedScrollingEnabled(view) &&
123
+ (view is ReactHorizontalScrollView && view.scrollEnabled)
124
+ ) {
125
+ return view
126
+ }
127
+
128
+ if (view is ViewGroup) {
129
+ for (i in 0 until view.childCount) {
130
+ val foundScrollView = findDeepestScrollViewForMotionEvent(view.getChildAt(i), ev, false)
131
+ if (foundScrollView != null) {
132
+ return foundScrollView
133
+ }
134
+ }
135
+ }
136
+
137
+ return null
138
+ }
139
+ }
140
+
141
+ private var scrollXAfterMeasure = NO_SCROLL_POSITION
142
+
143
+ private val onScrollDispatchHelper = OnScrollDispatchHelper()
144
+ private val scroller: OverScroller? = getOverScrollerFromParent()
145
+ private val velocityHelper = VelocityHelper()
146
+ private val tempRect = Rect()
147
+ private val defaultFlingAnimator: ValueAnimator = ObjectAnimator.ofInt(this, "scrollX", 0, 0)
148
+
149
+ // Backing fields for interface properties with custom logic
150
+ private var _overflowInset = Rect()
151
+ private var _virtualViewContainerState: VirtualViewContainerState? = null
152
+ private var _removeClippedSubviews = false
153
+ private var _reactScrollViewScrollState = ReactScrollViewScrollState()
154
+
155
+ // Private state
156
+ private var activelyScrolling = false
157
+ private var clippingRect: Rect? = null
158
+ private var _overflow: Overflow =
159
+ if (ReactNativeFeatureFlags.enablePropsUpdateReconciliationAndroid()) Overflow.VISIBLE
160
+ else Overflow.SCROLL
161
+ private var dragging = false
162
+ private var pagingEnabled = false
163
+ private var postTouchRunnable: Runnable? = null
164
+ private var sendMomentumEvents = false
165
+ private var scrollPerfTag: String? = null
166
+ private var endBackground: Drawable? = null
167
+ private var endFillColor = Color.TRANSPARENT
168
+ private var disableIntervalMomentum = false
169
+ private var snapInterval = 0
170
+ private var snapOffsets: List<Int>? = null
171
+ private var snapToStart = true
172
+ private var snapToEnd = true
173
+ private var snapToAlignment = SNAP_ALIGNMENT_DISABLED
174
+ private var pagedArrowScrolling = false
175
+ private var pendingContentOffsetX = UNSET_CONTENT_OFFSET
176
+ private var pendingContentOffsetY = UNSET_CONTENT_OFFSET
177
+ public open var pointerEvents: PointerEvents = PointerEvents.AUTO
178
+ private var contentView: View? = null
179
+ private var maintainVisibleContentPositionHelper:
180
+ MaintainVisibleScrollPositionHelper<ReactHorizontalScrollView>? =
181
+ null
182
+ public open var fadingEdgeLengthStart: Int = 0
183
+ set(value) {
184
+ field = value
185
+ invalidate()
186
+ }
187
+
188
+ public open var fadingEdgeLengthEnd: Int = 0
189
+ set(value) {
190
+ field = value
191
+ invalidate()
192
+ }
193
+
194
+ private var emittedOverScrollSinceScrollBegin = false
195
+ private var scrollsChildToFocus = true
196
+
197
+ // Interface property overrides
198
+ override var scrollEnabled: Boolean = true
199
+ override var stateWrapper: StateWrapper? = null
200
+ override var scrollEventThrottle: Int = 0
201
+ override var lastScrollDispatchTime: Long = 0L
202
+ override var hasChildPressedStateDelay: Boolean? = null
203
+
204
+ override val virtualViewContainerState: VirtualViewContainerState
205
+ get() =
206
+ _virtualViewContainerState
207
+ ?: VirtualViewContainerState.create(this).also { _virtualViewContainerState = it }
208
+
209
+ override val overflowInset: Rect
210
+ get() = _overflowInset
211
+
212
+ override val overflow: String?
213
+ get() =
214
+ when (_overflow) {
215
+ Overflow.HIDDEN -> "hidden"
216
+ Overflow.SCROLL -> "scroll"
217
+ Overflow.VISIBLE -> "visible"
218
+ }
219
+
220
+ override var removeClippedSubviews: Boolean
221
+ get() = _removeClippedSubviews
222
+ set(value) {
223
+ if (ReactNativeFeatureFlags.disableSubviewClippingAndroid()) return
224
+ if (value && clippingRect == null) clippingRect = Rect()
225
+ _removeClippedSubviews = value
226
+ updateClippingRect()
227
+ }
228
+
229
+ override var reactScrollViewScrollState: ReactScrollViewScrollState
230
+ get() = _reactScrollViewScrollState
231
+ set(value) {
232
+ _reactScrollViewScrollState = value
233
+ if (
234
+ ReactNativeFeatureFlags.enableViewCulling() ||
235
+ ReactNativeFeatureFlags.useTraitHiddenOnAndroid()
236
+ ) {
237
+ val scrollPosition = value.lastStateUpdateScroll
238
+ restoreScrollTo(scrollPosition.x, scrollPosition.y)
239
+ }
240
+ }
241
+
242
+ init {
243
+ ViewCompat.setAccessibilityDelegate(this, ReactScrollViewAccessibilityDelegate())
244
+ setOnHierarchyChangeListener(this)
245
+ setClipChildren(false)
246
+ initView()
247
+ }
248
+
249
+ /**
250
+ * Set all default values here as opposed to in the constructor or field defaults. It is important
251
+ * that these properties are set during the constructor, but also on-demand whenever an existing
252
+ * ReactHorizontalScrollView is recycled.
253
+ */
254
+ private fun initView() {
255
+ _overflowInset = Rect()
256
+ _virtualViewContainerState = null
257
+ activelyScrolling = false
258
+ clippingRect = null
259
+ _overflow =
260
+ if (ReactNativeFeatureFlags.enablePropsUpdateReconciliationAndroid()) Overflow.VISIBLE
261
+ else Overflow.SCROLL
262
+ dragging = false
263
+ pagingEnabled = false
264
+ postTouchRunnable = null
265
+ _removeClippedSubviews = false
266
+ scrollEnabled = true
267
+ sendMomentumEvents = false
268
+ scrollPerfTag = null
269
+ endBackground = null
270
+ endFillColor = Color.TRANSPARENT
271
+ disableIntervalMomentum = false
272
+ snapInterval = 0
273
+ snapOffsets = null
274
+ snapToStart = true
275
+ snapToEnd = true
276
+ snapToAlignment = SNAP_ALIGNMENT_DISABLED
277
+ pagedArrowScrolling = false
278
+ pendingContentOffsetX = UNSET_CONTENT_OFFSET
279
+ pendingContentOffsetY = UNSET_CONTENT_OFFSET
280
+ stateWrapper = null
281
+ _reactScrollViewScrollState = ReactScrollViewScrollState()
282
+ pointerEvents = PointerEvents.AUTO
283
+ lastScrollDispatchTime = 0
284
+ scrollEventThrottle = 0
285
+ contentView = null
286
+ maintainVisibleContentPositionHelper = null
287
+ fadingEdgeLengthStart = 0
288
+ fadingEdgeLengthEnd = 0
289
+ emittedOverScrollSinceScrollBegin = false
290
+ scrollsChildToFocus = true
291
+ }
292
+
293
+ internal fun recycleView() {
294
+ initView()
295
+ if (parent != null) {
296
+ (parent as ViewGroup).removeView(this)
297
+ }
298
+ updateView()
299
+ }
300
+
301
+ private fun updateView() {}
302
+
303
+ override fun onInitializeAccessibilityNodeInfo(info: AccessibilityNodeInfo) {
304
+ super.onInitializeAccessibilityNodeInfo(info)
305
+ val testId = getTag(R.id.react_test_id) as? String
306
+ if (testId != null) {
307
+ info.viewIdResourceName = testId
308
+ }
309
+ }
310
+
311
+ override fun canScrollHorizontally(direction: Int): Boolean {
312
+ return scrollEnabled && super.canScrollHorizontally(direction)
313
+ }
314
+
315
+ private fun getOverScrollerFromParent(): OverScroller? {
316
+ if (!triedToGetScrollerField) {
317
+ triedToGetScrollerField = true
318
+ try {
319
+ scrollerField = HorizontalScrollView::class.java.getDeclaredField("mScroller")
320
+ scrollerField?.isAccessible = true
321
+ } catch (e: NoSuchFieldException) {
322
+ FLog.w(
323
+ TAG,
324
+ "Failed to get mScroller field for HorizontalScrollView! " +
325
+ "This app will exhibit the bounce-back scrolling bug :(",
326
+ )
327
+ }
328
+ }
329
+
330
+ val field = scrollerField ?: return null
331
+ return try {
332
+ val scrollerValue = field.get(this)
333
+ if (scrollerValue is OverScroller) {
334
+ scrollerValue
335
+ } else {
336
+ FLog.w(
337
+ TAG,
338
+ "Failed to cast mScroller field in HorizontalScrollView (probably due to OEM changes" +
339
+ " to AOSP)! This app will exhibit the bounce-back scrolling bug :(",
340
+ )
341
+ null
342
+ }
343
+ } catch (e: IllegalAccessException) {
344
+ throw RuntimeException("Failed to get mScroller from HorizontalScrollView!", e)
345
+ }
346
+ }
347
+
348
+ public open fun setScrollPerfTag(scrollPerfTag: String?) {
349
+ this.scrollPerfTag = scrollPerfTag
350
+ }
351
+
352
+ public open fun setDisableIntervalMomentum(disableIntervalMomentum: Boolean) {
353
+ this.disableIntervalMomentum = disableIntervalMomentum
354
+ }
355
+
356
+ public open fun setSendMomentumEvents(sendMomentumEvents: Boolean) {
357
+ this.sendMomentumEvents = sendMomentumEvents
358
+ }
359
+
360
+ public open fun setPagingEnabled(pagingEnabled: Boolean) {
361
+ this.pagingEnabled = pagingEnabled
362
+ }
363
+
364
+ public open fun setScrollsChildToFocus(scrollsChildToFocus: Boolean) {
365
+ this.scrollsChildToFocus = scrollsChildToFocus
366
+ }
367
+
368
+ public open fun setDecelerationRate(decelerationRate: Float) {
369
+ reactScrollViewScrollState.decelerationRate = decelerationRate
370
+ scroller?.setFriction(1.0f - decelerationRate)
371
+ }
372
+
373
+ public open fun abortAnimation() {
374
+ if (scroller != null && !scroller.isFinished) {
375
+ scroller.abortAnimation()
376
+ }
377
+ }
378
+
379
+ public open fun setSnapInterval(snapInterval: Int) {
380
+ this.snapInterval = snapInterval
381
+ }
382
+
383
+ public open fun setSnapOffsets(snapOffsets: List<Int>?) {
384
+ this.snapOffsets = snapOffsets
385
+ }
386
+
387
+ public open fun setSnapToStart(snapToStart: Boolean) {
388
+ this.snapToStart = snapToStart
389
+ }
390
+
391
+ public open fun setSnapToEnd(snapToEnd: Boolean) {
392
+ this.snapToEnd = snapToEnd
393
+ }
394
+
395
+ public open fun setSnapToAlignment(snapToAlignment: Int) {
396
+ this.snapToAlignment = snapToAlignment
397
+ }
398
+
399
+ public open fun flashScrollIndicators() {
400
+ awakenScrollBars()
401
+ }
402
+
403
+ override fun getLeftFadingEdgeStrength(): Float {
404
+ val max = max(fadingEdgeLengthStart.toFloat(), fadingEdgeLengthEnd.toFloat())
405
+ val value =
406
+ if (layoutDirection == LAYOUT_DIRECTION_RTL) fadingEdgeLengthEnd else fadingEdgeLengthStart
407
+ return value / max
408
+ }
409
+
410
+ override fun getRightFadingEdgeStrength(): Float {
411
+ val max = max(fadingEdgeLengthStart.toFloat(), fadingEdgeLengthEnd.toFloat())
412
+ val value =
413
+ if (layoutDirection == LAYOUT_DIRECTION_RTL) fadingEdgeLengthStart else fadingEdgeLengthEnd
414
+ return value / max
415
+ }
416
+
417
+ public open fun setOverflow(overflow: String?) {
418
+ _overflow =
419
+ if (overflow == null) {
420
+ Overflow.SCROLL
421
+ } else {
422
+ Overflow.fromString(overflow)
423
+ ?: if (ReactNativeFeatureFlags.enablePropsUpdateReconciliationAndroid())
424
+ Overflow.VISIBLE
425
+ else Overflow.SCROLL
426
+ }
427
+ invalidate()
428
+ }
429
+
430
+ internal open fun setMaintainVisibleContentPosition(
431
+ config: MaintainVisibleScrollPositionHelper.Config?
432
+ ) {
433
+ if (config != null && maintainVisibleContentPositionHelper == null) {
434
+ val helper = MaintainVisibleScrollPositionHelper(this, true)
435
+ maintainVisibleContentPositionHelper = helper
436
+ helper.start()
437
+ } else if (config == null) {
438
+ maintainVisibleContentPositionHelper?.stop()
439
+ maintainVisibleContentPositionHelper = null
440
+ }
441
+ maintainVisibleContentPositionHelper?.let { it.config = config }
442
+ }
443
+
444
+ override fun setOverflowInset(left: Int, top: Int, right: Int, bottom: Int) {
445
+ _overflowInset.set(left, top, right, bottom)
446
+ }
447
+
448
+ public override fun onDraw(canvas: Canvas) {
449
+ if (_overflow != Overflow.VISIBLE) {
450
+ BackgroundStyleApplicator.clipToPaddingBox(this, canvas)
451
+ }
452
+ super.onDraw(canvas)
453
+ }
454
+
455
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
456
+ MeasureSpecAssertions.assertExplicitMeasureSpec(widthMeasureSpec, heightMeasureSpec)
457
+
458
+ val measuredWidth = MeasureSpec.getSize(widthMeasureSpec)
459
+ val measuredHeight = MeasureSpec.getSize(heightMeasureSpec)
460
+
461
+ if (DEBUG_MODE) {
462
+ FLog.i(
463
+ TAG,
464
+ "onMeasure[%d] measured width: %d measured height: %d",
465
+ id,
466
+ measuredWidth,
467
+ measuredHeight,
468
+ )
469
+ }
470
+
471
+ val measuredHeightChanged = getMeasuredHeight() != measuredHeight
472
+
473
+ setMeasuredDimension(measuredWidth, measuredHeight)
474
+
475
+ // See how `scrollXAfterMeasure` is used in `onLayout`, and why we only enable the
476
+ // hack if the height has changed.
477
+ if (measuredHeightChanged && scroller != null) {
478
+ scrollXAfterMeasure = scroller.currX
479
+ }
480
+ }
481
+
482
+ override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
483
+ if (DEBUG_MODE) {
484
+ FLog.i(TAG, "onLayout[%d] l %d t %d r %d b %d", id, l, t, r, b)
485
+ }
486
+
487
+ // Has the scrollX changed between the last onMeasure and this layout?
488
+ // If so, cancel the animation.
489
+ // Essentially, if the height changes (due to keyboard popping up, for instance) the
490
+ // underlying View.layout method will in some cases scroll to an incorrect X position -
491
+ // see also the hacks in `fling`. The order of layout is called in the order of: onMeasure,
492
+ // layout, onLayout.
493
+ // We cannot override `layout` but we can detect the sequence of events between onMeasure
494
+ // and onLayout.
495
+ if (
496
+ scrollXAfterMeasure != NO_SCROLL_POSITION &&
497
+ scroller != null &&
498
+ scrollXAfterMeasure != scroller.finalX &&
499
+ !scroller.isFinished
500
+ ) {
501
+ if (DEBUG_MODE) {
502
+ FLog.i(
503
+ TAG,
504
+ "onLayout[%d] scroll hack enabled: reset to previous scrollX position of %d",
505
+ id,
506
+ scrollXAfterMeasure,
507
+ )
508
+ }
509
+ scroller.startScroll(scrollXAfterMeasure, scroller.finalY, 0, 0)
510
+ scroller.forceFinished(true)
511
+ scrollXAfterMeasure = NO_SCROLL_POSITION
512
+ }
513
+
514
+ // Apply pending contentOffset in case it was set before the view was laid out.
515
+ if (isContentReady()) {
516
+ val scrollToX =
517
+ if (pendingContentOffsetX != UNSET_CONTENT_OFFSET) pendingContentOffsetX else scrollX
518
+ val scrollToY =
519
+ if (pendingContentOffsetY != UNSET_CONTENT_OFFSET) pendingContentOffsetY else scrollY
520
+ scrollTo(scrollToX, scrollToY)
521
+ }
522
+
523
+ ReactScrollViewHelper.emitLayoutEvent(this)
524
+ _virtualViewContainerState?.updateState()
525
+ }
526
+
527
+ /**
528
+ * Since ReactHorizontalScrollView handles layout changes on JS side, it does not call
529
+ * super.onLayout due to which mIsLayoutDirty flag in HorizontalScrollView remains true and
530
+ * prevents scrolling to child when requestChildFocus is called. Overriding this method and
531
+ * scrolling to child without checking any layout dirty flag. This will fix focus navigation issue
532
+ * for KeyEvents which are not handled in HorizontalScrollView, for example: KEYCODE_TAB.
533
+ */
534
+ override fun requestChildFocus(child: View, focused: View?) {
535
+ if (focused != null && !pagingEnabled && scrollsChildToFocus) {
536
+ scrollToChild(focused)
537
+ }
538
+ requestChildFocusWithoutScroll(child, focused)
539
+ }
540
+
541
+ /**
542
+ * In rare cases where an app overrides the built-in ReactScrollView by overriding it, and also
543
+ * needs to customize scroll into view on focus behaviors, this protected method can be used to
544
+ * unblock such customization.
545
+ */
546
+ protected open fun requestChildFocusWithoutScroll(child: View, focused: View?) {
547
+ super.requestChildFocus(child, focused)
548
+ }
549
+
550
+ override fun requestChildRectangleOnScreen(
551
+ child: View,
552
+ rectangle: Rect,
553
+ immediate: Boolean,
554
+ ): Boolean {
555
+ if (!scrollsChildToFocus) return false
556
+ return super.requestChildRectangleOnScreen(child, rectangle, immediate)
557
+ }
558
+
559
+ override fun addFocusables(views: ArrayList<View>, direction: Int, focusableMode: Int) {
560
+ if (pagingEnabled && !pagedArrowScrolling) {
561
+ // Only add elements within the current page to list of focusables
562
+ val candidateViews = ArrayList<View>()
563
+ super.addFocusables(candidateViews, direction, focusableMode)
564
+ for (candidate in candidateViews) {
565
+ // We must also include the currently focused in the focusables list or focus search will
566
+ // always return the first element within the focusables list
567
+ if (
568
+ isScrolledInView(candidate) ||
569
+ isPartiallyScrolledInView(candidate) ||
570
+ candidate.isFocused
571
+ ) {
572
+ views.add(candidate)
573
+ }
574
+ }
575
+ } else {
576
+ super.addFocusables(views, direction, focusableMode)
577
+ }
578
+ }
579
+
580
+ /** Calculates the x delta required to scroll the given descendent into view */
581
+ private fun getScrollDelta(descendent: View): Int {
582
+ descendent.getDrawingRect(tempRect)
583
+ offsetDescendantRectToMyCoords(descendent, tempRect)
584
+ return computeScrollDeltaToGetChildRectOnScreen(tempRect)
585
+ }
586
+
587
+ /** Returns whether the given descendent is scrolled fully in view */
588
+ private fun isScrolledInView(descendent: View): Boolean {
589
+ return getScrollDelta(descendent) == 0
590
+ }
591
+
592
+ override fun isPartiallyScrolledInView(view: View): Boolean {
593
+ val scrollDelta = getScrollDelta(view)
594
+ view.getDrawingRect(tempRect)
595
+ return scrollDelta != 0 && abs(scrollDelta) < tempRect.width()
596
+ }
597
+
598
+ /** Returns whether the given descendent is "mostly" (>50%) scrolled in view */
599
+ private fun isMostlyScrolledInView(descendent: View): Boolean {
600
+ val scrollDelta = getScrollDelta(descendent)
601
+ descendent.getDrawingRect(tempRect)
602
+ return scrollDelta != 0 && abs(scrollDelta) < (tempRect.width() / 2)
603
+ }
604
+
605
+ private fun scrollToChild(child: View) {
606
+ val scrollDelta = getScrollDelta(child)
607
+ if (scrollDelta != 0) {
608
+ scrollBy(scrollDelta, 0)
609
+ }
610
+ }
611
+
612
+ override fun onScrollChanged(x: Int, y: Int, oldX: Int, oldY: Int) {
613
+ if (DEBUG_MODE) {
614
+ FLog.i(TAG, "onScrollChanged[%d] x %d y %d oldx %d oldy %d", id, x, y, oldX, oldY)
615
+ }
616
+
617
+ Systrace.beginSection(Systrace.TRACE_TAG_REACT, "ReactHorizontalScrollView.onScrollChanged")
618
+ try {
619
+ super.onScrollChanged(x, y, oldX, oldY)
620
+ activelyScrolling = true
621
+ if (onScrollDispatchHelper.onScrollChanged(x, y)) {
622
+ if (_removeClippedSubviews) {
623
+ updateClippingRect()
624
+ }
625
+ ReactScrollViewHelper.updateStateOnScrollChanged(
626
+ this,
627
+ onScrollDispatchHelper.xFlingVelocity,
628
+ onScrollDispatchHelper.yFlingVelocity,
629
+ )
630
+ _virtualViewContainerState?.updateState()
631
+ }
632
+ } finally {
633
+ Systrace.endSection(Systrace.TRACE_TAG_REACT)
634
+ }
635
+ }
636
+
637
+ override fun shouldDelayChildPressedState(): Boolean =
638
+ hasChildPressedStateDelay ?: super.shouldDelayChildPressedState()
639
+
640
+ override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
641
+ if (!scrollEnabled) return false
642
+
643
+ if (
644
+ ev.action == MotionEvent.ACTION_DOWN &&
645
+ findDeepestScrollViewForMotionEvent(this, ev) != null
646
+ ) {
647
+ return false
648
+ }
649
+
650
+ // We intercept the touch event if the children are not supposed to receive it.
651
+ if (!PointerEvents.canChildrenBeTouchTarget(pointerEvents)) return true
652
+
653
+ try {
654
+ if (super.onInterceptTouchEvent(ev)) {
655
+ handleInterceptedTouchEvent(ev)
656
+ return true
657
+ }
658
+ } catch (e: IllegalArgumentException) {
659
+ // Log and ignore the error. This seems to be a bug in the android SDK and
660
+ // this is the commonly accepted workaround.
661
+ // https://tinyurl.com/mw6qkod (Stack Overflow)
662
+ FLog.w(ReactConstants.TAG, "Error intercepting touch event.", e)
663
+ }
664
+
665
+ return false
666
+ }
667
+
668
+ protected open fun handleInterceptedTouchEvent(ev: MotionEvent) {
669
+ if (!ReactNativeFeatureFlags.shouldTriggerResponderTransferOnScrollAndroid()) {
670
+ NativeGestureUtil.notifyNativeGestureStarted(this, ev)
671
+ }
672
+ ReactScrollViewHelper.emitScrollBeginDragEvent(this)
673
+ dragging = true
674
+ emittedOverScrollSinceScrollBegin = false
675
+ enableFpsListener()
676
+ getFlingAnimator().cancel()
677
+ }
678
+
679
+ override fun pageScroll(direction: Int): Boolean {
680
+ val handled = super.pageScroll(direction)
681
+ if (pagingEnabled && handled) {
682
+ handlePostTouchScrolling(0, 0)
683
+ }
684
+ return handled
685
+ }
686
+
687
+ private fun isDescendantOf(parent: View?, view: View?): Boolean {
688
+ if (view == null || parent == null) return false
689
+ var p: ViewParent? = view.parent
690
+ while (p != null && p.parent != null) {
691
+ if (p === parent) return true
692
+ p = p.parent
693
+ }
694
+ return false
695
+ }
696
+
697
+ override fun arrowScroll(direction: Int): Boolean {
698
+ var handled = false
699
+
700
+ if (pagingEnabled) {
701
+ pagedArrowScrolling = true
702
+
703
+ if (isNotEmpty()) {
704
+ val currentFocused = findFocus()
705
+ val nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction)
706
+ val rootChild = getContentView()
707
+ if (nextFocused != null && isDescendantOf(rootChild, nextFocused)) {
708
+ if (!isScrolledInView(nextFocused) && !isMostlyScrolledInView(nextFocused)) {
709
+ smoothScrollToNextPage(direction)
710
+ }
711
+ nextFocused.requestFocus()
712
+ handled = true
713
+ } else {
714
+ smoothScrollToNextPage(direction)
715
+ handled = true
716
+ }
717
+ }
718
+
719
+ pagedArrowScrolling = false
720
+ } else {
721
+ handled = super.arrowScroll(direction)
722
+ }
723
+
724
+ return handled
725
+ }
726
+
727
+ override fun onTouchEvent(ev: MotionEvent): Boolean {
728
+ if (!scrollEnabled) return false
729
+
730
+ // We do not accept the touch event if this view is not supposed to receive it.
731
+ if (!PointerEvents.canBeTouchTarget(pointerEvents)) return false
732
+
733
+ velocityHelper.calculateVelocity(ev)
734
+ val action = ev.actionMasked
735
+ if (action == MotionEvent.ACTION_UP && dragging) {
736
+ ReactScrollViewHelper.updateFabricScrollState(this)
737
+
738
+ val velocityX = velocityHelper.xVelocity
739
+ val velocityY = velocityHelper.yVelocity
740
+ ReactScrollViewHelper.emitScrollEndDragEvent(this, velocityX, velocityY)
741
+ if (!ReactNativeFeatureFlags.shouldTriggerResponderTransferOnScrollAndroid()) {
742
+ NativeGestureUtil.notifyNativeGestureEnded(this, ev)
743
+ }
744
+ dragging = false
745
+ // After the touch finishes, we may need to do some scrolling afterwards either as a result
746
+ // of a fling or because we need to page align the content
747
+ handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY))
748
+ }
749
+
750
+ if (action == MotionEvent.ACTION_DOWN) {
751
+ cancelPostTouchScrolling()
752
+ }
753
+
754
+ return try {
755
+ super.onTouchEvent(ev)
756
+ } catch (e: IllegalArgumentException) {
757
+ // Log and ignore the error. This seems to be a bug in the android SDK and
758
+ // this is the commonly accepted workaround.
759
+ // https://tinyurl.com/mw6qkod (Stack Overflow)
760
+ FLog.w(ReactConstants.TAG, "Error handling touch event.", e)
761
+ false
762
+ }
763
+ }
764
+
765
+ override fun dispatchGenericMotionEvent(ev: MotionEvent): Boolean {
766
+ // Ignore generic motion events (joystick, mouse wheel, trackpad) if scrolling is disabled
767
+ if (!scrollEnabled) return false
768
+
769
+ // We do not dispatch the motion event if its children are not supposed to receive it
770
+ if (!PointerEvents.canChildrenBeTouchTarget(pointerEvents)) return false
771
+
772
+ // Handle ACTION_SCROLL events (mouse wheel, trackpad, joystick)
773
+ if (ev.actionMasked == MotionEvent.ACTION_SCROLL) {
774
+ val hScroll = ev.getAxisValue(MotionEvent.AXIS_HSCROLL)
775
+ if (hScroll != 0f) {
776
+ // Perform the scroll
777
+ enableFpsListener()
778
+ val result = super.dispatchGenericMotionEvent(ev)
779
+ // Schedule snap alignment to run after scrolling stops
780
+ if (
781
+ result &&
782
+ (pagingEnabled ||
783
+ snapInterval != 0 ||
784
+ snapOffsets != null ||
785
+ snapToAlignment != SNAP_ALIGNMENT_DISABLED)
786
+ ) {
787
+ // Cancel any pending post-touch runnable and reschedule
788
+ if (postTouchRunnable != null) {
789
+ removeCallbacks(postTouchRunnable)
790
+ postTouchRunnable = null
791
+ }
792
+ postTouchRunnable = Runnable {
793
+ postTouchRunnable = null
794
+ // +1/-1 velocity if scrolling right or left. This is to ensure that the
795
+ // next/previous page is picked rather than sliding backwards to the current page
796
+ var velocityX = hScroll.sign.toInt()
797
+ if (disableIntervalMomentum) {
798
+ velocityX = 0
799
+ }
800
+ flingAndSnap(velocityX)
801
+ handlePostTouchScrolling(velocityX, 0)
802
+ }
803
+ postOnAnimationDelayed(postTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY)
804
+ } else {
805
+ handlePostTouchScrolling(0, 0)
806
+ }
807
+ return result
808
+ }
809
+ }
810
+
811
+ return super.dispatchGenericMotionEvent(ev)
812
+ }
813
+
814
+ override fun executeKeyEvent(event: KeyEvent): Boolean {
815
+ val eventKeyCode = event.keyCode
816
+ if (
817
+ !scrollEnabled &&
818
+ (eventKeyCode == KeyEvent.KEYCODE_DPAD_LEFT ||
819
+ eventKeyCode == KeyEvent.KEYCODE_DPAD_RIGHT)
820
+ ) {
821
+ return false
822
+ }
823
+ return super.executeKeyEvent(event)
824
+ }
825
+
826
+ override fun fling(velocityX: Int) {
827
+ if (DEBUG_MODE) {
828
+ FLog.i(TAG, "fling[%d] velocityX %d", id, velocityX)
829
+ }
830
+
831
+ // Workaround.
832
+ // On Android P if a ScrollView is inverted, we will get a wrong sign for
833
+ // velocityX (see https://issuetracker.google.com/issues/112385925).
834
+ // At the same time, onScrollDispatchHelper tracks the correct velocity direction.
835
+ //
836
+ // Hence, we can use the absolute value from whatever the OS gives
837
+ // us and use the sign of what onScrollDispatchHelper has tracked.
838
+ val correctedVelocityX =
839
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
840
+ (abs(velocityX) * onScrollDispatchHelper.xFlingVelocity.sign).toInt()
841
+ } else {
842
+ velocityX
843
+ }
844
+
845
+ if (pagingEnabled) {
846
+ flingAndSnap(correctedVelocityX)
847
+ } else if (scroller != null) {
848
+ // FB SCROLLVIEW CHANGE
849
+
850
+ // We provide our own version of fling that uses a different call to the standard OverScroller
851
+ // which takes into account the possibility of adding new content while the ScrollView is
852
+ // animating. Because we give essentially no max X for the fling, the fling will continue as
853
+ // long as there is content. See onOverScrolled() to see the second part of this change which
854
+ // properly aborts the scroller animation when we get to the bottom of the ScrollView content.
855
+
856
+ val scrollWindowWidth = width - paddingStart - paddingEnd
857
+
858
+ scroller.fling(
859
+ scrollX, // startX
860
+ scrollY, // startY
861
+ correctedVelocityX, // velocityX
862
+ 0, // velocityY
863
+ 0, // minX
864
+ Int.MAX_VALUE, // maxX
865
+ 0, // minY
866
+ 0, // maxY
867
+ scrollWindowWidth / 2, // overX
868
+ 0, // overY
869
+ )
870
+
871
+ postInvalidateOnAnimation()
872
+
873
+ // END FB SCROLLVIEW CHANGE
874
+ } else {
875
+ super.fling(correctedVelocityX)
876
+ }
877
+ handlePostTouchScrolling(correctedVelocityX, 0)
878
+ }
879
+
880
+ override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
881
+ super.onSizeChanged(w, h, oldw, oldh)
882
+ if (_removeClippedSubviews) {
883
+ updateClippingRect()
884
+ }
885
+ _virtualViewContainerState?.updateState()
886
+ }
887
+
888
+ override fun onAttachedToWindow() {
889
+ super.onAttachedToWindow()
890
+ if (_removeClippedSubviews) {
891
+ updateClippingRect()
892
+ }
893
+ maintainVisibleContentPositionHelper?.start()
894
+ }
895
+
896
+ override fun onDetachedFromWindow() {
897
+ super.onDetachedFromWindow()
898
+ maintainVisibleContentPositionHelper?.stop()
899
+ }
900
+
901
+ override fun focusSearch(focused: View, @FocusDirection direction: Int): View? {
902
+ val nextFocus = super.focusSearch(focused, direction)
903
+
904
+ if (ReactNativeFeatureFlags.enableCustomFocusSearchOnClippedElementsAndroid()) {
905
+ // If we can find the next focus and it is a child of this view, return it, else it means we
906
+ // are leaving the scroll view and we should try to find a clipped element
907
+ if (nextFocus != null && findViewById<View>(nextFocus.id) != null) {
908
+ return nextFocus
909
+ }
910
+ val nextFocusableView = findNextFocusableView(this, focused, direction)
911
+ if (nextFocusableView != null) {
912
+ return nextFocusableView
913
+ }
914
+ }
915
+
916
+ return nextFocus
917
+ }
918
+
919
+ override fun updateClippingRect() {
920
+ updateClippingRect(null)
921
+ }
922
+
923
+ override fun updateClippingRect(excludedViews: Set<Int>?) {
924
+ if (!_removeClippedSubviews) return
925
+
926
+ Systrace.beginSection(Systrace.TRACE_TAG_REACT, "ReactHorizontalScrollView.updateClippingRect")
927
+ try {
928
+ val rect = checkNotNull(clippingRect)
929
+ ReactClippingViewGroupHelper.calculateClippingRect(this, rect)
930
+ val cv = getContentView()
931
+ if (cv is ReactClippingViewGroup) {
932
+ cv.updateClippingRect(excludedViews)
933
+ }
934
+ } finally {
935
+ Systrace.endSection(Systrace.TRACE_TAG_REACT)
936
+ }
937
+ }
938
+
939
+ override fun getClippingRect(outClippingRect: Rect) {
940
+ outClippingRect.set(checkNotNull(clippingRect))
941
+ }
942
+
943
+ override fun getChildVisibleRect(child: View, r: Rect, offset: android.graphics.Point?): Boolean {
944
+ return super.getChildVisibleRect(child, r, offset)
945
+ }
946
+
947
+ private fun getSnapInterval(): Int = if (snapInterval != 0) snapInterval else width
948
+
949
+ private fun getContentView(): View? = getChildAt(0)
950
+
951
+ public open fun setEndFillColor(color: Int) {
952
+ if (color != endFillColor) {
953
+ endFillColor = color
954
+ endBackground = endFillColor.toDrawable()
955
+ }
956
+ }
957
+
958
+ override fun onOverScrolled(scrollX: Int, scrollY: Int, clampedX: Boolean, clampedY: Boolean) {
959
+ if (DEBUG_MODE) {
960
+ FLog.i(
961
+ TAG,
962
+ "onOverScrolled[%d] scrollX %d scrollY %d clampedX %b clampedY %b",
963
+ id,
964
+ scrollX,
965
+ scrollY,
966
+ clampedX,
967
+ clampedY,
968
+ )
969
+ }
970
+
971
+ @Suppress("NAME_SHADOWING") var scrollX = scrollX
972
+
973
+ if (scroller != null) {
974
+ // FB SCROLLVIEW CHANGE
975
+
976
+ // This is part two of the reimplementation of fling to fix the bounce-back bug. See fling()
977
+ // for more information.
978
+
979
+ if (!scroller.isFinished && scroller.currX != scroller.finalX) {
980
+ val scrollRange = max(computeHorizontalScrollRange() - width, 0)
981
+ if (scrollX >= scrollRange) {
982
+ scroller.abortAnimation()
983
+ scrollX = scrollRange
984
+ }
985
+ }
986
+
987
+ // END FB SCROLLVIEW CHANGE
988
+ }
989
+
990
+ if (
991
+ ReactNativeFeatureFlags.shouldTriggerResponderTransferOnScrollAndroid() &&
992
+ clampedX &&
993
+ !emittedOverScrollSinceScrollBegin
994
+ ) {
995
+ ReactScrollViewHelper.emitScrollEvent(this, 0f, 0f)
996
+ emittedOverScrollSinceScrollBegin = true
997
+ }
998
+
999
+ super.onOverScrolled(scrollX, scrollY, clampedX, clampedY)
1000
+ }
1001
+
1002
+ override fun onChildViewAdded(parent: View, child: View) {
1003
+ contentView = child
1004
+ child.addOnLayoutChangeListener(this)
1005
+ }
1006
+
1007
+ override fun onChildViewRemoved(parent: View, child: View) {
1008
+ contentView?.removeOnLayoutChangeListener(this)
1009
+ contentView = null
1010
+ }
1011
+
1012
+ private fun enableFpsListener() {
1013
+ if (isScrollPerfLoggingEnabled()) {
1014
+ val listener = fpsListener ?: return
1015
+ val perfTag = scrollPerfTag.takeUnless { it.isNullOrEmpty() } ?: return
1016
+ listener.enable(perfTag)
1017
+ }
1018
+ }
1019
+
1020
+ private fun disableFpsListener() {
1021
+ if (isScrollPerfLoggingEnabled()) {
1022
+ val listener = fpsListener ?: return
1023
+ val perfTag = scrollPerfTag.takeUnless { it.isNullOrEmpty() } ?: return
1024
+ listener.disable(perfTag)
1025
+ }
1026
+ }
1027
+
1028
+ private fun isScrollPerfLoggingEnabled(): Boolean {
1029
+ return fpsListener != null && !scrollPerfTag.isNullOrEmpty()
1030
+ }
1031
+
1032
+ override fun draw(canvas: Canvas) {
1033
+ if (endFillColor != Color.TRANSPARENT) {
1034
+ val content = getContentView()
1035
+ val bg = endBackground
1036
+ if (bg != null && content != null && content.right < width) {
1037
+ bg.setBounds(content.right, 0, width, height)
1038
+ bg.draw(canvas)
1039
+ }
1040
+ }
1041
+ super.draw(canvas)
1042
+ }
1043
+
1044
+ /**
1045
+ * This handles any sort of scrolling that may occur after a touch is finished. This may be
1046
+ * momentum scrolling (fling) or because you have pagingEnabled on the scroll view. Because we
1047
+ * don't get any events from Android about this lifecycle, we do all our detection by creating a
1048
+ * runnable that checks if we scrolled in the last frame and if so assumes we are still scrolling.
1049
+ */
1050
+ private fun handlePostTouchScrolling(velocityX: Int, velocityY: Int) {
1051
+ if (DEBUG_MODE) {
1052
+ FLog.i(
1053
+ TAG,
1054
+ "handlePostTouchScrolling[%d] velocityX %d velocityY %d",
1055
+ id,
1056
+ velocityX,
1057
+ velocityY,
1058
+ )
1059
+ }
1060
+
1061
+ // Check if we are already handling this which may occur if this is called by both the touch up
1062
+ // and a fling call
1063
+ if (postTouchRunnable != null) return
1064
+
1065
+ if (sendMomentumEvents) {
1066
+ ReactScrollViewHelper.emitScrollMomentumBeginEvent(this, velocityX, velocityY)
1067
+ }
1068
+
1069
+ activelyScrolling = false
1070
+ postTouchRunnable =
1071
+ object : Runnable {
1072
+ private var snappingToPage = false
1073
+ private var stableFrames = 0
1074
+
1075
+ override fun run() {
1076
+ if (activelyScrolling) {
1077
+ // We are still scrolling.
1078
+ activelyScrolling = false
1079
+ stableFrames = 0
1080
+ this@ReactHorizontalScrollView.postOnAnimationDelayed(
1081
+ this,
1082
+ ReactScrollViewHelper.MOMENTUM_DELAY,
1083
+ )
1084
+ } else {
1085
+ // There has not been a scroll update since the last time this Runnable executed.
1086
+ ReactScrollViewHelper.updateFabricScrollState(this@ReactHorizontalScrollView)
1087
+
1088
+ // We keep checking for updates until the ScrollView has "stabilized" and hasn't
1089
+ // scrolled for N consecutive frames. This number is arbitrary: big enough to catch
1090
+ // a number of race conditions, but small enough to not cause perf regressions, etc.
1091
+ // In anecdotal testing, it seemed like a decent number.
1092
+ // Without this check, sometimes this Runnable stops executing too soon - it will
1093
+ // fire before the first scroll event of an animated scroll/fling, and stop
1094
+ // immediately.
1095
+ stableFrames++
1096
+
1097
+ if (stableFrames >= 3) {
1098
+ postTouchRunnable = null
1099
+ if (sendMomentumEvents) {
1100
+ ReactScrollViewHelper.emitScrollMomentumEndEvent(this@ReactHorizontalScrollView)
1101
+ }
1102
+ // Kotlin name is notifyUserDrivenScrollEnded; the _internal suffix is
1103
+ // only a @JvmName alias for Java callers.
1104
+ ReactScrollViewHelper.notifyUserDrivenScrollEnded(this@ReactHorizontalScrollView)
1105
+ disableFpsListener()
1106
+ } else {
1107
+ if (pagingEnabled && !snappingToPage) {
1108
+ // If we have pagingEnabled and we have not snapped to the page
1109
+ // we need to cause that scroll by asking for it
1110
+ snappingToPage = true
1111
+ flingAndSnap(0)
1112
+ }
1113
+ // The scrollview has not "stabilized" so we just post to check again a frame later
1114
+ this@ReactHorizontalScrollView.postOnAnimationDelayed(
1115
+ this,
1116
+ ReactScrollViewHelper.MOMENTUM_DELAY,
1117
+ )
1118
+ }
1119
+ }
1120
+ }
1121
+ }
1122
+ postOnAnimationDelayed(postTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY)
1123
+ }
1124
+
1125
+ private fun cancelPostTouchScrolling() {
1126
+ if (postTouchRunnable != null) {
1127
+ removeCallbacks(postTouchRunnable)
1128
+ postTouchRunnable = null
1129
+ getFlingAnimator().cancel()
1130
+ }
1131
+ }
1132
+
1133
+ private fun predictFinalScrollPosition(velocityX: Int): Int {
1134
+ // predict where a fling would end up so we can scroll to the nearest snap offset
1135
+ val maximumOffset = max(0, computeHorizontalScrollRange() - width)
1136
+ // TODO(T106335409): Existing prediction still uses overscroller. Consider change this to use
1137
+ // fling animator instead.
1138
+ return if (getFlingAnimator() === defaultFlingAnimator) {
1139
+ ReactScrollViewHelper.predictFinalScrollPosition(this, velocityX, 0, maximumOffset, 0).x
1140
+ } else {
1141
+ ReactScrollViewHelper.getNextFlingStartValue(
1142
+ this,
1143
+ scrollX,
1144
+ reactScrollViewScrollState.finalAnimatedPositionScroll.x,
1145
+ velocityX,
1146
+ ) + getFlingExtrapolatedDistance(velocityX)
1147
+ }
1148
+ }
1149
+
1150
+ /**
1151
+ * This will smooth scroll us to the nearest snap offset point. It currently just looks at where
1152
+ * the content is and slides to the nearest point. It is intended to be run after we are done
1153
+ * scrolling, and handling any momentum scrolling.
1154
+ */
1155
+ private fun smoothScrollAndSnap(velocity: Int) {
1156
+ if (DEBUG_MODE) {
1157
+ FLog.i(TAG, "smoothScrollAndSnap[%d] velocity %d", id, velocity)
1158
+ }
1159
+
1160
+ val interval = getSnapInterval().toDouble()
1161
+ val currentOffset =
1162
+ ReactScrollViewHelper.getNextFlingStartValue(
1163
+ this,
1164
+ scrollX,
1165
+ reactScrollViewScrollState.finalAnimatedPositionScroll.x,
1166
+ velocity,
1167
+ )
1168
+ .toDouble()
1169
+ val targetOffset = predictFinalScrollPosition(velocity).toDouble()
1170
+
1171
+ var previousPage = floor(currentOffset / interval).toInt()
1172
+ var nextPage = ceil(currentOffset / interval).toInt()
1173
+ var currentPage = round(currentOffset / interval).toInt()
1174
+ val targetPage = round(targetOffset / interval).toInt()
1175
+
1176
+ if (velocity > 0 && nextPage == previousPage) {
1177
+ nextPage++
1178
+ } else if (velocity < 0 && previousPage == nextPage) {
1179
+ previousPage--
1180
+ }
1181
+
1182
+ if (velocity > 0 && currentPage < nextPage && targetPage > previousPage) {
1183
+ currentPage = nextPage
1184
+ } else if (velocity < 0 && currentPage > previousPage && targetPage < nextPage) {
1185
+ currentPage = previousPage
1186
+ }
1187
+
1188
+ val finalTargetOffset = currentPage * interval
1189
+ if (finalTargetOffset != currentOffset) {
1190
+ activelyScrolling = true
1191
+ reactSmoothScrollTo(finalTargetOffset.toInt(), scrollY)
1192
+ }
1193
+ }
1194
+
1195
+ private fun flingAndSnap(velocityX: Int) {
1196
+ if (DEBUG_MODE) {
1197
+ FLog.i(TAG, "smoothScrollAndSnap[%d] velocityX %d", id, velocityX)
1198
+ }
1199
+
1200
+ if (isEmpty()) return
1201
+
1202
+ // pagingEnabled only allows snapping one interval at a time
1203
+ if (snapInterval == 0 && snapOffsets == null && snapToAlignment == SNAP_ALIGNMENT_DISABLED) {
1204
+ smoothScrollAndSnap(velocityX)
1205
+ return
1206
+ }
1207
+
1208
+ @Suppress("NAME_SHADOWING") var velocityX = velocityX
1209
+ val hasCustomizedFlingAnimator = getFlingAnimator() !== defaultFlingAnimator
1210
+ val maximumOffset = max(0, computeHorizontalScrollRange() - width)
1211
+ var targetOffset = predictFinalScrollPosition(velocityX)
1212
+ if (disableIntervalMomentum) {
1213
+ targetOffset = scrollX
1214
+ }
1215
+
1216
+ var smallerOffset = 0
1217
+ var largerOffset = maximumOffset
1218
+ var firstOffset = 0
1219
+ var lastOffset = maximumOffset
1220
+ val viewportWidth = width - paddingStart - paddingEnd
1221
+
1222
+ // offsets are from the right edge in RTL layouts
1223
+ if (layoutDirection == LAYOUT_DIRECTION_RTL) {
1224
+ targetOffset = maximumOffset - targetOffset
1225
+ velocityX = -velocityX
1226
+ }
1227
+
1228
+ // get the nearest snap points to the target offset
1229
+ val offsets = snapOffsets
1230
+ if (!offsets.isNullOrEmpty()) {
1231
+ firstOffset = offsets[0]
1232
+ lastOffset = offsets[offsets.size - 1]
1233
+
1234
+ for (i in offsets.indices) {
1235
+ val offset = offsets[i]
1236
+ if (offset <= targetOffset) {
1237
+ if (targetOffset - offset < targetOffset - smallerOffset) {
1238
+ smallerOffset = offset
1239
+ }
1240
+ }
1241
+ if (offset >= targetOffset) {
1242
+ if (offset - targetOffset < largerOffset - targetOffset) {
1243
+ largerOffset = offset
1244
+ }
1245
+ }
1246
+ }
1247
+ } else if (snapToAlignment != SNAP_ALIGNMENT_DISABLED) {
1248
+ if (snapInterval > 0) {
1249
+ val ratio = targetOffset.toDouble() / snapInterval
1250
+ smallerOffset =
1251
+ max(
1252
+ getItemStartOffset(
1253
+ snapToAlignment,
1254
+ (floor(ratio) * snapInterval).toInt(),
1255
+ snapInterval,
1256
+ viewportWidth,
1257
+ ),
1258
+ 0,
1259
+ )
1260
+ largerOffset =
1261
+ kotlin.math.min(
1262
+ getItemStartOffset(
1263
+ snapToAlignment,
1264
+ (ceil(ratio) * snapInterval).toInt(),
1265
+ snapInterval,
1266
+ viewportWidth,
1267
+ ),
1268
+ maximumOffset,
1269
+ )
1270
+ } else {
1271
+ val cv = getContentView() as? ViewGroup ?: return
1272
+ var smallerChildOffset = largerOffset
1273
+ var largerChildOffset = smallerOffset
1274
+ for (i in 0 until cv.childCount) {
1275
+ val item = cv.getChildAt(i)
1276
+ val itemStartOffset =
1277
+ getItemStartOffset(snapToAlignment, item.left, item.width, viewportWidth)
1278
+ if (itemStartOffset <= targetOffset) {
1279
+ if (targetOffset - itemStartOffset < targetOffset - smallerOffset) {
1280
+ smallerOffset = itemStartOffset
1281
+ }
1282
+ }
1283
+ if (itemStartOffset >= targetOffset) {
1284
+ if (itemStartOffset - targetOffset < largerOffset - targetOffset) {
1285
+ largerOffset = itemStartOffset
1286
+ }
1287
+ }
1288
+ smallerChildOffset = kotlin.math.min(smallerChildOffset, itemStartOffset)
1289
+ largerChildOffset = max(largerChildOffset, itemStartOffset)
1290
+ }
1291
+
1292
+ // For Recycler ViewGroup, the maximumOffset can be much larger than the total heights of
1293
+ // items in the layout. In this case snapping is not possible beyond the currently rendered
1294
+ // children.
1295
+ smallerOffset = max(smallerOffset, smallerChildOffset)
1296
+ largerOffset = kotlin.math.min(largerOffset, largerChildOffset)
1297
+ }
1298
+ } else {
1299
+ val interval = getSnapInterval().toDouble()
1300
+ val ratio = targetOffset.toDouble() / interval
1301
+ smallerOffset = (floor(ratio) * interval).toInt()
1302
+ largerOffset = kotlin.math.min((ceil(ratio) * interval).toInt(), maximumOffset)
1303
+ }
1304
+
1305
+ // Calculate the nearest offset
1306
+ val nearestOffset =
1307
+ if (abs(targetOffset - smallerOffset) < abs(largerOffset - targetOffset)) smallerOffset
1308
+ else largerOffset
1309
+
1310
+ // if scrolling after the last snap offset and snapping to the
1311
+ // end of the list is disabled, then we allow free scrolling
1312
+ var currentOffset = scrollX
1313
+ if (layoutDirection == LAYOUT_DIRECTION_RTL) {
1314
+ currentOffset = maximumOffset - currentOffset
1315
+ }
1316
+ if (!snapToEnd && targetOffset >= lastOffset) {
1317
+ if (currentOffset >= lastOffset) {
1318
+ // free scrolling
1319
+ } else {
1320
+ // snap to end
1321
+ targetOffset = lastOffset
1322
+ }
1323
+ } else if (!snapToStart && targetOffset <= firstOffset) {
1324
+ if (currentOffset <= firstOffset) {
1325
+ // free scrolling
1326
+ } else {
1327
+ // snap to beginning
1328
+ targetOffset = firstOffset
1329
+ }
1330
+ } else if (velocityX > 0) {
1331
+ if (!hasCustomizedFlingAnimator) {
1332
+ // The default animator requires boost on initial velocity as when snapping velocity can
1333
+ // feel sluggish for slow swipes
1334
+ velocityX += ((largerOffset - targetOffset) * 10.0).toInt()
1335
+ }
1336
+ targetOffset = largerOffset
1337
+ } else if (velocityX < 0) {
1338
+ if (!hasCustomizedFlingAnimator) {
1339
+ // The default animator requires boost on initial velocity as when snapping velocity can
1340
+ // feel sluggish for slow swipes
1341
+ velocityX -= ((targetOffset - smallerOffset) * 10.0).toInt()
1342
+ }
1343
+ targetOffset = smallerOffset
1344
+ } else {
1345
+ targetOffset = nearestOffset
1346
+ }
1347
+
1348
+ // Make sure the new offset isn't out of bounds
1349
+ targetOffset = kotlin.math.min(max(0, targetOffset), maximumOffset)
1350
+
1351
+ if (layoutDirection == LAYOUT_DIRECTION_RTL) {
1352
+ targetOffset = maximumOffset - targetOffset
1353
+ velocityX = -velocityX
1354
+ }
1355
+
1356
+ if (hasCustomizedFlingAnimator || scroller == null) {
1357
+ reactSmoothScrollTo(targetOffset, scrollY)
1358
+ } else {
1359
+ // smoothScrollTo will always scroll over 250ms which is often *waaay*
1360
+ // too short and will cause the scrolling to feel almost instant
1361
+ // try to manually interact with OverScroller instead
1362
+ // if velocity is 0 however, fling() won't work, so we want to use smoothScrollTo
1363
+ activelyScrolling = true
1364
+
1365
+ scroller.fling(
1366
+ scrollX, // startX
1367
+ scrollY, // startY
1368
+ // velocity = 0 doesn't work with fling() so we pretend there's a reasonable
1369
+ // initial velocity going on when a touch is released without any movement
1370
+ if (velocityX != 0) velocityX else targetOffset - scrollX, // velocityX
1371
+ 0, // velocityY
1372
+ // setting both minX and maxX to the same value will guarantee that we scroll to it
1373
+ // but using the standard fling-style easing rather than smoothScrollTo's 250ms animation
1374
+ targetOffset, // minX
1375
+ targetOffset, // maxX
1376
+ 0, // minY
1377
+ 0, // maxY
1378
+ // we only want to allow overscrolling if the final offset is at the very edge of the view
1379
+ if (targetOffset == 0 || targetOffset == maximumOffset) viewportWidth / 2 else 0, // overX
1380
+ 0, // overY
1381
+ )
1382
+
1383
+ postInvalidateOnAnimation()
1384
+ }
1385
+ }
1386
+
1387
+ private fun getItemStartOffset(
1388
+ snapToAlignment: Int,
1389
+ itemStartPosition: Int,
1390
+ itemWidth: Int,
1391
+ viewPortWidth: Int,
1392
+ ): Int =
1393
+ when (snapToAlignment) {
1394
+ SNAP_ALIGNMENT_CENTER -> itemStartPosition - (viewPortWidth - itemWidth) / 2
1395
+ SNAP_ALIGNMENT_START -> itemStartPosition
1396
+ SNAP_ALIGNMENT_END -> itemStartPosition - (viewPortWidth - itemWidth)
1397
+ else ->
1398
+ throw IllegalStateException("Invalid SnapToAlignment value: ${this.snapToAlignment}")
1399
+ }
1400
+
1401
+ private fun smoothScrollToNextPage(direction: Int) {
1402
+ if (DEBUG_MODE) {
1403
+ FLog.i(TAG, "smoothScrollToNextPage[%d] direction %d", id, direction)
1404
+ }
1405
+
1406
+ val w = width
1407
+ val currentX = scrollX
1408
+
1409
+ var page = currentX / w
1410
+ if (currentX % w != 0) {
1411
+ page++
1412
+ }
1413
+
1414
+ if (direction == View.FOCUS_LEFT) {
1415
+ page -= 1
1416
+ } else {
1417
+ page += 1
1418
+ }
1419
+
1420
+ if (page < 0) {
1421
+ page = 0
1422
+ }
1423
+
1424
+ reactSmoothScrollTo(page * w, scrollY)
1425
+ handlePostTouchScrolling(0, 0)
1426
+ }
1427
+
1428
+ override fun setBackgroundColor(color: Int) {
1429
+ BackgroundStyleApplicator.setBackgroundColor(this, color)
1430
+ }
1431
+
1432
+ public open fun setBorderWidth(position: Int, width: Float) {
1433
+ BackgroundStyleApplicator.setBorderWidth(
1434
+ this,
1435
+ LogicalEdge.entries[position],
1436
+ PixelUtil.toDIPFromPixel(width),
1437
+ )
1438
+ }
1439
+
1440
+ public open fun setBorderColor(position: Int, color: Int?) {
1441
+ BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.entries[position], color)
1442
+ }
1443
+
1444
+ public open fun setBorderRadius(borderRadius: Float) {
1445
+ setBorderRadius(borderRadius, BorderRadiusProp.BORDER_RADIUS.ordinal)
1446
+ }
1447
+
1448
+ public open fun setBorderRadius(borderRadius: Float, position: Int) {
1449
+ val radius =
1450
+ if (borderRadius.isNaN()) null
1451
+ else LengthPercentage(PixelUtil.toDIPFromPixel(borderRadius), LengthPercentageType.POINT)
1452
+ BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.entries[position], radius)
1453
+ }
1454
+
1455
+ public open fun setBorderStyle(style: String?) {
1456
+ BackgroundStyleApplicator.setBorderStyle(
1457
+ this,
1458
+ if (style == null) null else BorderStyle.fromString(style),
1459
+ )
1460
+ }
1461
+
1462
+ /**
1463
+ * Calls `smoothScrollTo` and updates state.
1464
+ *
1465
+ * `smoothScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1466
+ * scroll view and state. Calling raw `smoothScrollTo` doesn't update state.
1467
+ */
1468
+ override fun reactSmoothScrollTo(x: Int, y: Int) {
1469
+ ReactScrollViewHelper.smoothScrollTo(this, x, y)
1470
+ setPendingContentOffsets(x, y)
1471
+ }
1472
+
1473
+ /**
1474
+ * Calls `super.scrollTo` and updates state.
1475
+ *
1476
+ * `super.scrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1477
+ * scroll view and state.
1478
+ *
1479
+ * Note that while we can override scrollTo, we *cannot* override `smoothScrollTo` because it is
1480
+ * final. See `reactSmoothScrollTo`.
1481
+ */
1482
+ override fun scrollTo(x: Int, y: Int) {
1483
+ if (DEBUG_MODE) {
1484
+ FLog.i(TAG, "scrollTo[%d] x %d y %d", id, x, y)
1485
+ }
1486
+
1487
+ super.scrollTo(x, y)
1488
+ ReactScrollViewHelper.updateFabricScrollState(this)
1489
+ setPendingContentOffsets(x, y)
1490
+ }
1491
+
1492
+ /** Scrolls to a new position preserving any momentum scrolling animation. */
1493
+ override fun scrollToPreservingMomentum(x: Int, y: Int) {
1494
+ scrollTo(x, y)
1495
+ recreateFlingAnimation(x, Int.MAX_VALUE)
1496
+ }
1497
+
1498
+ protected open fun restoreScrollTo(x: Int, y: Int) {
1499
+ scrollTo(x, y)
1500
+ }
1501
+
1502
+ private fun isContentReady(): Boolean {
1503
+ val child = getContentView()
1504
+ return child != null && child.width != 0 && child.height != 0
1505
+ }
1506
+
1507
+ private fun setPendingContentOffsets(x: Int, y: Int) {
1508
+ if (DEBUG_MODE) {
1509
+ FLog.i(TAG, "setPendingContentOffsets[%d] x %d y %d", id, x, y)
1510
+ }
1511
+
1512
+ if (isContentReady()) {
1513
+ pendingContentOffsetX = UNSET_CONTENT_OFFSET
1514
+ pendingContentOffsetY = UNSET_CONTENT_OFFSET
1515
+ } else {
1516
+ pendingContentOffsetX = x
1517
+ pendingContentOffsetY = y
1518
+ }
1519
+ }
1520
+
1521
+ override fun onLayoutChange(
1522
+ v: View,
1523
+ left: Int,
1524
+ top: Int,
1525
+ right: Int,
1526
+ bottom: Int,
1527
+ oldLeft: Int,
1528
+ oldTop: Int,
1529
+ oldRight: Int,
1530
+ oldBottom: Int,
1531
+ ) {
1532
+ if (contentView == null) return
1533
+
1534
+ // Adjust the scroll position to follow new content. In RTL, this means we keep a constant
1535
+ // offset from the right edge instead of the left edge, so content added to the end of the flow
1536
+ // does not shift layout. If `maintainVisibleContentPosition` is enabled, we try to adjust
1537
+ // position so that the viewport keeps the same insets to previously visible views. TODO: MVCP
1538
+ // does not work in RTL.
1539
+ if (v.layoutDirection == LAYOUT_DIRECTION_RTL) {
1540
+ adjustPositionForContentChangeRTL(left, right, oldLeft, oldRight)
1541
+ }
1542
+ ReactScrollViewHelper.emitLayoutChangeEvent(this)
1543
+ }
1544
+
1545
+ /**
1546
+ * If we are in the middle of a fling animation from the user removing their finger (OverScroller
1547
+ * is in `FLING_MODE`), recreate the existing fling animation since it was calculated against
1548
+ * outdated scroll offsets.
1549
+ */
1550
+ private fun recreateFlingAnimation(scrollX: Int, maxX: Int) {
1551
+ // If we have any pending custom flings (e.g. from animated `scrollTo`, or flinging to a snap
1552
+ // point), cancel them.
1553
+ // TODO: Can we be more graceful (like OverScroller flings)?
1554
+ if (getFlingAnimator().isRunning) {
1555
+ getFlingAnimator().cancel()
1556
+ }
1557
+
1558
+ if (scroller != null && !scroller.isFinished) {
1559
+ // Calculate the velocity and position of the fling animation at the time of this layout
1560
+ // event, which may be later than the last ScrollView tick. These values are not committed to
1561
+ // the underlying ScrollView, which will recalculate positions on its next tick.
1562
+ val scrollerXBeforeTick = scroller.currX
1563
+ val hasMoreTicks = scroller.computeScrollOffset()
1564
+
1565
+ // Stop the existing animation at the current state of the scroller. We will then recreate
1566
+ // it starting at the adjusted x offset.
1567
+ scroller.forceFinished(true)
1568
+
1569
+ if (hasMoreTicks) {
1570
+ // OverScroller.getCurrVelocity() returns an absolute value of the velocity a current fling
1571
+ // animation (only FLING_MODE animations). We derive direction along the X axis from the
1572
+ // start and end of the animation, assuming HorizontalScrollView never fires vertical fling
1573
+ // animations.
1574
+ // TODO: This does not fully handle overscroll.
1575
+ val direction = (scroller.finalX - scroller.startX).toFloat().sign
1576
+ val flingVelocityX = scroller.currVelocity * direction
1577
+
1578
+ scroller.fling(scrollX, scrollY, flingVelocityX.toInt(), 0, 0, maxX, 0, 0)
1579
+ } else {
1580
+ scrollTo(scrollX + (scroller.currX - scrollerXBeforeTick), scrollY)
1581
+ }
1582
+ }
1583
+ }
1584
+
1585
+ private fun adjustPositionForContentChangeRTL(
1586
+ left: Int,
1587
+ right: Int,
1588
+ oldLeft: Int,
1589
+ oldRight: Int,
1590
+ ) {
1591
+ // If we have any pending custom flings (e.g. from animated `scrollTo`, or flinging to a snap
1592
+ // point), finish them, committing the final `scrollX`.
1593
+ // TODO: Can we be more graceful (like OverScroller flings)?
1594
+ if (getFlingAnimator().isRunning) {
1595
+ getFlingAnimator().end()
1596
+ }
1597
+
1598
+ val distanceToRightEdge = oldRight - scrollX
1599
+ val newWidth = right - left
1600
+ val newScrollX = newWidth - distanceToRightEdge
1601
+ scrollTo(newScrollX, scrollY)
1602
+
1603
+ recreateFlingAnimation(newScrollX, newWidth - width)
1604
+ }
1605
+
1606
+ override fun startFlingAnimator(start: Int, end: Int) {
1607
+ // Always cancel existing animator before starting the new one. `smoothScrollTo` contains some
1608
+ // logic that, if called multiple times in a short amount of time, will treat all calls as part
1609
+ // of the same animation and will not lengthen the duration of the animation. This means that,
1610
+ // for example, if the user is scrolling rapidly, multiple pages could be considered part of one
1611
+ // animation, causing some page animations to be animated very rapidly - looking like they're
1612
+ // not animated at all.
1613
+ defaultFlingAnimator.cancel()
1614
+
1615
+ // Update the fling animator with new values
1616
+ val duration = ReactScrollViewHelper.getDefaultScrollAnimationDuration(context)
1617
+ defaultFlingAnimator.setDuration(duration.toLong()).setIntValues(start, end)
1618
+
1619
+ // Start the animator
1620
+ defaultFlingAnimator.start()
1621
+
1622
+ if (sendMomentumEvents) {
1623
+ val xVelocity = if (duration > 0) (end - start) / duration else 0
1624
+ ReactScrollViewHelper.emitScrollMomentumBeginEvent(this, xVelocity, 0)
1625
+ ReactScrollViewHelper.dispatchMomentumEndOnAnimationEnd(this)
1626
+ }
1627
+ }
1628
+
1629
+ override fun getFlingAnimator(): ValueAnimator = defaultFlingAnimator
1630
+
1631
+ override fun getFlingExtrapolatedDistance(velocity: Int): Int =
1632
+ ReactScrollViewHelper.predictFinalScrollPosition(
1633
+ this,
1634
+ velocity,
1635
+ 0,
1636
+ max(0, computeHorizontalScrollRange() - width),
1637
+ 0,
1638
+ )
1639
+ .x
1640
+ }