react-native-tvos 0.69.8-2 → 0.71.7-0rc0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1991) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/Alert/Alert.d.ts +91 -0
  5. package/Libraries/Alert/Alert.js +25 -5
  6. package/Libraries/Alert/Alert.js.flow +49 -0
  7. package/Libraries/Alert/NativeAlertManager.js +3 -0
  8. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  9. package/Libraries/Animated/Animated.d.ts +615 -0
  10. package/Libraries/Animated/Animated.js +13 -11
  11. package/Libraries/Animated/AnimatedEvent.js +19 -21
  12. package/Libraries/Animated/AnimatedImplementation.js +38 -26
  13. package/Libraries/Animated/AnimatedMock.js +15 -12
  14. package/Libraries/Animated/AnimatedWeb.js +2 -2
  15. package/Libraries/Animated/Easing.d.ts +37 -0
  16. package/Libraries/Animated/Easing.js +2 -2
  17. package/Libraries/Animated/NativeAnimatedHelper.js +247 -112
  18. package/Libraries/Animated/NativeAnimatedModule.js +4 -0
  19. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -0
  20. package/Libraries/Animated/SpringConfig.js +2 -7
  21. package/Libraries/Animated/animations/Animation.js +3 -4
  22. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  23. package/Libraries/Animated/animations/SpringAnimation.js +12 -17
  24. package/Libraries/Animated/animations/TimingAnimation.js +12 -16
  25. package/Libraries/Animated/bezier.js +2 -2
  26. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  27. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  28. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  29. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  30. package/Libraries/Animated/components/AnimatedText.js +5 -6
  31. package/Libraries/Animated/components/AnimatedView.js +5 -6
  32. package/Libraries/Animated/createAnimatedComponent.js +14 -14
  33. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  34. package/Libraries/Animated/nodes/AnimatedAddition.js +9 -9
  35. package/Libraries/Animated/nodes/AnimatedColor.js +56 -35
  36. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +9 -9
  37. package/Libraries/Animated/nodes/AnimatedDivision.js +10 -10
  38. package/Libraries/Animated/nodes/AnimatedInterpolation.js +28 -30
  39. package/Libraries/Animated/nodes/AnimatedModulo.js +9 -9
  40. package/Libraries/Animated/nodes/AnimatedMultiplication.js +10 -11
  41. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  42. package/Libraries/Animated/nodes/AnimatedProps.js +15 -25
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +14 -21
  44. package/Libraries/Animated/nodes/AnimatedSubtraction.js +10 -10
  45. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  46. package/Libraries/Animated/nodes/AnimatedTransform.js +39 -32
  47. package/Libraries/Animated/nodes/AnimatedValue.js +23 -15
  48. package/Libraries/Animated/nodes/AnimatedValueXY.js +31 -7
  49. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  50. package/Libraries/Animated/useAnimatedProps.js +9 -16
  51. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  52. package/Libraries/Animated/useAnimatedValue.js +25 -0
  53. package/Libraries/AppDelegate/RCTAppDelegate.h +123 -0
  54. package/Libraries/AppDelegate/RCTAppDelegate.mm +171 -0
  55. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +73 -0
  56. package/Libraries/AppState/AppState.d.ts +58 -0
  57. package/Libraries/AppState/AppState.js +3 -39
  58. package/Libraries/AppState/NativeAppState.js +1 -0
  59. package/Libraries/BatchedBridge/MessageQueue.js +28 -18
  60. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  61. package/Libraries/BatchedBridge/NativeModules.js +4 -4
  62. package/Libraries/Blob/Blob.js +6 -0
  63. package/Libraries/Blob/BlobManager.js +5 -3
  64. package/Libraries/Blob/File.js +2 -3
  65. package/Libraries/Blob/FileReader.js +6 -11
  66. package/Libraries/Blob/NativeBlobModule.js +1 -0
  67. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  68. package/Libraries/Blob/RCTBlobCollector.h +0 -2
  69. package/Libraries/Blob/RCTBlobCollector.mm +27 -23
  70. package/Libraries/Blob/RCTBlobManager.h +1 -1
  71. package/Libraries/Blob/RCTBlobManager.mm +34 -28
  72. package/Libraries/Blob/RCTFileReaderModule.mm +24 -17
  73. package/Libraries/Blob/React-RCTBlob.podspec +5 -2
  74. package/Libraries/Blob/URL.js +11 -9
  75. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  76. package/Libraries/BugReporting/getReactData.js +1 -1
  77. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +157 -0
  78. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  79. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -28
  80. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  81. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  82. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  83. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  84. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  85. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  86. package/Libraries/Components/Button.d.ts +42 -0
  87. package/Libraries/Components/Button.flow.js +265 -0
  88. package/Libraries/Components/Button.js +62 -18
  89. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  90. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  91. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  92. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  93. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  94. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  95. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  96. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +6 -5
  97. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  98. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +5 -4
  99. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +17 -14
  100. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  101. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  102. package/Libraries/Components/Keyboard/Keyboard.js +35 -19
  103. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  104. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  105. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  106. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  107. package/Libraries/Components/Pressable/Pressable.js +77 -25
  108. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  109. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  110. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  111. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  112. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  113. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  114. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  115. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  116. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  117. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  118. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  119. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  120. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  121. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -4
  122. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  123. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  124. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -34
  125. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  126. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  127. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  128. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  129. package/Libraries/Components/ScrollView/ScrollView.js +99 -62
  130. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  131. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  132. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  133. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -267
  134. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  135. package/Libraries/Components/Slider/Slider.js +9 -10
  136. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  137. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  138. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  139. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  140. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  141. package/Libraries/Components/StatusBar/StatusBar.js +21 -18
  142. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +8 -8
  143. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  144. package/Libraries/Components/Switch/Switch.js +7 -14
  145. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  146. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  147. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  148. package/Libraries/Components/TextInput/InputAccessoryView.js +17 -17
  149. package/Libraries/Components/TextInput/InputAccessoryView.js.flow +25 -0
  150. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  151. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  152. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  153. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  154. package/Libraries/Components/TextInput/TextInput.d.ts +855 -0
  155. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  156. package/Libraries/Components/TextInput/TextInput.js +361 -39
  157. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  158. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  159. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  160. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  161. package/Libraries/Components/Touchable/PooledClass.js +16 -4
  162. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  163. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  164. package/Libraries/Components/Touchable/Touchable.js +62 -14
  165. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  166. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  167. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -10
  168. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  169. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +60 -22
  170. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  171. package/Libraries/Components/Touchable/TouchableOpacity.js +55 -18
  172. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  173. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +67 -13
  174. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  175. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  176. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -9
  177. package/Libraries/Components/View/View.d.ts +29 -0
  178. package/Libraries/Components/View/View.js +92 -10
  179. package/Libraries/Components/View/ViewAccessibility.d.ts +373 -0
  180. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  181. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  182. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  183. package/Libraries/Components/View/ViewPropTypes.js +107 -20
  184. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  185. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  186. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  187. package/Libraries/Core/ExceptionsManager.js +10 -0
  188. package/Libraries/Core/ExtendedError.js +11 -8
  189. package/Libraries/Core/InitializeCore.js +2 -1
  190. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  191. package/Libraries/Core/RawEventEmitter.js +2 -1
  192. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  193. package/Libraries/Core/ReactNativeVersion.js +3 -3
  194. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  195. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  196. package/Libraries/Core/Timers/JSTimers.js +15 -13
  197. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  198. package/Libraries/Core/polyfillPromise.js +0 -32
  199. package/Libraries/Core/setUpBatchedBridge.js +6 -6
  200. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  201. package/Libraries/Core/setUpPerformance.js +1 -1
  202. package/Libraries/Core/setUpReactDevTools.js +4 -1
  203. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  204. package/Libraries/Core/setUpTimers.js +1 -1
  205. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  206. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -13
  207. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  208. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  209. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  210. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  211. package/Libraries/Events/EventPolyfill.js +1 -1
  212. package/Libraries/FBLazyVector/BUCK +2 -1
  213. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +9 -12
  214. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +9 -6
  215. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  216. package/Libraries/Image/AssetSourceResolver.js +6 -8
  217. package/Libraries/Image/Image.android.js +68 -48
  218. package/Libraries/Image/Image.d.ts +322 -0
  219. package/Libraries/Image/Image.flow.js +64 -0
  220. package/Libraries/Image/Image.ios.js +61 -31
  221. package/Libraries/Image/ImageBackground.js +18 -7
  222. package/Libraries/Image/ImageBackground.js.flow +17 -0
  223. package/Libraries/Image/ImageInjection.js +2 -1
  224. package/Libraries/Image/ImageProps.js +88 -5
  225. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  226. package/Libraries/Image/ImageSource.d.ts +76 -0
  227. package/Libraries/Image/ImageSource.js +7 -7
  228. package/Libraries/Image/ImageSourceUtils.js +80 -0
  229. package/Libraries/Image/ImageUtils.js +21 -0
  230. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  231. package/Libraries/Image/ImageViewNativeComponent.js.flow +45 -0
  232. package/Libraries/Image/NativeImageEditor.js +1 -0
  233. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  234. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  235. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  236. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  237. package/Libraries/Image/RCTAnimatedImage.m +5 -2
  238. package/Libraries/Image/RCTDisplayWeakRefreshable.h +1 -0
  239. package/Libraries/Image/RCTDisplayWeakRefreshable.m +4 -2
  240. package/Libraries/Image/RCTGIFImageDecoder.mm +7 -4
  241. package/Libraries/Image/RCTImageBlurUtils.m +22 -17
  242. package/Libraries/Image/RCTImageCache.h +7 -7
  243. package/Libraries/Image/RCTImageCache.m +16 -21
  244. package/Libraries/Image/RCTImageDataDecoder.h +1 -1
  245. package/Libraries/Image/RCTImageEditingManager.mm +53 -44
  246. package/Libraries/Image/RCTImageLoader.h +7 -7
  247. package/Libraries/Image/RCTImageLoader.mm +417 -367
  248. package/Libraries/Image/RCTImageLoaderProtocol.h +14 -17
  249. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +2 -2
  250. package/Libraries/Image/RCTImageStoreManager.mm +30 -25
  251. package/Libraries/Image/RCTImageURLLoader.h +11 -8
  252. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +6 -4
  253. package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +3 -1
  254. package/Libraries/Image/RCTImageUtils.h +19 -18
  255. package/Libraries/Image/RCTImageUtils.m +61 -67
  256. package/Libraries/Image/RCTImageView.h +2 -2
  257. package/Libraries/Image/RCTImageView.mm +50 -43
  258. package/Libraries/Image/RCTImageViewManager.mm +45 -41
  259. package/Libraries/Image/RCTLocalAssetImageLoader.mm +12 -10
  260. package/Libraries/Image/RCTResizeMode.h +1 -1
  261. package/Libraries/Image/RCTResizeMode.m +12 -8
  262. package/Libraries/Image/RCTUIImageViewAnimated.m +21 -13
  263. package/Libraries/Image/React-RCTImage.podspec +1 -1
  264. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  265. package/Libraries/Image/TextInlineImageNativeComponent.js.flow +27 -0
  266. package/Libraries/Image/nativeImageSource.js +2 -2
  267. package/Libraries/Image/resolveAssetSource.js +5 -5
  268. package/Libraries/Inspector/BorderBox.js +1 -1
  269. package/Libraries/Inspector/BoxInspector.js +3 -4
  270. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  271. package/Libraries/Inspector/ElementBox.js +6 -7
  272. package/Libraries/Inspector/ElementProperties.js +10 -11
  273. package/Libraries/Inspector/Inspector.js +22 -108
  274. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  275. package/Libraries/Inspector/InspectorPanel.js +12 -10
  276. package/Libraries/Inspector/NetworkOverlay.js +19 -10
  277. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  278. package/Libraries/Inspector/StyleInspector.js +2 -2
  279. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  280. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  281. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  282. package/Libraries/Interaction/InteractionManager.js +8 -8
  283. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  284. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  285. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  286. package/Libraries/Interaction/PanResponder.js +20 -17
  287. package/Libraries/JSInspector/JSInspector.js +0 -3
  288. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  289. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  290. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  291. package/Libraries/Linking/Linking.d.ts +61 -0
  292. package/Libraries/Linking/Linking.js +3 -13
  293. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  294. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  295. package/Libraries/LinkingIOS/RCTLinkingManager.h +5 -5
  296. package/Libraries/LinkingIOS/RCTLinkingManager.mm +75 -63
  297. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  298. package/Libraries/Lists/CellRenderMask.js +13 -3
  299. package/Libraries/Lists/ChildListCollection.js +72 -0
  300. package/Libraries/Lists/FillRateHelper.js +28 -17
  301. package/Libraries/Lists/FlatList.d.ts +251 -0
  302. package/Libraries/Lists/FlatList.js +90 -75
  303. package/Libraries/Lists/FlatList.js.flow +115 -0
  304. package/Libraries/Lists/SectionList.d.ts +258 -0
  305. package/Libraries/Lists/SectionList.js +7 -5
  306. package/Libraries/Lists/SectionListModern.js +6 -6
  307. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  308. package/Libraries/Lists/ViewabilityHelper.js +39 -14
  309. package/Libraries/Lists/VirtualizeUtils.js +48 -31
  310. package/Libraries/Lists/VirtualizedList.d.ts +347 -0
  311. package/Libraries/Lists/VirtualizedList.js +605 -900
  312. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  313. package/Libraries/Lists/VirtualizedListContext.js +8 -48
  314. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  315. package/Libraries/Lists/VirtualizedSectionList.js +18 -11
  316. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  317. package/Libraries/LogBox/Data/LogBoxData.js +10 -9
  318. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  319. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  320. package/Libraries/LogBox/Data/parseLogBoxLog.js +6 -4
  321. package/Libraries/LogBox/LogBox.d.ts +28 -0
  322. package/Libraries/LogBox/LogBox.js +14 -12
  323. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -2
  324. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  325. package/Libraries/LogBox/UI/AnsiHighlight.js +7 -5
  326. package/Libraries/LogBox/UI/LogBoxButton.js +7 -6
  327. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  328. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -8
  329. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  330. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  331. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  332. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  333. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  334. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -6
  335. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  336. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +12 -7
  337. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  338. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  339. package/Libraries/Modal/Modal.d.ts +104 -0
  340. package/Libraries/Modal/Modal.js +14 -14
  341. package/Libraries/Modal/NativeModalManager.js +1 -0
  342. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  343. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
  344. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +6 -9
  345. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -2
  346. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +2 -4
  347. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
  348. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +14 -21
  349. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
  350. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +8 -22
  351. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -2
  352. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +2 -3
  353. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +3 -5
  354. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +2 -4
  355. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +7 -4
  356. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -2
  357. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +14 -20
  358. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -2
  359. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +13 -16
  360. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +5 -7
  361. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -1
  362. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -3
  363. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -1
  364. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +3 -8
  365. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +4 -6
  366. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -2
  367. package/Libraries/NativeAnimation/RCTAnimationUtils.h +14 -12
  368. package/Libraries/NativeAnimation/RCTAnimationUtils.m +15 -19
  369. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +6 -1
  370. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +82 -69
  371. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +11 -20
  372. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +55 -64
  373. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +5 -1
  374. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +68 -55
  375. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  376. package/Libraries/NativeComponent/BaseViewConfig.android.js +36 -20
  377. package/Libraries/NativeComponent/BaseViewConfig.ios.js +34 -15
  378. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  379. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  380. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  381. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  382. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  383. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  384. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  385. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  386. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  387. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  388. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  389. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  390. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  391. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  392. package/Libraries/Network/RCTDataRequestHandler.mm +8 -11
  393. package/Libraries/Network/RCTFileRequestHandler.mm +10 -16
  394. package/Libraries/Network/RCTHTTPRequestHandler.h +4 -3
  395. package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -23
  396. package/Libraries/Network/RCTNetworkTask.mm +2 -3
  397. package/Libraries/Network/RCTNetworking.android.js +4 -3
  398. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  399. package/Libraries/Network/RCTNetworking.mm +189 -168
  400. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  401. package/Libraries/Network/XMLHttpRequest.js +9 -11
  402. package/Libraries/Network/convertRequestBody.js +1 -2
  403. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  404. package/Libraries/NewAppScreen/components/Header.js +6 -2
  405. package/Libraries/NewAppScreen/components/HermesBadge.js +8 -9
  406. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  407. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  408. package/Libraries/NewAppScreen/index.js +1 -1
  409. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  410. package/Libraries/Performance/PureComponentDebug.js +1 -0
  411. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  412. package/Libraries/Performance/Systrace.d.ts +66 -0
  413. package/Libraries/Performance/Systrace.js +110 -195
  414. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +10 -1
  415. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  416. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +23 -4
  417. package/Libraries/Pressability/Pressability.js +38 -26
  418. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  419. package/Libraries/Promise.js +0 -1
  420. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  421. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  422. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  423. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +2 -1
  424. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +142 -103
  425. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  426. package/Libraries/RCTRequired/BUCK +2 -1
  427. package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +31 -18
  428. package/Libraries/ReactNative/AppContainer.js +17 -7
  429. package/Libraries/ReactNative/AppRegistry.d.ts +119 -0
  430. package/Libraries/ReactNative/AppRegistry.js +30 -28
  431. package/Libraries/ReactNative/BridgelessUIManager.js +5 -2
  432. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  433. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  434. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  435. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  436. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  437. package/Libraries/ReactNative/PaperUIManager.js +10 -10
  438. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +21 -0
  439. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  440. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  441. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  442. package/Libraries/ReactNative/RendererProxy.js +26 -0
  443. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  444. package/Libraries/ReactNative/RootTag.js +0 -1
  445. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  446. package/Libraries/ReactNative/UIManager.js +1 -1
  447. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  448. package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -7
  449. package/Libraries/ReactNative/renderApplication.js +39 -21
  450. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  451. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  452. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  453. package/Libraries/Renderer/README.md +22 -0
  454. package/Libraries/Renderer/REVISION +1 -1
  455. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4765 -3842
  456. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1632 -1271
  457. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1754 -1381
  458. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4726 -3782
  459. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1706 -1342
  460. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1720 -1343
  461. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  462. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  463. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  464. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  465. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  466. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  467. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  468. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  469. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  470. package/Libraries/Settings/RCTSettingsManager.mm +10 -12
  471. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  472. package/Libraries/Settings/Settings.d.ts +18 -0
  473. package/Libraries/Share/NativeShareModule.js +1 -0
  474. package/Libraries/Share/Share.d.ts +80 -0
  475. package/Libraries/Share/Share.js +7 -5
  476. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  477. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  478. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +9 -1
  479. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  480. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  481. package/Libraries/StyleSheet/StyleSheet.d.ts +160 -0
  482. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  483. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +331 -0
  484. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  485. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  486. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  487. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  488. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  489. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  490. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  491. package/Libraries/StyleSheet/processColor.js +3 -4
  492. package/Libraries/StyleSheet/processColorArray.js +1 -0
  493. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  494. package/Libraries/StyleSheet/processTransform.js +114 -103
  495. package/Libraries/StyleSheet/splitLayoutProps.js +7 -0
  496. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +9 -12
  497. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
  498. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +9 -14
  499. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +16 -12
  500. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
  501. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +2 -3
  502. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +3 -8
  503. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +4 -2
  504. package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +13 -12
  505. package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +2 -0
  506. package/Libraries/Text/RCTConvert+Text.m +16 -14
  507. package/Libraries/Text/RCTTextAttributes.h +3 -0
  508. package/Libraries/Text/RCTTextAttributes.m +75 -54
  509. package/Libraries/Text/RawText/RCTRawTextShadowView.m +2 -1
  510. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +22 -42
  511. package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
  512. package/Libraries/Text/Text/RCTDynamicTypeRamp.m +86 -0
  513. package/Libraries/Text/Text/RCTTextShadowView.m +152 -175
  514. package/Libraries/Text/Text/RCTTextView.m +38 -40
  515. package/Libraries/Text/Text/RCTTextViewManager.m +7 -8
  516. package/Libraries/Text/Text.d.ts +209 -0
  517. package/Libraries/Text/Text.js +105 -19
  518. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +10 -23
  519. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
  520. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
  521. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +18 -12
  522. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +10 -6
  523. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
  524. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +33 -14
  525. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -2
  526. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +37 -47
  527. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -3
  528. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +177 -155
  529. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +19 -17
  530. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
  531. package/Libraries/Text/TextInput/RCTInputAccessoryView.m +2 -3
  532. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +1 -2
  533. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +3 -4
  534. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -2
  535. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -1
  536. package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +7 -5
  537. package/Libraries/Text/TextNativeComponent.js +49 -41
  538. package/Libraries/Text/TextProps.js +64 -7
  539. package/{React/Views/RCTMaskedViewManager.h → Libraries/TurboModule/RCTExport.d.ts} +6 -6
  540. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  541. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  542. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  543. package/Libraries/TypeSafety/RCTConvertHelpers.h +22 -12
  544. package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
  545. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +7 -5
  546. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +6 -4
  547. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  548. package/Libraries/Types/CoreEventTypes.js +139 -12
  549. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  550. package/Libraries/Utilities/Appearance.d.ts +43 -0
  551. package/Libraries/Utilities/Appearance.js +3 -3
  552. package/Libraries/Utilities/BackHandler.android.js +3 -5
  553. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  554. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  555. package/Libraries/Utilities/DevSettings.js +4 -2
  556. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  557. package/Libraries/Utilities/Dimensions.js +2 -15
  558. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  559. package/Libraries/Utilities/HMRClient.js +26 -11
  560. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  561. package/Libraries/Utilities/NativeAppearance.js +1 -0
  562. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  563. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  564. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  565. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  566. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  567. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  568. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  569. package/Libraries/Utilities/PixelRatio.js.flow +21 -0
  570. package/Libraries/Utilities/Platform.android.js +11 -5
  571. package/Libraries/Utilities/Platform.d.ts +102 -0
  572. package/Libraries/Utilities/Platform.ios.js +12 -12
  573. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  574. package/Libraries/Utilities/ReactNativeTestTools.js +12 -14
  575. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  576. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  577. package/Libraries/Utilities/createPerformanceLogger.d.ts +48 -0
  578. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  579. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  580. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  581. package/Libraries/Utilities/groupByEveryN.js +1 -1
  582. package/Libraries/Utilities/stringifySafe.js +6 -2
  583. package/Libraries/Utilities/truncate.js +1 -1
  584. package/Libraries/Utilities/useColorScheme.js +3 -2
  585. package/Libraries/Utilities/useRefEffect.js +1 -1
  586. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +2 -2
  587. package/Libraries/Vibration/NativeVibration.js +1 -0
  588. package/Libraries/Vibration/RCTVibration.mm +5 -5
  589. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  590. package/Libraries/Vibration/Vibration.d.ts +43 -0
  591. package/Libraries/Vibration/Vibration.js +2 -1
  592. package/Libraries/WebPerformance/NativePerformanceObserver.cpp +42 -0
  593. package/Libraries/WebPerformance/NativePerformanceObserver.h +64 -0
  594. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  595. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  596. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  597. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +5 -2
  598. package/Libraries/WebSocket/RCTSRWebSocket.h +20 -16
  599. package/Libraries/WebSocket/RCTSRWebSocket.m +293 -187
  600. package/Libraries/WebSocket/WebSocket.js +12 -3
  601. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  602. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +5 -12
  603. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +2 -1
  604. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -5
  605. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +2 -3
  606. package/Libraries/Wrapper/RCTWrapper.h +50 -48
  607. package/Libraries/Wrapper/RCTWrapperShadowView.m +9 -8
  608. package/Libraries/Wrapper/RCTWrapperView.m +1 -4
  609. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -2
  610. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  611. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  612. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  613. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  614. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  615. package/Libraries/vendor/emitter/EventEmitter.js +105 -12
  616. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +73 -117
  617. package/React/AppSetup/RCTAppSetupUtils.h +6 -2
  618. package/React/AppSetup/RCTAppSetupUtils.mm +10 -8
  619. package/React/Base/RCTAssert.h +16 -10
  620. package/React/Base/RCTAssert.m +46 -31
  621. package/React/Base/RCTBridge.h +3 -107
  622. package/React/Base/RCTBridge.m +0 -18
  623. package/React/Base/RCTBridgeConstants.h +71 -0
  624. package/React/Base/RCTBridgeConstants.m +18 -0
  625. package/React/Base/RCTBridgeModule.h +4 -47
  626. package/React/Base/RCTBundleManager.h +23 -0
  627. package/React/Base/RCTBundleManager.m +1 -1
  628. package/React/Base/RCTConstants.h +55 -7
  629. package/React/Base/RCTConstants.m +30 -19
  630. package/React/Base/RCTConvert.h +3 -0
  631. package/React/Base/RCTConvert.m +29 -1
  632. package/React/Base/RCTDefines.h +2 -2
  633. package/React/Base/RCTEventDispatcherProtocol.h +5 -0
  634. package/React/Base/RCTKeyCommands.m +1 -1
  635. package/React/Base/RCTModuleData.mm +1 -0
  636. package/React/Base/RCTModuleMethod.mm +1 -1
  637. package/React/Base/RCTModuleRegistry.m +3 -1
  638. package/React/Base/RCTMultipartStreamReader.m +1 -0
  639. package/React/Base/RCTTurboModuleRegistry.h +29 -0
  640. package/React/Base/RCTVersion.m +3 -3
  641. package/React/Base/Surface/RCTSurface.mm +2 -1
  642. package/React/CoreModules/BUCK +6 -5
  643. package/React/CoreModules/CoreModulesPlugins.h +1 -1
  644. package/React/CoreModules/CoreModulesPlugins.mm +1 -1
  645. package/React/CoreModules/RCTAccessibilityManager.h +1 -0
  646. package/React/CoreModules/RCTAccessibilityManager.mm +11 -0
  647. package/React/CoreModules/RCTAlertController.m +35 -3
  648. package/React/CoreModules/RCTAlertManager.mm +55 -26
  649. package/React/CoreModules/RCTAppState.mm +2 -2
  650. package/React/CoreModules/RCTDevLoadingView.mm +15 -0
  651. package/React/CoreModules/RCTDevSettings.mm +1 -0
  652. package/React/CoreModules/RCTDeviceInfo.mm +28 -11
  653. package/React/CoreModules/RCTEventDispatcher.mm +12 -3
  654. package/React/CoreModules/RCTExceptionsManager.h +4 -1
  655. package/React/CoreModules/RCTExceptionsManager.mm +4 -12
  656. package/React/CoreModules/RCTLogBox.mm +2 -2
  657. package/React/CoreModules/RCTLogBoxView.mm +1 -1
  658. package/React/CoreModules/RCTRedBox.mm +7 -1
  659. package/React/CoreModules/React-CoreModules.podspec +2 -1
  660. package/React/CxxBridge/JSCExecutorFactory.mm +1 -1
  661. package/React/CxxBridge/RCTCxxBridge.mm +2 -1
  662. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +1 -3
  663. package/React/CxxModule/RCTNativeModule.mm +15 -0
  664. package/React/CxxUtils/RCTFollyConvert.mm +11 -4
  665. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +1 -1
  666. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +0 -8
  667. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  668. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  669. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -11
  670. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -1
  671. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +8 -3
  672. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +23 -5
  673. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +16 -1
  674. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +11 -7
  675. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +1 -1
  676. package/React/Fabric/Mounting/RCTComponentViewRegistry.h +0 -5
  677. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +0 -39
  678. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  679. package/React/Fabric/Mounting/RCTMountingManager.mm +11 -9
  680. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +1 -1
  681. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +1 -1
  682. package/React/Fabric/RCTScheduler.mm +0 -9
  683. package/React/Fabric/RCTSurfacePresenter.h +2 -1
  684. package/React/Fabric/RCTSurfacePresenter.mm +20 -18
  685. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -1
  686. package/React/Fabric/RCTSurfaceTouchHandler.mm +475 -61
  687. package/React/Fabric/Utils/RCTReactTaggedView.h +34 -0
  688. package/React/Fabric/Utils/RCTReactTaggedView.mm +55 -0
  689. package/React/Modules/RCTEventEmitter.h +2 -0
  690. package/React/Modules/RCTEventEmitter.m +15 -0
  691. package/React/Modules/RCTUIManager.m +1 -1
  692. package/React/Profiler/RCTProfile.h +20 -0
  693. package/React/React-RCTFabric.podspec +1 -1
  694. package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -0
  695. package/React/Views/RCTBorderCurve.h +13 -0
  696. package/React/Views/RCTComponentData.m +1 -0
  697. package/React/Views/RCTDatePickerManager.m +4 -0
  698. package/React/Views/RCTFont.mm +80 -0
  699. package/React/Views/RCTModalHostViewManager.m +16 -12
  700. package/React/Views/RCTProgressViewManager.m +4 -0
  701. package/React/Views/RCTSegmentedControlManager.m +4 -0
  702. package/React/Views/RCTShadowView.h +3 -0
  703. package/React/Views/RCTShadowView.m +14 -0
  704. package/React/Views/RCTView.h +11 -3
  705. package/React/Views/RCTView.m +18 -2
  706. package/React/Views/RCTViewManager.m +23 -3
  707. package/React/Views/RCTViewUtils.h +1 -0
  708. package/React/Views/RCTWrapperViewController.m +9 -10
  709. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -2
  710. package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -70
  711. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -2
  712. package/React/third-party.xcconfig +1 -1
  713. package/React-Core.podspec +45 -8
  714. package/ReactAndroid/Android-prebuilt.mk +10 -2
  715. package/ReactAndroid/README.md +3 -2
  716. package/ReactAndroid/build.gradle +361 -148
  717. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +119 -0
  718. package/ReactAndroid/cmake-utils/default-app-setup/CMakeLists.txt +31 -0
  719. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +88 -0
  720. package/ReactAndroid/cmake-utils/folly-flags.cmake +22 -0
  721. package/ReactAndroid/external-artifacts/build.gradle +44 -0
  722. package/ReactAndroid/gradle.properties +24 -14
  723. package/ReactAndroid/hermes-engine/build.gradle +27 -34
  724. package/ReactAndroid/publish.gradle +100 -0
  725. package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -0
  726. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +1 -0
  727. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +1 -1
  728. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +1 -1
  729. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +4 -30
  730. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +5 -22
  731. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
  732. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +11 -1
  733. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/BUCK +1 -0
  734. package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +1 -0
  735. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +1 -0
  736. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -2
  737. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +4 -3
  738. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +67 -0
  739. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +2 -4
  740. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.java +18 -0
  741. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -3
  742. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -43
  743. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +20 -45
  744. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +19 -12
  745. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +67 -5
  746. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +3 -1
  747. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +2 -3
  748. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +248 -38
  750. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +56 -4
  751. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +2 -2
  752. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -4
  753. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +19 -2
  754. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +10 -19
  755. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +28 -21
  756. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{DefaultNativeModuleCallExceptionHandler.java → DefaultJSExceptionHandler.java} +1 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +3 -4
  758. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +3 -4
  759. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +3 -4
  760. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{NativeModuleCallExceptionHandler.java → JSExceptionHandler.java} +5 -5
  761. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -9
  762. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +1 -3
  763. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +14 -14
  764. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +1 -1
  765. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +45 -43
  766. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +3 -3
  767. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +17 -4
  768. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +1 -2
  769. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +1 -3
  770. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +10 -0
  771. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +22 -1
  772. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +2 -0
  773. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +1 -1
  774. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +1 -1
  775. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +47 -41
  776. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +35 -0
  777. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +58 -0
  778. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +49 -0
  779. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +46 -0
  780. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +71 -0
  781. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +33 -0
  782. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +2 -4
  783. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
  784. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +5 -5
  785. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +4 -4
  786. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +2 -2
  787. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +3 -3
  788. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +24 -2
  789. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -2
  790. package/ReactAndroid/src/main/java/com/facebook/react/{bridge/queue/NativeRunnable.java → fabric/CppComponentRegistry.java} +11 -8
  791. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +47 -0
  792. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +85 -0
  793. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -1
  794. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +14 -7
  795. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +109 -40
  796. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +3 -3
  797. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +1 -1
  798. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +10 -8
  799. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +11 -0
  800. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +467 -56
  801. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +1 -1
  802. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +31 -17
  803. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -1
  804. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +3 -25
  805. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +1 -1
  806. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +1 -1
  807. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +1 -1
  808. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +0 -3
  809. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +4 -5
  810. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -2
  811. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -2
  812. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -1
  813. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  814. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +2 -3
  815. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -2
  816. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -2
  817. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +1 -1
  818. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +1 -1
  819. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -2
  820. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +2 -3
  821. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -2
  822. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -2
  823. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +1 -1
  824. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +1 -2
  825. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -2
  826. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -2
  827. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -2
  828. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -2
  829. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +12 -18
  830. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +14 -0
  831. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  832. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  833. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -2
  834. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -2
  835. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +2 -0
  836. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -4
  837. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  838. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  839. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  840. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -2
  841. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +11 -3
  842. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -2
  843. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +0 -1
  844. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
  845. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +2 -2
  846. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -3
  847. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  848. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +1 -2
  849. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +1 -2
  850. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +3 -3
  851. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +1 -2
  852. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +4 -7
  853. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +159 -17
  854. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +8 -0
  855. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +9 -1
  856. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +4 -0
  857. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +3 -14
  858. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +2 -2
  859. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +380 -195
  860. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +24 -0
  861. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +26 -3
  862. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +6 -0
  863. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +16 -0
  864. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  865. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +42 -37
  866. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +5 -31
  867. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -3
  868. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +2 -1
  869. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +109 -3
  870. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +51 -1
  871. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +2 -2
  872. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +14 -4
  873. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +1 -2
  874. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +1 -2
  875. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +11 -2
  876. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +225 -42
  877. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +166 -12
  878. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +1 -1
  879. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +1 -2
  880. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +1 -1
  881. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +3 -3
  882. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +1 -2
  883. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -2
  884. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +12 -0
  885. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +3 -4
  886. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +30 -30
  887. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -4
  888. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +9 -4
  889. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -2
  890. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +1 -1
  891. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +15 -6
  892. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -2
  893. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -2
  894. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +17 -20
  895. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -5
  896. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +52 -12
  897. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +154 -0
  898. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +0 -11
  899. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +4 -1
  900. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -2
  901. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
  902. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -2
  903. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +12 -0
  904. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -2
  905. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -2
  906. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +4 -0
  907. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +4 -0
  908. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +10 -0
  909. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +18 -17
  910. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +1 -5
  911. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +94 -14
  912. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +42 -17
  913. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +60 -0
  914. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +75 -15
  915. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +2 -25
  916. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +7 -18
  917. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -2
  918. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +9 -4
  919. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +264 -120
  920. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +139 -110
  921. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +1 -2
  922. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +1 -2
  923. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +37 -1
  924. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +24 -9
  925. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +11 -0
  926. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +74 -30
  927. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +17 -0
  928. package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +5 -1
  929. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +22 -8
  930. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +61 -8
  931. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +2 -0
  932. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +2 -0
  933. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +2 -0
  934. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +2 -0
  935. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +2 -0
  936. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +2 -0
  937. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +2 -0
  938. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +35 -0
  939. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +3 -2
  940. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +2 -0
  941. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +2 -0
  942. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +3 -1
  943. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
  944. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
  945. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +2 -0
  946. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +2 -0
  947. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +2 -0
  948. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +2 -0
  949. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +2 -0
  950. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +2 -0
  951. package/ReactAndroid/src/main/jni/CMakeLists.txt +27 -13
  952. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +23 -0
  953. package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +44 -0
  954. package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +22 -0
  955. package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +66 -0
  956. package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +26 -0
  957. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/BUCK +3 -3
  958. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.cpp +54 -69
  959. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.h +9 -16
  960. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CMakeLists.txt +1 -0
  961. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +51 -0
  962. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +47 -0
  963. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +73 -0
  964. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +64 -0
  965. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +100 -0
  966. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +39 -0
  967. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.cpp +11 -2
  968. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.h +11 -2
  969. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.cpp +125 -67
  970. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.h +3 -4
  971. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +30 -0
  972. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.h +1 -8
  973. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/OnLoad.cpp +2 -0
  974. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +215 -0
  975. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/.clang-tidy +1 -0
  976. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +27 -0
  977. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/BUCK +19 -0
  978. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/CMakeLists.txt +5 -14
  979. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/OnLoad.cpp +18 -5
  980. package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -4
  981. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +11 -28
  982. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -10
  983. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +7 -0
  984. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +5 -7
  985. package/ReactAndroid/src/main/jni/react/jscexecutor/BUCK +22 -0
  986. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +36 -0
  987. package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/OnLoad.cpp +1 -1
  988. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/BUCK +0 -1
  989. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +22 -0
  990. package/{template/android/app/src/main/jni/MainComponentsRegistry.cpp → ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp} +22 -13
  991. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +47 -0
  992. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +60 -0
  993. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +53 -0
  994. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +18 -0
  995. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -1
  996. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BUCK +0 -1
  997. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/BUCK +0 -1
  998. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/.clang-tidy +1 -0
  999. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/BUCK +3 -3
  1000. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/CMakeLists.txt +2 -1
  1001. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +59 -0
  1002. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +49 -0
  1003. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/OnLoad.cpp +3 -0
  1004. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.cpp +18 -6
  1005. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h +3 -3
  1006. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/BUCK +0 -2
  1007. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
  1008. package/ReactAndroid/src/main/libraries/fbjni/BUCK +1 -1
  1009. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +7 -6
  1010. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  1011. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +17 -17
  1012. package/ReactCommon/React-Fabric.podspec +16 -5
  1013. package/ReactCommon/ReactCommon.podspec +24 -6
  1014. package/ReactCommon/butter/BUCK +4 -3
  1015. package/ReactCommon/butter/CMakeLists.txt +3 -1
  1016. package/ReactCommon/callinvoker/BUCK +1 -1
  1017. package/ReactCommon/callinvoker/CMakeLists.txt +7 -1
  1018. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  1019. package/ReactCommon/cxxreact/BUCK +19 -14
  1020. package/ReactCommon/cxxreact/CxxNativeModule.cpp +33 -25
  1021. package/ReactCommon/cxxreact/JSBigString.h +2 -2
  1022. package/ReactCommon/cxxreact/JSBundleType.h +7 -4
  1023. package/ReactCommon/cxxreact/JSExecutor.h +1 -1
  1024. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +2 -2
  1025. package/ReactCommon/cxxreact/React-cxxreact.podspec +5 -1
  1026. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  1027. package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
  1028. package/ReactCommon/cxxreact/SystraceSection.h +11 -1
  1029. package/ReactCommon/cxxreact/tests/BUCK +6 -48
  1030. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +3 -4
  1031. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +0 -43
  1032. package/ReactCommon/cxxreact/tests/main.cpp +15 -0
  1033. package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
  1034. package/ReactCommon/hermes/React-hermes.podspec +10 -7
  1035. package/ReactCommon/hermes/executor/CMakeLists.txt +6 -5
  1036. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +36 -24
  1037. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +6 -0
  1038. package/ReactCommon/hermes/inspector/BUCK +5 -5
  1039. package/ReactCommon/hermes/inspector/CMakeLists.txt +4 -4
  1040. package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
  1041. package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +3 -8
  1042. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +5 -10
  1043. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +87 -20
  1044. package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
  1045. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +8 -19
  1046. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +3 -2
  1047. package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +10 -0
  1048. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +106 -1
  1049. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
  1050. package/ReactCommon/hermes/inspector/chrome/Registration.cpp +4 -4
  1051. package/ReactCommon/hermes/inspector/chrome/Registration.h +9 -5
  1052. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +5 -3
  1053. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +3 -5
  1054. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +48 -0
  1055. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -3
  1056. package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -3
  1057. package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
  1058. package/ReactCommon/hermes/inspector/tools/run_msggen +3 -1
  1059. package/ReactCommon/{microprofiler → jsc}/.clang-tidy +1 -0
  1060. package/ReactCommon/jsc/BUCK +34 -0
  1061. package/ReactCommon/jsc/CMakeLists.txt +35 -0
  1062. package/ReactCommon/{jsi → jsc}/JSCRuntime.cpp +71 -0
  1063. package/ReactCommon/{React-bridging.podspec → jsc/React-jsc.podspec} +10 -15
  1064. package/ReactCommon/jserrorhandler/BUCK +30 -0
  1065. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +107 -0
  1066. package/ReactCommon/jserrorhandler/JsErrorHandler.h +39 -0
  1067. package/ReactCommon/jsi/BUCK +3 -34
  1068. package/ReactCommon/jsi/CMakeLists.txt +0 -16
  1069. package/ReactCommon/jsi/React-jsi.podspec +21 -13
  1070. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +7 -2
  1071. package/ReactCommon/jsi/jsi/decorator.h +44 -0
  1072. package/ReactCommon/jsi/jsi/jsi-inl.h +35 -2
  1073. package/ReactCommon/jsi/jsi/jsi.cpp +44 -8
  1074. package/ReactCommon/jsi/jsi/jsi.h +157 -0
  1075. package/ReactCommon/jsiexecutor/BUCK +1 -2
  1076. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +5 -1
  1077. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -7
  1078. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +0 -2
  1079. package/ReactCommon/jsinspector/BUCK +3 -2
  1080. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
  1081. package/ReactCommon/logger/BUCK +1 -1
  1082. package/ReactCommon/logger/React-logger.podspec +1 -1
  1083. package/ReactCommon/react/bridging/Array.h +19 -0
  1084. package/ReactCommon/react/bridging/BUCK +2 -2
  1085. package/ReactCommon/react/bridging/Base.h +1 -2
  1086. package/ReactCommon/react/bridging/CMakeLists.txt +8 -1
  1087. package/ReactCommon/react/bridging/CallbackWrapper.h +1 -1
  1088. package/ReactCommon/react/bridging/Class.h +21 -0
  1089. package/ReactCommon/react/bridging/Convert.h +9 -0
  1090. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +113 -0
  1091. package/ReactCommon/react/bridging/tests/BridgingTest.h +1 -1
  1092. package/ReactCommon/react/config/BUCK +1 -3
  1093. package/ReactCommon/react/config/CMakeLists.txt +2 -0
  1094. package/ReactCommon/react/debug/BUCK +3 -4
  1095. package/ReactCommon/react/debug/CMakeLists.txt +2 -0
  1096. package/ReactCommon/react/nativemodule/core/BUCK +3 -5
  1097. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +8 -1
  1098. package/ReactCommon/react/nativemodule/core/ReactCommon/CallbackWrapper.h +11 -0
  1099. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +35 -18
  1100. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +4 -2
  1101. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +23 -4
  1102. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +37 -19
  1103. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -61
  1104. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -12
  1105. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -2
  1106. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +91 -145
  1107. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +5 -22
  1108. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +2 -2
  1109. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +5 -2
  1110. package/ReactCommon/react/nativemodule/samples/BUCK +2 -1
  1111. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +27 -0
  1112. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +39 -12
  1113. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +1 -1
  1114. package/ReactCommon/react/renderer/.clang-tidy +144 -0
  1115. package/ReactCommon/react/renderer/animations/BUCK +1 -6
  1116. package/ReactCommon/react/renderer/animations/CMakeLists.txt +8 -1
  1117. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +4 -6
  1118. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +45 -35
  1119. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +7 -10
  1120. package/ReactCommon/react/renderer/animations/utils.cpp +2 -4
  1121. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +22 -5
  1122. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +13 -1
  1123. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +2 -4
  1124. package/ReactCommon/react/renderer/attributedstring/BUCK +3 -5
  1125. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +8 -1
  1126. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -4
  1127. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +14 -4
  1128. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -0
  1129. package/ReactCommon/react/renderer/attributedstring/conversions.h +134 -0
  1130. package/ReactCommon/react/renderer/attributedstring/primitives.h +30 -0
  1131. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +2 -4
  1132. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +2 -4
  1133. package/ReactCommon/react/renderer/componentregistry/BUCK +1 -8
  1134. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +8 -1
  1135. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +3 -5
  1136. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -1
  1137. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +7 -14
  1138. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +3 -2
  1139. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -4
  1140. package/ReactCommon/react/renderer/componentregistry/native/BUCK +1 -7
  1141. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +8 -1
  1142. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +5 -7
  1143. package/ReactCommon/react/renderer/components/image/BUCK +1 -4
  1144. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +8 -1
  1145. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -4
  1146. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +82 -41
  1147. package/ReactCommon/react/renderer/components/image/ImageProps.h +13 -7
  1148. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +2 -4
  1149. package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -4
  1150. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  1151. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
  1152. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -3
  1153. package/ReactCommon/react/renderer/components/modal/BUCK +2 -4
  1154. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +8 -1
  1155. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +2 -4
  1156. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +2 -4
  1157. package/ReactCommon/react/renderer/components/progressbar/BUCK +2 -5
  1158. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +8 -1
  1159. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -4
  1160. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +3 -5
  1161. package/ReactCommon/react/renderer/components/root/BUCK +1 -5
  1162. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +8 -1
  1163. package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -6
  1164. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -4
  1165. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  1166. package/ReactCommon/react/renderer/components/scrollview/BUCK +2 -5
  1167. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +8 -1
  1168. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -4
  1169. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +342 -202
  1170. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +6 -0
  1171. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +2 -4
  1172. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +2 -4
  1173. package/ReactCommon/react/renderer/components/slider/BUCK +2 -4
  1174. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +8 -1
  1175. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +3 -5
  1176. package/ReactCommon/react/renderer/components/slider/SliderState.cpp +2 -4
  1177. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +2 -4
  1178. package/ReactCommon/react/renderer/components/switch/BUCK +1 -9
  1179. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +2 -0
  1180. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +2 -4
  1181. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +3 -5
  1182. package/ReactCommon/react/renderer/components/text/BUCK +1 -6
  1183. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +135 -22
  1184. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +6 -0
  1185. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +4 -6
  1186. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +8 -1
  1187. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +2 -4
  1188. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +103 -21
  1189. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +9 -3
  1190. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +5 -6
  1191. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +2 -4
  1192. package/ReactCommon/react/renderer/components/text/ParagraphState.h +9 -0
  1193. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +2 -4
  1194. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +2 -4
  1195. package/ReactCommon/react/renderer/components/text/TextProps.cpp +11 -4
  1196. package/ReactCommon/react/renderer/components/text/TextProps.h +6 -0
  1197. package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +2 -4
  1198. package/ReactCommon/react/renderer/components/text/conversions.h +1 -9
  1199. package/ReactCommon/react/renderer/components/textinput/BUCK +2 -6
  1200. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +8 -1
  1201. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +223 -66
  1202. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +65 -59
  1203. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +9 -11
  1204. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +24 -4
  1205. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +1 -3
  1206. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -10
  1207. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +2 -4
  1208. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +2 -2
  1209. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +11 -4
  1210. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -0
  1211. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +2 -4
  1212. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +4 -6
  1213. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +20 -0
  1214. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +10 -2
  1215. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +4 -4
  1216. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +1 -9
  1217. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +8 -1
  1218. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +2 -4
  1219. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +2 -4
  1220. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +2 -4
  1221. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +223 -119
  1222. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +12 -1
  1223. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +168 -0
  1224. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +33 -0
  1225. package/ReactCommon/react/renderer/components/view/BUCK +3 -4
  1226. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +8 -1
  1227. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +20 -7
  1228. package/ReactCommon/react/renderer/components/view/PointerEvent.h +72 -6
  1229. package/ReactCommon/react/renderer/components/view/Touch.cpp +3 -5
  1230. package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
  1231. package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +3 -5
  1232. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +49 -12
  1233. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +5 -3
  1234. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +2 -4
  1235. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +338 -161
  1236. package/ReactCommon/react/renderer/components/view/ViewProps.h +12 -0
  1237. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +3 -3
  1238. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +202 -0
  1239. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.h +56 -0
  1240. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +9 -28
  1241. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +8 -9
  1242. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +120 -5
  1243. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +12 -1
  1244. package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +87 -0
  1245. package/ReactCommon/{hermes/inspector/chrome/AutoAttachUtils.h → react/renderer/components/view/YogaStylablePropsMapBuffer.h} +11 -11
  1246. package/ReactCommon/react/renderer/components/view/conversions.h +23 -2
  1247. package/ReactCommon/react/renderer/components/view/primitives.h +17 -0
  1248. package/ReactCommon/react/renderer/components/view/propsConversions.h +73 -18
  1249. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +2 -4
  1250. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +2 -4
  1251. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +198 -0
  1252. package/ReactCommon/react/renderer/core/BUCK +8 -9
  1253. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -4
  1254. package/ReactCommon/react/renderer/core/CMakeLists.txt +9 -1
  1255. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +2 -4
  1256. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -5
  1257. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +23 -8
  1258. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -3
  1259. package/ReactCommon/react/renderer/core/CoreFeatures.cpp +17 -0
  1260. package/ReactCommon/react/renderer/core/CoreFeatures.h +31 -0
  1261. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +2 -4
  1262. package/ReactCommon/react/renderer/core/EventBeat.cpp +2 -4
  1263. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -4
  1264. package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -5
  1265. package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -5
  1266. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -4
  1267. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -5
  1268. package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +2 -4
  1269. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +3 -5
  1270. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +96 -18
  1271. package/ReactCommon/react/renderer/core/Props.cpp +26 -12
  1272. package/ReactCommon/react/renderer/core/Props.h +25 -13
  1273. package/ReactCommon/react/renderer/core/PropsMacros.h +108 -0
  1274. package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +37 -0
  1275. package/ReactCommon/react/renderer/core/PropsMapBuffer.h +23 -0
  1276. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -4
  1277. package/ReactCommon/react/renderer/core/RawProps.cpp +12 -6
  1278. package/ReactCommon/react/renderer/core/RawProps.h +10 -1
  1279. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +4 -6
  1280. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -4
  1281. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +65 -4
  1282. package/ReactCommon/react/renderer/core/RawPropsParser.h +9 -0
  1283. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +2 -0
  1284. package/ReactCommon/react/renderer/core/RawValue.h +12 -14
  1285. package/ReactCommon/react/renderer/core/Sealable.cpp +4 -6
  1286. package/ReactCommon/react/renderer/core/ShadowNode.cpp +14 -12
  1287. package/ReactCommon/react/renderer/core/ShadowNode.h +17 -21
  1288. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -5
  1289. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +2 -4
  1290. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +2 -4
  1291. package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -3
  1292. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +18 -13
  1293. package/ReactCommon/react/renderer/core/State.cpp +2 -4
  1294. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +2 -4
  1295. package/ReactCommon/react/renderer/core/propsConversions.h +40 -29
  1296. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +9 -9
  1297. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -3
  1298. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +372 -0
  1299. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
  1300. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +4 -4
  1301. package/ReactCommon/react/renderer/core/tests/TestComponent.h +4 -2
  1302. package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +2 -4
  1303. package/ReactCommon/react/renderer/debug/BUCK +1 -4
  1304. package/ReactCommon/react/renderer/debug/CMakeLists.txt +8 -1
  1305. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +6 -8
  1306. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +2 -4
  1307. package/ReactCommon/react/renderer/element/BUCK +1 -1
  1308. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +2 -4
  1309. package/ReactCommon/react/renderer/graphics/BUCK +2 -5
  1310. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +8 -1
  1311. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  1312. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +5 -0
  1313. package/ReactCommon/react/renderer/graphics/Transform.cpp +43 -17
  1314. package/ReactCommon/react/renderer/graphics/Transform.h +20 -5
  1315. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +11 -23
  1316. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +4 -6
  1317. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +7 -0
  1318. package/ReactCommon/react/renderer/imagemanager/BUCK +12 -31
  1319. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +8 -1
  1320. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
  1321. package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +2 -4
  1322. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +2 -4
  1323. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +2 -4
  1324. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +6 -7
  1325. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +2 -4
  1326. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +14 -16
  1327. package/ReactCommon/react/renderer/leakchecker/BUCK +1 -1
  1328. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +8 -1
  1329. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +4 -6
  1330. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -1
  1331. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +3 -6
  1332. package/ReactCommon/react/renderer/mapbuffer/BUCK +5 -6
  1333. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +8 -1
  1334. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +28 -5
  1335. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  1336. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +35 -4
  1337. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +5 -0
  1338. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +25 -0
  1339. package/ReactCommon/react/renderer/mounting/BUCK +2 -5
  1340. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +8 -1
  1341. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +50 -97
  1342. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -6
  1343. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
  1344. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +2 -4
  1345. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +8 -10
  1346. package/ReactCommon/react/renderer/mounting/ShadowTree.h +4 -4
  1347. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +2 -4
  1348. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +5 -6
  1349. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +40 -13
  1350. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +39 -6
  1351. package/ReactCommon/react/renderer/mounting/StubView.cpp +4 -6
  1352. package/ReactCommon/react/renderer/mounting/StubView.h +1 -1
  1353. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +7 -4
  1354. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +2 -4
  1355. package/ReactCommon/react/renderer/mounting/stubs.cpp +2 -4
  1356. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +131 -123
  1357. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +6 -8
  1358. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -4
  1359. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -6
  1360. package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -1
  1361. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +8 -1
  1362. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +12 -23
  1363. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +0 -10
  1364. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +22 -9
  1365. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +2 -4
  1366. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +6 -8
  1367. package/ReactCommon/react/renderer/runtimescheduler/Task.h +1 -1
  1368. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +45 -64
  1369. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
  1370. package/ReactCommon/react/renderer/scheduler/BUCK +1 -5
  1371. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +8 -1
  1372. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +18 -38
  1373. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -4
  1374. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +0 -8
  1375. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  1376. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +10 -9
  1377. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -1
  1378. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -4
  1379. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +3 -5
  1380. package/ReactCommon/react/renderer/telemetry/BUCK +1 -5
  1381. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +8 -1
  1382. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +2 -4
  1383. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +2 -4
  1384. package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -5
  1385. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +8 -1
  1386. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +8 -10
  1387. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +3 -3
  1388. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +8 -9
  1389. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +1 -5
  1390. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +8 -1
  1391. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -4
  1392. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +4 -1
  1393. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -72
  1394. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +1 -2
  1395. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +133 -9
  1396. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +46 -23
  1397. package/ReactCommon/react/renderer/timeline/BUCK +2 -5
  1398. package/ReactCommon/react/renderer/timeline/Timeline.cpp +7 -8
  1399. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +3 -5
  1400. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +2 -4
  1401. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +3 -5
  1402. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +2 -2
  1403. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +2 -4
  1404. package/ReactCommon/react/renderer/uimanager/BUCK +2 -5
  1405. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +8 -1
  1406. package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -0
  1407. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +66 -24
  1408. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +17 -20
  1409. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -3
  1410. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +52 -56
  1411. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -7
  1412. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +0 -9
  1413. package/ReactCommon/react/renderer/uimanager/primitives.h +7 -7
  1414. package/ReactCommon/react/test_utils/BUCK +1 -1
  1415. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +7 -1
  1416. package/ReactCommon/react/utils/BUCK +2 -6
  1417. package/ReactCommon/react/utils/CMakeLists.txt +2 -0
  1418. package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
  1419. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -3
  1420. package/ReactCommon/reactperflogger/BUCK +3 -3
  1421. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -1
  1422. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  1423. package/ReactCommon/runtimeexecutor/BUCK +1 -1
  1424. package/ReactCommon/runtimeexecutor/CMakeLists.txt +7 -1
  1425. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  1426. package/ReactCommon/yoga/CMakeLists.txt +7 -1
  1427. package/ReactCommon/yoga/yoga/CompactValue.h +49 -29
  1428. package/ReactCommon/yoga/yoga/Utils.cpp +4 -0
  1429. package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -0
  1430. package/ReactCommon/yoga/yoga/YGEnums.h +31 -52
  1431. package/ReactCommon/yoga/yoga/YGMacros.h +43 -0
  1432. package/ReactCommon/yoga/yoga/YGNode.cpp +33 -0
  1433. package/ReactCommon/yoga/yoga/YGNode.h +11 -0
  1434. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +14 -0
  1435. package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
  1436. package/ReactCommon/yoga/yoga/YGStyle.h +5 -0
  1437. package/ReactCommon/yoga/yoga/Yoga.cpp +81 -29
  1438. package/ReactCommon/yoga/yoga/Yoga.h +7 -0
  1439. package/ReactCommon/yoga/yoga/event/event.h +3 -0
  1440. package/android/README.md +21 -0
  1441. package/build.gradle.kts +133 -0
  1442. package/flow/JSITimerInternalType.js +30 -0
  1443. package/flow/jest.js +2 -2
  1444. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  1445. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  1446. package/gradle.properties +12 -0
  1447. package/index.js +89 -61
  1448. package/interface.js +8 -0
  1449. package/jest/react-native-env.js +18 -0
  1450. package/jest/renderer.js +2 -2
  1451. package/jest/setup.js +11 -9
  1452. package/jest-preset.js +1 -1
  1453. package/package.json +75 -56
  1454. package/react.gradle +27 -7
  1455. package/scripts/cocoapods/__tests__/codegen-test.rb +244 -0
  1456. package/scripts/cocoapods/__tests__/codegen_utils-test.rb +548 -0
  1457. package/scripts/cocoapods/__tests__/fabric-test.rb +55 -0
  1458. package/scripts/cocoapods/__tests__/flipper-test.rb +155 -0
  1459. package/scripts/cocoapods/__tests__/jsengine-test.rb +154 -0
  1460. package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +171 -0
  1461. package/scripts/cocoapods/__tests__/new_architecture-test.rb +290 -0
  1462. package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +21 -0
  1463. package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +108 -0
  1464. package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +84 -0
  1465. package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +21 -0
  1466. package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +132 -0
  1467. package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +40 -0
  1468. package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +28 -0
  1469. package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +213 -0
  1470. package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +14 -0
  1471. package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +43 -0
  1472. package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +42 -0
  1473. package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +144 -0
  1474. package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +30 -0
  1475. package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +21 -0
  1476. package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +12 -0
  1477. package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +38 -0
  1478. package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +14 -0
  1479. package/scripts/cocoapods/__tests__/utils-test.rb +565 -0
  1480. package/scripts/cocoapods/codegen.rb +106 -0
  1481. package/scripts/cocoapods/codegen_script_phase_extractor.rb +13 -0
  1482. package/scripts/cocoapods/codegen_utils.rb +331 -0
  1483. package/scripts/cocoapods/fabric.rb +16 -0
  1484. package/scripts/cocoapods/flipper.rb +118 -0
  1485. package/scripts/cocoapods/helpers.rb +28 -0
  1486. package/scripts/cocoapods/jsengine.rb +81 -0
  1487. package/scripts/cocoapods/local_podspec_patch.rb +51 -0
  1488. package/scripts/cocoapods/new_architecture.rb +101 -0
  1489. package/scripts/cocoapods/utils.rb +188 -0
  1490. package/scripts/codegen/codegen-utils.js +37 -0
  1491. package/scripts/codegen/generate-artifacts-executor.js +560 -0
  1492. package/scripts/codegen/generate-specs-cli-executor.js +127 -0
  1493. package/scripts/generate-codegen-artifacts.js +72 -0
  1494. package/scripts/generate-specs-cli.js +3 -88
  1495. package/scripts/hermes/hermes-utils.js +144 -76
  1496. package/scripts/hermes/prepare-hermes-for-build.js +9 -10
  1497. package/scripts/ios-configure-glog.sh +3 -2
  1498. package/scripts/launchPackager.command +4 -0
  1499. package/scripts/native_modules.rb +6 -0
  1500. package/scripts/packager.sh +1 -1
  1501. package/scripts/react-native-xcode.sh +25 -19
  1502. package/scripts/react_native_pods.rb +148 -554
  1503. package/scripts/react_native_pods_utils/script_phases.sh +15 -17
  1504. package/sdks/.hermesversion +1 -1
  1505. package/sdks/hermes-engine/hermes-engine.podspec +104 -43
  1506. package/sdks/hermes-engine/hermes-utils.rb +26 -0
  1507. package/sdks/hermes-engine/utils/build-apple-framework.sh +84 -39
  1508. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +65 -0
  1509. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +22 -0
  1510. package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -1
  1511. package/sdks/hermes-engine/utils/build-mac-framework.sh +2 -1
  1512. package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +22 -0
  1513. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1514. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1515. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1516. package/settings.gradle.kts +34 -0
  1517. package/template/{App.js → App.tsx} +14 -8
  1518. package/template/Gemfile +2 -2
  1519. package/template/_gitignore +6 -6
  1520. package/template/_node-version +1 -0
  1521. package/template/android/app/build.gradle +68 -222
  1522. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +4 -2
  1523. package/template/android/app/src/main/AndroidManifest.xml +1 -2
  1524. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +13 -26
  1525. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +16 -47
  1526. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
  1527. package/template/android/build.gradle +6 -38
  1528. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  1529. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  1530. package/template/android/gradle.properties +8 -0
  1531. package/template/android/settings.gradle +0 -7
  1532. package/template/ios/HelloWorld/AppDelegate.h +2 -4
  1533. package/template/ios/HelloWorld/AppDelegate.mm +12 -112
  1534. package/template/ios/HelloWorld/Info.plist +2 -2
  1535. package/template/ios/Podfile +19 -8
  1536. package/template/package.json +19 -12
  1537. package/template/tsconfig.json +3 -0
  1538. package/third-party-podspecs/RCT-Folly.podspec +6 -5
  1539. package/third-party-podspecs/boost.podspec +1 -1
  1540. package/types/index.d.ts +213 -0
  1541. package/types/modules/BatchedBridge.d.ts +32 -0
  1542. package/types/modules/Codegen.d.ts +74 -0
  1543. package/types/modules/Devtools.d.ts +31 -0
  1544. package/types/modules/LaunchScreen.d.ts +18 -0
  1545. package/types/modules/globals.d.ts +577 -0
  1546. package/types/private/TimerMixin.d.ts +19 -0
  1547. package/{React/Views/RCTMaskedView.h → types/private/Utilities.d.ts} +4 -8
  1548. package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
  1549. package/types/public/Insets.d.ts +15 -0
  1550. package/types/public/ReactNativeRenderer.d.ts +149 -0
  1551. package/types/public/ReactNativeTypes.d.ts +143 -0
  1552. package/types/tsconfig.json +15 -0
  1553. package/types/tslint.json +23 -0
  1554. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  1555. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  1556. package/Libraries/Core/setUpSystrace.js +0 -21
  1557. package/Libraries/Image/ImagePickerIOS.js +0 -103
  1558. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  1559. package/Libraries/Storage/AsyncStorage.js +0 -379
  1560. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  1561. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  1562. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  1563. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  1564. package/Libraries/vendor/emitter/EventSubscription.js +0 -19
  1565. package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -62
  1566. package/Libraries/vendor/emitter/_EventEmitter.js +0 -184
  1567. package/Libraries/vendor/emitter/_EventSubscription.js +0 -45
  1568. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -108
  1569. package/React/CoreModules/RCTAsyncLocalStorage.h +0 -41
  1570. package/React/CoreModules/RCTAsyncLocalStorage.mm +0 -474
  1571. package/React/Views/RCTMaskedView.m +0 -34
  1572. package/React/Views/RCTMaskedViewManager.m +0 -22
  1573. package/ReactAndroid/src/androidTest/AndroidManifest.xml +0 -20
  1574. package/ReactAndroid/src/androidTest/assets/BUCK +0 -7
  1575. package/ReactAndroid/src/androidTest/buck-runner/AndroidManifest.xml +0 -28
  1576. package/ReactAndroid/src/androidTest/buck-runner/BUCK +0 -24
  1577. package/ReactAndroid/src/androidTest/java/com/facebook/react/bridge/ArgumentsTest.java +0 -93
  1578. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +0 -108
  1579. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +0 -53
  1580. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +0 -46
  1581. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FabricUIManagerFactory.java +0 -19
  1582. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +0 -56
  1583. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +0 -44
  1584. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java +0 -38
  1585. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +0 -54
  1586. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +0 -55
  1587. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/MultipleFailureException.java +0 -46
  1588. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +0 -152
  1589. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +0 -378
  1590. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +0 -127
  1591. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +0 -125
  1592. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +0 -209
  1593. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactSettingsForTests.java +0 -59
  1594. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestAppShell.java +0 -38
  1595. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestApplicationImpl.java +0 -22
  1596. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java +0 -27
  1597. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +0 -217
  1598. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +0 -77
  1599. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/SingleTouchGestureGenerator.java +0 -150
  1600. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +0 -42
  1601. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +0 -16
  1602. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/IdleWaiter.java +0 -14
  1603. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactBridgeIdleSignaler.java +0 -65
  1604. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +0 -121
  1605. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +0 -25
  1606. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +0 -147
  1607. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +0 -43
  1608. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/ReactNativeTestRule.java +0 -184
  1609. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/AnimatedTransformTest.java +0 -49
  1610. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -43
  1611. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java +0 -138
  1612. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMultitouchHandlingTestCase.java +0 -681
  1613. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +0 -837
  1614. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java +0 -385
  1615. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java +0 -162
  1616. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +0 -301
  1617. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystTouchBubblingTestCase.java +0 -155
  1618. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java +0 -256
  1619. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageErrorTestCase.java +0 -47
  1620. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageOverlayColorTestCase.java +0 -25
  1621. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +0 -120
  1622. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java +0 -102
  1623. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java +0 -62
  1624. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/LayoutEventsTestCase.java +0 -37
  1625. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java +0 -89
  1626. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java +0 -123
  1627. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactHorizontalScrollViewTestCase.java +0 -125
  1628. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactScrollViewTestCase.java +0 -127
  1629. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java +0 -97
  1630. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java +0 -92
  1631. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TestIdTestCase.java +0 -46
  1632. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +0 -327
  1633. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java +0 -154
  1634. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +0 -33
  1635. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactInstanceManagerTest.java +0 -96
  1636. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactRootViewTest.java +0 -203
  1637. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/WritableNativeMapTest.java +0 -130
  1638. package/ReactAndroid/src/androidTest/js/AnimatedTransformTestModule.js +0 -85
  1639. package/ReactAndroid/src/androidTest/js/Asserts.js +0 -38
  1640. package/ReactAndroid/src/androidTest/js/BUCK +0 -29
  1641. package/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js +0 -62
  1642. package/ReactAndroid/src/androidTest/js/ImageErrorTestApp.js +0 -56
  1643. package/ReactAndroid/src/androidTest/js/ImageOverlayColorTestApp.js +0 -29
  1644. package/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js +0 -25
  1645. package/ReactAndroid/src/androidTest/js/JSResponderTestApp.js +0 -66
  1646. package/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js +0 -89
  1647. package/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js +0 -214
  1648. package/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js +0 -78
  1649. package/ReactAndroid/src/androidTest/js/NativeIdTestModule.js +0 -76
  1650. package/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js +0 -59
  1651. package/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js +0 -183
  1652. package/ReactAndroid/src/androidTest/js/ShareTestModule.js +0 -36
  1653. package/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js +0 -369
  1654. package/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js +0 -101
  1655. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -113
  1656. package/ReactAndroid/src/androidTest/js/TestIdTestModule.js +0 -86
  1657. package/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js +0 -28
  1658. package/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js +0 -125
  1659. package/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js +0 -114
  1660. package/ReactAndroid/src/androidTest/js/TestJavaToJSReturnValuesModule.js +0 -39
  1661. package/ReactAndroid/src/androidTest/js/TextInputTestModule.js +0 -185
  1662. package/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js +0 -84
  1663. package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +0 -268
  1664. package/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js +0 -109
  1665. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +0 -31
  1666. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +0 -55
  1667. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -49
  1668. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +0 -103
  1669. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +0 -105
  1670. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp +0 -35
  1671. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +0 -527
  1672. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +0 -27
  1673. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +0 -23
  1674. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +0 -27
  1675. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +0 -125
  1676. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +0 -38
  1677. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +0 -433
  1678. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +0 -26
  1679. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +0 -163
  1680. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +0 -32
  1681. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +0 -63
  1682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +0 -72
  1683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +0 -242
  1684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -45
  1685. package/ReactAndroid/src/main/jni/Application.mk +0 -34
  1686. package/ReactAndroid/src/main/jni/first-party/fb/Android.mk +0 -30
  1687. package/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +0 -23
  1688. package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +0 -14
  1689. package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +0 -15
  1690. package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +0 -27
  1691. package/ReactAndroid/src/main/jni/react/jni/Android.mk +0 -176
  1692. package/ReactAndroid/src/main/jni/react/jni/JNativeRunnable.h +0 -52
  1693. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +0 -15
  1694. package/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk +0 -22
  1695. package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +0 -15
  1696. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +0 -128
  1697. package/ReactAndroid/src/main/jni/third-party/glog/Android.mk +0 -32
  1698. package/ReactAndroid/src/main/jni/third-party/jsc/Android.mk +0 -6
  1699. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -36
  1700. package/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +0 -17
  1701. package/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +0 -138
  1702. package/ReactAndroid/src/test/java/com/facebook/react/BUCK +0 -28
  1703. package/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.java +0 -156
  1704. package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +0 -62
  1705. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +0 -255
  1706. package/ReactAndroid/src/test/java/com/facebook/react/animated/BUCK +0 -22
  1707. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.java +0 -123
  1708. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +0 -1294
  1709. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +0 -44
  1710. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BaseJavaModuleTest.java +0 -103
  1711. package/ReactAndroid/src/test/java/com/facebook/react/bridge/FallbackJSBundleLoaderTest.java +0 -176
  1712. package/ReactAndroid/src/test/java/com/facebook/react/bridge/InstanceHandleHelper.java +0 -19
  1713. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.java +0 -37
  1714. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.java +0 -35
  1715. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +0 -59
  1716. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/BUCK +0 -23
  1717. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +0 -139
  1718. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.java +0 -151
  1719. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java +0 -65
  1720. package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/BUCK +0 -16
  1721. package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.java +0 -616
  1722. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +0 -45
  1723. package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.java +0 -156
  1724. package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.java +0 -81
  1725. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +0 -57
  1726. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +0 -168
  1727. package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +0 -165
  1728. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.java +0 -73
  1729. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +0 -647
  1730. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.java +0 -138
  1731. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.java +0 -71
  1732. package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +0 -230
  1733. package/ReactAndroid/src/test/java/com/facebook/react/modules/storage/AsyncStorageModuleTest.java +0 -345
  1734. package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +0 -306
  1735. package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/BUCK +0 -18
  1736. package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.java +0 -144
  1737. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BUCK +0 -40
  1738. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +0 -79
  1739. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/LayoutPropertyApplicatorTest.java +0 -470
  1740. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.java +0 -173
  1741. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.java +0 -125
  1742. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.java +0 -499
  1743. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.java +0 -163
  1744. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +0 -160
  1745. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.java +0 -122
  1746. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +0 -116
  1747. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.java +0 -173
  1748. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleTest.java +0 -721
  1749. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/BUCK +0 -16
  1750. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/InterpolatorTypeTest.java +0 -49
  1751. package/ReactAndroid/src/test/java/com/facebook/react/util/BUCK +0 -17
  1752. package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.java +0 -96
  1753. package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +0 -41
  1754. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.java +0 -42
  1755. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +0 -143
  1756. package/ReactAndroid/src/test/java/com/facebook/react/views/slider/ReactSliderPropertyTest.java +0 -100
  1757. package/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.java +0 -113
  1758. package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextTest.java +0 -516
  1759. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +0 -400
  1760. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/TextInputTest.java +0 -174
  1761. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +0 -56
  1762. package/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +0 -13
  1763. package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.java +0 -24
  1764. package/ReactAndroid/src/test/resources/BUCK +0 -18
  1765. package/ReactAndroid/src/test/resources/robolectric.properties +0 -2
  1766. package/ReactCommon/butter/Android.mk +0 -27
  1767. package/ReactCommon/callinvoker/Android.mk +0 -25
  1768. package/ReactCommon/cxxreact/Android.mk +0 -51
  1769. package/ReactCommon/hermes/executor/Android.mk +0 -41
  1770. package/ReactCommon/hermes/inspector/Android.mk +0 -36
  1771. package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +0 -151
  1772. package/ReactCommon/hermes/inspector/tools/msggen/.babelrc +0 -8
  1773. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +0 -62
  1774. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +0 -47
  1775. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +0 -78
  1776. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +0 -128
  1777. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +0 -171
  1778. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +0 -131
  1779. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +0 -50
  1780. package/ReactCommon/hermes/inspector/tools/msggen/package.json +0 -41
  1781. package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -79
  1782. package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -39
  1783. package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -57
  1784. package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +0 -16
  1785. package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -90
  1786. package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -323
  1787. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -421
  1788. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +0 -219
  1789. package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +0 -40
  1790. package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -98
  1791. package/ReactCommon/hermes/inspector/tools/msggen/src/custom.json +0 -26
  1792. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +0 -251
  1793. package/ReactCommon/jsi/Android.mk +0 -41
  1794. package/ReactCommon/jsiexecutor/Android.mk +0 -23
  1795. package/ReactCommon/jsinspector/Android.mk +0 -20
  1796. package/ReactCommon/logger/Android.mk +0 -24
  1797. package/ReactCommon/microprofiler/BUCK +0 -30
  1798. package/ReactCommon/microprofiler/MicroProfiler.cpp +0 -252
  1799. package/ReactCommon/microprofiler/MicroProfiler.h +0 -89
  1800. package/ReactCommon/react/bridging/Android.mk +0 -27
  1801. package/ReactCommon/react/config/Android.mk +0 -26
  1802. package/ReactCommon/react/debug/Android.mk +0 -30
  1803. package/ReactCommon/react/nativemodule/core/Android.mk +0 -40
  1804. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +0 -23
  1805. package/ReactCommon/react/renderer/animations/Android.mk +0 -58
  1806. package/ReactCommon/react/renderer/attributedstring/Android.mk +0 -53
  1807. package/ReactCommon/react/renderer/componentregistry/Android.mk +0 -42
  1808. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +0 -37
  1809. package/ReactCommon/react/renderer/components/image/Android.mk +0 -51
  1810. package/ReactCommon/react/renderer/components/modal/Android.mk +0 -55
  1811. package/ReactCommon/react/renderer/components/progressbar/Android.mk +0 -53
  1812. package/ReactCommon/react/renderer/components/root/Android.mk +0 -46
  1813. package/ReactCommon/react/renderer/components/scrollview/Android.mk +0 -49
  1814. package/ReactCommon/react/renderer/components/slider/Android.mk +0 -59
  1815. package/ReactCommon/react/renderer/components/switch/Android.mk +0 -53
  1816. package/ReactCommon/react/renderer/components/text/Android.mk +0 -59
  1817. package/ReactCommon/react/renderer/components/textinput/Android.mk +0 -67
  1818. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +0 -47
  1819. package/ReactCommon/react/renderer/components/view/Android.mk +0 -47
  1820. package/ReactCommon/react/renderer/core/Android.mk +0 -41
  1821. package/ReactCommon/react/renderer/debug/Android.mk +0 -28
  1822. package/ReactCommon/react/renderer/graphics/Android.mk +0 -39
  1823. package/ReactCommon/react/renderer/imagemanager/Android.mk +0 -44
  1824. package/ReactCommon/react/renderer/leakchecker/Android.mk +0 -33
  1825. package/ReactCommon/react/renderer/mapbuffer/Android.mk +0 -34
  1826. package/ReactCommon/react/renderer/mounting/Android.mk +0 -55
  1827. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +0 -34
  1828. package/ReactCommon/react/renderer/scheduler/Android.mk +0 -62
  1829. package/ReactCommon/react/renderer/telemetry/Android.mk +0 -43
  1830. package/ReactCommon/react/renderer/templateprocessor/Android.mk +0 -46
  1831. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +0 -63
  1832. package/ReactCommon/react/renderer/uimanager/Android.mk +0 -58
  1833. package/ReactCommon/react/utils/Android.mk +0 -33
  1834. package/ReactCommon/reactperflogger/Android.mk +0 -26
  1835. package/ReactCommon/runtimeexecutor/Android.mk +0 -19
  1836. package/ReactCommon/yoga/Android.mk +0 -21
  1837. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar +0 -0
  1838. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.md5 +0 -1
  1839. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha1 +0 -1
  1840. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha256 +0 -1
  1841. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha512 +0 -1
  1842. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar +0 -0
  1843. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.md5 +0 -1
  1844. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha1 +0 -1
  1845. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha256 +0 -1
  1846. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha512 +0 -1
  1847. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar +0 -0
  1848. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.md5 +0 -1
  1849. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha1 +0 -1
  1850. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha256 +0 -1
  1851. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha512 +0 -1
  1852. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar +0 -0
  1853. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.md5 +0 -1
  1854. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha1 +0 -1
  1855. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha256 +0 -1
  1856. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha512 +0 -1
  1857. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar +0 -0
  1858. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.md5 +0 -1
  1859. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha1 +0 -1
  1860. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha256 +0 -1
  1861. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha512 +0 -1
  1862. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar +0 -0
  1863. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.md5 +0 -1
  1864. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha1 +0 -1
  1865. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha256 +0 -1
  1866. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha512 +0 -1
  1867. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module +0 -246
  1868. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.md5 +0 -1
  1869. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha1 +0 -1
  1870. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha256 +0 -1
  1871. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha512 +0 -1
  1872. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom +0 -44
  1873. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.md5 +0 -1
  1874. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha1 +0 -1
  1875. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha256 +0 -1
  1876. package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha512 +0 -1
  1877. package/android/com/facebook/react/hermes-engine/maven-metadata.xml +0 -13
  1878. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +0 -1
  1879. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +0 -1
  1880. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +0 -1
  1881. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +0 -1
  1882. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar +0 -0
  1883. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.md5 +0 -1
  1884. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha1 +0 -1
  1885. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha256 +0 -1
  1886. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha512 +0 -1
  1887. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar +0 -0
  1888. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.md5 +0 -1
  1889. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha1 +0 -1
  1890. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha256 +0 -1
  1891. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha512 +0 -1
  1892. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar +0 -0
  1893. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.md5 +0 -1
  1894. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha1 +0 -1
  1895. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha256 +0 -1
  1896. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha512 +0 -1
  1897. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar +0 -0
  1898. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.md5 +0 -1
  1899. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha1 +0 -1
  1900. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha256 +0 -1
  1901. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha512 +0 -1
  1902. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar +0 -0
  1903. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.md5 +0 -1
  1904. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha1 +0 -1
  1905. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha256 +0 -1
  1906. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha512 +0 -1
  1907. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar +0 -0
  1908. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.md5 +0 -1
  1909. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha1 +0 -1
  1910. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha256 +0 -1
  1911. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha512 +0 -1
  1912. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module +0 -670
  1913. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.md5 +0 -1
  1914. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha1 +0 -1
  1915. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha256 +0 -1
  1916. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha512 +0 -1
  1917. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom +0 -156
  1918. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.md5 +0 -1
  1919. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha1 +0 -1
  1920. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha256 +0 -1
  1921. package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha512 +0 -1
  1922. package/android/com/facebook/react/react-native/maven-metadata.xml +0 -13
  1923. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +0 -1
  1924. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +0 -1
  1925. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +0 -1
  1926. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +0 -1
  1927. package/jest/preprocessor.js +0 -40
  1928. package/jest/preprocessor_DO_NOT_USE.js +0 -122
  1929. package/scripts/generate-artifacts.js +0 -318
  1930. package/template/_buckconfig +0 -6
  1931. package/template/_flowconfig +0 -66
  1932. package/template/_ruby-version +0 -1
  1933. package/template/android/app/_BUCK +0 -55
  1934. package/template/android/app/build_defs.bzl +0 -19
  1935. package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +0 -116
  1936. package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +0 -36
  1937. package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
  1938. package/template/android/app/src/main/jni/Android.mk +0 -48
  1939. package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -24
  1940. package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
  1941. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
  1942. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
  1943. package/template/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
  1944. package/template/android/app/src/main/jni/OnLoad.cpp +0 -11
  1945. package/tvos-types.d.ts +0 -192
  1946. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.cpp +0 -0
  1947. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.h +0 -0
  1948. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.cpp +0 -0
  1949. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.h +0 -0
  1950. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.cpp +0 -0
  1951. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.h +0 -0
  1952. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.cpp +0 -0
  1953. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.h +0 -0
  1954. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.cpp +0 -0
  1955. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.h +0 -0
  1956. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.cpp +0 -0
  1957. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.h +0 -0
  1958. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.cpp +0 -0
  1959. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.h +0 -0
  1960. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.cpp +0 -0
  1961. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.h +0 -0
  1962. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.cpp +0 -0
  1963. /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.h +0 -0
  1964. /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/CMakeLists.txt +0 -0
  1965. /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesMemoryDumper.h +0 -0
  1966. /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.cpp +0 -0
  1967. /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.h +0 -0
  1968. /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/OnLoad.cpp +0 -0
  1969. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/CMakeLists.txt +0 -0
  1970. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/.clang-tidy +0 -0
  1971. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.cpp +0 -0
  1972. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.h +0 -0
  1973. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.cpp +0 -0
  1974. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.h +0 -0
  1975. /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/OnLoad.cpp +0 -0
  1976. /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.cpp +0 -0
  1977. /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.h +0 -0
  1978. /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/CMakeLists.txt +0 -0
  1979. /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/OnLoad.cpp +0 -0
  1980. /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/CMakeLists.txt +0 -0
  1981. /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/JNativeModulePerfLogger.h +0 -0
  1982. /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/OnLoad.cpp +0 -0
  1983. /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.cpp +0 -0
  1984. /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.h +0 -0
  1985. /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.h +0 -0
  1986. /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/CMakeLists.txt +0 -0
  1987. /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.cpp +0 -0
  1988. /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.h +0 -0
  1989. /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/OnLoad.cpp +0 -0
  1990. /package/ReactCommon/{jsi → jsc}/JSCRuntime.h +0 -0
  1991. /package/template/__tests__/{App-test.js → App-test.tsx} +0 -0
@@ -8,61 +8,53 @@
8
8
  * @format
9
9
  */
10
10
 
11
- const Batchinator = require('../Interaction/Batchinator');
12
- const FillRateHelper = require('./FillRateHelper');
13
- const ReactNative = require('../Renderer/shims/ReactNative');
14
- const RefreshControl = require('../Components/RefreshControl/RefreshControl');
15
- const ScrollView = require('../Components/ScrollView/ScrollView');
16
- const StyleSheet = require('../StyleSheet/StyleSheet');
17
- const View = require('../Components/View/View');
18
- const ViewabilityHelper = require('./ViewabilityHelper');
19
-
20
- const flattenStyle = require('../StyleSheet/flattenStyle');
21
- const infoLog = require('../Utilities/infoLog');
22
- const invariant = require('invariant');
23
-
24
- import {
25
- keyExtractor as defaultKeyExtractor,
26
- computeWindowedRenderLimits,
27
- } from './VirtualizeUtils';
28
-
29
- import * as React from 'react';
30
11
  import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
31
12
  import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
13
+ import type {LayoutEvent, ScrollEvent} from '../Types/CoreEventTypes';
14
+ import type {ViewToken} from './ViewabilityHelper';
32
15
  import type {
33
- ViewabilityConfig,
34
- ViewToken,
35
- ViewabilityConfigCallbackPair,
36
- } from './ViewabilityHelper';
37
- import type {LayoutEvent} from '../Types/CoreEventTypes';
16
+ FrameMetricProps,
17
+ Item,
18
+ Props,
19
+ RenderItemProps,
20
+ RenderItemType,
21
+ Separators,
22
+ } from './VirtualizedListProps';
23
+
24
+ import RefreshControl from '../Components/RefreshControl/RefreshControl';
25
+ import ScrollView from '../Components/ScrollView/ScrollView';
26
+ import View from '../Components/View/View';
27
+ import Batchinator from '../Interaction/Batchinator';
28
+ import {findNodeHandle} from '../ReactNative/RendererProxy';
29
+ import flattenStyle from '../StyleSheet/flattenStyle';
30
+ import StyleSheet from '../StyleSheet/StyleSheet';
31
+ import clamp from '../Utilities/clamp';
32
+ import infoLog from '../Utilities/infoLog';
33
+ import {CellRenderMask} from './CellRenderMask';
34
+ import ChildListCollection from './ChildListCollection';
35
+ import FillRateHelper from './FillRateHelper';
36
+ import StateSafePureComponent from './StateSafePureComponent';
37
+ import ViewabilityHelper from './ViewabilityHelper';
38
+ import CellRenderer from './VirtualizedListCellRenderer';
38
39
  import {
39
40
  VirtualizedListCellContextProvider,
40
41
  VirtualizedListContext,
41
42
  VirtualizedListContextProvider,
42
- type ChildListState,
43
- type ListDebugInfo,
44
43
  } from './VirtualizedListContext.js';
45
44
  import TVFocusGuideView from '../Components/TV/TVFocusGuideView';
45
+ import {
46
+ computeWindowedRenderLimits,
47
+ keyExtractor as defaultKeyExtractor,
48
+ } from './VirtualizeUtils';
49
+ import invariant from 'invariant';
50
+ import * as React from 'react';
46
51
 
47
- type Item = any;
48
-
49
- export type Separators = {
50
- highlight: () => void,
51
- unhighlight: () => void,
52
- updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,
53
- ...
54
- };
52
+ export type {RenderItemProps, RenderItemType, Separators};
55
53
 
56
- export type RenderItemProps<ItemT> = {
57
- item: ItemT,
58
- index: number,
59
- separators: Separators,
60
- ...
61
- };
54
+ const ON_END_REACHED_EPSILON = 0.001;
62
55
 
63
- export type RenderItemType<ItemT> = (
64
- info: RenderItemProps<ItemT>,
65
- ) => React.Node;
56
+ let _usedIndexForKey = false;
57
+ let _keylessItemComponentName: string = '';
66
58
 
67
59
  type ViewabilityHelperCallbackTuple = {
68
60
  viewabilityHelper: ViewabilityHelper,
@@ -74,245 +66,9 @@ type ViewabilityHelperCallbackTuple = {
74
66
  ...
75
67
  };
76
68
 
77
- type RequiredProps = {|
78
- /**
79
- * The default accessor functions assume this is an Array<{key: string} | {id: string}> but you can override
80
- * getItem, getItemCount, and keyExtractor to handle any type of index-based data.
81
- */
82
- data?: any,
83
- /**
84
- * A generic accessor for extracting an item from any sort of data blob.
85
- */
86
- getItem: (data: any, index: number) => ?Item,
87
- /**
88
- * Determines how many items are in the data blob.
89
- */
90
- getItemCount: (data: any) => number,
91
- |};
92
- type OptionalProps = {|
93
- renderItem?: ?RenderItemType<Item>,
94
- /**
95
- * `debug` will turn on extra logging and visual overlays to aid with debugging both usage and
96
- * implementation, but with a significant perf hit.
97
- */
98
- debug?: ?boolean,
99
- /**
100
- * DEPRECATED: Virtualization provides significant performance and memory optimizations, but fully
101
- * unmounts react instances that are outside of the render window. You should only need to disable
102
- * this for debugging purposes. Defaults to false.
103
- */
104
- disableVirtualization?: ?boolean,
105
- /**
106
- * A marker property for telling the list to re-render (since it implements `PureComponent`). If
107
- * any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the
108
- * `data` prop, stick it here and treat it immutably.
109
- */
110
- extraData?: any,
111
- // e.g. height, y
112
- getItemLayout?: (
113
- data: any,
114
- index: number,
115
- ) => {
116
- length: number,
117
- offset: number,
118
- index: number,
119
- ...
120
- },
121
- horizontal?: ?boolean,
122
- /**
123
- * How many items to render in the initial batch. This should be enough to fill the screen but not
124
- * much more. Note these items will never be unmounted as part of the windowed rendering in order
125
- * to improve perceived performance of scroll-to-top actions.
126
- */
127
- initialNumToRender?: ?number,
128
- /**
129
- * Instead of starting at the top with the first item, start at `initialScrollIndex`. This
130
- * disables the "scroll to top" optimization that keeps the first `initialNumToRender` items
131
- * always rendered and immediately renders the items starting at this initial index. Requires
132
- * `getItemLayout` to be implemented.
133
- */
134
- initialScrollIndex?: ?number,
135
- /**
136
- * Reverses the direction of scroll. Uses scale transforms of -1.
137
- */
138
- inverted?: ?boolean,
139
- keyExtractor?: ?(item: Item, index: number) => string,
140
- /**
141
- * Each cell is rendered using this element. Can be a React Component Class,
142
- * or a render function. Defaults to using View.
143
- */
144
- CellRendererComponent?: ?React.ComponentType<any>,
145
- /**
146
- * Rendered in between each item, but not at the top or bottom. By default, `highlighted` and
147
- * `leadingItem` props are provided. `renderItem` provides `separators.highlight`/`unhighlight`
148
- * which will update the `highlighted` prop, but you can also add custom props with
149
- * `separators.updateProps`.
150
- */
151
- ItemSeparatorComponent?: ?React.ComponentType<any>,
152
- /**
153
- * Takes an item from `data` and renders it into the list. Example usage:
154
- *
155
- * <FlatList
156
- * ItemSeparatorComponent={Platform.OS !== 'android' && ({highlighted}) => (
157
- * <View style={[style.separator, highlighted && {marginLeft: 0}]} />
158
- * )}
159
- * data={[{title: 'Title Text', key: 'item1'}]}
160
- * ListItemComponent={({item, separators}) => (
161
- * <TouchableHighlight
162
- * onPress={() => this._onPress(item)}
163
- * onShowUnderlay={separators.highlight}
164
- * onHideUnderlay={separators.unhighlight}>
165
- * <View style={{backgroundColor: 'white'}}>
166
- * <Text>{item.title}</Text>
167
- * </View>
168
- * </TouchableHighlight>
169
- * )}
170
- * />
171
- *
172
- * Provides additional metadata like `index` if you need it, as well as a more generic
173
- * `separators.updateProps` function which let's you set whatever props you want to change the
174
- * rendering of either the leading separator or trailing separator in case the more common
175
- * `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for
176
- * your use-case.
177
- */
178
- ListItemComponent?: ?(React.ComponentType<any> | React.Element<any>),
179
- /**
180
- * Rendered when the list is empty. Can be a React Component Class, a render function, or
181
- * a rendered element.
182
- */
183
- ListEmptyComponent?: ?(React.ComponentType<any> | React.Element<any>),
184
- /**
185
- * Rendered at the bottom of all the items. Can be a React Component Class, a render function, or
186
- * a rendered element.
187
- */
188
- ListFooterComponent?: ?(React.ComponentType<any> | React.Element<any>),
189
- /**
190
- * Styling for internal View for ListFooterComponent
191
- */
192
- ListFooterComponentStyle?: ViewStyleProp,
193
- /**
194
- * Rendered at the top of all the items. Can be a React Component Class, a render function, or
195
- * a rendered element.
196
- */
197
- ListHeaderComponent?: ?(React.ComponentType<any> | React.Element<any>),
198
- /**
199
- * Styling for internal View for ListHeaderComponent
200
- */
201
- ListHeaderComponentStyle?: ViewStyleProp,
202
- /**
203
- * A unique identifier for this list. If there are multiple VirtualizedLists at the same level of
204
- * nesting within another VirtualizedList, this key is necessary for virtualization to
205
- * work properly.
206
- */
207
- listKey?: string,
208
- /**
209
- * The maximum number of items to render in each incremental render batch. The more rendered at
210
- * once, the better the fill rate, but responsiveness may suffer because rendering content may
211
- * interfere with responding to button taps or other interactions.
212
- */
213
- maxToRenderPerBatch?: ?number,
214
- /**
215
- * Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
216
- * content.
217
- */
218
- onEndReached?: ?(info: {distanceFromEnd: number, ...}) => void,
219
- /**
220
- * How far from the end (in units of visible length of the list) the bottom edge of the
221
- * list must be from the end of the content to trigger the `onEndReached` callback.
222
- * Thus a value of 0.5 will trigger `onEndReached` when the end of the content is
223
- * within half the visible length of the list.
224
- */
225
- onEndReachedThreshold?: ?number,
226
- /**
227
- * If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality. Make
228
- * sure to also set the `refreshing` prop correctly.
229
- */
230
- onRefresh?: ?() => void,
231
- /**
232
- * Used to handle failures when scrolling to an index that has not been measured yet. Recommended
233
- * action is to either compute your own offset and `scrollTo` it, or scroll as far as possible and
234
- * then try again after more items have been rendered.
235
- */
236
- onScrollToIndexFailed?: ?(info: {
237
- index: number,
238
- highestMeasuredFrameIndex: number,
239
- averageItemLength: number,
240
- ...
241
- }) => void,
242
- /**
243
- * Called when the viewability of rows changes, as defined by the
244
- * `viewabilityConfig` prop.
245
- */
246
- onViewableItemsChanged?: ?(info: {
247
- viewableItems: Array<ViewToken>,
248
- changed: Array<ViewToken>,
249
- ...
250
- }) => void,
251
- persistentScrollbar?: ?boolean,
252
- /**
253
- * Set this when offset is needed for the loading indicator to show correctly.
254
- */
255
- progressViewOffset?: number,
256
- /**
257
- * A custom refresh control element. When set, it overrides the default
258
- * <RefreshControl> component built internally. The onRefresh and refreshing
259
- * props are also ignored. Only works for vertical VirtualizedList.
260
- */
261
- refreshControl?: ?React.Element<any>,
262
- /**
263
- * Set this true while waiting for new data from a refresh.
264
- */
265
- refreshing?: ?boolean,
266
- /**
267
- * Note: may have bugs (missing content) in some circumstances - use at your own risk.
268
- *
269
- * This may improve scroll performance for large lists.
270
- */
271
- removeClippedSubviews?: boolean,
272
- /**
273
- * Render a custom scroll component, e.g. with a differently styled `RefreshControl`.
274
- */
275
- renderScrollComponent?: (props: Object) => React.Element<any>,
276
- /**
277
- * Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off
278
- * screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`.
279
- */
280
- updateCellsBatchingPeriod?: ?number,
281
- /**
282
- * See `ViewabilityHelper` for flow type and further documentation.
283
- */
284
- viewabilityConfig?: ViewabilityConfig,
285
- /**
286
- * List of ViewabilityConfig/onViewableItemsChanged pairs. A specific onViewableItemsChanged
287
- * will be called when its corresponding ViewabilityConfig's conditions are met.
288
- */
289
- viewabilityConfigCallbackPairs?: Array<ViewabilityConfigCallbackPair>,
290
- /**
291
- * Determines the maximum number of items rendered outside of the visible area, in units of
292
- * visible lengths. So if your list fills the screen, then `windowSize={21}` (the default) will
293
- * render the visible screen area plus up to 10 screens above and 10 below the viewport. Reducing
294
- * this number will reduce memory consumption and may improve performance, but will increase the
295
- * chance that fast scrolling may reveal momentary blank areas of unrendered content.
296
- */
297
- windowSize?: ?number,
298
- /**
299
- * The legacy implementation is no longer supported.
300
- */
301
- legacyImplementation?: empty,
302
- |};
303
-
304
- type Props = {|
305
- ...React.ElementConfig<typeof ScrollView>,
306
- ...RequiredProps,
307
- ...OptionalProps,
308
- |};
309
-
310
- let _usedIndexForKey = false;
311
- let _keylessItemComponentName: string = '';
312
-
313
69
  type State = {
314
- first: number,
315
- last: number,
70
+ renderMask: CellRenderMask,
71
+ cellsAroundViewport: {first: number, last: number},
316
72
  };
317
73
 
318
74
  /**
@@ -350,6 +106,19 @@ function windowSizeOrDefault(windowSize: ?number) {
350
106
  return windowSize ?? 21;
351
107
  }
352
108
 
109
+ function findLastWhere<T>(
110
+ arr: $ReadOnlyArray<T>,
111
+ predicate: (element: T) => boolean,
112
+ ): T | null {
113
+ for (let i = arr.length - 1; i >= 0; i--) {
114
+ if (predicate(arr[i])) {
115
+ return arr[i];
116
+ }
117
+ }
118
+
119
+ return null;
120
+ }
121
+
353
122
  /**
354
123
  * Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist)
355
124
  * and [`<SectionList>`](https://reactnative.dev/docs/sectionlist) components, which are also better
@@ -379,14 +148,17 @@ function windowSizeOrDefault(windowSize: ?number) {
379
148
  * - As an effort to remove defaultProps, use helper functions when referencing certain props
380
149
  *
381
150
  */
382
- class VirtualizedList extends React.PureComponent<Props, State> {
151
+ export default class VirtualizedList extends StateSafePureComponent<
152
+ Props,
153
+ State,
154
+ > {
383
155
  static contextType: typeof VirtualizedListContext = VirtualizedListContext;
384
156
 
385
157
  // scrollToEnd may be janky without getItemLayout prop
386
158
  scrollToEnd(params?: ?{animated?: ?boolean, ...}) {
387
159
  const animated = params ? params.animated : true;
388
160
  const veryLast = this.props.getItemCount(this.props.data) - 1;
389
- const frame = this.__getFrameMetricsApprox(veryLast);
161
+ const frame = this.__getFrameMetricsApprox(veryLast, this.props);
390
162
  const offset = Math.max(
391
163
  0,
392
164
  frame.offset +
@@ -422,7 +194,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
422
194
  viewOffset?: number,
423
195
  viewPosition?: number,
424
196
  ...
425
- }) {
197
+ }): $FlowFixMe {
426
198
  const {
427
199
  data,
428
200
  horizontal,
@@ -460,11 +232,11 @@ class VirtualizedList extends React.PureComponent<Props, State> {
460
232
  });
461
233
  return;
462
234
  }
463
- const frame = this.__getFrameMetricsApprox(index);
235
+ const frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);
464
236
  const offset =
465
237
  Math.max(
466
238
  0,
467
- frame.offset -
239
+ this._getOffsetApprox(index, this.props) -
468
240
  (viewPosition || 0) *
469
241
  (this._scrollMetrics.visibleLength - frame.length),
470
242
  ) - (viewOffset || 0);
@@ -492,6 +264,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
492
264
  scrollToItem(params: {
493
265
  animated?: ?boolean,
494
266
  item: Item,
267
+ viewOffset?: number,
495
268
  viewPosition?: number,
496
269
  ...
497
270
  }) {
@@ -541,12 +314,12 @@ class VirtualizedList extends React.PureComponent<Props, State> {
541
314
 
542
315
  recordInteraction() {
543
316
  this._nestedChildLists.forEach(childList => {
544
- childList.ref && childList.ref.recordInteraction();
317
+ childList.recordInteraction();
545
318
  });
546
319
  this._viewabilityTuples.forEach(t => {
547
320
  t.viewabilityHelper.recordInteraction();
548
321
  });
549
- this._updateViewableItems(this.props.data);
322
+ this._updateViewableItems(this.props, this.state.cellsAroundViewport);
550
323
  }
551
324
 
552
325
  flashScrollIndicators() {
@@ -572,7 +345,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
572
345
  if (this._scrollRef && this._scrollRef.getScrollableNode) {
573
346
  return this._scrollRef.getScrollableNode();
574
347
  } else {
575
- return ReactNative.findNodeHandle(this._scrollRef);
348
+ return findNodeHandle(this._scrollRef);
576
349
  }
577
350
  }
578
351
 
@@ -596,19 +369,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
596
369
  return this.context?.cellKey || 'rootList';
597
370
  }
598
371
 
599
- _getListKey(): string {
600
- return this.props.listKey || this._getCellKey();
601
- }
602
-
603
- _getDebugInfo(): ListDebugInfo {
604
- return {
605
- listKey: this._getListKey(),
606
- cellKey: this._getCellKey(),
607
- horizontal: horizontalOrDefault(this.props.horizontal),
608
- parent: this.context?.debugInfo,
609
- };
610
- }
611
-
372
+ // $FlowFixMe[missing-local-annot]
612
373
  _getScrollMetrics = () => {
613
374
  return this._scrollMetrics;
614
375
  };
@@ -617,6 +378,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
617
378
  return this._hasMore;
618
379
  }
619
380
 
381
+ // $FlowFixMe[missing-local-annot]
620
382
  _getOutermostParentListRef = () => {
621
383
  if (this._isNestedWithSameOrientation()) {
622
384
  return this.context.getOutermostParentListRef();
@@ -625,56 +387,20 @@ class VirtualizedList extends React.PureComponent<Props, State> {
625
387
  }
626
388
  };
627
389
 
628
- _getNestedChildState = (key: string): ?ChildListState => {
629
- const existingChildData = this._nestedChildLists.get(key);
630
- return existingChildData && existingChildData.state;
631
- };
632
-
633
390
  _registerAsNestedChild = (childList: {
634
391
  cellKey: string,
635
- key: string,
636
- ref: VirtualizedList,
637
- parentDebugInfo: ListDebugInfo,
638
- ...
639
- }): ?ChildListState => {
640
- // Register the mapping between this child key and the cellKey for its cell
641
- const childListsInCell =
642
- this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();
643
- childListsInCell.add(childList.key);
644
- this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);
645
- const existingChildData = this._nestedChildLists.get(childList.key);
646
- if (existingChildData && existingChildData.ref !== null) {
647
- console.error(
648
- 'A VirtualizedList contains a cell which itself contains ' +
649
- 'more than one VirtualizedList of the same orientation as the parent ' +
650
- 'list. You must pass a unique listKey prop to each sibling list.\n\n' +
651
- describeNestedLists({
652
- ...childList,
653
- // We're called from the child's componentDidMount, so it's safe to
654
- // read the child's props here (albeit weird).
655
- horizontal: !!childList.ref.props.horizontal,
656
- }),
657
- );
658
- }
659
- this._nestedChildLists.set(childList.key, {
660
- ref: childList.ref,
661
- state: null,
662
- });
663
-
392
+ ref: React.ElementRef<typeof VirtualizedList>,
393
+ }): void => {
394
+ this._nestedChildLists.add(childList.ref, childList.cellKey);
664
395
  if (this._hasInteracted) {
665
396
  childList.ref.recordInteraction();
666
397
  }
667
398
  };
668
399
 
669
400
  _unregisterAsNestedChild = (childList: {
670
- key: string,
671
- state: ChildListState,
672
- ...
401
+ ref: React.ElementRef<typeof VirtualizedList>,
673
402
  }): void => {
674
- this._nestedChildLists.set(childList.key, {
675
- ref: null,
676
- state: childList.state,
677
- });
403
+ this._nestedChildLists.remove(childList.ref);
678
404
  };
679
405
 
680
406
  state: State;
@@ -692,6 +418,11 @@ class VirtualizedList extends React.PureComponent<Props, State> {
692
418
  'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.',
693
419
  );
694
420
 
421
+ invariant(
422
+ props.getItemCount,
423
+ 'VirtualizedList: The "getItemCount" prop must be provided',
424
+ );
425
+
695
426
  this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);
696
427
  this._updateCellsToRenderBatcher = new Batchinator(
697
428
  this._updateCellsToRender,
@@ -715,55 +446,210 @@ class VirtualizedList extends React.PureComponent<Props, State> {
715
446
  }
716
447
  }
717
448
 
718
- let initialState = {
719
- first: this.props.initialScrollIndex || 0,
449
+ invariant(
450
+ !this.context,
451
+ 'Unexpectedly saw VirtualizedListContext available in ctor',
452
+ );
453
+
454
+ const initialRenderRegion = VirtualizedList._initialRenderRegion(props);
455
+
456
+ this.state = {
457
+ cellsAroundViewport: initialRenderRegion,
458
+ renderMask: VirtualizedList._createRenderMask(props, initialRenderRegion),
459
+ };
460
+ }
461
+
462
+ static _createRenderMask(
463
+ props: Props,
464
+ cellsAroundViewport: {first: number, last: number},
465
+ additionalRegions?: ?$ReadOnlyArray<{first: number, last: number}>,
466
+ ): CellRenderMask {
467
+ const itemCount = props.getItemCount(props.data);
468
+
469
+ invariant(
470
+ cellsAroundViewport.first >= 0 &&
471
+ cellsAroundViewport.last >= cellsAroundViewport.first - 1 &&
472
+ cellsAroundViewport.last < itemCount,
473
+ `Invalid cells around viewport "[${cellsAroundViewport.first}, ${cellsAroundViewport.last}]" was passed to VirtualizedList._createRenderMask`,
474
+ );
475
+
476
+ const renderMask = new CellRenderMask(itemCount);
477
+
478
+ if (itemCount > 0) {
479
+ const allRegions = [cellsAroundViewport, ...(additionalRegions ?? [])];
480
+ for (const region of allRegions) {
481
+ renderMask.addCells(region);
482
+ }
483
+
484
+ // The initially rendered cells are retained as part of the
485
+ // "scroll-to-top" optimization
486
+ if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {
487
+ const initialRegion = VirtualizedList._initialRenderRegion(props);
488
+ renderMask.addCells(initialRegion);
489
+ }
490
+
491
+ // The layout coordinates of sticker headers may be off-screen while the
492
+ // actual header is on-screen. Keep the most recent before the viewport
493
+ // rendered, even if its layout coordinates are not in viewport.
494
+ const stickyIndicesSet = new Set(props.stickyHeaderIndices);
495
+ VirtualizedList._ensureClosestStickyHeader(
496
+ props,
497
+ stickyIndicesSet,
498
+ renderMask,
499
+ cellsAroundViewport.first,
500
+ );
501
+ }
502
+
503
+ return renderMask;
504
+ }
505
+
506
+ static _initialRenderRegion(props: Props): {first: number, last: number} {
507
+ const itemCount = props.getItemCount(props.data);
508
+ const scrollIndex = Math.floor(Math.max(0, props.initialScrollIndex ?? 0));
509
+
510
+ return {
511
+ first: scrollIndex,
720
512
  last:
721
513
  Math.min(
722
- this.props.getItemCount(this.props.data),
723
- (this.props.initialScrollIndex || 0) +
724
- initialNumToRenderOrDefault(this.props.initialNumToRender),
514
+ itemCount,
515
+ scrollIndex + initialNumToRenderOrDefault(props.initialNumToRender),
725
516
  ) - 1,
726
517
  };
518
+ }
727
519
 
728
- if (this._isNestedWithSameOrientation()) {
729
- const storedState = this.context.getNestedChildState(this._getListKey());
730
- if (storedState) {
731
- initialState = storedState;
732
- this.state = storedState;
733
- this._frames = storedState.frames;
520
+ static _ensureClosestStickyHeader(
521
+ props: Props,
522
+ stickyIndicesSet: Set<number>,
523
+ renderMask: CellRenderMask,
524
+ cellIdx: number,
525
+ ) {
526
+ const stickyOffset = props.ListHeaderComponent ? 1 : 0;
527
+
528
+ for (let itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {
529
+ if (stickyIndicesSet.has(itemIdx + stickyOffset)) {
530
+ renderMask.addCells({first: itemIdx, last: itemIdx});
531
+ break;
532
+ }
533
+ }
534
+ }
535
+
536
+ _adjustCellsAroundViewport(
537
+ props: Props,
538
+ cellsAroundViewport: {first: number, last: number},
539
+ ): {first: number, last: number} {
540
+ const {data, getItemCount} = props;
541
+ const onEndReachedThreshold = onEndReachedThresholdOrDefault(
542
+ props.onEndReachedThreshold,
543
+ );
544
+ this._updateViewableItems(props, cellsAroundViewport);
545
+
546
+ const {contentLength, offset, visibleLength} = this._scrollMetrics;
547
+ const distanceFromEnd = contentLength - visibleLength - offset;
548
+
549
+ // Wait until the scroll view metrics have been set up. And until then,
550
+ // we will trust the initialNumToRender suggestion
551
+ if (visibleLength <= 0 || contentLength <= 0) {
552
+ return cellsAroundViewport.last >= getItemCount(data)
553
+ ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)
554
+ : cellsAroundViewport;
555
+ }
556
+
557
+ let newCellsAroundViewport: {first: number, last: number};
558
+ if (props.disableVirtualization) {
559
+ const renderAhead =
560
+ distanceFromEnd < onEndReachedThreshold * visibleLength
561
+ ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch)
562
+ : 0;
563
+
564
+ newCellsAroundViewport = {
565
+ first: 0,
566
+ last: Math.min(
567
+ cellsAroundViewport.last + renderAhead,
568
+ getItemCount(data) - 1,
569
+ ),
570
+ };
571
+ } else {
572
+ // If we have a non-zero initialScrollIndex and run this before we've scrolled,
573
+ // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.
574
+ // So let's wait until we've scrolled the view to the right place. And until then,
575
+ // we will trust the initialScrollIndex suggestion.
576
+
577
+ // Thus, we want to recalculate the windowed render limits if any of the following hold:
578
+ // - initialScrollIndex is undefined or is 0
579
+ // - initialScrollIndex > 0 AND scrolling is complete
580
+ // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case
581
+ // where the list is shorter than the visible area)
582
+ if (
583
+ props.initialScrollIndex &&
584
+ !this._scrollMetrics.offset &&
585
+ Math.abs(distanceFromEnd) >= Number.EPSILON
586
+ ) {
587
+ return cellsAroundViewport.last >= getItemCount(data)
588
+ ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)
589
+ : cellsAroundViewport;
734
590
  }
591
+
592
+ newCellsAroundViewport = computeWindowedRenderLimits(
593
+ props,
594
+ maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch),
595
+ windowSizeOrDefault(props.windowSize),
596
+ cellsAroundViewport,
597
+ this.__getFrameMetricsApprox,
598
+ this._scrollMetrics,
599
+ );
600
+ invariant(
601
+ newCellsAroundViewport.last < getItemCount(data),
602
+ 'computeWindowedRenderLimits() should return range in-bounds',
603
+ );
604
+ }
605
+
606
+ if (this._nestedChildLists.size() > 0) {
607
+ // If some cell in the new state has a child list in it, we should only render
608
+ // up through that item, so that we give that list a chance to render.
609
+ // Otherwise there's churn from multiple child lists mounting and un-mounting
610
+ // their items.
611
+
612
+ // Will this prevent rendering if the nested list doesn't realize the end?
613
+ const childIdx = this._findFirstChildWithMore(
614
+ newCellsAroundViewport.first,
615
+ newCellsAroundViewport.last,
616
+ );
617
+
618
+ newCellsAroundViewport.last = childIdx ?? newCellsAroundViewport.last;
735
619
  }
736
620
 
737
- this.state = initialState;
621
+ return newCellsAroundViewport;
622
+ }
623
+
624
+ _findFirstChildWithMore(first: number, last: number): number | null {
625
+ for (let ii = first; ii <= last; ii++) {
626
+ const cellKeyForIndex = this._indicesToKeys.get(ii);
627
+ if (
628
+ cellKeyForIndex != null &&
629
+ this._nestedChildLists.anyInCell(cellKeyForIndex, childList =>
630
+ childList.hasMore(),
631
+ )
632
+ ) {
633
+ return ii;
634
+ }
635
+ }
636
+
637
+ return null;
738
638
  }
739
639
 
740
640
  componentDidMount() {
741
641
  if (this._isNestedWithSameOrientation()) {
742
642
  this.context.registerAsNestedChild({
743
- cellKey: this._getCellKey(),
744
- key: this._getListKey(),
745
643
  ref: this,
746
- // NOTE: When the child mounts (here) it's not necessarily safe to read
747
- // the parent's props. This is why we explicitly propagate debugInfo
748
- // "down" via context and "up" again via this method call on the
749
- // parent.
750
- parentDebugInfo: this.context.debugInfo,
644
+ cellKey: this.context.cellKey,
751
645
  });
752
646
  }
753
647
  }
754
648
 
755
649
  componentWillUnmount() {
756
650
  if (this._isNestedWithSameOrientation()) {
757
- this.context.unregisterAsNestedChild({
758
- key: this._getListKey(),
759
- state: {
760
- first: this.state.first,
761
- last: this.state.last,
762
- frames: this._frames,
763
- },
764
- });
651
+ this.context.unregisterAsNestedChild({ref: this});
765
652
  }
766
- this._updateViewableItems(null);
767
653
  this._updateCellsToRenderBatcher.dispose({abort: true});
768
654
  this._viewabilityTuples.forEach(tuple => {
769
655
  tuple.viewabilityHelper.dispose();
@@ -772,18 +658,21 @@ class VirtualizedList extends React.PureComponent<Props, State> {
772
658
  }
773
659
 
774
660
  static getDerivedStateFromProps(newProps: Props, prevState: State): State {
775
- const {data, getItemCount} = newProps;
776
- const maxToRenderPerBatch = maxToRenderPerBatchOrDefault(
777
- newProps.maxToRenderPerBatch,
778
- );
779
661
  // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make
780
662
  // sure we're rendering a reasonable range here.
663
+ const itemCount = newProps.getItemCount(newProps.data);
664
+ if (itemCount === prevState.renderMask.numCells()) {
665
+ return prevState;
666
+ }
667
+
668
+ const constrainedCells = VirtualizedList._constrainToItemCount(
669
+ prevState.cellsAroundViewport,
670
+ newProps,
671
+ );
672
+
781
673
  return {
782
- first: Math.max(
783
- 0,
784
- Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch),
785
- ),
786
- last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1)),
674
+ cellsAroundViewport: constrainedCells,
675
+ renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells),
787
676
  };
788
677
  }
789
678
 
@@ -814,7 +703,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
814
703
  last = Math.min(end, last);
815
704
  for (let ii = first; ii <= last; ii++) {
816
705
  const item = getItem(data, ii);
817
- const key = this._keyExtractor(item, ii);
706
+ const key = this._keyExtractor(item, ii, this.props);
818
707
  this._indicesToKeys.set(ii, key);
819
708
  if (stickyIndicesFromProps.has(ii + stickyOffset)) {
820
709
  stickyHeaderIndices.push(cells.length);
@@ -836,6 +725,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
836
725
  prevCellKey={prevCellKey}
837
726
  onCellLayout={this._onCellLayout}
838
727
  onUpdateSeparators={this._onUpdateSeparators}
728
+ onCellFocusCapture={e => this._onCellFocusCapture(key)}
839
729
  onUnmount={this._onCellUnmount}
840
730
  ref={ref => {
841
731
  this._cellRefs[key] = ref;
@@ -847,6 +737,23 @@ class VirtualizedList extends React.PureComponent<Props, State> {
847
737
  }
848
738
  }
849
739
 
740
+ static _constrainToItemCount(
741
+ cells: {first: number, last: number},
742
+ props: Props,
743
+ ): {first: number, last: number} {
744
+ const itemCount = props.getItemCount(props.data);
745
+ const last = Math.min(itemCount - 1, cells.last);
746
+
747
+ const maxToRenderPerBatch = maxToRenderPerBatchOrDefault(
748
+ props.maxToRenderPerBatch,
749
+ );
750
+
751
+ return {
752
+ first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),
753
+ last,
754
+ };
755
+ }
756
+
850
757
  _onUpdateSeparators = (keys: Array<?string>, newProps: Object) => {
851
758
  keys.forEach(key => {
852
759
  const ref = key != null && this._cellRefs[key];
@@ -854,10 +761,6 @@ class VirtualizedList extends React.PureComponent<Props, State> {
854
761
  });
855
762
  };
856
763
 
857
- _isVirtualizationDisabled(): boolean {
858
- return this.props.disableVirtualization || false;
859
- }
860
-
861
764
  _isNestedWithSameOrientation(): boolean {
862
765
  const nestedContext = this.context;
863
766
  return !!(
@@ -869,9 +772,17 @@ class VirtualizedList extends React.PureComponent<Props, State> {
869
772
  _getSpacerKey = (isVertical: boolean): string =>
870
773
  isVertical ? 'height' : 'width';
871
774
 
872
- _keyExtractor(item: Item, index: number) {
873
- if (this.props.keyExtractor != null) {
874
- return this.props.keyExtractor(item, index);
775
+ _keyExtractor(
776
+ item: Item,
777
+ index: number,
778
+ props: {
779
+ keyExtractor?: ?(item: Item, index: number) => string,
780
+ ...
781
+ },
782
+ // $FlowFixMe[missing-local-annot]
783
+ ) {
784
+ if (props.keyExtractor != null) {
785
+ return props.keyExtractor(item, index);
875
786
  }
876
787
 
877
788
  const key = defaultKeyExtractor(item, index);
@@ -897,15 +808,16 @@ class VirtualizedList extends React.PureComponent<Props, State> {
897
808
  const {ListEmptyComponent, ListFooterComponent, ListHeaderComponent} =
898
809
  this.props;
899
810
  const {data, horizontal} = this.props;
900
- const isVirtualizationDisabled = this._isVirtualizationDisabled();
901
811
  const inversionStyle = this.props.inverted
902
812
  ? horizontalOrDefault(this.props.horizontal)
903
813
  ? styles.horizontallyInverted
904
814
  : styles.verticallyInverted
905
815
  : null;
906
- const cells = [];
816
+ const cells: Array<any | React.Node> = [];
907
817
  const stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
908
818
  const stickyHeaderIndices = [];
819
+
820
+ // 1. Add cell for ListHeaderComponent
909
821
  if (ListHeaderComponent) {
910
822
  if (stickyIndicesFromProps.has(0)) {
911
823
  stickyHeaderIndices.push(0);
@@ -935,77 +847,91 @@ class VirtualizedList extends React.PureComponent<Props, State> {
935
847
  </VirtualizedListCellContextProvider>,
936
848
  );
937
849
  }
850
+
851
+ // 2a. Add a cell for ListEmptyComponent if applicable
938
852
  const itemCount = this.props.getItemCount(data);
853
+ if (itemCount === 0 && ListEmptyComponent) {
854
+ const element: React.Element<any> = ((React.isValidElement(
855
+ ListEmptyComponent,
856
+ ) ? (
857
+ ListEmptyComponent
858
+ ) : (
859
+ // $FlowFixMe[not-a-component]
860
+ // $FlowFixMe[incompatible-type-arg]
861
+ <ListEmptyComponent />
862
+ )): any);
863
+ cells.push(
864
+ <VirtualizedListCellContextProvider
865
+ cellKey={this._getCellKey() + '-empty'}
866
+ key="$empty">
867
+ {React.cloneElement(element, {
868
+ onLayout: (event: LayoutEvent) => {
869
+ this._onLayoutEmpty(event);
870
+ if (element.props.onLayout) {
871
+ element.props.onLayout(event);
872
+ }
873
+ },
874
+ style: StyleSheet.compose(inversionStyle, element.props.style),
875
+ })}
876
+ </VirtualizedListCellContextProvider>,
877
+ );
878
+ }
879
+
880
+ // 2b. Add cells and spacers for each item
939
881
  if (itemCount > 0) {
940
882
  _usedIndexForKey = false;
941
883
  _keylessItemComponentName = '';
942
884
  const spacerKey = this._getSpacerKey(!horizontal);
943
- const lastInitialIndex = this.props.initialScrollIndex
944
- ? -1
945
- : initialNumToRenderOrDefault(this.props.initialNumToRender) - 1;
946
- const {first, last} = this.state;
947
- this._pushCells(
948
- cells,
949
- stickyHeaderIndices,
950
- stickyIndicesFromProps,
951
- 0,
952
- lastInitialIndex,
953
- inversionStyle,
954
- );
955
- const firstAfterInitial = Math.max(lastInitialIndex + 1, first);
956
- if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {
957
- let insertedStickySpacer = false;
958
- if (stickyIndicesFromProps.size > 0) {
959
- const stickyOffset = ListHeaderComponent ? 1 : 0;
960
- // See if there are any sticky headers in the virtualized space that we need to render.
961
- for (let ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {
962
- if (stickyIndicesFromProps.has(ii + stickyOffset)) {
963
- const initBlock = this.__getFrameMetricsApprox(lastInitialIndex);
964
- const stickyBlock = this.__getFrameMetricsApprox(ii);
965
- const leadSpace =
966
- stickyBlock.offset -
967
- initBlock.offset -
968
- (this.props.initialScrollIndex ? 0 : initBlock.length);
969
- cells.push(
970
- <View key="$sticky_lead" style={{[spacerKey]: leadSpace}} />,
971
- );
972
- this._pushCells(
973
- cells,
974
- stickyHeaderIndices,
975
- stickyIndicesFromProps,
976
- ii,
977
- ii,
978
- inversionStyle,
979
- );
980
- const trailSpace =
981
- this.__getFrameMetricsApprox(first).offset -
982
- (stickyBlock.offset + stickyBlock.length);
983
- cells.push(
984
- <View key="$sticky_trail" style={{[spacerKey]: trailSpace}} />,
985
- );
986
- insertedStickySpacer = true;
987
- break;
988
- }
885
+
886
+ const renderRegions = this.state.renderMask.enumerateRegions();
887
+ const lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);
888
+
889
+ for (const section of renderRegions) {
890
+ if (section.isSpacer) {
891
+ // Legacy behavior is to avoid spacers when virtualization is
892
+ // disabled (including head spacers on initial render).
893
+ if (this.props.disableVirtualization) {
894
+ continue;
989
895
  }
990
- }
991
- if (!insertedStickySpacer) {
992
- const initBlock = this.__getFrameMetricsApprox(lastInitialIndex);
993
- const firstSpace =
994
- this.__getFrameMetricsApprox(first).offset -
995
- (initBlock.offset + initBlock.length);
896
+
897
+ // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to
898
+ // prevent the user for hyperscrolling into un-measured area because otherwise content will
899
+ // likely jump around as it renders in above the viewport.
900
+ const isLastSpacer = section === lastSpacer;
901
+ const constrainToMeasured = isLastSpacer && !this.props.getItemLayout;
902
+ const last = constrainToMeasured
903
+ ? clamp(
904
+ section.first - 1,
905
+ section.last,
906
+ this._highestMeasuredFrameIndex,
907
+ )
908
+ : section.last;
909
+
910
+ const firstMetrics = this.__getFrameMetricsApprox(
911
+ section.first,
912
+ this.props,
913
+ );
914
+ const lastMetrics = this.__getFrameMetricsApprox(last, this.props);
915
+ const spacerSize =
916
+ lastMetrics.offset + lastMetrics.length - firstMetrics.offset;
996
917
  cells.push(
997
- <View key="$lead_spacer" style={{[spacerKey]: firstSpace}} />,
918
+ <View
919
+ key={`$spacer-${section.first}`}
920
+ style={{[spacerKey]: spacerSize}}
921
+ />,
922
+ );
923
+ } else {
924
+ this._pushCells(
925
+ cells,
926
+ stickyHeaderIndices,
927
+ stickyIndicesFromProps,
928
+ section.first,
929
+ section.last,
930
+ inversionStyle,
998
931
  );
999
932
  }
1000
933
  }
1001
- this._pushCells(
1002
- cells,
1003
- stickyHeaderIndices,
1004
- stickyIndicesFromProps,
1005
- firstAfterInitial,
1006
- last,
1007
- inversionStyle,
1008
- );
934
+
1009
935
  if (!this._hasWarned.keys && _usedIndexForKey) {
1010
936
  console.warn(
1011
937
  'VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' +
@@ -1014,46 +940,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1014
940
  );
1015
941
  this._hasWarned.keys = true;
1016
942
  }
1017
- if (!isVirtualizationDisabled && last < itemCount - 1) {
1018
- const lastFrame = this.__getFrameMetricsApprox(last);
1019
- // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to
1020
- // prevent the user for hyperscrolling into un-measured area because otherwise content will
1021
- // likely jump around as it renders in above the viewport.
1022
- const end = this.props.getItemLayout
1023
- ? itemCount - 1
1024
- : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);
1025
- const endFrame = this.__getFrameMetricsApprox(end);
1026
- const tailSpacerLength =
1027
- endFrame.offset +
1028
- endFrame.length -
1029
- (lastFrame.offset + lastFrame.length);
1030
- cells.push(
1031
- <View key="$tail_spacer" style={{[spacerKey]: tailSpacerLength}} />,
1032
- );
1033
- }
1034
- } else if (ListEmptyComponent) {
1035
- const element: React.Element<any> = ((React.isValidElement(
1036
- ListEmptyComponent,
1037
- ) ? (
1038
- ListEmptyComponent
1039
- ) : (
1040
- // $FlowFixMe[not-a-component]
1041
- // $FlowFixMe[incompatible-type-arg]
1042
- <ListEmptyComponent />
1043
- )): any);
1044
- cells.push(
1045
- React.cloneElement(element, {
1046
- key: '$empty',
1047
- onLayout: event => {
1048
- this._onLayoutEmpty(event);
1049
- if (element.props.onLayout) {
1050
- element.props.onLayout(event);
1051
- }
1052
- },
1053
- style: StyleSheet.compose(inversionStyle, element.props.style),
1054
- }),
1055
- );
1056
943
  }
944
+
945
+ // 3. Add cell for ListFooterComponent
1057
946
  if (ListFooterComponent) {
1058
947
  const element = React.isValidElement(ListFooterComponent) ? (
1059
948
  ListFooterComponent
@@ -1080,6 +969,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1080
969
  </VirtualizedListCellContextProvider>,
1081
970
  );
1082
971
  }
972
+
973
+ // 4. Render the ScrollView
1083
974
  const scrollProps = {
1084
975
  ...this.props,
1085
976
  onContentSizeChange: this._onContentSizeChange,
@@ -1102,8 +993,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1102
993
  : this.props.style,
1103
994
  };
1104
995
 
1105
- this._hasMore =
1106
- this.state.last < this.props.getItemCount(this.props.data) - 1;
996
+ this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;
1107
997
 
1108
998
  const innerRet = (
1109
999
  <VirtualizedListContextProvider
@@ -1112,10 +1002,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1112
1002
  getScrollMetrics: this._getScrollMetrics,
1113
1003
  horizontal: horizontalOrDefault(this.props.horizontal),
1114
1004
  getOutermostParentListRef: this._getOutermostParentListRef,
1115
- getNestedChildState: this._getNestedChildState,
1116
1005
  registerAsNestedChild: this._registerAsNestedChild,
1117
1006
  unregisterAsNestedChild: this._unregisterAsNestedChild,
1118
- debugInfo: this._getDebugInfo(),
1119
1007
  }}>
1120
1008
  <TVFocusGuideView
1121
1009
  trapFocusLeft={
@@ -1153,7 +1041,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1153
1041
  !scrollContext.horizontal ===
1154
1042
  !horizontalOrDefault(this.props.horizontal) &&
1155
1043
  !this._hasWarned.nesting &&
1156
- this.context == null
1044
+ this.context == null &&
1045
+ this.props.scrollEnabled !== false
1157
1046
  ) {
1158
1047
  // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170
1159
1048
  console.error(
@@ -1205,30 +1094,32 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1205
1094
  }
1206
1095
 
1207
1096
  _averageCellLength = 0;
1208
- // Maps a cell key to the set of keys for all outermost child lists within that cell
1209
- _cellKeysToChildListKeys: Map<string, Set<string>> = new Map();
1210
- _cellRefs = {};
1097
+ _cellRefs: {[string]: null | CellRenderer<any>} = {};
1211
1098
  _fillRateHelper: FillRateHelper;
1212
- _frames = {};
1099
+ _frames: {
1100
+ [string]: {
1101
+ inLayout?: boolean,
1102
+ index: number,
1103
+ length: number,
1104
+ offset: number,
1105
+ },
1106
+ } = {};
1213
1107
  _footerLength = 0;
1214
- _hasDoneInitialScroll = false;
1108
+ // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex
1109
+ _hasTriggeredInitialScrollToIndex = false;
1215
1110
  _hasInteracted = false;
1216
1111
  _hasMore = false;
1217
- _hasWarned = {};
1112
+ _hasWarned: {[string]: boolean} = {};
1218
1113
  _headerLength = 0;
1219
1114
  _hiPriInProgress: boolean = false; // flag to prevent infinite hiPri cell limit update
1220
1115
  _highestMeasuredFrameIndex = 0;
1221
1116
  _indicesToKeys: Map<number, string> = new Map();
1222
- _nestedChildLists: Map<
1223
- string,
1224
- {
1225
- ref: ?VirtualizedList,
1226
- state: ?ChildListState,
1227
- ...
1228
- },
1229
- > = new Map();
1117
+ _lastFocusedCellKey: ?string = null;
1118
+ _nestedChildLists: ChildListCollection<VirtualizedList> =
1119
+ new ChildListCollection();
1230
1120
  _offsetFromParentVirtualizedList: number = 0;
1231
1121
  _prevParentOffset: number = 0;
1122
+ // $FlowFixMe[missing-local-annot]
1232
1123
  _scrollMetrics = {
1233
1124
  contentLength: 0,
1234
1125
  dOffset: 0,
@@ -1237,6 +1128,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1237
1128
  timestamp: 0,
1238
1129
  velocity: 0,
1239
1130
  visibleLength: 0,
1131
+ zoomScale: 1,
1240
1132
  };
1241
1133
  _scrollRef: ?React.ElementRef<any> = null;
1242
1134
  _sentEndForContentLength = 0;
@@ -1245,6 +1137,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1245
1137
  _updateCellsToRenderBatcher: Batchinator;
1246
1138
  _viewabilityTuples: Array<ViewabilityHelperCallbackTuple> = [];
1247
1139
 
1140
+ /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
1141
+ * LTI update could not be added via codemod */
1248
1142
  _captureScrollRef = ref => {
1249
1143
  this._scrollRef = ref;
1250
1144
  };
@@ -1252,11 +1146,13 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1252
1146
  _computeBlankness() {
1253
1147
  this._fillRateHelper.computeBlankness(
1254
1148
  this.props,
1255
- this.state,
1149
+ this.state.cellsAroundViewport,
1256
1150
  this._scrollMetrics,
1257
1151
  );
1258
1152
  }
1259
1153
 
1154
+ /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
1155
+ * LTI update could not be added via codemod */
1260
1156
  _defaultRenderScrollComponent = props => {
1261
1157
  const onRefresh = props.onRefresh;
1262
1158
  if (this._isNestedWithSameOrientation()) {
@@ -1271,11 +1167,13 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1271
1167
  );
1272
1168
  return (
1273
1169
  // $FlowFixMe[prop-missing] Invalid prop usage
1170
+ // $FlowFixMe[incompatible-use]
1274
1171
  <ScrollView
1275
1172
  {...props}
1276
1173
  refreshControl={
1277
1174
  props.refreshControl == null ? (
1278
1175
  <RefreshControl
1176
+ // $FlowFixMe[incompatible-type]
1279
1177
  refreshing={props.refreshing}
1280
1178
  onRefresh={onRefresh}
1281
1179
  progressViewOffset={props.progressViewOffset}
@@ -1288,6 +1186,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1288
1186
  );
1289
1187
  } else {
1290
1188
  // $FlowFixMe[prop-missing] Invalid prop usage
1189
+ // $FlowFixMe[incompatible-use]
1291
1190
  return <ScrollView {...props} />;
1292
1191
  }
1293
1192
  };
@@ -1324,9 +1223,25 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1324
1223
  this._triggerRemeasureForChildListsInCell(cellKey);
1325
1224
 
1326
1225
  this._computeBlankness();
1327
- this._updateViewableItems(this.props.data);
1226
+ this._updateViewableItems(this.props, this.state.cellsAroundViewport);
1328
1227
  };
1329
1228
 
1229
+ _onCellFocusCapture(cellKey: string) {
1230
+ this._lastFocusedCellKey = cellKey;
1231
+ const renderMask = VirtualizedList._createRenderMask(
1232
+ this.props,
1233
+ this.state.cellsAroundViewport,
1234
+ this._getNonViewportRenderRegions(this.props),
1235
+ );
1236
+
1237
+ this.setState(state => {
1238
+ if (!renderMask.equals(state.renderMask)) {
1239
+ return {renderMask};
1240
+ }
1241
+ return null;
1242
+ });
1243
+ }
1244
+
1330
1245
  _onCellUnmount = (cellKey: string) => {
1331
1246
  const curr = this._frames[cellKey];
1332
1247
  if (curr) {
@@ -1335,15 +1250,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1335
1250
  };
1336
1251
 
1337
1252
  _triggerRemeasureForChildListsInCell(cellKey: string): void {
1338
- const childListKeys = this._cellKeysToChildListKeys.get(cellKey);
1339
- if (childListKeys) {
1340
- for (let childKey of childListKeys) {
1341
- const childList = this._nestedChildLists.get(childKey);
1342
- childList &&
1343
- childList.ref &&
1344
- childList.ref.measureLayoutRelativeToContainingList();
1345
- }
1346
- }
1253
+ this._nestedChildLists.forEachInCell(cellKey, childList => {
1254
+ childList.measureLayoutRelativeToContainingList();
1255
+ });
1347
1256
  }
1348
1257
 
1349
1258
  measureLayoutRelativeToContainingList(): void {
@@ -1377,15 +1286,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1377
1286
 
1378
1287
  // If metrics of the scrollView changed, then we triggered remeasure for child list
1379
1288
  // to ensure VirtualizedList has the right information.
1380
- this._cellKeysToChildListKeys.forEach(childListKeys => {
1381
- if (childListKeys) {
1382
- for (let childKey of childListKeys) {
1383
- const childList = this._nestedChildLists.get(childKey);
1384
- childList &&
1385
- childList.ref &&
1386
- childList.ref.measureLayoutRelativeToContainingList();
1387
- }
1388
- }
1289
+ this._nestedChildLists.forEach(childList => {
1290
+ childList.measureLayoutRelativeToContainingList();
1389
1291
  });
1390
1292
  }
1391
1293
  },
@@ -1436,6 +1338,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1436
1338
  this._headerLength = this._selectLength(e.nativeEvent.layout);
1437
1339
  };
1438
1340
 
1341
+ // $FlowFixMe[missing-local-annot]
1439
1342
  _renderDebugOverlay() {
1440
1343
  const normalize =
1441
1344
  this._scrollMetrics.visibleLength /
@@ -1443,7 +1346,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1443
1346
  const framesInLayout = [];
1444
1347
  const itemCount = this.props.getItemCount(this.props.data);
1445
1348
  for (let ii = 0; ii < itemCount; ii++) {
1446
- const frame = this.__getFrameMetricsApprox(ii);
1349
+ const frame = this.__getFrameMetricsApprox(ii, this.props);
1447
1350
  /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment
1448
1351
  * suppresses an error found when Flow v0.68 was deployed. To see the
1449
1352
  * error delete this comment and run Flow. */
@@ -1451,8 +1354,14 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1451
1354
  framesInLayout.push(frame);
1452
1355
  }
1453
1356
  }
1454
- const windowTop = this.__getFrameMetricsApprox(this.state.first).offset;
1455
- const frameLast = this.__getFrameMetricsApprox(this.state.last);
1357
+ const windowTop = this.__getFrameMetricsApprox(
1358
+ this.state.cellsAroundViewport.first,
1359
+ this.props,
1360
+ ).offset;
1361
+ const frameLast = this.__getFrameMetricsApprox(
1362
+ this.state.cellsAroundViewport.last,
1363
+ this.props,
1364
+ );
1456
1365
  const windowLen = frameLast.offset + frameLast.length - windowTop;
1457
1366
  const visTop = this._scrollMetrics.offset;
1458
1367
  const visLen = this._scrollMetrics.visibleLength;
@@ -1522,13 +1431,22 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1522
1431
  const {data, getItemCount, onEndReached, onEndReachedThreshold} =
1523
1432
  this.props;
1524
1433
  const {contentLength, visibleLength, offset} = this._scrollMetrics;
1525
- const distanceFromEnd = contentLength - visibleLength - offset;
1434
+ let distanceFromEnd = contentLength - visibleLength - offset;
1435
+
1436
+ // Especially when oERT is zero it's necessary to 'floor' very small distanceFromEnd values to be 0
1437
+ // since debouncing causes us to not fire this event for every single "pixel" we scroll and can thus
1438
+ // be at the "end" of the list with a distanceFromEnd approximating 0 but not quite there.
1439
+ if (distanceFromEnd < ON_END_REACHED_EPSILON) {
1440
+ distanceFromEnd = 0;
1441
+ }
1442
+
1443
+ // TODO: T121172172 Look into why we're "defaulting" to a threshold of 2 when oERT is not present
1526
1444
  const threshold =
1527
1445
  onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : 2;
1528
1446
  if (
1529
1447
  onEndReached &&
1530
- this.state.last === getItemCount(data) - 1 &&
1531
- distanceFromEnd < threshold &&
1448
+ this.state.cellsAroundViewport.last === getItemCount(data) - 1 &&
1449
+ distanceFromEnd <= threshold &&
1532
1450
  this._scrollMetrics.contentLength !== this._sentEndForContentLength
1533
1451
  ) {
1534
1452
  // Only call onEndReached once for a given content length
@@ -1547,7 +1465,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1547
1465
  height > 0 &&
1548
1466
  this.props.initialScrollIndex != null &&
1549
1467
  this.props.initialScrollIndex > 0 &&
1550
- !this._hasDoneInitialScroll
1468
+ !this._hasTriggeredInitialScrollToIndex
1551
1469
  ) {
1552
1470
  if (this.props.contentOffset == null) {
1553
1471
  this.scrollToIndex({
@@ -1555,7 +1473,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1555
1473
  index: this.props.initialScrollIndex,
1556
1474
  });
1557
1475
  }
1558
- this._hasDoneInitialScroll = true;
1476
+ this._hasTriggeredInitialScrollToIndex = true;
1559
1477
  }
1560
1478
  if (this.props.onContentSizeChange) {
1561
1479
  this.props.onContentSizeChange(width, height);
@@ -1572,7 +1490,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1572
1490
  visibleLength: number,
1573
1491
  offset: number,
1574
1492
  ...
1575
- }) => {
1493
+ }): $FlowFixMe => {
1576
1494
  // Offset of the top of the nested list relative to the top of its parent's viewport
1577
1495
  const offset = metrics.offset - this._offsetFromParentVirtualizedList;
1578
1496
  // Child's visible length is the same as its parent's
@@ -1590,7 +1508,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1590
1508
 
1591
1509
  _onScroll = (e: Object) => {
1592
1510
  this._nestedChildLists.forEach(childList => {
1593
- childList.ref && childList.ref._onScroll(e);
1511
+ childList._onScroll(e);
1594
1512
  });
1595
1513
  if (this.props.onScroll) {
1596
1514
  this.props.onScroll(e);
@@ -1633,6 +1551,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1633
1551
  );
1634
1552
  this._hasWarned.perf = true;
1635
1553
  }
1554
+
1555
+ // For invalid negative values (w/ RTL), set this to 1.
1556
+ const zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;
1636
1557
  this._scrollMetrics = {
1637
1558
  contentLength,
1638
1559
  dt,
@@ -1641,8 +1562,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1641
1562
  timestamp,
1642
1563
  velocity,
1643
1564
  visibleLength,
1565
+ zoomScale,
1644
1566
  };
1645
- this._updateViewableItems(this.props.data);
1567
+ this._updateViewableItems(this.props, this.state.cellsAroundViewport);
1646
1568
  if (!this.props) {
1647
1569
  return;
1648
1570
  }
@@ -1655,7 +1577,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1655
1577
  };
1656
1578
 
1657
1579
  _scheduleCellsToRenderUpdate() {
1658
- const {first, last} = this.state;
1580
+ const {first, last} = this.state.cellsAroundViewport;
1659
1581
  const {offset, visibleLength, velocity} = this._scrollMetrics;
1660
1582
  const itemCount = this.props.getItemCount(this.props.data);
1661
1583
  let hiPri = false;
@@ -1666,15 +1588,17 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1666
1588
  // Mark as high priority if we're close to the start of the first item
1667
1589
  // But only if there are items before the first rendered item
1668
1590
  if (first > 0) {
1669
- const distTop = offset - this.__getFrameMetricsApprox(first).offset;
1591
+ const distTop =
1592
+ offset - this.__getFrameMetricsApprox(first, this.props).offset;
1670
1593
  hiPri =
1671
1594
  hiPri || distTop < 0 || (velocity < -2 && distTop < scrollingThreshold);
1672
1595
  }
1673
1596
  // Mark as high priority if we're close to the end of the last item
1674
1597
  // But only if there are items after the last rendered item
1675
- if (last < itemCount - 1) {
1598
+ if (last >= 0 && last < itemCount - 1) {
1676
1599
  const distBottom =
1677
- this.__getFrameMetricsApprox(last).offset - (offset + visibleLength);
1600
+ this.__getFrameMetricsApprox(last, this.props).offset -
1601
+ (offset + visibleLength);
1678
1602
  hiPri =
1679
1603
  hiPri ||
1680
1604
  distBottom < 0 ||
@@ -1703,9 +1627,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1703
1627
  }
1704
1628
  }
1705
1629
 
1706
- _onScrollBeginDrag = (e): void => {
1630
+ _onScrollBeginDrag = (e: ScrollEvent): void => {
1707
1631
  this._nestedChildLists.forEach(childList => {
1708
- childList.ref && childList.ref._onScrollBeginDrag(e);
1632
+ childList._onScrollBeginDrag(e);
1709
1633
  });
1710
1634
  this._viewabilityTuples.forEach(tuple => {
1711
1635
  tuple.viewabilityHelper.recordInteraction();
@@ -1714,9 +1638,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1714
1638
  this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);
1715
1639
  };
1716
1640
 
1717
- _onScrollEndDrag = (e): void => {
1641
+ _onScrollEndDrag = (e: ScrollEvent): void => {
1718
1642
  this._nestedChildLists.forEach(childList => {
1719
- childList.ref && childList.ref._onScrollEndDrag(e);
1643
+ childList._onScrollEndDrag(e);
1720
1644
  });
1721
1645
  const {velocity} = e.nativeEvent;
1722
1646
  if (velocity) {
@@ -1726,16 +1650,16 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1726
1650
  this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);
1727
1651
  };
1728
1652
 
1729
- _onMomentumScrollBegin = (e): void => {
1653
+ _onMomentumScrollBegin = (e: ScrollEvent): void => {
1730
1654
  this._nestedChildLists.forEach(childList => {
1731
- childList.ref && childList.ref._onMomentumScrollBegin(e);
1655
+ childList._onMomentumScrollBegin(e);
1732
1656
  });
1733
1657
  this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);
1734
1658
  };
1735
1659
 
1736
- _onMomentumScrollEnd = (e): void => {
1660
+ _onMomentumScrollEnd = (e: ScrollEvent): void => {
1737
1661
  this._nestedChildLists.forEach(childList => {
1738
- childList.ref && childList.ref._onMomentumScrollEnd(e);
1662
+ childList._onMomentumScrollEnd(e);
1739
1663
  });
1740
1664
  this._scrollMetrics.velocity = 0;
1741
1665
  this._computeBlankness();
@@ -1743,119 +1667,80 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1743
1667
  };
1744
1668
 
1745
1669
  _updateCellsToRender = () => {
1746
- const {
1747
- data,
1748
- getItemCount,
1749
- onEndReachedThreshold: _onEndReachedThreshold,
1750
- } = this.props;
1751
- const onEndReachedThreshold = onEndReachedThresholdOrDefault(
1752
- _onEndReachedThreshold,
1753
- );
1754
- const isVirtualizationDisabled = this._isVirtualizationDisabled();
1755
- this._updateViewableItems(data);
1756
- if (!data) {
1757
- return;
1758
- }
1759
- this.setState(state => {
1760
- let newState: ?(
1761
- | {first: number, last: number, ...}
1762
- | $TEMPORARY$object<{first: number, last: number}>
1670
+ this.setState((state, props) => {
1671
+ const cellsAroundViewport = this._adjustCellsAroundViewport(
1672
+ props,
1673
+ state.cellsAroundViewport,
1763
1674
  );
1764
- const {contentLength, offset, visibleLength} = this._scrollMetrics;
1765
- if (!isVirtualizationDisabled) {
1766
- // If we run this with bogus data, we'll force-render window {first: 0, last: 0},
1767
- // and wipe out the initialNumToRender rendered elements.
1768
- // So let's wait until the scroll view metrics have been set up. And until then,
1769
- // we will trust the initialNumToRender suggestion
1770
- if (visibleLength > 0 && contentLength > 0) {
1771
- // If we have a positive non-zero initialScrollIndex and run this before we've scrolled,
1772
- // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.
1773
- // So let's wait until we've scrolled the view to the right place. And until then,
1774
- // we will trust the initialScrollIndex suggestion.
1775
- if (
1776
- !(this.props.initialScrollIndex > 0) ||
1777
- this._hasDoneInitialScroll
1778
- ) {
1779
- newState = computeWindowedRenderLimits(
1780
- this.props.data,
1781
- this.props.getItemCount,
1782
- maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch),
1783
- windowSizeOrDefault(this.props.windowSize),
1784
- state,
1785
- this.__getFrameMetricsApprox,
1786
- this._scrollMetrics,
1787
- );
1788
- }
1789
- }
1790
- } else {
1791
- const distanceFromEnd = contentLength - visibleLength - offset;
1792
- const renderAhead =
1793
- distanceFromEnd < onEndReachedThreshold * visibleLength
1794
- ? maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)
1795
- : 0;
1796
- newState = {
1797
- first: 0,
1798
- last: Math.min(state.last + renderAhead, getItemCount(data) - 1),
1799
- };
1800
- }
1801
- if (newState && this._nestedChildLists.size > 0) {
1802
- const newFirst = newState.first;
1803
- const newLast = newState.last;
1804
- // If some cell in the new state has a child list in it, we should only render
1805
- // up through that item, so that we give that list a chance to render.
1806
- // Otherwise there's churn from multiple child lists mounting and un-mounting
1807
- // their items.
1808
- for (let ii = newFirst; ii <= newLast; ii++) {
1809
- const cellKeyForIndex = this._indicesToKeys.get(ii);
1810
- const childListKeys =
1811
- cellKeyForIndex &&
1812
- this._cellKeysToChildListKeys.get(cellKeyForIndex);
1813
- if (!childListKeys) {
1814
- continue;
1815
- }
1816
- let someChildHasMore = false;
1817
- // For each cell, need to check whether any child list in it has more elements to render
1818
- for (let childKey of childListKeys) {
1819
- const childList = this._nestedChildLists.get(childKey);
1820
- if (childList && childList.ref && childList.ref.hasMore()) {
1821
- someChildHasMore = true;
1822
- break;
1823
- }
1824
- }
1825
- if (someChildHasMore) {
1826
- newState.last = ii;
1827
- break;
1828
- }
1829
- }
1830
- }
1675
+ const renderMask = VirtualizedList._createRenderMask(
1676
+ props,
1677
+ cellsAroundViewport,
1678
+ this._getNonViewportRenderRegions(props),
1679
+ );
1680
+
1831
1681
  if (
1832
- newState != null &&
1833
- newState.first === state.first &&
1834
- newState.last === state.last
1682
+ cellsAroundViewport.first === state.cellsAroundViewport.first &&
1683
+ cellsAroundViewport.last === state.cellsAroundViewport.last &&
1684
+ renderMask.equals(state.renderMask)
1835
1685
  ) {
1836
- newState = null;
1686
+ return null;
1837
1687
  }
1838
- return newState;
1688
+
1689
+ return {cellsAroundViewport, renderMask};
1839
1690
  });
1840
1691
  };
1841
1692
 
1842
- _createViewToken = (index: number, isViewable: boolean) => {
1843
- const {data, getItem} = this.props;
1693
+ _createViewToken = (
1694
+ index: number,
1695
+ isViewable: boolean,
1696
+ props: FrameMetricProps,
1697
+ // $FlowFixMe[missing-local-annot]
1698
+ ) => {
1699
+ const {data, getItem} = props;
1844
1700
  const item = getItem(data, index);
1845
- return {index, item, key: this._keyExtractor(item, index), isViewable};
1701
+ return {
1702
+ index,
1703
+ item,
1704
+ key: this._keyExtractor(item, index, props),
1705
+ isViewable,
1706
+ };
1707
+ };
1708
+
1709
+ /**
1710
+ * Gets an approximate offset to an item at a given index. Supports
1711
+ * fractional indices.
1712
+ */
1713
+ _getOffsetApprox = (index: number, props: FrameMetricProps): number => {
1714
+ if (Number.isInteger(index)) {
1715
+ return this.__getFrameMetricsApprox(index, props).offset;
1716
+ } else {
1717
+ const frameMetrics = this.__getFrameMetricsApprox(
1718
+ Math.floor(index),
1719
+ props,
1720
+ );
1721
+ const remainder = index - Math.floor(index);
1722
+ return frameMetrics.offset + remainder * frameMetrics.length;
1723
+ }
1846
1724
  };
1847
1725
 
1848
- __getFrameMetricsApprox: (index: number) => {
1726
+ __getFrameMetricsApprox: (
1727
+ index: number,
1728
+ props: FrameMetricProps,
1729
+ ) => {
1849
1730
  length: number,
1850
1731
  offset: number,
1851
1732
  ...
1852
- } = index => {
1853
- const frame = this._getFrameMetrics(index);
1733
+ } = (index, props) => {
1734
+ const frame = this._getFrameMetrics(index, props);
1854
1735
  if (frame && frame.index === index) {
1855
1736
  // check for invalid frames due to row re-ordering
1856
1737
  return frame;
1857
1738
  } else {
1858
- const {getItemLayout} = this.props;
1739
+ const {data, getItemCount, getItemLayout} = props;
1740
+ invariant(
1741
+ index >= 0 && index < getItemCount(data),
1742
+ 'Tried to get frame for out of range index ' + index,
1743
+ );
1859
1744
  invariant(
1860
1745
  !getItemLayout,
1861
1746
  'Should not have to estimate frames when a measurement metrics function is provided',
@@ -1869,6 +1754,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1869
1754
 
1870
1755
  _getFrameMetrics = (
1871
1756
  index: number,
1757
+ props: FrameMetricProps,
1872
1758
  ): ?{
1873
1759
  length: number,
1874
1760
  offset: number,
@@ -1876,271 +1762,101 @@ class VirtualizedList extends React.PureComponent<Props, State> {
1876
1762
  inLayout?: boolean,
1877
1763
  ...
1878
1764
  } => {
1879
- const {data, getItem, getItemCount, getItemLayout} = this.props;
1765
+ const {data, getItem, getItemCount, getItemLayout} = props;
1880
1766
  invariant(
1881
- getItemCount(data) > index,
1767
+ index >= 0 && index < getItemCount(data),
1882
1768
  'Tried to get frame for out of range index ' + index,
1883
1769
  );
1884
1770
  const item = getItem(data, index);
1885
- let frame = item && this._frames[this._keyExtractor(item, index)];
1771
+ const frame = item && this._frames[this._keyExtractor(item, index, props)];
1886
1772
  if (!frame || frame.index !== index) {
1887
1773
  if (getItemLayout) {
1888
- frame = getItemLayout(data, index);
1774
+ /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment
1775
+ * suppresses an error found when Flow v0.63 was deployed. To see the error
1776
+ * delete this comment and run Flow. */
1777
+ return getItemLayout(data, index);
1889
1778
  }
1890
1779
  }
1891
- /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment
1892
- * suppresses an error found when Flow v0.63 was deployed. To see the error
1893
- * delete this comment and run Flow. */
1894
1780
  return frame;
1895
1781
  };
1896
1782
 
1897
- _updateViewableItems(data: any) {
1898
- const {getItemCount} = this.props;
1783
+ _getNonViewportRenderRegions = (
1784
+ props: FrameMetricProps,
1785
+ ): $ReadOnlyArray<{
1786
+ first: number,
1787
+ last: number,
1788
+ }> => {
1789
+ // Keep a viewport's worth of content around the last focused cell to allow
1790
+ // random navigation around it without any blanking. E.g. tabbing from one
1791
+ // focused item out of viewport to another.
1792
+ if (
1793
+ !(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])
1794
+ ) {
1795
+ return [];
1796
+ }
1797
+
1798
+ const lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];
1799
+ const focusedCellIndex = lastFocusedCellRenderer.props.index;
1800
+ const itemCount = props.getItemCount(props.data);
1801
+
1802
+ // The cell may have been unmounted and have a stale index
1803
+ if (
1804
+ focusedCellIndex >= itemCount ||
1805
+ this._indicesToKeys.get(focusedCellIndex) !== this._lastFocusedCellKey
1806
+ ) {
1807
+ return [];
1808
+ }
1809
+
1810
+ let first = focusedCellIndex;
1811
+ let heightOfCellsBeforeFocused = 0;
1812
+ for (
1813
+ let i = first - 1;
1814
+ i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength;
1815
+ i--
1816
+ ) {
1817
+ first--;
1818
+ heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(
1819
+ i,
1820
+ props,
1821
+ ).length;
1822
+ }
1823
+
1824
+ let last = focusedCellIndex;
1825
+ let heightOfCellsAfterFocused = 0;
1826
+ for (
1827
+ let i = last + 1;
1828
+ i < itemCount &&
1829
+ heightOfCellsAfterFocused < this._scrollMetrics.visibleLength;
1830
+ i++
1831
+ ) {
1832
+ last++;
1833
+ heightOfCellsAfterFocused += this.__getFrameMetricsApprox(
1834
+ i,
1835
+ props,
1836
+ ).length;
1837
+ }
1838
+
1839
+ return [{first, last}];
1840
+ };
1899
1841
 
1842
+ _updateViewableItems(
1843
+ props: FrameMetricProps,
1844
+ cellsAroundViewport: {first: number, last: number},
1845
+ ) {
1900
1846
  this._viewabilityTuples.forEach(tuple => {
1901
1847
  tuple.viewabilityHelper.onUpdate(
1902
- getItemCount(data),
1848
+ props,
1903
1849
  this._scrollMetrics.offset,
1904
1850
  this._scrollMetrics.visibleLength,
1905
1851
  this._getFrameMetrics,
1906
1852
  this._createViewToken,
1907
1853
  tuple.onViewableItemsChanged,
1908
- this.state,
1854
+ cellsAroundViewport,
1909
1855
  );
1910
1856
  });
1911
1857
  }
1912
1858
  }
1913
1859
 
1914
- type CellRendererProps = {
1915
- CellRendererComponent?: ?React.ComponentType<any>,
1916
- ItemSeparatorComponent: ?React.ComponentType<
1917
- any | {highlighted: boolean, leadingItem: ?Item},
1918
- >,
1919
- ListItemComponent?: ?(React.ComponentType<any> | React.Element<any>),
1920
- cellKey: string,
1921
- debug?: ?boolean,
1922
- fillRateHelper: FillRateHelper,
1923
- getItemLayout?: (
1924
- data: any,
1925
- index: number,
1926
- ) => {
1927
- length: number,
1928
- offset: number,
1929
- index: number,
1930
- ...
1931
- },
1932
- horizontal: ?boolean,
1933
- index: number,
1934
- inversionStyle: ViewStyleProp,
1935
- item: Item,
1936
- // This is extracted by ScrollViewStickyHeader
1937
- onCellLayout: (event: Object, cellKey: string, index: number) => void,
1938
- onUnmount: (cellKey: string) => void,
1939
- onUpdateSeparators: (cellKeys: Array<?string>, props: Object) => void,
1940
- prevCellKey: ?string,
1941
- renderItem?: ?RenderItemType<Item>,
1942
- ...
1943
- };
1944
-
1945
- type CellRendererState = {
1946
- separatorProps: $ReadOnly<{|
1947
- highlighted: boolean,
1948
- leadingItem: ?Item,
1949
- |}>,
1950
- ...
1951
- };
1952
-
1953
- class CellRenderer extends React.Component<
1954
- CellRendererProps,
1955
- CellRendererState,
1956
- > {
1957
- state = {
1958
- separatorProps: {
1959
- highlighted: false,
1960
- leadingItem: this.props.item,
1961
- },
1962
- };
1963
-
1964
- static getDerivedStateFromProps(
1965
- props: CellRendererProps,
1966
- prevState: CellRendererState,
1967
- ): ?CellRendererState {
1968
- return {
1969
- separatorProps: {
1970
- ...prevState.separatorProps,
1971
- leadingItem: props.item,
1972
- },
1973
- };
1974
- }
1975
-
1976
- // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not
1977
- // reused by SectionList and we can keep VirtualizedList simpler.
1978
- _separators = {
1979
- highlight: () => {
1980
- const {cellKey, prevCellKey} = this.props;
1981
- this.props.onUpdateSeparators([cellKey, prevCellKey], {
1982
- highlighted: true,
1983
- });
1984
- },
1985
- unhighlight: () => {
1986
- const {cellKey, prevCellKey} = this.props;
1987
- this.props.onUpdateSeparators([cellKey, prevCellKey], {
1988
- highlighted: false,
1989
- });
1990
- },
1991
- updateProps: (select: 'leading' | 'trailing', newProps: Object) => {
1992
- const {cellKey, prevCellKey} = this.props;
1993
- this.props.onUpdateSeparators(
1994
- [select === 'leading' ? prevCellKey : cellKey],
1995
- newProps,
1996
- );
1997
- },
1998
- };
1999
-
2000
- updateSeparatorProps(newProps: Object) {
2001
- this.setState(state => ({
2002
- separatorProps: {...state.separatorProps, ...newProps},
2003
- }));
2004
- }
2005
-
2006
- componentWillUnmount() {
2007
- this.props.onUnmount(this.props.cellKey);
2008
- }
2009
-
2010
- _onLayout = (nativeEvent: LayoutEvent): void => {
2011
- this.props.onCellLayout &&
2012
- this.props.onCellLayout(
2013
- nativeEvent,
2014
- this.props.cellKey,
2015
- this.props.index,
2016
- );
2017
- };
2018
-
2019
- _renderElement(renderItem, ListItemComponent, item, index) {
2020
- if (renderItem && ListItemComponent) {
2021
- console.warn(
2022
- 'VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' +
2023
- ' precedence over renderItem.',
2024
- );
2025
- }
2026
-
2027
- if (ListItemComponent) {
2028
- /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This
2029
- * comment suppresses an error found when Flow v0.108 was deployed. To
2030
- * see the error, delete this comment and run Flow. */
2031
- /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)
2032
- * This comment suppresses an error found when Flow v0.108 was deployed.
2033
- * To see the error, delete this comment and run Flow. */
2034
- return React.createElement(ListItemComponent, {
2035
- item,
2036
- index,
2037
- separators: this._separators,
2038
- });
2039
- }
2040
-
2041
- if (renderItem) {
2042
- return renderItem({
2043
- item,
2044
- index,
2045
- separators: this._separators,
2046
- });
2047
- }
2048
-
2049
- invariant(
2050
- false,
2051
- 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.',
2052
- );
2053
- }
2054
-
2055
- render() {
2056
- const {
2057
- CellRendererComponent,
2058
- ItemSeparatorComponent,
2059
- ListItemComponent,
2060
- debug,
2061
- fillRateHelper,
2062
- getItemLayout,
2063
- horizontal,
2064
- item,
2065
- index,
2066
- inversionStyle,
2067
- renderItem,
2068
- } = this.props;
2069
- const element = this._renderElement(
2070
- renderItem,
2071
- ListItemComponent,
2072
- item,
2073
- index,
2074
- );
2075
-
2076
- const onLayout =
2077
- (getItemLayout && !debug && !fillRateHelper.enabled()) ||
2078
- !this.props.onCellLayout
2079
- ? undefined
2080
- : this._onLayout;
2081
- // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and
2082
- // called explicitly by `ScrollViewStickyHeader`.
2083
- const itemSeparator = ItemSeparatorComponent && (
2084
- <ItemSeparatorComponent {...this.state.separatorProps} />
2085
- );
2086
- const cellStyle = inversionStyle
2087
- ? horizontal
2088
- ? [styles.rowReverse, inversionStyle]
2089
- : [styles.columnReverse, inversionStyle]
2090
- : horizontal
2091
- ? [styles.row, inversionStyle]
2092
- : inversionStyle;
2093
- const result = !CellRendererComponent ? (
2094
- /* $FlowFixMe[incompatible-type-arg] (>=0.89.0 site=react_native_fb) *
2095
- This comment suppresses an error found when Flow v0.89 was deployed. *
2096
- To see the error, delete this comment and run Flow. */
2097
- <View style={cellStyle} onLayout={onLayout}>
2098
- {element}
2099
- {itemSeparator}
2100
- </View>
2101
- ) : (
2102
- <CellRendererComponent
2103
- {...this.props}
2104
- style={cellStyle}
2105
- onLayout={onLayout}>
2106
- {element}
2107
- {itemSeparator}
2108
- </CellRendererComponent>
2109
- );
2110
-
2111
- return (
2112
- <VirtualizedListCellContextProvider cellKey={this.props.cellKey}>
2113
- {result}
2114
- </VirtualizedListCellContextProvider>
2115
- );
2116
- }
2117
- }
2118
-
2119
- function describeNestedLists(childList: {
2120
- +cellKey: string,
2121
- +key: string,
2122
- +ref: VirtualizedList,
2123
- +parentDebugInfo: ListDebugInfo,
2124
- +horizontal: boolean,
2125
- ...
2126
- }) {
2127
- let trace =
2128
- 'VirtualizedList trace:\n' +
2129
- ` Child (${childList.horizontal ? 'horizontal' : 'vertical'}):\n` +
2130
- ` listKey: ${childList.key}\n` +
2131
- ` cellKey: ${childList.cellKey}`;
2132
-
2133
- let debugInfo: ?ListDebugInfo = childList.parentDebugInfo;
2134
- while (debugInfo) {
2135
- trace +=
2136
- `\n Parent (${debugInfo.horizontal ? 'horizontal' : 'vertical'}):\n` +
2137
- ` listKey: ${debugInfo.listKey}\n` +
2138
- ` cellKey: ${debugInfo.cellKey}`;
2139
- debugInfo = debugInfo.parent;
2140
- }
2141
- return trace;
2142
- }
2143
-
2144
1860
  const styles = StyleSheet.create({
2145
1861
  verticallyInverted: {
2146
1862
  transform: [{scaleY: -1}],
@@ -2148,15 +1864,6 @@ const styles = StyleSheet.create({
2148
1864
  horizontallyInverted: {
2149
1865
  transform: [{scaleX: -1}],
2150
1866
  },
2151
- row: {
2152
- flexDirection: 'row',
2153
- },
2154
- rowReverse: {
2155
- flexDirection: 'row-reverse',
2156
- },
2157
- columnReverse: {
2158
- flexDirection: 'column-reverse',
2159
- },
2160
1867
  debug: {
2161
1868
  flex: 1,
2162
1869
  },
@@ -2186,5 +1893,3 @@ const styles = StyleSheet.create({
2186
1893
  borderWidth: 2,
2187
1894
  },
2188
1895
  });
2189
-
2190
- module.exports = VirtualizedList;