react-native-tvos 0.64.2-2 → 0.66.3-0

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 (1783) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +0 -2
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +0 -2
  3. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +2 -2
  4. package/Libraries/Alert/Alert.js +3 -5
  5. package/Libraries/Alert/NativeAlertManager.js +0 -2
  6. package/Libraries/Alert/RCTAlertManager.android.js +0 -2
  7. package/Libraries/Alert/RCTAlertManager.ios.js +0 -2
  8. package/Libraries/Animated/Animated.js +0 -2
  9. package/Libraries/Animated/AnimatedEvent.js +4 -3
  10. package/Libraries/Animated/AnimatedImplementation.js +0 -2
  11. package/Libraries/Animated/AnimatedMock.js +1 -8
  12. package/Libraries/Animated/AnimatedWeb.js +6 -3
  13. package/Libraries/Animated/NativeAnimatedHelper.js +9 -6
  14. package/Libraries/Animated/NativeAnimatedModule.js +0 -2
  15. package/Libraries/Animated/NativeAnimatedTurboModule.js +0 -2
  16. package/Libraries/Animated/animations/Animation.js +1 -0
  17. package/Libraries/Animated/animations/DecayAnimation.js +2 -0
  18. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  19. package/Libraries/Animated/animations/TimingAnimation.js +3 -0
  20. package/Libraries/Animated/components/AnimatedFlatList.js +0 -2
  21. package/Libraries/Animated/components/AnimatedImage.js +3 -5
  22. package/Libraries/Animated/components/AnimatedScrollView.js +3 -5
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -3
  24. package/Libraries/Animated/components/AnimatedText.js +3 -5
  25. package/Libraries/Animated/components/AnimatedView.js +3 -3
  26. package/Libraries/Animated/createAnimatedComponent.js +48 -29
  27. package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
  28. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
  29. package/Libraries/Animated/nodes/AnimatedInterpolation.js +21 -22
  30. package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
  31. package/Libraries/Animated/nodes/AnimatedValue.js +24 -5
  32. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
  33. package/Libraries/Animated/useAnimatedProps.js +211 -0
  34. package/Libraries/AppState/AppState.js +116 -132
  35. package/Libraries/AppState/NativeAppState.js +0 -2
  36. package/Libraries/BatchedBridge/MessageQueue.js +19 -14
  37. package/Libraries/BatchedBridge/NativeModules.js +5 -1
  38. package/Libraries/Blob/BlobManager.js +0 -2
  39. package/Libraries/Blob/FileReader.js +1 -3
  40. package/Libraries/Blob/NativeBlobModule.js +0 -2
  41. package/Libraries/Blob/NativeFileReaderModule.js +0 -2
  42. package/Libraries/Blob/RCTBlobManager.h +2 -1
  43. package/Libraries/Blob/RCTBlobManager.mm +10 -12
  44. package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
  45. package/Libraries/Blob/RCTFileReaderModule.mm +3 -9
  46. package/Libraries/Blob/React-RCTBlob.podspec +3 -3
  47. package/Libraries/Blob/URL.js +17 -19
  48. package/Libraries/BugReporting/BugReporting.js +2 -2
  49. package/Libraries/BugReporting/getReactData.js +2 -2
  50. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +350 -0
  51. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -2
  52. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +0 -2
  53. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +35 -0
  54. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  55. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +22 -21
  56. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +0 -2
  57. package/Libraries/Components/AppleTV/TVFocusGuideView.js +24 -1
  58. package/Libraries/Components/Button.js +42 -15
  59. package/Libraries/Components/Clipboard/Clipboard.js +0 -2
  60. package/Libraries/Components/Clipboard/NativeClipboard.js +0 -2
  61. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
  62. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +48 -9
  63. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -2
  64. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -2
  65. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +0 -2
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +0 -2
  68. package/Libraries/Components/Keyboard/Keyboard.js +52 -57
  69. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -22
  70. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +0 -2
  71. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
  72. package/Libraries/Components/Pressable/Pressable.js +22 -8
  73. package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -17
  74. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +15 -13
  75. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +0 -2
  76. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
  77. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -5
  78. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -2
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -12
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +9 -3
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +7 -26
  82. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  83. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +0 -2
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
  85. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +9 -26
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +31 -45
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +12 -26
  88. package/Libraries/Components/ScrollView/ScrollView.js +786 -232
  89. package/Libraries/Components/ScrollView/ScrollViewContext.js +3 -3
  90. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +75 -21
  91. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -12
  92. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +256 -242
  93. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +13 -5
  94. package/Libraries/Components/ScrollView/processDecelerationRate.js +0 -2
  95. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -2
  96. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
  97. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +17 -11
  98. package/Libraries/Components/Slider/Slider.js +20 -9
  99. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -2
  100. package/Libraries/Components/Sound/NativeSoundManager.js +0 -2
  101. package/Libraries/Components/Sound/SoundManager.js +0 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +0 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +0 -2
  104. package/Libraries/Components/StatusBar/StatusBar.js +10 -21
  105. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +0 -2
  106. package/Libraries/Components/Switch/Switch.js +102 -122
  107. package/Libraries/Components/Switch/SwitchNativeComponent.js +0 -2
  108. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +14 -20
  109. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +7 -5
  110. package/Libraries/Components/TextInput/InputAccessoryView.js +6 -8
  111. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +0 -2
  112. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +6 -5
  113. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -16
  114. package/Libraries/Components/TextInput/{RCTSinglelineTextInputViewConfig.js → RCTTextInputViewConfig.js} +3 -5
  115. package/Libraries/Components/TextInput/TextInput.js +289 -227
  116. package/Libraries/Components/TextInput/TextInputNativeCommands.js +0 -2
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -3
  118. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +0 -2
  119. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +0 -1
  120. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
  121. package/Libraries/Components/Touchable/PooledClass.js +1 -2
  122. package/Libraries/Components/Touchable/Position.js +1 -2
  123. package/Libraries/Components/Touchable/Touchable.js +30 -59
  124. package/Libraries/Components/Touchable/TouchableBounce.js +0 -2
  125. package/Libraries/Components/Touchable/TouchableHighlight.js +23 -7
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +16 -5
  127. package/Libraries/Components/Touchable/TouchableOpacity.js +19 -8
  128. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +13 -4
  129. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +1 -2
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +0 -2
  131. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
  132. package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
  133. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
  134. package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -11
  135. package/Libraries/Components/View/View.js +2 -4
  136. package/Libraries/Components/View/ViewAccessibility.js +3 -0
  137. package/Libraries/Components/View/ViewNativeComponent.js +17 -62
  138. package/Libraries/Core/Devtools/getDevServer.js +0 -2
  139. package/Libraries/Core/Devtools/parseErrorStack.js +0 -9
  140. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  141. package/Libraries/Core/ExceptionsManager.js +48 -40
  142. package/Libraries/Core/ExtendedError.js +19 -0
  143. package/Libraries/Core/InitializeCore.js +1 -0
  144. package/Libraries/Core/NativeExceptionsManager.js +0 -2
  145. package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
  146. package/Libraries/Core/ReactNativeVersion.js +2 -2
  147. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  148. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +0 -2
  149. package/Libraries/Core/Timers/JSTimers.js +41 -58
  150. package/Libraries/Core/Timers/NativeTiming.js +0 -2
  151. package/Libraries/Core/Timers/immediateShim.js +67 -0
  152. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  153. package/Libraries/Core/polyfillPromise.js +1 -1
  154. package/Libraries/Core/setUpDeveloperTools.js +53 -58
  155. package/Libraries/Core/setUpReactDevTools.js +18 -1
  156. package/Libraries/Core/setUpReactRefresh.js +3 -1
  157. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  158. package/Libraries/Core/setUpTimers.js +64 -5
  159. package/Libraries/Core/setUpXHR.js +4 -4
  160. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
  161. package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
  162. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
  163. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
  164. package/Libraries/EventEmitter/NativeEventEmitter.js +100 -47
  165. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -70
  166. package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
  167. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +0 -2
  168. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +31 -8
  169. package/Libraries/FBLazyVector/BUCK +5 -1
  170. package/Libraries/FBLazyVector/FBLazyVector.podspec +2 -2
  171. package/Libraries/HeapCapture/HeapCapture.js +0 -2
  172. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -2
  173. package/Libraries/Image/AssetSourceResolver.js +8 -16
  174. package/Libraries/Image/AssetUtils.js +48 -0
  175. package/Libraries/Image/Image.android.js +43 -132
  176. package/Libraries/Image/Image.ios.js +58 -29
  177. package/Libraries/Image/ImageAnalyticsTagContext.js +4 -2
  178. package/Libraries/Image/ImageBackground.js +2 -2
  179. package/Libraries/Image/ImageInjection.js +28 -0
  180. package/Libraries/Image/ImagePickerIOS.js +0 -2
  181. package/Libraries/Image/ImageSource.js +57 -14
  182. package/Libraries/Image/ImageViewNativeComponent.js +70 -27
  183. package/Libraries/Image/NativeImageEditor.js +0 -2
  184. package/Libraries/Image/NativeImageLoaderAndroid.js +0 -2
  185. package/Libraries/Image/NativeImageLoaderIOS.js +6 -2
  186. package/Libraries/Image/NativeImagePickerIOS.js +0 -2
  187. package/Libraries/Image/NativeImageStoreAndroid.js +0 -2
  188. package/Libraries/Image/NativeImageStoreIOS.js +0 -2
  189. package/Libraries/Image/RCTAnimatedImage.m +6 -3
  190. package/Libraries/Image/RCTGIFImageDecoder.mm +6 -0
  191. package/Libraries/Image/RCTImageBlurUtils.m +17 -11
  192. package/Libraries/Image/RCTImageEditingManager.mm +4 -4
  193. package/Libraries/Image/RCTImageLoader.h +2 -2
  194. package/Libraries/Image/RCTImageLoader.mm +31 -30
  195. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -5
  196. package/Libraries/Image/RCTImagePlugins.mm +4 -3
  197. package/Libraries/Image/RCTImageStoreManager.mm +5 -5
  198. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -0
  199. package/Libraries/Image/RCTLocalAssetImageLoader.mm +5 -0
  200. package/Libraries/Image/React-RCTImage.podspec +3 -3
  201. package/Libraries/Image/TextInlineImageNativeComponent.js +84 -2
  202. package/Libraries/Image/nativeImageSource.js +0 -2
  203. package/Libraries/Image/resolveAssetSource.js +2 -1
  204. package/Libraries/Inspector/ElementProperties.js +1 -1
  205. package/Libraries/Inspector/Inspector.js +13 -4
  206. package/Libraries/Inspector/InspectorPanel.js +1 -1
  207. package/Libraries/Interaction/FrameRateLogger.js +0 -2
  208. package/Libraries/Interaction/InteractionManager.js +7 -6
  209. package/Libraries/Interaction/InteractionMixin.js +1 -2
  210. package/Libraries/Interaction/PanResponder.js +1 -1
  211. package/Libraries/LayoutAnimation/LayoutAnimation.js +53 -17
  212. package/Libraries/Linking/Linking.js +19 -10
  213. package/Libraries/Linking/NativeIntentAndroid.js +0 -2
  214. package/Libraries/Linking/NativeLinkingManager.js +0 -2
  215. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
  216. package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
  217. package/Libraries/Lists/CellRenderMask.js +145 -0
  218. package/Libraries/Lists/FillRateHelper.js +1 -1
  219. package/Libraries/Lists/FlatList.js +80 -52
  220. package/Libraries/Lists/SectionList.js +20 -23
  221. package/Libraries/Lists/SectionListModern.js +249 -0
  222. package/Libraries/Lists/ViewabilityHelper.js +9 -9
  223. package/Libraries/Lists/VirtualizeUtils.js +18 -20
  224. package/Libraries/Lists/VirtualizedList.js +190 -132
  225. package/Libraries/Lists/VirtualizedListContext.js +3 -2
  226. package/Libraries/Lists/VirtualizedSectionList.js +247 -209
  227. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +6 -6
  228. package/Libraries/LogBox/Data/LogBoxData.js +21 -19
  229. package/Libraries/LogBox/Data/LogBoxLog.js +0 -2
  230. package/Libraries/LogBox/Data/LogBoxSymbolication.js +0 -2
  231. package/Libraries/LogBox/Data/parseLogBoxLog.js +0 -2
  232. package/Libraries/LogBox/LogBox.js +114 -49
  233. package/Libraries/LogBox/LogBoxInspectorContainer.js +0 -2
  234. package/Libraries/LogBox/LogBoxNotificationContainer.js +0 -2
  235. package/Libraries/LogBox/UI/LogBoxButton.js +0 -2
  236. package/Libraries/LogBox/UI/LogBoxInspector.js +0 -2
  237. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +0 -2
  238. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +0 -2
  239. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +0 -2
  240. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +0 -2
  241. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +0 -2
  242. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +0 -2
  243. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -5
  244. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +0 -2
  245. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -3
  246. package/Libraries/LogBox/UI/LogBoxMessage.js +0 -2
  247. package/Libraries/LogBox/UI/LogBoxNotification.js +3 -4
  248. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -2
  249. package/Libraries/Modal/Modal.js +46 -21
  250. package/Libraries/{Components/Picker/PickerIOS.android.js → Modal/ModalInjection.js} +5 -4
  251. package/Libraries/Modal/NativeModalManager.js +0 -2
  252. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -4
  253. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
  254. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +7 -2
  255. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
  256. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
  257. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +2 -1
  258. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +31 -23
  259. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -4
  260. package/Libraries/NativeComponent/NativeComponentRegistry.js +157 -0
  261. package/Libraries/NativeComponent/ViewConfig.js +50 -0
  262. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -2
  263. package/Libraries/NativeModules/specs/NativeDevMenu.js +0 -2
  264. package/Libraries/NativeModules/specs/NativeDevSettings.js +0 -2
  265. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +0 -2
  266. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +0 -2
  267. package/Libraries/NativeModules/specs/NativeLogBox.js +0 -2
  268. package/Libraries/NativeModules/specs/NativeRedBox.js +0 -2
  269. package/Libraries/NativeModules/specs/NativeSourceCode.js +0 -2
  270. package/Libraries/Network/NativeNetworkingAndroid.js +0 -2
  271. package/Libraries/Network/NativeNetworkingIOS.js +0 -2
  272. package/Libraries/Network/RCTDataRequestHandler.mm +6 -0
  273. package/Libraries/Network/RCTFileRequestHandler.mm +6 -0
  274. package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
  275. package/Libraries/Network/RCTHTTPRequestHandler.mm +27 -9
  276. package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
  277. package/Libraries/Network/RCTNetworking.android.js +8 -4
  278. package/Libraries/Network/RCTNetworking.h +1 -1
  279. package/Libraries/Network/RCTNetworking.ios.js +63 -20
  280. package/Libraries/Network/RCTNetworking.mm +13 -3
  281. package/Libraries/Network/React-RCTNetwork.podspec +3 -3
  282. package/Libraries/Network/XMLHttpRequest.js +5 -3
  283. package/Libraries/Network/convertRequestBody.js +2 -1
  284. package/Libraries/NewAppScreen/components/Colors.js +0 -2
  285. package/Libraries/NewAppScreen/components/Header.js +1 -1
  286. package/Libraries/NewAppScreen/components/HermesBadge.js +7 -4
  287. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -1
  288. package/Libraries/NewAppScreen/index.js +0 -2
  289. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -2
  290. package/Libraries/Performance/QuickPerformanceLogger.js +4 -4
  291. package/Libraries/Performance/Systrace.js +3 -5
  292. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -3
  293. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -5
  294. package/Libraries/Pressability/HoverState.js +0 -2
  295. package/Libraries/Pressability/Pressability.js +24 -22
  296. package/Libraries/Pressability/PressabilityDebug.js +9 -4
  297. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +47 -0
  298. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  299. package/Libraries/Pressability/usePressability.js +0 -2
  300. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +3 -0
  301. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +43 -4
  302. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +13 -0
  303. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
  304. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
  305. package/Libraries/RCTRequired/BUCK +4 -1
  306. package/Libraries/RCTRequired/RCTRequired.podspec +2 -2
  307. package/Libraries/ReactNative/AppContainer.js +3 -25
  308. package/Libraries/ReactNative/AppRegistry.js +48 -7
  309. package/Libraries/ReactNative/DisplayMode.js +32 -0
  310. package/Libraries/ReactNative/DummyUIManager.js +9 -1
  311. package/Libraries/ReactNative/FabricUIManager.js +6 -5
  312. package/Libraries/ReactNative/HeadlessJsTaskError.js +0 -2
  313. package/Libraries/ReactNative/I18nManager.js +23 -9
  314. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +0 -2
  315. package/Libraries/ReactNative/NativeI18nManager.js +1 -2
  316. package/Libraries/ReactNative/NativeUIManager.js +2 -3
  317. package/Libraries/ReactNative/PaperUIManager.js +69 -42
  318. package/Libraries/ReactNative/RootTag.js +6 -4
  319. package/Libraries/ReactNative/UIManager.js +7 -4
  320. package/Libraries/{Text/TextInjection.js → ReactNative/UIManagerInjection.js} +2 -6
  321. package/Libraries/ReactNative/UIManagerProperties.js +1 -0
  322. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
  323. package/Libraries/ReactNative/getNativeComponentAttributes.js +2 -1
  324. package/Libraries/ReactNative/renderApplication.js +24 -6
  325. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -4
  326. package/Libraries/Reliability/UserFlow.js +26 -4
  327. package/Libraries/Renderer/REVISION +1 -1
  328. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +8933 -7603
  329. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5810 -4905
  330. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2893 -2551
  331. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2114 -1953
  332. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +3309 -2815
  333. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2576 -2266
  334. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +9064 -7879
  335. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5675 -4840
  336. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +2701 -2490
  337. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2279 -2138
  338. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +3068 -2709
  339. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2574 -2282
  340. package/Libraries/Renderer/shims/ReactFabric.js +5 -3
  341. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -0
  342. package/Libraries/Renderer/shims/ReactNative.js +3 -0
  343. package/Libraries/Renderer/shims/ReactNativeTypes.js +104 -63
  344. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -11
  345. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +5 -3
  346. package/Libraries/Settings/NativeSettingsManager.js +0 -2
  347. package/Libraries/Settings/RCTSettingsManager.mm +2 -2
  348. package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
  349. package/Libraries/Settings/React-RCTSettings.podspec +3 -3
  350. package/Libraries/Settings/Settings.ios.js +4 -2
  351. package/Libraries/Share/NativeShareModule.js +0 -2
  352. package/Libraries/Share/Share.js +0 -2
  353. package/Libraries/Storage/AsyncStorage.js +68 -49
  354. package/Libraries/Storage/NativeAsyncLocalStorage.js +10 -9
  355. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +10 -9
  356. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +0 -2
  357. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -3
  358. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -3
  359. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -2
  360. package/Libraries/StyleSheet/Rect.js +0 -2
  361. package/Libraries/StyleSheet/StyleSheet.js +3 -5
  362. package/Libraries/StyleSheet/StyleSheetTypes.js +5 -0
  363. package/Libraries/StyleSheet/flattenStyle.js +5 -7
  364. package/Libraries/StyleSheet/normalizeColor.js +0 -2
  365. package/Libraries/StyleSheet/processColorArray.js +16 -6
  366. package/Libraries/StyleSheet/processTransform.js +6 -6
  367. package/Libraries/StyleSheet/splitLayoutProps.js +50 -48
  368. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  369. package/Libraries/Text/React-RCTText.podspec +2 -2
  370. package/Libraries/Text/Text.js +187 -235
  371. package/Libraries/Text/TextAncestor.js +7 -1
  372. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -2
  373. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +12 -2
  374. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +8 -0
  375. package/Libraries/Text/TextNativeComponent.js +4 -3
  376. package/Libraries/Text/TextProps.js +6 -0
  377. package/Libraries/TurboModule/RCTExport.js +1 -1
  378. package/Libraries/TurboModule/TurboModuleRegistry.js +4 -27
  379. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  380. package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -3
  381. package/Libraries/Types/CodegenTypes.js +2 -1
  382. package/Libraries/Types/CoreEventTypes.js +1 -3
  383. package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
  384. package/Libraries/UTFSequence.js +1 -1
  385. package/Libraries/Utilities/Appearance.js +22 -8
  386. package/Libraries/Utilities/BackHandler.android.js +0 -2
  387. package/Libraries/Utilities/DebugEnvironment.js +1 -3
  388. package/Libraries/Utilities/DevSettings.js +51 -56
  389. package/Libraries/Utilities/DeviceInfo.js +0 -2
  390. package/Libraries/Utilities/Dimensions.js +21 -20
  391. package/Libraries/Utilities/FeatureDetection.js +31 -0
  392. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -2
  393. package/Libraries/Utilities/HMRClient.js +15 -10
  394. package/Libraries/Utilities/JSDevSupportModule.js +0 -2
  395. package/Libraries/Utilities/LoadingView.android.js +0 -2
  396. package/Libraries/Utilities/LoadingView.ios.js +0 -2
  397. package/Libraries/Utilities/MatrixMath.js +1 -1
  398. package/Libraries/Utilities/NativeAppearance.js +0 -2
  399. package/Libraries/Utilities/NativeDevLoadingView.js +0 -2
  400. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -2
  401. package/Libraries/Utilities/NativeDeviceInfo.js +1 -3
  402. package/Libraries/Utilities/NativeJSDevSupport.js +0 -2
  403. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +0 -2
  404. package/Libraries/Utilities/NativePlatformConstantsIOS.js +0 -2
  405. package/Libraries/Utilities/PerformanceLoggerContext.js +11 -4
  406. package/Libraries/Utilities/Platform.android.js +6 -5
  407. package/Libraries/Utilities/Platform.ios.js +1 -2
  408. package/Libraries/Utilities/ReactNativeTestTools.js +12 -19
  409. package/Libraries/Utilities/codegenNativeCommands.js +1 -3
  410. package/Libraries/Utilities/codegenNativeComponent.js +0 -2
  411. package/Libraries/Utilities/createPerformanceLogger.js +0 -2
  412. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
  413. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  414. package/Libraries/Utilities/deprecatedPropType.js +3 -5
  415. package/Libraries/Utilities/stringifySafe.js +1 -3
  416. package/Libraries/Utilities/useColorScheme.js +4 -4
  417. package/Libraries/Utilities/useMergeRefs.js +44 -0
  418. package/Libraries/Utilities/useRefEffect.js +45 -0
  419. package/Libraries/Utilities/useWindowDimensions.js +9 -6
  420. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +22 -28
  421. package/Libraries/Vibration/NativeVibration.js +0 -2
  422. package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
  423. package/Libraries/Vibration/React-RCTVibration.podspec +3 -3
  424. package/Libraries/Vibration/Vibration.js +0 -2
  425. package/Libraries/WebSocket/NativeWebSocketModule.js +0 -2
  426. package/Libraries/WebSocket/WebSocket.js +27 -14
  427. package/Libraries/WebSocket/WebSocketInterceptor.js +6 -3
  428. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
  429. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -2
  430. package/Libraries/promiseRejectionTrackingOptions.js +2 -2
  431. package/Libraries/vendor/emitter/EventEmitter.js +37 -4
  432. package/Libraries/vendor/emitter/EventSubscription.js +19 -0
  433. package/Libraries/vendor/emitter/_EmitterSubscription.js +16 -15
  434. package/Libraries/vendor/emitter/_EventEmitter.js +51 -41
  435. package/Libraries/vendor/emitter/_EventSubscription.js +11 -7
  436. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +21 -14
  437. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +125 -0
  438. package/README.md +7 -1
  439. package/React/AccessibilityResources/en.lproj/Localizable.strings +1 -1
  440. package/React/Base/RCTAssert.h +35 -18
  441. package/React/Base/RCTAssert.m +52 -0
  442. package/React/Base/RCTBridge.h +15 -3
  443. package/React/Base/RCTBridge.m +14 -5
  444. package/React/Base/RCTBridgeModule.h +104 -0
  445. package/React/Base/RCTBundleManager.m +78 -0
  446. package/React/Base/RCTBundleURLProvider.h +35 -9
  447. package/React/Base/RCTBundleURLProvider.mm +87 -24
  448. package/React/Base/RCTCallableJSModules.m +47 -0
  449. package/React/Base/RCTConstants.h +9 -10
  450. package/React/Base/RCTConstants.m +18 -18
  451. package/React/Base/RCTConvert.m +31 -7
  452. package/React/Base/RCTCxxConvert.h +1 -1
  453. package/React/Base/RCTDefines.h +10 -0
  454. package/React/Base/RCTEventDispatcherProtocol.h +1 -2
  455. package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
  456. package/React/Base/RCTJavaScriptLoader.mm +1 -0
  457. package/React/Base/RCTModuleData.h +20 -3
  458. package/React/Base/RCTModuleData.mm +121 -3
  459. package/React/Base/RCTModuleRegistry.m +48 -0
  460. package/React/Base/RCTMultipartStreamReader.m +0 -2
  461. package/React/Base/RCTRootView.h +10 -1
  462. package/React/Base/RCTRootView.m +15 -37
  463. package/React/Base/RCTTVRemoteHandler.h +5 -2
  464. package/React/Base/RCTTVRemoteHandler.m +173 -70
  465. package/React/Base/RCTTouchHandler.m +12 -1
  466. package/React/Base/RCTUtils.m +6 -2
  467. package/React/Base/RCTVersion.m +2 -2
  468. package/React/Base/RCTViewRegistry.m +45 -0
  469. package/React/Base/Surface/RCTSurfaceStage.h +6 -11
  470. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +1 -0
  471. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +11 -1
  472. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
  473. package/React/CoreModules/BUCK +6 -5
  474. package/React/CoreModules/CoreModulesPlugins.mm +4 -3
  475. package/React/CoreModules/RCTAccessibilityManager.mm +17 -10
  476. package/React/CoreModules/RCTActionSheetManager.mm +17 -13
  477. package/React/CoreModules/RCTAlertController.h +2 -1
  478. package/React/CoreModules/RCTAlertController.m +5 -0
  479. package/React/CoreModules/RCTAlertManager.mm +3 -0
  480. package/React/CoreModules/RCTAppearance.mm +3 -1
  481. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  482. package/React/CoreModules/RCTDevLoadingView.mm +20 -23
  483. package/React/CoreModules/RCTDevMenu.h +0 -5
  484. package/React/CoreModules/RCTDevMenu.mm +43 -71
  485. package/React/CoreModules/RCTDevSettings.h +12 -2
  486. package/React/CoreModules/RCTDevSettings.mm +100 -56
  487. package/React/CoreModules/RCTDevSplitBundleLoader.mm +2 -7
  488. package/React/CoreModules/RCTDeviceInfo.mm +26 -22
  489. package/React/CoreModules/RCTEventDispatcher.h +2 -1
  490. package/React/CoreModules/RCTEventDispatcher.mm +18 -25
  491. package/React/CoreModules/RCTExceptionsManager.mm +7 -23
  492. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  493. package/React/CoreModules/RCTLogBox.mm +15 -10
  494. package/React/CoreModules/RCTPerfMonitor.mm +11 -5
  495. package/React/CoreModules/RCTRedBox.mm +5 -8
  496. package/React/CoreModules/RCTSourceCode.mm +2 -1
  497. package/React/CoreModules/RCTTVNavigationEventEmitter.h +7 -0
  498. package/React/CoreModules/RCTTiming.h +2 -1
  499. package/React/CoreModules/RCTTiming.mm +1 -3
  500. package/React/CoreModules/RCTWebSocketExecutor.mm +6 -0
  501. package/React/CoreModules/React-CoreModules.podspec +3 -3
  502. package/React/CxxBridge/RCTCxxBridge.mm +99 -8
  503. package/React/CxxModule/RCTNativeModule.mm +3 -1
  504. package/React/DevSupport/RCTPackagerConnection.mm +12 -5
  505. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +21 -0
  506. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +12 -1
  507. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +3 -3
  508. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +2 -1
  509. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +28 -36
  510. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +8 -7
  511. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +13 -9
  512. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -3
  513. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +7 -0
  514. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -1
  515. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +71 -26
  516. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  517. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  518. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +34 -19
  519. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +6 -0
  520. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +24 -3
  521. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +186 -99
  522. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +23 -0
  523. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +22 -0
  524. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +14 -9
  525. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +118 -30
  526. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +109 -28
  527. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +48 -2
  528. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +143 -19
  529. package/React/Fabric/Mounting/RCTComponentViewFactory.h +10 -2
  530. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +83 -46
  531. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +3 -0
  532. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -1
  533. package/React/Fabric/Mounting/RCTMountingManager.h +28 -1
  534. package/React/Fabric/Mounting/RCTMountingManager.mm +71 -3
  535. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +4 -0
  536. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +30 -4
  537. package/React/Fabric/RCTConversions.h +20 -16
  538. package/React/Fabric/RCTScheduler.h +11 -16
  539. package/React/Fabric/RCTScheduler.mm +29 -46
  540. package/React/Fabric/RCTSurfacePresenter.h +8 -16
  541. package/React/Fabric/RCTSurfacePresenter.mm +62 -165
  542. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
  543. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  544. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  545. package/React/Fabric/RCTSurfaceTouchHandler.mm +39 -7
  546. package/React/Fabric/Surface/RCTFabricSurface.h +9 -6
  547. package/React/Fabric/Surface/RCTFabricSurface.mm +139 -127
  548. package/React/Modules/RCTEventEmitter.h +3 -2
  549. package/React/Modules/RCTEventEmitter.m +8 -11
  550. package/React/Modules/RCTI18nUtil.h +14 -6
  551. package/React/Modules/RCTI18nUtil.m +1 -47
  552. package/React/Modules/RCTTVMenuBridge.m +3 -0
  553. package/React/Modules/RCTUIManager.m +19 -9
  554. package/React/Profiler/RCTProfile.m +9 -8
  555. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  556. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  557. package/React/React-RCTFabric.podspec +5 -5
  558. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +72 -0
  559. package/React/Views/RCTBorderDrawing.m +28 -25
  560. package/React/Views/RCTComponentData.h +10 -1
  561. package/React/Views/RCTComponentData.m +23 -8
  562. package/React/Views/RCTConvert+CoreLocation.m +2 -2
  563. package/React/Views/RCTDatePickerManager.m +33 -0
  564. package/React/Views/RCTLayout.m +25 -21
  565. package/React/Views/RCTModalHostView.h +4 -1
  566. package/React/Views/RCTModalHostView.m +58 -31
  567. package/React/Views/RCTModalHostViewManager.m +4 -3
  568. package/React/Views/RCTShadowView+Layout.m +15 -12
  569. package/React/Views/RCTShadowView.m +3 -2
  570. package/React/Views/RCTTVFocusGuideView.m +1 -1
  571. package/React/Views/RCTView.h +7 -7
  572. package/React/Views/RCTView.m +31 -43
  573. package/React/Views/RCTViewManager.m +19 -2
  574. package/React/Views/RCTWeakViewHolder.h +19 -0
  575. package/React/Views/RefreshControl/RCTRefreshControl.m +22 -1
  576. package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -0
  577. package/React/Views/ScrollView/RCTScrollContentView.m +1 -1
  578. package/React/Views/ScrollView/RCTScrollView.h +1 -7
  579. package/React/Views/ScrollView/RCTScrollView.m +17 -63
  580. package/React/Views/ScrollView/RCTScrollViewManager.m +3 -0
  581. package/React/third-party.xcconfig +1 -1
  582. package/React-Core.podspec +4 -15
  583. package/React.podspec +2 -2
  584. package/ReactAndroid/Android-prebuilt.mk +82 -3
  585. package/ReactAndroid/README.md +2 -2
  586. package/ReactAndroid/build.gradle +145 -34
  587. package/ReactAndroid/gradle.properties +7 -5
  588. package/ReactAndroid/proguard-rules.pro +1 -7
  589. package/ReactAndroid/src/androidTest/buck-runner/BUCK +1 -0
  590. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +2 -1
  591. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  592. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +2 -1
  593. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
  594. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +1 -0
  595. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +6 -5
  596. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +1 -1
  597. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +1 -2
  598. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +6 -5
  599. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  600. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -5
  601. package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
  602. package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -0
  603. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +1 -0
  604. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +1 -0
  605. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +1 -0
  606. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  607. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -0
  608. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  609. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -0
  610. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  611. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  612. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/BUCK +1 -0
  613. package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +1 -0
  614. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +3 -2
  615. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -0
  616. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
  617. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +3 -2
  618. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  619. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +10 -3
  620. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  621. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +145 -67
  622. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -1
  623. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +8 -1
  624. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule/core/ReactPackageTurboModuleManagerDelegate.java → ReactPackageTurboModuleManagerDelegate.java} +18 -6
  625. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +92 -42
  626. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +2 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +10 -2
  628. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +66 -33
  629. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +4 -0
  630. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -0
  631. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  632. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +7 -5
  633. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -3
  634. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +4 -1
  635. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +4 -0
  636. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  637. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +8 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +26 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +46 -8
  641. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +2 -3
  642. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +13 -3
  643. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  644. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +52 -2
  645. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  646. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +37 -2
  647. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +3 -0
  648. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +1 -0
  649. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +29 -0
  650. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +347 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
  652. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +39 -0
  653. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +34 -0
  654. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +15 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +76 -0
  656. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +51 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +1 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +3 -1
  659. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +50 -38
  660. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +3 -1
  661. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
  662. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
  663. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +17 -60
  664. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +176 -344
  665. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +8 -8
  666. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
  667. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -1
  668. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  669. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{ReactInstanceManagerDevHelper.java → ReactInstanceDevHelper.java} +3 -2
  670. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +2 -16
  671. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.java +12 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +6 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +23 -0
  674. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +2 -1
  675. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -1
  676. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  677. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +17 -71
  678. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +466 -616
  679. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +37 -24
  680. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +50 -0
  681. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +131 -0
  682. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +27 -7
  684. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +4 -5
  685. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +4 -5
  686. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +300 -615
  687. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +34 -13
  688. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +3 -6
  689. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
  690. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +2 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +15 -28
  693. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +3 -1
  694. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +122 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +68 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +406 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +271 -658
  698. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +1008 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +9 -2
  700. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +9 -2
  701. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +39 -34
  702. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +4 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +21 -23
  704. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +11 -4
  705. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  706. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +1 -0
  707. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +1 -0
  708. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +3 -3
  709. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +1 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +1 -0
  711. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +21 -4
  712. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +2 -1
  713. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
  714. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +2 -1
  715. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -0
  716. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +11 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +2 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +2 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
  720. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  721. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +1 -1
  722. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp +1 -0
  723. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +2 -1
  724. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +2 -1
  725. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +1 -0
  726. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +1 -0
  727. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +2 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +138 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +5 -2
  730. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +2 -1
  731. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +19 -13
  732. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
  733. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +3 -1
  734. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +2 -1
  735. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +19 -8
  736. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +2 -1
  737. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +12 -4
  738. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +1 -0
  739. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +1 -0
  740. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +10 -0
  741. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +3 -1
  742. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +12 -12
  743. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +2 -1
  744. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +2 -1
  745. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +2 -1
  746. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
  747. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -18
  748. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +2 -1
  749. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +2 -1
  750. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +2 -1
  751. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +2 -1
  752. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
  753. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +2 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +4 -2
  755. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  756. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +2 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +2 -1
  758. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +2 -1
  759. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +3 -1
  761. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
  762. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
  763. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -1
  764. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +20 -0
  765. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +39 -0
  766. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +34 -0
  767. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +35 -0
  768. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +15 -0
  769. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +46 -0
  770. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +40 -0
  771. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -1
  772. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -4
  773. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +1 -0
  774. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +1 -0
  775. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +2 -1
  776. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +11 -10
  777. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +3 -0
  778. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +2 -0
  779. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +1 -0
  780. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +4 -4
  781. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +4 -4
  782. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +3 -2
  783. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +115 -86
  784. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +14 -5
  785. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +6 -1
  786. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +15 -1
  787. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +17 -0
  788. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +41 -0
  789. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  790. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +5 -19
  791. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +27 -0
  792. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -13
  793. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
  794. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +17 -6
  795. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  796. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -10
  797. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
  798. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -49
  799. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  800. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +14 -0
  801. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +18 -0
  802. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +24 -4
  803. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +35 -7
  804. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +101 -68
  805. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +46 -5
  806. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +35 -13
  807. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +69 -17
  808. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +55 -54
  809. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -2
  810. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +13 -6
  811. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +15 -13
  812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +2 -2
  813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +26 -0
  814. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  815. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +1 -0
  816. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +1 -1
  817. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +3 -0
  818. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +8 -3
  819. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +134 -6
  820. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +3 -0
  821. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +8 -3
  822. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
  823. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +10 -0
  824. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +32 -0
  825. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +80 -25
  826. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +66 -5
  827. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +7 -4
  828. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +21 -0
  829. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerDelegate.java → interfaces/BaseViewManagerDelegate.java} +0 -0
  830. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerInterface.java → interfaces/BaseViewManagerInterface.java} +0 -0
  831. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{FloatUtil.java → interfaces/FloatUtil.java} +0 -0
  832. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{Spacing.java → interfaces/Spacing.java} +0 -0
  833. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewManagerDelegate.java → interfaces/ViewManagerDelegate.java} +0 -0
  834. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewProps.java → interfaces/ViewProps.java} +10 -2
  835. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +37 -0
  836. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +41 -0
  837. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +77 -0
  838. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +54 -0
  839. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +16 -0
  840. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +1 -0
  841. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +1 -0
  842. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +1 -0
  843. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +1 -0
  844. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +3 -2
  845. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +17 -8
  846. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +9 -10
  847. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +9 -10
  848. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +7 -13
  849. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +7 -13
  850. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +2 -0
  851. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +45 -19
  852. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +2 -2
  853. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +12 -7
  854. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +75 -26
  855. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -0
  856. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +17 -0
  857. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -2
  858. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +13 -3
  859. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +56 -20
  860. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +12 -4
  861. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +12 -4
  862. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +3 -2
  863. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +2 -0
  864. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +15 -0
  865. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +185 -28
  866. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +9 -4
  867. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +110 -16
  868. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +20 -3
  869. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -5
  870. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +41 -14
  871. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +3 -2
  872. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
  873. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +22 -27
  874. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +13 -16
  875. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +3 -2
  876. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +12 -4
  877. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +14 -11
  878. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +3 -2
  879. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +13 -0
  880. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +9 -13
  881. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -10
  882. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +2 -0
  883. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
  884. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +6 -9
  885. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +2 -1
  886. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
  887. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -4
  888. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +11 -0
  889. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +48 -1
  890. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
  891. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +213 -141
  892. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +33 -51
  893. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +596 -0
  894. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
  895. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -0
  896. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +2 -0
  897. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +10 -7
  898. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +34 -20
  899. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +5 -6
  900. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +9 -7
  901. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +9 -7
  902. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +9 -7
  903. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +10 -7
  904. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +14 -12
  905. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +15 -14
  906. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +154 -70
  907. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +10 -7
  908. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +14 -12
  909. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +1 -0
  910. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +1 -0
  911. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -5
  912. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  913. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +63 -65
  914. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +3 -1
  915. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +11 -4
  916. package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +1 -0
  917. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +13 -7
  918. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +24 -2
  919. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +151 -0
  920. package/ReactAndroid/src/main/jni/first-party/fb/BUCK +4 -0
  921. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +1 -1
  922. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +1 -1
  923. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
  924. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
  925. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -7
  926. package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -2
  927. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +56 -1
  928. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +4 -0
  929. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  930. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  931. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  932. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -94
  933. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +0 -30
  934. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
  935. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +7 -6
  936. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
  937. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
  938. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
  939. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
  940. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
  941. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
  942. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
  943. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
  944. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
  945. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
  946. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
  947. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
  948. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
  949. package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
  950. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
  951. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
  952. package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
  953. package/{third-party-podspecs/libevent.podspec → ReactAndroid/src/main/jni/third-party/libevent/event-config.h} +141 -366
  954. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
  955. package/ReactAndroid/src/main/libraries/fbjni/BUCK +2 -2
  956. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +93 -14
  957. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  958. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
  959. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +4 -8
  960. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +61 -0
  961. package/ReactAndroid/src/main/third-party/java/asm/BUCK +1 -0
  962. package/ReactAndroid/src/main/third-party/java/fest/BUCK +1 -0
  963. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
  964. package/ReactAndroid/src/main/third-party/java/junit/BUCK +1 -0
  965. package/ReactAndroid/src/main/third-party/java/mockito/BUCK +1 -0
  966. package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +1 -0
  967. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +29 -9
  968. package/ReactAndroid/src/main/third-party/java/okio/BUCK +15 -5
  969. package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +1 -0
  970. package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +1 -0
  971. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  972. package/ReactAndroid/src/main/third-party/kotlin/BUCK +91 -0
  973. package/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +1 -0
  974. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +8 -3
  975. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +1 -1
  976. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +2 -1
  977. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  978. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +3 -1
  979. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  980. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  981. package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
  982. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +10 -10
  983. package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +1 -1
  984. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +32 -0
  985. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +8 -2
  986. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
  987. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
  988. package/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +1 -0
  989. package/ReactCommon/React-Fabric.podspec +50 -15
  990. package/ReactCommon/ReactCommon.podspec +9 -4
  991. package/ReactCommon/better/Android.mk +1 -1
  992. package/ReactCommon/better/BUCK +2 -2
  993. package/ReactCommon/callinvoker/Android.mk +1 -1
  994. package/ReactCommon/callinvoker/BUCK +1 -1
  995. package/ReactCommon/callinvoker/React-callinvoker.podspec +3 -3
  996. package/ReactCommon/cxxreact/Android.mk +2 -1
  997. package/ReactCommon/cxxreact/BUCK +2 -4
  998. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  999. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  1000. package/ReactCommon/cxxreact/Instance.cpp +33 -1
  1001. package/ReactCommon/cxxreact/Instance.h +1 -0
  1002. package/ReactCommon/cxxreact/JSBundleType.cpp +5 -0
  1003. package/ReactCommon/cxxreact/JSBundleType.h +1 -0
  1004. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +3 -3
  1005. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
  1006. package/ReactCommon/cxxreact/MethodCall.cpp +2 -2
  1007. package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -0
  1008. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
  1009. package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
  1010. package/ReactCommon/cxxreact/React-cxxreact.podspec +6 -5
  1011. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  1012. package/ReactCommon/cxxreact/SystraceSection.h +2 -2
  1013. package/ReactCommon/hermes/React-hermes.podspec +53 -0
  1014. package/ReactCommon/hermes/executor/Android.mk +4 -4
  1015. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  1016. package/ReactCommon/hermes/inspector/BUCK +8 -5
  1017. package/ReactCommon/hermes/inspector/Inspector.cpp +2 -3
  1018. package/ReactCommon/hermes/inspector/Inspector.h +6 -5
  1019. package/ReactCommon/hermes/inspector/InspectorState.cpp +8 -6
  1020. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +115 -0
  1021. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +215 -1
  1022. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +115 -1
  1023. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +6 -5
  1024. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +144 -0
  1025. package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
  1026. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -3
  1027. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -3
  1028. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -3
  1029. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -3
  1030. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -3
  1031. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -3
  1032. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -3
  1033. package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
  1034. package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -2
  1035. package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -2
  1036. package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -2
  1037. package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -2
  1038. package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -2
  1039. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -2
  1040. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -2
  1041. package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -3
  1042. package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -2
  1043. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +1 -3
  1044. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2218 -1389
  1045. package/ReactCommon/jsi/Android.mk +4 -4
  1046. package/ReactCommon/jsi/BUCK +1 -5
  1047. package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
  1048. package/ReactCommon/jsi/React-jsi.podspec +5 -5
  1049. package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
  1050. package/ReactCommon/jsi/jsi/decorator.h +15 -0
  1051. package/ReactCommon/jsi/jsi/instrumentation.h +13 -0
  1052. package/ReactCommon/jsi/jsi/jsi.cpp +3 -0
  1053. package/ReactCommon/jsi/jsi/jsi.h +32 -3
  1054. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
  1055. package/ReactCommon/jsi/jsi/test/testlib.cpp +1 -0
  1056. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  1057. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -4
  1058. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +36 -3
  1059. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +2 -0
  1060. package/ReactCommon/jsinspector/BUCK +2 -0
  1061. package/ReactCommon/jsinspector/React-jsinspector.podspec +2 -2
  1062. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
  1063. package/ReactCommon/logger/Android.mk +23 -0
  1064. package/ReactCommon/logger/BUCK +43 -0
  1065. package/ReactCommon/logger/React-logger.podspec +40 -0
  1066. package/ReactCommon/logger/react_native_log.cpp +52 -0
  1067. package/ReactCommon/logger/react_native_log.h +33 -0
  1068. package/ReactCommon/react/config/Android.mk +1 -1
  1069. package/ReactCommon/react/config/BUCK +1 -1
  1070. package/ReactCommon/react/debug/Android.mk +31 -0
  1071. package/ReactCommon/react/debug/BUCK +69 -0
  1072. package/ReactCommon/react/debug/flags.h +19 -0
  1073. package/ReactCommon/react/debug/react_native_assert.cpp +45 -0
  1074. package/ReactCommon/react/debug/react_native_assert.h +64 -0
  1075. package/ReactCommon/react/nativemodule/core/Android.mk +3 -3
  1076. package/ReactCommon/react/nativemodule/core/BUCK +4 -3
  1077. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  1078. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  1079. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
  1080. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  1081. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +49 -8
  1082. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -3
  1083. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +55 -1
  1084. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +119 -109
  1085. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +12 -8
  1086. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +24 -0
  1087. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +28 -0
  1088. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -15
  1089. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +97 -48
  1090. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -6
  1091. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +147 -70
  1092. package/ReactCommon/react/nativemodule/samples/BUCK +6 -6
  1093. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +2 -2
  1094. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  1095. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +10 -0
  1096. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.h +1 -0
  1097. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.mm +11 -0
  1098. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +12 -0
  1099. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +5 -3
  1100. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.cpp +11 -0
  1101. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h +1 -0
  1102. package/ReactCommon/react/renderer/animations/Android.mk +3 -2
  1103. package/ReactCommon/react/renderer/animations/BUCK +5 -3
  1104. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +19 -130
  1105. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -4
  1106. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +675 -391
  1107. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +75 -58
  1108. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
  1109. package/ReactCommon/react/renderer/attributedstring/Android.mk +4 -2
  1110. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +28 -6
  1111. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +2 -2
  1112. package/ReactCommon/react/renderer/attributedstring/BUCK +9 -4
  1113. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  1114. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  1115. package/ReactCommon/react/renderer/attributedstring/conversions.h +666 -308
  1116. package/ReactCommon/react/renderer/attributedstring/primitives.h +16 -0
  1117. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +105 -0
  1118. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +17 -20
  1119. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +7 -12
  1120. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +13 -15
  1121. package/ReactCommon/react/renderer/componentregistry/Android.mk +3 -2
  1122. package/ReactCommon/react/renderer/componentregistry/BUCK +5 -4
  1123. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +5 -4
  1124. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  1125. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  1126. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +20 -70
  1127. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  1128. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +73 -0
  1129. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → componentregistry/componentNameByReactViewName.h} +7 -2
  1130. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +29 -0
  1131. package/ReactCommon/react/renderer/componentregistry/native/BUCK +58 -0
  1132. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +68 -0
  1133. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +61 -0
  1134. package/ReactCommon/react/renderer/components/image/Android.mk +5 -3
  1135. package/ReactCommon/react/renderer/components/image/BUCK +7 -3
  1136. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +3 -2
  1137. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  1138. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  1139. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +5 -5
  1140. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -1
  1141. package/ReactCommon/react/renderer/components/image/conversions.h +29 -18
  1142. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -3
  1143. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +5 -3
  1144. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
  1145. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
  1146. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +17 -4
  1147. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +6 -1
  1148. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  1149. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1150. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +74 -15
  1151. package/ReactCommon/react/renderer/components/modal/Android.mk +4 -3
  1152. package/ReactCommon/react/renderer/components/modal/BUCK +6 -2
  1153. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +5 -3
  1154. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +9 -2
  1155. package/ReactCommon/react/renderer/components/progressbar/Android.mk +3 -3
  1156. package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -3
  1157. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +4 -2
  1158. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ComponentDescriptors.h +1 -0
  1159. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h.bak +32 -0
  1160. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.cpp +1 -0
  1161. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp.bak +149 -0
  1162. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.h +8 -0
  1163. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h.bak +237 -0
  1164. package/ReactCommon/react/renderer/components/rncore/Props.cpp +218 -0
  1165. package/ReactCommon/react/renderer/components/rncore/Props.cpp.bak +218 -0
  1166. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/Props.h +74 -27
  1167. package/ReactCommon/react/renderer/components/rncore/Props.h.bak +576 -0
  1168. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +273 -0
  1169. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h.bak +273 -0
  1170. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.cpp +1 -0
  1171. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp.bak +29 -0
  1172. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.h +9 -0
  1173. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h.bak +126 -0
  1174. package/ReactCommon/react/renderer/components/root/Android.mk +4 -3
  1175. package/ReactCommon/react/renderer/components/root/BUCK +4 -3
  1176. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  1177. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  1178. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
  1179. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  1180. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
  1181. package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -3
  1182. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +5 -3
  1183. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +7 -0
  1184. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -3
  1185. package/ReactCommon/react/renderer/components/scrollview/Android.mk +5 -3
  1186. package/ReactCommon/react/renderer/components/scrollview/BUCK +6 -3
  1187. package/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h +38 -0
  1188. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +59 -6
  1189. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
  1190. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +23 -2
  1191. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -0
  1192. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
  1193. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +15 -4
  1194. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  1195. package/ReactCommon/react/renderer/components/slider/Android.mk +4 -3
  1196. package/ReactCommon/react/renderer/components/slider/BUCK +5 -3
  1197. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +4 -2
  1198. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +9 -8
  1199. package/ReactCommon/react/renderer/components/slider/SliderState.h +8 -0
  1200. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +3 -1
  1201. package/ReactCommon/react/renderer/components/switch/Android.mk +3 -3
  1202. package/ReactCommon/react/renderer/components/switch/BUCK +3 -3
  1203. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +4 -2
  1204. package/ReactCommon/react/renderer/components/text/Android.mk +5 -3
  1205. package/ReactCommon/react/renderer/components/text/BUCK +10 -4
  1206. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  1207. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  1208. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  1209. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +6 -9
  1210. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +15 -6
  1211. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  1212. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +13 -19
  1213. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +7 -6
  1214. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +4 -0
  1215. package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -3
  1216. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  1217. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  1218. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
  1219. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  1220. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  1221. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
  1222. package/ReactCommon/react/renderer/components/text/conversions.h +22 -0
  1223. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +8 -5
  1224. package/ReactCommon/react/renderer/components/textinput/Android.mk +5 -3
  1225. package/ReactCommon/react/renderer/components/textinput/BUCK +8 -4
  1226. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -5
  1227. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  1228. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  1229. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +13 -18
  1230. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +5 -5
  1231. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -3
  1232. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +5 -8
  1233. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +5 -4
  1234. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +4 -4
  1235. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  1236. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  1237. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -2
  1238. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +7 -6
  1239. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +2 -0
  1240. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
  1241. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  1242. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  1243. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +4 -3
  1244. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -3
  1245. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +8 -3
  1246. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  1247. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  1248. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
  1249. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  1250. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1251. package/ReactCommon/react/renderer/components/view/Android.mk +5 -3
  1252. package/ReactCommon/react/renderer/components/view/BUCK +5 -3
  1253. package/ReactCommon/react/renderer/components/view/Touch.h +32 -1
  1254. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  1255. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +31 -9
  1256. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
  1257. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +10 -1
  1258. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +62 -20
  1259. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +28 -4
  1260. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  1261. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  1262. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -7
  1263. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -17
  1264. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +177 -87
  1265. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -9
  1266. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  1267. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  1268. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +95 -24
  1269. package/ReactCommon/react/renderer/components/view/conversions.h +96 -50
  1270. package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
  1271. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  1272. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +15 -5
  1273. package/ReactCommon/react/renderer/core/Android.mk +4 -2
  1274. package/ReactCommon/react/renderer/core/BUCK +7 -4
  1275. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +5 -21
  1276. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +4 -8
  1277. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +6 -3
  1278. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +23 -22
  1279. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +10 -7
  1280. package/ReactCommon/react/renderer/core/ConcreteState.h +16 -49
  1281. package/ReactCommon/react/renderer/core/Constants.cpp +24 -0
  1282. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → core/Constants.h} +8 -6
  1283. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +35 -0
  1284. package/ReactCommon/react/renderer/{components/picker/iospicker/PickerState.h → core/DynamicPropsUtilities.h} +5 -4
  1285. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
  1286. package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
  1287. package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
  1288. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
  1289. package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
  1290. package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
  1291. package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -40
  1292. package/ReactCommon/react/renderer/core/EventQueue.h +15 -9
  1293. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
  1294. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
  1295. package/ReactCommon/react/renderer/core/EventTarget.cpp +4 -2
  1296. package/ReactCommon/react/renderer/core/LayoutConstraints.h +9 -2
  1297. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +65 -0
  1298. package/ReactCommon/react/renderer/core/LayoutMetrics.h +38 -4
  1299. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +14 -6
  1300. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -8
  1301. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -22
  1302. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  1303. package/ReactCommon/react/renderer/core/Props.h +5 -1
  1304. package/ReactCommon/react/renderer/core/PropsParserContext.h +28 -0
  1305. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1306. package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
  1307. package/ReactCommon/react/renderer/core/RawProps.cpp +5 -3
  1308. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  1309. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -7
  1310. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +8 -6
  1311. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +10 -7
  1312. package/ReactCommon/react/renderer/core/RawPropsParser.h +13 -4
  1313. package/ReactCommon/react/renderer/core/RawValue.h +9 -7
  1314. package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
  1315. package/ReactCommon/react/renderer/core/ReactPrimitives.h +34 -0
  1316. package/ReactCommon/react/renderer/core/Sealable.cpp +4 -3
  1317. package/ReactCommon/react/renderer/core/Sealable.h +5 -1
  1318. package/ReactCommon/react/renderer/core/ShadowNode.cpp +45 -13
  1319. package/ReactCommon/react/renderer/core/ShadowNode.h +14 -4
  1320. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -1
  1321. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -1
  1322. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +31 -6
  1323. package/ReactCommon/react/renderer/core/State.h +4 -3
  1324. package/ReactCommon/react/renderer/core/StateData.h +3 -0
  1325. package/ReactCommon/react/renderer/core/StateUpdate.h +0 -2
  1326. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +0 -2
  1327. package/ReactCommon/react/renderer/core/conversions.h +11 -0
  1328. package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
  1329. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  1330. package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
  1331. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +66 -0
  1332. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
  1333. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +21 -12
  1334. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +99 -30
  1335. package/ReactCommon/react/renderer/core/tests/TestComponent.h +11 -7
  1336. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
  1337. package/ReactCommon/react/renderer/debug/Android.mk +1 -1
  1338. package/ReactCommon/react/renderer/debug/BUCK +4 -6
  1339. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +11 -25
  1340. package/ReactCommon/react/renderer/debug/SystraceSection.h +2 -2
  1341. package/ReactCommon/react/renderer/debug/flags.h +50 -0
  1342. package/ReactCommon/react/renderer/element/BUCK +3 -3
  1343. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
  1344. package/ReactCommon/react/renderer/graphics/Android.mk +6 -2
  1345. package/ReactCommon/react/renderer/graphics/BUCK +16 -4
  1346. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +5 -4
  1347. package/ReactCommon/react/renderer/graphics/Rect.h +4 -3
  1348. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +2 -2
  1349. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +16 -13
  1350. package/ReactCommon/react/renderer/graphics/Transform.cpp +4 -3
  1351. package/ReactCommon/react/renderer/graphics/conversions.h +102 -44
  1352. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  1353. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +19 -10
  1354. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -0
  1355. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  1356. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +19 -10
  1357. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +44 -1
  1358. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  1359. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  1360. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  1361. package/ReactCommon/react/renderer/graphics/rounding.h +9 -6
  1362. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +1 -0
  1363. package/ReactCommon/react/renderer/imagemanager/Android.mk +3 -2
  1364. package/ReactCommon/react/renderer/imagemanager/BUCK +5 -4
  1365. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +1 -3
  1366. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +5 -4
  1367. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +0 -6
  1368. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +5 -10
  1369. package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageRequest.cpp +6 -1
  1370. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +0 -1
  1371. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +8 -6
  1372. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  1373. package/ReactCommon/react/renderer/leakchecker/Android.mk +29 -0
  1374. package/ReactCommon/react/renderer/{components/picker/iospicker → leakchecker}/BUCK +8 -12
  1375. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +60 -0
  1376. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +39 -0
  1377. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +37 -0
  1378. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +39 -0
  1379. package/ReactCommon/react/renderer/mapbuffer/Android.mk +9 -6
  1380. package/ReactCommon/react/renderer/mapbuffer/BUCK +16 -6
  1381. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +133 -2
  1382. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +41 -3
  1383. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +226 -0
  1384. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +94 -0
  1385. package/ReactCommon/react/renderer/mapbuffer/primitives.h +91 -0
  1386. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +144 -2
  1387. package/ReactCommon/react/renderer/mounting/Android.mk +4 -2
  1388. package/ReactCommon/react/renderer/mounting/BUCK +6 -3
  1389. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +809 -998
  1390. package/ReactCommon/react/renderer/mounting/Differentiator.h +38 -12
  1391. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +17 -15
  1392. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +7 -11
  1393. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
  1394. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
  1395. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +70 -27
  1396. package/ReactCommon/react/renderer/mounting/ShadowTree.h +38 -15
  1397. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  1398. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +3 -1
  1399. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +1 -1
  1400. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +19 -1
  1401. package/ReactCommon/react/renderer/mounting/ShadowView.h +46 -2
  1402. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +19 -5
  1403. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -4
  1404. package/ReactCommon/react/renderer/mounting/StubView.cpp +38 -4
  1405. package/ReactCommon/react/renderer/mounting/StubView.h +6 -0
  1406. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +219 -91
  1407. package/ReactCommon/react/renderer/mounting/StubViewTree.h +15 -3
  1408. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
  1409. package/ReactCommon/react/renderer/mounting/TelemetryController.h +1 -1
  1410. package/ReactCommon/react/renderer/mounting/stubs.cpp +49 -11
  1411. package/ReactCommon/react/renderer/mounting/stubs.h +13 -1
  1412. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +99 -96
  1413. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +242 -40
  1414. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +787 -0
  1415. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +34 -23
  1416. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +27 -0
  1417. package/ReactCommon/react/renderer/runtimescheduler/BUCK +77 -0
  1418. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +116 -0
  1419. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +103 -0
  1420. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +170 -0
  1421. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +42 -0
  1422. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +22 -0
  1423. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +64 -0
  1424. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +35 -0
  1425. package/ReactCommon/react/renderer/runtimescheduler/Task.h +46 -0
  1426. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +39 -0
  1427. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +472 -0
  1428. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +46 -0
  1429. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +41 -0
  1430. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +38 -0
  1431. package/ReactCommon/react/renderer/scheduler/Android.mk +4 -2
  1432. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +16 -13
  1433. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
  1434. package/ReactCommon/react/renderer/scheduler/BUCK +5 -3
  1435. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -3
  1436. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +108 -148
  1437. package/ReactCommon/react/renderer/scheduler/Scheduler.h +37 -39
  1438. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +16 -10
  1439. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +10 -0
  1440. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +317 -0
  1441. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +209 -0
  1442. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +104 -0
  1443. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +67 -0
  1444. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +14 -5
  1445. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
  1446. package/ReactCommon/react/renderer/telemetry/Android.mk +31 -0
  1447. package/ReactCommon/react/renderer/telemetry/BUCK +84 -0
  1448. package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.cpp +5 -0
  1449. package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.h +3 -1
  1450. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +163 -0
  1451. package/ReactCommon/react/renderer/{mounting → telemetry}/TransactionTelemetry.h +11 -0
  1452. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +176 -0
  1453. package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -1
  1454. package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -3
  1455. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
  1456. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +5 -5
  1457. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +5 -2
  1458. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +5 -3
  1459. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +12 -9
  1460. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +145 -83
  1461. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -1
  1462. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +16 -2
  1463. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +10 -7
  1464. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +16 -11
  1465. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.mm +14 -11
  1466. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +25 -3
  1467. package/ReactCommon/react/renderer/{components/picker → timeline}/BUCK +20 -34
  1468. package/ReactCommon/react/renderer/timeline/Timeline.cpp +120 -0
  1469. package/ReactCommon/react/renderer/timeline/Timeline.h +63 -0
  1470. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +77 -0
  1471. package/ReactCommon/react/renderer/timeline/TimelineController.h +80 -0
  1472. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +25 -0
  1473. package/ReactCommon/react/renderer/timeline/TimelineFrame.h +46 -0
  1474. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +97 -0
  1475. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +80 -0
  1476. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +30 -0
  1477. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +36 -0
  1478. package/ReactCommon/react/renderer/uimanager/Android.mk +4 -2
  1479. package/ReactCommon/react/renderer/uimanager/BUCK +5 -3
  1480. package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -4
  1481. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +172 -81
  1482. package/ReactCommon/react/renderer/uimanager/UIManager.h +63 -29
  1483. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +2 -4
  1484. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +298 -135
  1485. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +35 -6
  1486. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +43 -0
  1487. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +23 -13
  1488. package/ReactCommon/react/renderer/uimanager/primitives.h +57 -9
  1489. package/ReactCommon/react/test_utils/BUCK +54 -0
  1490. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +4 -0
  1491. package/ReactCommon/react/test_utils/MockClock.h +29 -0
  1492. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +64 -7
  1493. package/ReactCommon/react/utils/Android.mk +8 -3
  1494. package/ReactCommon/react/utils/BUCK +9 -2
  1495. package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +6 -4
  1496. package/ReactCommon/react/utils/ContextContainer.h +14 -7
  1497. package/ReactCommon/react/utils/LayoutManager.h +150 -0
  1498. package/ReactCommon/react/utils/ManagedObjectWrapper.h +3 -1
  1499. package/ReactCommon/react/utils/RunLoopObserver.cpp +5 -4
  1500. package/ReactCommon/reactperflogger/Android.mk +1 -1
  1501. package/ReactCommon/reactperflogger/BUCK +1 -1
  1502. package/ReactCommon/reactperflogger/React-perflogger.podspec +3 -3
  1503. package/ReactCommon/runtimeexecutor/Android.mk +1 -1
  1504. package/ReactCommon/runtimeexecutor/BUCK +2 -2
  1505. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -3
  1506. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +14 -2
  1507. package/ReactCommon/yoga/Yoga.podspec +2 -2
  1508. package/ReactCommon/yoga/yoga/BitUtils.h +3 -2
  1509. package/ReactCommon/yoga/yoga/CompactValue.h +2 -2
  1510. package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
  1511. package/ReactCommon/yoga/yoga/YGNode.cpp +111 -110
  1512. package/ReactCommon/yoga/yoga/YGNode.h +11 -0
  1513. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +7 -4
  1514. package/ReactCommon/yoga/yoga/Yoga-internal.h +4 -5
  1515. package/ReactCommon/yoga/yoga/Yoga.cpp +116 -161
  1516. package/ReactCommon/yoga/yoga/Yoga.h +1 -1
  1517. package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.aar → 0.66.3-0/react-native-0.66.3-0.aar} +0 -0
  1518. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.md5 +1 -0
  1519. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha1 +1 -0
  1520. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha256 +1 -0
  1521. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha512 +1 -0
  1522. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module +273 -0
  1523. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.md5 +1 -0
  1524. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha1 +1 -0
  1525. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha256 +1 -0
  1526. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha512 +1 -0
  1527. package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.pom → 0.66.3-0/react-native-0.66.3-0.pom} +28 -11
  1528. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.md5 +1 -0
  1529. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha1 +1 -0
  1530. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha256 +1 -0
  1531. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha512 +1 -0
  1532. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
  1533. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  1534. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  1535. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
  1536. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
  1537. package/flow/HermesInternalType.js +114 -0
  1538. package/flow/global.js +23 -0
  1539. package/flow-typed/npm/promise_v8.x.x.js +3 -3
  1540. package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
  1541. package/index.js +107 -50
  1542. package/interface.js +0 -8
  1543. package/jest/mockNativeComponent.js +36 -0
  1544. package/jest/preprocessor.js +3 -2
  1545. package/jest/renderer.js +3 -9
  1546. package/jest/setup.js +35 -39
  1547. package/local-cli/cli.js +0 -0
  1548. package/package.json +62 -22
  1549. package/react.gradle +32 -17
  1550. package/readme.diff +305 -0
  1551. package/scripts/find-node.sh +8 -6
  1552. package/scripts/generate-specs-cli.js +20 -13
  1553. package/scripts/generate-specs.sh +31 -23
  1554. package/scripts/ios-configure-glog.sh +1 -1
  1555. package/scripts/launchPackager.bat +12 -12
  1556. package/scripts/react-native-xcode.sh +12 -2
  1557. package/scripts/react_native_pods.rb +75 -126
  1558. package/template/_flowconfig +3 -4
  1559. package/template/_gitignore +1 -0
  1560. package/template/android/app/build.gradle +12 -7
  1561. package/template/android/app/src/main/res/values/styles.xml +0 -1
  1562. package/template/android/build.gradle +7 -7
  1563. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  1564. package/template/android/gradle.properties +1 -1
  1565. package/template/ios/HelloWorld/AppDelegate.m +5 -6
  1566. package/template/ios/Podfile +3 -4
  1567. package/template/package.json +4 -4
  1568. package/third-party-podspecs/DoubleConversion.podspec +3 -1
  1569. package/third-party-podspecs/RCT-Folly.podspec +30 -11
  1570. package/third-party-podspecs/boost.podspec +23 -0
  1571. package/third-party-podspecs/fmt.podspec +24 -0
  1572. package/third-party-podspecs/glog.podspec +1 -1
  1573. package/Libraries/.npmignore +0 -1
  1574. package/Libraries/BUCK +0 -36
  1575. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -158
  1576. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -273
  1577. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -82
  1578. package/Libraries/Components/Picker/AndroidDialogPickerViewConfig.js +0 -30
  1579. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -69
  1580. package/Libraries/Components/Picker/Picker.js +0 -165
  1581. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -145
  1582. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  1583. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -72
  1584. package/Libraries/Components/Picker/RCTPickerViewConfig.js +0 -41
  1585. package/Libraries/Components/ScrollResponder.js +0 -796
  1586. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -21
  1587. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1588. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  1589. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1590. package/Libraries/promiseRejectionIsError.js +0 -24
  1591. package/React/Base/RCTJSInvokerModule.h +0 -18
  1592. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
  1593. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -205
  1594. package/React/Views/RCTPicker.h +0 -23
  1595. package/React/Views/RCTPicker.m +0 -121
  1596. package/React/Views/RCTPickerManager.m +0 -68
  1597. package/ReactAndroid/.npmignore +0 -3
  1598. package/ReactAndroid/build.gradle.orig +0 -479
  1599. package/ReactAndroid/release.gradle +0 -142
  1600. package/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js +0 -107023
  1601. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
  1602. package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
  1603. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +0 -98
  1604. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragmentActivity.java +0 -15
  1605. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
  1606. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +0 -117
  1607. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java +0 -68
  1608. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java +0 -47
  1609. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java +0 -90
  1610. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java +0 -33
  1611. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java +0 -90
  1612. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java +0 -53
  1613. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java +0 -42
  1614. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java +0 -43
  1615. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerDelegate.java +0 -42
  1616. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerInterface.java +0 -20
  1617. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
  1618. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
  1619. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDrawerLayoutManagerDelegate.java +0 -61
  1620. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDrawerLayoutManagerInterface.java +0 -24
  1621. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
  1622. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
  1623. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidProgressBarManagerDelegate.java +0 -51
  1624. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidProgressBarManagerInterface.java +0 -23
  1625. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerDelegate.java +0 -58
  1626. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerInterface.java +0 -24
  1627. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerDelegate.java +0 -67
  1628. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerInterface.java +0 -26
  1629. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerDelegate.java +0 -26
  1630. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerInterface.java +0 -16
  1631. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerDelegate.java +0 -54
  1632. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerInterface.java +0 -25
  1633. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerDelegate.java +0 -49
  1634. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerInterface.java +0 -23
  1635. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerDelegate.java +0 -32
  1636. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerInterface.java +0 -16
  1637. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerDelegate.java +0 -52
  1638. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerInterface.java +0 -24
  1639. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerDelegate.java +0 -73
  1640. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerInterface.java +0 -31
  1641. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerDelegate.java +0 -32
  1642. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerInterface.java +0 -17
  1643. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/Android.mk +0 -29
  1644. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/react/renderer/components/rncore/Props.cpp +0 -191
  1645. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -29
  1646. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
  1647. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
  1648. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
  1649. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
  1650. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
  1651. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -97
  1652. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -40
  1653. package/ReactAndroid/src/main/jni/first-party/fbjni/.gitignore +0 -2
  1654. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libc++_shared.so +0 -0
  1655. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfb.so +0 -0
  1656. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfbjni.so +0 -0
  1657. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_futures.so +0 -0
  1658. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_json.so +0 -0
  1659. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog.so +0 -0
  1660. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog_init.so +0 -0
  1661. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-debug.so +0 -0
  1662. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-release.so +0 -0
  1663. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-debug.so +0 -0
  1664. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-release.so +0 -0
  1665. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-inspector.so +0 -0
  1666. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjscexecutor.so +0 -0
  1667. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsijniprofiler.so +0 -0
  1668. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsinspector.so +0 -0
  1669. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_codegen_reactandroidspec.so +0 -0
  1670. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_nativemodule_core.so +0 -0
  1671. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeblob.so +0 -0
  1672. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativejni.so +0 -0
  1673. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeutilsjni.so +0 -0
  1674. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactperfloggerjni.so +0 -0
  1675. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libturbomodulejsijni.so +0 -0
  1676. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libyoga.so +0 -0
  1677. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libc++_shared.so +0 -0
  1678. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfb.so +0 -0
  1679. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfbjni.so +0 -0
  1680. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_futures.so +0 -0
  1681. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_json.so +0 -0
  1682. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog.so +0 -0
  1683. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog_init.so +0 -0
  1684. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-debug.so +0 -0
  1685. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-release.so +0 -0
  1686. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-debug.so +0 -0
  1687. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-release.so +0 -0
  1688. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-inspector.so +0 -0
  1689. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjscexecutor.so +0 -0
  1690. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsijniprofiler.so +0 -0
  1691. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsinspector.so +0 -0
  1692. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_codegen_reactandroidspec.so +0 -0
  1693. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_nativemodule_core.so +0 -0
  1694. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeblob.so +0 -0
  1695. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativejni.so +0 -0
  1696. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeutilsjni.so +0 -0
  1697. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactperfloggerjni.so +0 -0
  1698. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libturbomodulejsijni.so +0 -0
  1699. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libyoga.so +0 -0
  1700. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libc++_shared.so +0 -0
  1701. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfb.so +0 -0
  1702. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfbjni.so +0 -0
  1703. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_futures.so +0 -0
  1704. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_json.so +0 -0
  1705. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog.so +0 -0
  1706. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog_init.so +0 -0
  1707. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-debug.so +0 -0
  1708. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-release.so +0 -0
  1709. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-debug.so +0 -0
  1710. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-release.so +0 -0
  1711. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-inspector.so +0 -0
  1712. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjscexecutor.so +0 -0
  1713. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsijniprofiler.so +0 -0
  1714. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsinspector.so +0 -0
  1715. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_codegen_reactandroidspec.so +0 -0
  1716. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_nativemodule_core.so +0 -0
  1717. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeblob.so +0 -0
  1718. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativejni.so +0 -0
  1719. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeutilsjni.so +0 -0
  1720. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactperfloggerjni.so +0 -0
  1721. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libturbomodulejsijni.so +0 -0
  1722. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libyoga.so +0 -0
  1723. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libc++_shared.so +0 -0
  1724. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfb.so +0 -0
  1725. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfbjni.so +0 -0
  1726. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_futures.so +0 -0
  1727. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_json.so +0 -0
  1728. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog.so +0 -0
  1729. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog_init.so +0 -0
  1730. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-debug.so +0 -0
  1731. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-release.so +0 -0
  1732. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-debug.so +0 -0
  1733. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-release.so +0 -0
  1734. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-inspector.so +0 -0
  1735. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjscexecutor.so +0 -0
  1736. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsijniprofiler.so +0 -0
  1737. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsinspector.so +0 -0
  1738. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_codegen_reactandroidspec.so +0 -0
  1739. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_nativemodule_core.so +0 -0
  1740. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeblob.so +0 -0
  1741. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativejni.so +0 -0
  1742. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeutilsjni.so +0 -0
  1743. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactperfloggerjni.so +0 -0
  1744. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libturbomodulejsijni.so +0 -0
  1745. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libyoga.so +0 -0
  1746. package/ReactAndroid/src/main/third-party/android/support/v4/BUCK +0 -685
  1747. package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/BUCK +0 -62
  1748. package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/aar-unpacker.py +0 -20
  1749. package/ReactCommon/cxxreact/re_worker_requirements +0 -6
  1750. package/ReactCommon/hermes/inspector/tools/msggen/.gitignore +0 -3
  1751. package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
  1752. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
  1753. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
  1754. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
  1755. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
  1756. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
  1757. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
  1758. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
  1759. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
  1760. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
  1761. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
  1762. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
  1763. package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
  1764. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
  1765. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
  1766. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
  1767. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
  1768. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
  1769. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
  1770. package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -47
  1771. package/ReactCommon/react/renderer/components/picker/iospicker/primitives.h +0 -29
  1772. package/ReactCommon/react/renderer/core/ConcreteStateTeller.h +0 -152
  1773. package/ReactCommon/react/renderer/mounting/TransactionTelemetry.cpp +0 -142
  1774. package/ReactCommon/react/renderer/mounting/tests/TransactionTelemetryTest.cpp +0 -125
  1775. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar +0 -0
  1776. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.md5 +0 -1
  1777. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.sha1 +0 -1
  1778. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.md5 +0 -1
  1779. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.sha1 +0 -1
  1780. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.md5 +0 -1
  1781. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.sha1 +0 -1
  1782. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  1783. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
@@ -8,23 +8,24 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- 'use strict';
12
-
13
11
  import AnimatedImplementation from '../../Animated/AnimatedImplementation';
12
+ import Dimensions from '../../Utilities/Dimensions';
14
13
  import Platform from '../../Utilities/Platform';
15
14
  import * as React from 'react';
16
15
  import ReactNative from '../../Renderer/shims/ReactNative';
17
16
  require('../../Renderer/shims/ReactNative'); // Force side effects to prevent T55744311
18
- import ScrollResponder from '../ScrollResponder';
19
17
  import ScrollViewStickyHeader from './ScrollViewStickyHeader';
20
18
  import StyleSheet from '../../StyleSheet/StyleSheet';
21
19
  import View from '../View/View';
20
+ import UIManager from '../../ReactNative/UIManager';
21
+ import Keyboard from '../Keyboard/Keyboard';
22
+ import FrameRateLogger from '../../Interaction/FrameRateLogger';
23
+ import TextInputState from '../TextInput/TextInputState';
22
24
 
23
25
  import dismissKeyboard from '../../Utilities/dismissKeyboard';
24
26
  import flattenStyle from '../../StyleSheet/flattenStyle';
25
27
  import invariant from 'invariant';
26
28
  import processDecelerationRate from './processDecelerationRate';
27
- import resolveAssetSource from '../../Image/resolveAssetSource';
28
29
  import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
29
30
  import setAndForwardRef from '../../Utilities/setAndForwardRef';
30
31
 
@@ -38,30 +39,110 @@ import type {
38
39
  LayoutEvent,
39
40
  } from '../../Types/CoreEventTypes';
40
41
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
41
- import type {State as ScrollResponderState} from '../ScrollResponder';
42
42
  import type {ViewProps} from '../View/ViewPropTypes';
43
+ import ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';
43
44
  import type {Props as ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';
45
+ import type {KeyboardEvent} from '../Keyboard/Keyboard';
46
+ import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
44
47
 
45
- import ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';
46
- import ScrollViewNativeComponent from './ScrollViewNativeComponent';
47
- import ScrollContentViewNativeComponent from './ScrollContentViewNativeComponent';
48
- import AndroidHorizontalScrollViewNativeComponent from './AndroidHorizontalScrollViewNativeComponent';
48
+ import Commands from './ScrollViewCommands';
49
49
  import AndroidHorizontalScrollContentViewNativeComponent from './AndroidHorizontalScrollContentViewNativeComponent';
50
+ import AndroidHorizontalScrollViewNativeComponent from './AndroidHorizontalScrollViewNativeComponent';
51
+ import ScrollContentViewNativeComponent from './ScrollContentViewNativeComponent';
52
+ import ScrollViewNativeComponent from './ScrollViewNativeComponent';
50
53
 
51
- let AndroidScrollView;
52
- let AndroidHorizontalScrollContentView;
53
- let AndroidHorizontalScrollView;
54
- let RCTScrollView;
55
- let RCTScrollContentView;
56
-
57
- if (Platform.OS === 'android') {
58
- AndroidScrollView = ScrollViewNativeComponent;
59
- AndroidHorizontalScrollView = AndroidHorizontalScrollViewNativeComponent;
60
- AndroidHorizontalScrollContentView = AndroidHorizontalScrollContentViewNativeComponent;
61
- } else {
62
- RCTScrollView = ScrollViewNativeComponent;
63
- RCTScrollContentView = ScrollContentViewNativeComponent;
64
- }
54
+ const {NativeHorizontalScrollViewTuple, NativeVerticalScrollViewTuple} =
55
+ Platform.OS === 'android'
56
+ ? {
57
+ NativeHorizontalScrollViewTuple: [
58
+ AndroidHorizontalScrollViewNativeComponent,
59
+ AndroidHorizontalScrollContentViewNativeComponent,
60
+ ],
61
+ NativeVerticalScrollViewTuple: [ScrollViewNativeComponent, View],
62
+ }
63
+ : {
64
+ NativeHorizontalScrollViewTuple: [
65
+ ScrollViewNativeComponent,
66
+ ScrollContentViewNativeComponent,
67
+ ],
68
+ NativeVerticalScrollViewTuple: [
69
+ ScrollViewNativeComponent,
70
+ ScrollContentViewNativeComponent,
71
+ ],
72
+ };
73
+
74
+ /*
75
+ * iOS scroll event timing nuances:
76
+ * ===============================
77
+ *
78
+ *
79
+ * Scrolling without bouncing, if you touch down:
80
+ * -------------------------------
81
+ *
82
+ * 1. `onMomentumScrollBegin` (when animation begins after letting up)
83
+ * ... physical touch starts ...
84
+ * 2. `onTouchStartCapture` (when you press down to stop the scroll)
85
+ * 3. `onTouchStart` (same, but bubble phase)
86
+ * 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)
87
+ * 5. `onMomentumScrollEnd`
88
+ *
89
+ *
90
+ * Scrolling with bouncing, if you touch down:
91
+ * -------------------------------
92
+ *
93
+ * 1. `onMomentumScrollBegin` (when animation begins after letting up)
94
+ * ... bounce begins ...
95
+ * ... some time elapses ...
96
+ * ... physical touch during bounce ...
97
+ * 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)
98
+ * 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)
99
+ * 4. `onTouchStart` (same, but bubble phase)
100
+ * 5. `onTouchEnd` (You could hold the touch start for a long time)
101
+ * 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)
102
+ *
103
+ * So when we receive an `onTouchStart`, how can we tell if we are touching
104
+ * *during* an animation (which then causes the animation to stop)? The only way
105
+ * to tell is if the `touchStart` occurred immediately after the
106
+ * `onMomentumScrollEnd`.
107
+ *
108
+ * This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if
109
+ * necessary
110
+ *
111
+ * `ScrollView` also includes logic for blurring a currently focused input
112
+ * if one is focused while scrolling. This is a natural place
113
+ * to put this logic since it can support not dismissing the keyboard while
114
+ * scrolling, unless a recognized "tap"-like gesture has occurred.
115
+ *
116
+ * The public lifecycle API includes events for keyboard interaction, responder
117
+ * interaction, and scrolling (among others). The keyboard callbacks
118
+ * `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll
119
+ * responder's props so that you can guarantee that the scroll responder's
120
+ * internal state has been updated accordingly (and deterministically) by
121
+ * the time the props callbacks are invoke. Otherwise, you would always wonder
122
+ * if the scroll responder is currently in a state where it recognizes new
123
+ * keyboard positions etc. If coordinating scrolling with keyboard movement,
124
+ * *always* use these hooks instead of listening to your own global keyboard
125
+ * events.
126
+ *
127
+ * Public keyboard lifecycle API: (props callbacks)
128
+ *
129
+ * Standard Keyboard Appearance Sequence:
130
+ *
131
+ * this.props.onKeyboardWillShow
132
+ * this.props.onKeyboardDidShow
133
+ *
134
+ * `onScrollResponderKeyboardDismissed` will be invoked if an appropriate
135
+ * tap inside the scroll responder's scrollable region was responsible
136
+ * for the dismissal of the keyboard. There are other reasons why the
137
+ * keyboard could be dismissed.
138
+ *
139
+ * this.props.onScrollResponderKeyboardDismissed
140
+ *
141
+ * Standard Keyboard Hide Sequence:
142
+ *
143
+ * this.props.onKeyboardWillHide
144
+ * this.props.onKeyboardDidHide
145
+ */
65
146
 
66
147
  // Public methods for ScrollView
67
148
  export type ScrollViewImperativeMethods = $ReadOnly<{|
@@ -73,14 +154,9 @@ export type ScrollViewImperativeMethods = $ReadOnly<{|
73
154
  scrollTo: $PropertyType<ScrollView, 'scrollTo'>,
74
155
  scrollToEnd: $PropertyType<ScrollView, 'scrollToEnd'>,
75
156
  flashScrollIndicators: $PropertyType<ScrollView, 'flashScrollIndicators'>,
76
-
77
- // ScrollResponder.Mixin public methods
78
- scrollResponderZoomTo: $PropertyType<
79
- typeof ScrollResponder.Mixin,
80
- 'scrollResponderZoomTo',
81
- >,
157
+ scrollResponderZoomTo: $PropertyType<ScrollView, 'scrollResponderZoomTo'>,
82
158
  scrollResponderScrollNativeHandleToKeyboard: $PropertyType<
83
- typeof ScrollResponder.Mixin,
159
+ ScrollView,
84
160
  'scrollResponderScrollNativeHandleToKeyboard',
85
161
  >,
86
162
  |}>;
@@ -95,6 +171,12 @@ type IOSProps = $ReadOnly<{|
95
171
  * @platform ios
96
172
  */
97
173
  automaticallyAdjustContentInsets?: ?boolean,
174
+ /**
175
+ * Controls whether iOS should automatically adjust the scroll indicator
176
+ * insets. The default value is true. Available on iOS 13 and later.
177
+ * @platform ios
178
+ */
179
+ automaticallyAdjustsScrollIndicatorInsets?: ?boolean,
98
180
  /**
99
181
  * The amount by which the scroll view content is inset from the edges
100
182
  * of the scroll view. Defaults to `{top: 0, left: 0, bottom: 0, right: 0}`.
@@ -351,32 +433,15 @@ type AndroidProps = $ReadOnly<{|
351
433
  fadingEdgeLength?: ?number,
352
434
  |}>;
353
435
 
354
- type VRProps = $ReadOnly<{|
355
- /**
356
- * Optionally an image can be used for the scroll bar thumb. This will
357
- * override the color. While the image is loading or the image fails to
358
- * load the color will be used instead. Use an alpha of 0 in the color
359
- * to avoid seeing it while the image is loading.
360
- *
361
- * - `uri` - a string representing the resource identifier for the image, which
362
- * should be either a local file path or the name of a static image resource
363
- * - `number` - Opaque type returned by something like
364
- * `import IMAGE from './image.jpg'`.
365
- * @platform vr
366
- */
367
- scrollBarThumbImage?: ?($ReadOnly<{||}> | number), // Opaque type returned by import IMAGE from './image.jpg'
368
- |}>;
369
-
370
436
  type StickyHeaderComponentType = React.AbstractComponent<
371
437
  ScrollViewStickyHeaderProps,
372
- $ReadOnly<{setNextHeaderY: number => void, ...}>,
438
+ $ReadOnly<interface {setNextHeaderY: number => void}>,
373
439
  >;
374
440
 
375
441
  export type Props = $ReadOnly<{|
376
442
  ...ViewProps,
377
443
  ...IOSProps,
378
444
  ...AndroidProps,
379
- ...VRProps,
380
445
 
381
446
  /**
382
447
  * These styles will be applied to the scroll view content container which
@@ -439,10 +504,8 @@ export type Props = $ReadOnly<{|
439
504
  * On android this is not supported and it will have the same behavior as 'none'.
440
505
  */
441
506
  keyboardDismissMode?: ?// default
442
- (| 'none' // cross-platform
443
- | 'on-drag'
444
- | 'interactive'
445
- ), // ios only
507
+ // cross-platform
508
+ ('none' | 'on-drag' | 'interactive'), // ios only
446
509
  /**
447
510
  * Determines when the keyboard should stay visible after a tap.
448
511
  *
@@ -489,7 +552,10 @@ export type Props = $ReadOnly<{|
489
552
  * which this ScrollView renders.
490
553
  */
491
554
  onContentSizeChange?: (contentWidth: number, contentHeight: number) => void,
492
- onKeyboardDidShow?: (event: PressEvent) => void,
555
+ onKeyboardDidShow?: (event: KeyboardEvent) => void,
556
+ onKeyboardDidHide?: (event: KeyboardEvent) => void,
557
+ onKeyboardWillShow?: (event: KeyboardEvent) => void,
558
+ onKeyboardWillHide?: (event: KeyboardEvent) => void,
493
559
  /**
494
560
  * When true, the scroll view stops on multiples of the scroll view's size
495
561
  * when scrolling. This can be used for horizontal pagination. The default
@@ -511,6 +577,11 @@ export type Props = $ReadOnly<{|
511
577
  * The default value is true.
512
578
  */
513
579
  showsVerticalScrollIndicator?: ?boolean,
580
+ /**
581
+ * When true, Sticky header is hidden when scrolling down, and dock at the top
582
+ * when scrolling up
583
+ */
584
+ stickyHeaderHiddenOnScroll?: ?boolean,
514
585
  /**
515
586
  * An array of child indices determining which children get docked to the
516
587
  * top of the screen when scrolling. For example, passing
@@ -574,7 +645,8 @@ export type Props = $ReadOnly<{|
574
645
  *
575
646
  * See [RefreshControl](docs/refreshcontrol.html).
576
647
  */
577
- // $FlowFixMe - how to handle generic type without existential operator?
648
+ /* $FlowFixMe[unclear-type] - how to handle generic type without existential
649
+ * operator? */
578
650
  refreshControl?: ?React.Element<any>,
579
651
  children?: React.Node,
580
652
  /**
@@ -594,22 +666,9 @@ export type Props = $ReadOnly<{|
594
666
 
595
667
  type State = {|
596
668
  layoutHeight: ?number,
597
- ...ScrollResponderState,
598
669
  |};
599
670
 
600
- function createScrollResponder(
601
- node: React.ElementRef<typeof ScrollView>,
602
- ): typeof ScrollResponder.Mixin {
603
- const scrollResponder = {...ScrollResponder.Mixin};
604
-
605
- for (const key in scrollResponder) {
606
- if (typeof scrollResponder[key] === 'function') {
607
- scrollResponder[key] = scrollResponder[key].bind(node);
608
- }
609
- }
610
-
611
- return scrollResponder;
612
- }
671
+ const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
613
672
 
614
673
  type ScrollViewComponentStatics = $ReadOnly<{|
615
674
  Context: typeof ScrollViewContext,
@@ -652,61 +711,17 @@ type ScrollViewComponentStatics = $ReadOnly<{|
652
711
  */
653
712
  class ScrollView extends React.Component<Props, State> {
654
713
  static Context: typeof ScrollViewContext = ScrollViewContext;
655
- /**
656
- * Part 1: Removing ScrollResponder.Mixin:
657
- *
658
- * 1. Mixin methods should be flow typed. That's why we create a
659
- * copy of ScrollResponder.Mixin and attach it to this._scrollResponder.
660
- * Otherwise, we'd have to manually declare each method on the component
661
- * class and assign it a flow type.
662
- * 2. Mixin methods can call component methods, and access the component's
663
- * props and state. So, we need to bind all mixin methods to the
664
- * component instance.
665
- * 3. Continued...
666
- */
667
- _scrollResponder: typeof ScrollResponder.Mixin = createScrollResponder(this);
668
714
 
669
715
  constructor(props: Props) {
670
716
  super(props);
671
717
 
672
- /**
673
- * Part 2: Removing ScrollResponder.Mixin
674
- *
675
- * 3. Mixin methods access other mixin methods via dynamic dispatch using
676
- * this. Since mixin methods are bound to the component instance, we need
677
- * to copy all mixin methods to the component instance. This is also
678
- * necessary because getScrollResponder() is a public method that returns
679
- * an object that can be used to execute all scrollResponder methods.
680
- * Since the object returned from that method is the ScrollView instance,
681
- * we need to bind all mixin methods to the ScrollView instance.
682
- */
683
- for (const key in ScrollResponder.Mixin) {
684
- if (
685
- typeof ScrollResponder.Mixin[key] === 'function' &&
686
- key.startsWith('scrollResponder')
687
- ) {
688
- // $FlowFixMe - dynamically adding properties to a class
689
- (this: any)[key] = ScrollResponder.Mixin[key].bind(this);
690
- }
691
- }
692
-
693
- /**
694
- * Part 3: Removing ScrollResponder.Mixin
695
- *
696
- * 4. Mixins can initialize properties and use properties on the component
697
- * instance.
698
- */
699
- Object.keys(ScrollResponder.Mixin)
700
- .filter(key => typeof ScrollResponder.Mixin[key] !== 'function')
701
- .forEach(key => {
702
- // $FlowFixMe - dynamically adding properties to a class
703
- (this: any)[key] = ScrollResponder.Mixin[key];
704
- });
718
+ this._scrollAnimatedValue = new AnimatedImplementation.Value(
719
+ this.props.contentOffset?.y ?? 0,
720
+ );
721
+ this._scrollAnimatedValue.setOffset(this.props.contentInset?.top ?? 0);
705
722
  }
706
723
 
707
- _scrollAnimatedValue: AnimatedImplementation.Value = new AnimatedImplementation.Value(
708
- 0,
709
- );
724
+ _scrollAnimatedValue: AnimatedImplementation.Value;
710
725
  _scrollAnimatedValueAttachment: ?{detach: () => void, ...} = null;
711
726
  _stickyHeaderRefs: Map<
712
727
  string,
@@ -714,43 +729,95 @@ class ScrollView extends React.Component<Props, State> {
714
729
  > = new Map();
715
730
  _headerLayoutYs: Map<string, number> = new Map();
716
731
 
732
+ _keyboardWillOpenTo: ?KeyboardEvent = null;
733
+ _additionalScrollOffset: number = 0;
734
+ _isTouching: boolean = false;
735
+ _lastMomentumScrollBeginTime: number = 0;
736
+ _lastMomentumScrollEndTime: number = 0;
737
+
738
+ // Reset to false every time becomes responder. This is used to:
739
+ // - Determine if the scroll view has been scrolled and therefore should
740
+ // refuse to give up its responder lock.
741
+ // - Determine if releasing should dismiss the keyboard when we are in
742
+ // tap-to-dismiss mode (this.props.keyboardShouldPersistTaps !== 'always').
743
+ _observedScrollSinceBecomingResponder: boolean = false;
744
+ _becameResponderWhileAnimating: boolean = false;
745
+ _preventNegativeScrollOffset: ?boolean = null;
746
+
747
+ _animated = null;
748
+
749
+ _subscriptionKeyboardWillShow: ?EventSubscription = null;
750
+ _subscriptionKeyboardWillHide: ?EventSubscription = null;
751
+ _subscriptionKeyboardDidShow: ?EventSubscription = null;
752
+ _subscriptionKeyboardDidHide: ?EventSubscription = null;
753
+
717
754
  state: State = {
718
755
  layoutHeight: null,
719
- ...ScrollResponder.Mixin.scrollResponderMixinGetInitialState(),
720
756
  };
721
757
 
722
- UNSAFE_componentWillMount() {
723
- this._scrollResponder.UNSAFE_componentWillMount();
724
- this._scrollAnimatedValue = new AnimatedImplementation.Value(
725
- this.props.contentOffset?.y ?? 0,
758
+ componentDidMount() {
759
+ if (typeof this.props.keyboardShouldPersistTaps === 'boolean') {
760
+ console.warn(
761
+ `'keyboardShouldPersistTaps={${
762
+ this.props.keyboardShouldPersistTaps === true ? 'true' : 'false'
763
+ }}' is deprecated. ` +
764
+ `Use 'keyboardShouldPersistTaps="${
765
+ this.props.keyboardShouldPersistTaps ? 'always' : 'never'
766
+ }"' instead`,
767
+ );
768
+ }
769
+
770
+ this._keyboardWillOpenTo = null;
771
+ this._additionalScrollOffset = 0;
772
+
773
+ this._subscriptionKeyboardWillShow = Keyboard.addListener(
774
+ 'keyboardWillShow',
775
+ this.scrollResponderKeyboardWillShow,
726
776
  );
727
- this._scrollAnimatedValue.setOffset(this.props.contentInset?.top ?? 0);
728
- this._stickyHeaderRefs = new Map();
729
- this._headerLayoutYs = new Map();
777
+ this._subscriptionKeyboardWillHide = Keyboard.addListener(
778
+ 'keyboardWillHide',
779
+ this.scrollResponderKeyboardWillHide,
780
+ );
781
+ this._subscriptionKeyboardDidShow = Keyboard.addListener(
782
+ 'keyboardDidShow',
783
+ this.scrollResponderKeyboardDidShow,
784
+ );
785
+ this._subscriptionKeyboardDidHide = Keyboard.addListener(
786
+ 'keyboardDidHide',
787
+ this.scrollResponderKeyboardDidHide,
788
+ );
789
+
790
+ this._updateAnimatedNodeAttachment();
730
791
  }
731
792
 
732
- UNSAFE_componentWillReceiveProps(nextProps: Props) {
733
- const currentContentInsetTop = this.props.contentInset
734
- ? this.props.contentInset.top
793
+ componentDidUpdate(prevProps: Props) {
794
+ const prevContentInsetTop = prevProps.contentInset
795
+ ? prevProps.contentInset.top
735
796
  : 0;
736
- const nextContentInsetTop = nextProps.contentInset
737
- ? nextProps.contentInset.top
797
+ const newContentInsetTop = this.props.contentInset
798
+ ? this.props.contentInset.top
738
799
  : 0;
739
- if (currentContentInsetTop !== nextContentInsetTop) {
740
- this._scrollAnimatedValue.setOffset(nextContentInsetTop || 0);
800
+ if (prevContentInsetTop !== newContentInsetTop) {
801
+ this._scrollAnimatedValue.setOffset(newContentInsetTop || 0);
741
802
  }
742
- }
743
-
744
- componentDidMount() {
745
- this._updateAnimatedNodeAttachment();
746
- }
747
803
 
748
- componentDidUpdate() {
749
804
  this._updateAnimatedNodeAttachment();
750
805
  }
751
806
 
752
807
  componentWillUnmount() {
753
- this._scrollResponder.componentWillUnmount();
808
+ if (this._subscriptionKeyboardWillShow != null) {
809
+ this._subscriptionKeyboardWillShow.remove();
810
+ }
811
+ if (this._subscriptionKeyboardWillHide != null) {
812
+ this._subscriptionKeyboardWillHide.remove();
813
+ }
814
+ if (this._subscriptionKeyboardDidShow != null) {
815
+ this._subscriptionKeyboardDidShow.remove();
816
+ }
817
+ if (this._subscriptionKeyboardDidHide != null) {
818
+ this._subscriptionKeyboardDidHide.remove();
819
+ }
820
+
754
821
  if (this._scrollAnimatedValueAttachment) {
755
822
  this._scrollAnimatedValueAttachment.detach();
756
823
  }
@@ -779,10 +846,7 @@ class ScrollView extends React.Component<Props, State> {
779
846
  ref.scrollTo = this.scrollTo;
780
847
  ref.scrollToEnd = this.scrollToEnd;
781
848
  ref.flashScrollIndicators = this.flashScrollIndicators;
782
-
783
- // $FlowFixMe - This method was manually bound from ScrollResponder.mixin
784
849
  ref.scrollResponderZoomTo = this.scrollResponderZoomTo;
785
- // $FlowFixMe - This method was manually bound from ScrollResponder.mixin
786
850
  ref.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;
787
851
  }
788
852
  },
@@ -795,7 +859,7 @@ class ScrollView extends React.Component<Props, State> {
795
859
  * to the underlying scroll responder's methods.
796
860
  */
797
861
  getScrollResponder: () => ScrollResponderType = () => {
798
- // $FlowFixMe - overriding type to include ScrollResponder.Mixin
862
+ // $FlowFixMe[unclear-type]
799
863
  return ((this: any): ScrollResponderType);
800
864
  };
801
865
 
@@ -803,13 +867,13 @@ class ScrollView extends React.Component<Props, State> {
803
867
  return ReactNative.findNodeHandle(this._scrollViewRef);
804
868
  };
805
869
 
806
- getInnerViewNode(): ?number {
870
+ getInnerViewNode: () => ?number = () => {
807
871
  return ReactNative.findNodeHandle(this._innerViewRef);
808
- }
872
+ };
809
873
 
810
- getInnerViewRef(): ?React.ElementRef<typeof View> {
874
+ getInnerViewRef: () => ?React.ElementRef<typeof View> = () => {
811
875
  return this._innerViewRef;
812
- }
876
+ };
813
877
 
814
878
  getNativeScrollRef: () => ?React.ElementRef<HostComponent<mixed>> = () => {
815
879
  return this._scrollViewRef;
@@ -863,11 +927,10 @@ class ScrollView extends React.Component<Props, State> {
863
927
  x = options.x;
864
928
  animated = options.animated;
865
929
  }
866
- this._scrollResponder.scrollResponderScrollTo({
867
- x: x || 0,
868
- y: y || 0,
869
- animated: animated !== false,
870
- });
930
+ if (this._scrollViewRef == null) {
931
+ return;
932
+ }
933
+ Commands.scrollTo(this._scrollViewRef, x || 0, y || 0, animated !== false);
871
934
  };
872
935
 
873
936
  /**
@@ -883,9 +946,10 @@ class ScrollView extends React.Component<Props, State> {
883
946
  ) => {
884
947
  // Default to true
885
948
  const animated = (options && options.animated) !== false;
886
- this._scrollResponder.scrollResponderScrollToEnd({
887
- animated: animated,
888
- });
949
+ if (this._scrollViewRef == null) {
950
+ return;
951
+ }
952
+ Commands.scrollToEnd(this._scrollViewRef, animated);
889
953
  };
890
954
 
891
955
  /**
@@ -894,7 +958,150 @@ class ScrollView extends React.Component<Props, State> {
894
958
  * @platform ios
895
959
  */
896
960
  flashScrollIndicators: () => void = () => {
897
- this._scrollResponder.scrollResponderFlashScrollIndicators();
961
+ if (this._scrollViewRef == null) {
962
+ return;
963
+ }
964
+ Commands.flashScrollIndicators(this._scrollViewRef);
965
+ };
966
+
967
+ /**
968
+ * This method should be used as the callback to onFocus in a TextInputs'
969
+ * parent view. Note that any module using this mixin needs to return
970
+ * the parent view's ref in getScrollViewRef() in order to use this method.
971
+ * @param {number} nodeHandle The TextInput node handle
972
+ * @param {number} additionalOffset The scroll view's bottom "contentInset".
973
+ * Default is 0.
974
+ * @param {bool} preventNegativeScrolling Whether to allow pulling the content
975
+ * down to make it meet the keyboard's top. Default is false.
976
+ */
977
+ scrollResponderScrollNativeHandleToKeyboard: <T>(
978
+ nodeHandle: number | React.ElementRef<HostComponent<T>>,
979
+ additionalOffset?: number,
980
+ preventNegativeScrollOffset?: boolean,
981
+ ) => void = <T>(
982
+ nodeHandle: number | React.ElementRef<HostComponent<T>>,
983
+ additionalOffset?: number,
984
+ preventNegativeScrollOffset?: boolean,
985
+ ) => {
986
+ this._additionalScrollOffset = additionalOffset || 0;
987
+ this._preventNegativeScrollOffset = !!preventNegativeScrollOffset;
988
+
989
+ if (this._innerViewRef == null) {
990
+ return;
991
+ }
992
+
993
+ if (typeof nodeHandle === 'number') {
994
+ UIManager.measureLayout(
995
+ nodeHandle,
996
+ ReactNative.findNodeHandle(this),
997
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
998
+ this._textInputFocusError,
999
+ this._inputMeasureAndScrollToKeyboard,
1000
+ );
1001
+ } else {
1002
+ nodeHandle.measureLayout(
1003
+ this._innerViewRef,
1004
+ this._inputMeasureAndScrollToKeyboard,
1005
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
1006
+ this._textInputFocusError,
1007
+ );
1008
+ }
1009
+ };
1010
+
1011
+ /**
1012
+ * A helper function to zoom to a specific rect in the scrollview. The argument has the shape
1013
+ * {x: number; y: number; width: number; height: number; animated: boolean = true}
1014
+ *
1015
+ * @platform ios
1016
+ */
1017
+ scrollResponderZoomTo: (
1018
+ rect: {|
1019
+ x: number,
1020
+ y: number,
1021
+ width: number,
1022
+ height: number,
1023
+ animated?: boolean,
1024
+ |},
1025
+ animated?: boolean, // deprecated, put this inside the rect argument instead
1026
+ ) => void = (
1027
+ rect: {|
1028
+ x: number,
1029
+ y: number,
1030
+ width: number,
1031
+ height: number,
1032
+ animated?: boolean,
1033
+ |},
1034
+ animated?: boolean, // deprecated, put this inside the rect argument instead
1035
+ ) => {
1036
+ invariant(Platform.OS === 'ios', 'zoomToRect is not implemented');
1037
+ if ('animated' in rect) {
1038
+ this._animated = rect.animated;
1039
+ delete rect.animated;
1040
+ } else if (typeof animated !== 'undefined') {
1041
+ console.warn(
1042
+ '`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead',
1043
+ );
1044
+ }
1045
+
1046
+ if (this._scrollViewRef == null) {
1047
+ return;
1048
+ }
1049
+ Commands.zoomToRect(this._scrollViewRef, rect, animated !== false);
1050
+ };
1051
+
1052
+ _textInputFocusError() {
1053
+ console.warn('Error measuring text field.');
1054
+ }
1055
+
1056
+ /**
1057
+ * The calculations performed here assume the scroll view takes up the entire
1058
+ * screen - even if has some content inset. We then measure the offsets of the
1059
+ * keyboard, and compensate both for the scroll view's "contentInset".
1060
+ *
1061
+ * @param {number} left Position of input w.r.t. table view.
1062
+ * @param {number} top Position of input w.r.t. table view.
1063
+ * @param {number} width Width of the text input.
1064
+ * @param {number} height Height of the text input.
1065
+ */
1066
+ _inputMeasureAndScrollToKeyboard: (
1067
+ left: number,
1068
+ top: number,
1069
+ width: number,
1070
+ height: number,
1071
+ ) => void = (left: number, top: number, width: number, height: number) => {
1072
+ let keyboardScreenY = Dimensions.get('window').height;
1073
+
1074
+ const scrollTextInputIntoVisibleRect = () => {
1075
+ if (this._keyboardWillOpenTo != null) {
1076
+ keyboardScreenY = this._keyboardWillOpenTo.endCoordinates.screenY;
1077
+ }
1078
+ let scrollOffsetY =
1079
+ top - keyboardScreenY + height + this._additionalScrollOffset;
1080
+
1081
+ // By default, this can scroll with negative offset, pulling the content
1082
+ // down so that the target component's bottom meets the keyboard's top.
1083
+ // If requested otherwise, cap the offset at 0 minimum to avoid content
1084
+ // shifting down.
1085
+ if (this._preventNegativeScrollOffset === true) {
1086
+ scrollOffsetY = Math.max(0, scrollOffsetY);
1087
+ }
1088
+ this.scrollTo({x: 0, y: scrollOffsetY, animated: true});
1089
+
1090
+ this._additionalScrollOffset = 0;
1091
+ this._preventNegativeScrollOffset = false;
1092
+ };
1093
+
1094
+ if (this._keyboardWillOpenTo == null) {
1095
+ // `_keyboardWillOpenTo` is set inside `scrollResponderKeyboardWillShow` which
1096
+ // is not guaranteed to be called before `_inputMeasureAndScrollToKeyboard` but native has already scheduled it.
1097
+ // In case it was not called before `_inputMeasureAndScrollToKeyboard`, we postpone scrolling to
1098
+ // text input.
1099
+ setTimeout(() => {
1100
+ scrollTextInputIntoVisibleRect();
1101
+ }, 0);
1102
+ } else {
1103
+ scrollTextInputIntoVisibleRect();
1104
+ }
898
1105
  };
899
1106
 
900
1107
  _getKeyForIndex(index, childArray) {
@@ -972,14 +1179,12 @@ class ScrollView extends React.Component<Props, State> {
972
1179
  }
973
1180
  }
974
1181
  if (Platform.OS === 'android') {
975
- if (
976
- this.props.keyboardDismissMode === 'on-drag' &&
977
- this.state.isTouching
978
- ) {
1182
+ if (this.props.keyboardDismissMode === 'on-drag' && this._isTouching) {
979
1183
  dismissKeyboard();
980
1184
  }
981
1185
  }
982
- this._scrollResponder.scrollResponderHandleScroll(e);
1186
+ this._observedScrollSinceBecomingResponder = true;
1187
+ this.props.onScroll && this.props.onScroll(e);
983
1188
  };
984
1189
 
985
1190
  _handleLayout = (e: LayoutEvent) => {
@@ -1007,31 +1212,395 @@ class ScrollView extends React.Component<Props, State> {
1007
1212
  },
1008
1213
  });
1009
1214
 
1010
- render(): React.Node | React.Element<string> {
1011
- let ScrollViewClass;
1012
- let ScrollContentContainerViewClass;
1013
- if (Platform.OS === 'android') {
1014
- if (this.props.horizontal === true) {
1015
- ScrollViewClass = AndroidHorizontalScrollView;
1016
- ScrollContentContainerViewClass = AndroidHorizontalScrollContentView;
1017
- } else {
1018
- ScrollViewClass = AndroidScrollView;
1019
- ScrollContentContainerViewClass = View;
1215
+ /**
1216
+ * Warning, this may be called several times for a single keyboard opening.
1217
+ * It's best to store the information in this method and then take any action
1218
+ * at a later point (either in `keyboardDidShow` or other).
1219
+ *
1220
+ * Here's the order that events occur in:
1221
+ * - focus
1222
+ * - willShow {startCoordinates, endCoordinates} several times
1223
+ * - didShow several times
1224
+ * - blur
1225
+ * - willHide {startCoordinates, endCoordinates} several times
1226
+ * - didHide several times
1227
+ *
1228
+ * The `ScrollResponder` module callbacks for each of these events.
1229
+ * Even though any user could have easily listened to keyboard events
1230
+ * themselves, using these `props` callbacks ensures that ordering of events
1231
+ * is consistent - and not dependent on the order that the keyboard events are
1232
+ * subscribed to. This matters when telling the scroll view to scroll to where
1233
+ * the keyboard is headed - the scroll responder better have been notified of
1234
+ * the keyboard destination before being instructed to scroll to where the
1235
+ * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything
1236
+ * will work.
1237
+ *
1238
+ * WARNING: These callbacks will fire even if a keyboard is displayed in a
1239
+ * different navigation pane. Filter out the events to determine if they are
1240
+ * relevant to you. (For example, only if you receive these callbacks after
1241
+ * you had explicitly focused a node etc).
1242
+ */
1243
+
1244
+ scrollResponderKeyboardWillShow: (e: KeyboardEvent) => void = (
1245
+ e: KeyboardEvent,
1246
+ ) => {
1247
+ this._keyboardWillOpenTo = e;
1248
+ this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);
1249
+ };
1250
+
1251
+ scrollResponderKeyboardWillHide: (e: KeyboardEvent) => void = (
1252
+ e: KeyboardEvent,
1253
+ ) => {
1254
+ this._keyboardWillOpenTo = null;
1255
+ this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);
1256
+ };
1257
+
1258
+ scrollResponderKeyboardDidShow: (e: KeyboardEvent) => void = (
1259
+ e: KeyboardEvent,
1260
+ ) => {
1261
+ // TODO(7693961): The event for DidShow is not available on iOS yet.
1262
+ // Use the one from WillShow and do not assign.
1263
+ if (e) {
1264
+ this._keyboardWillOpenTo = e;
1265
+ }
1266
+ this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);
1267
+ };
1268
+
1269
+ scrollResponderKeyboardDidHide: (e: KeyboardEvent) => void = (
1270
+ e: KeyboardEvent,
1271
+ ) => {
1272
+ this._keyboardWillOpenTo = null;
1273
+ this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);
1274
+ };
1275
+
1276
+ /**
1277
+ * Invoke this from an `onMomentumScrollBegin` event.
1278
+ */
1279
+ _handleMomentumScrollBegin: (e: ScrollEvent) => void = (e: ScrollEvent) => {
1280
+ this._lastMomentumScrollBeginTime = global.performance.now();
1281
+ this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);
1282
+ };
1283
+
1284
+ /**
1285
+ * Invoke this from an `onMomentumScrollEnd` event.
1286
+ */
1287
+ _handleMomentumScrollEnd: (e: ScrollEvent) => void = (e: ScrollEvent) => {
1288
+ FrameRateLogger.endScroll();
1289
+ this._lastMomentumScrollEndTime = global.performance.now();
1290
+ this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);
1291
+ };
1292
+
1293
+ /**
1294
+ * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll
1295
+ * animation, and there's not an easy way to distinguish a drag vs. stopping
1296
+ * momentum.
1297
+ *
1298
+ * Invoke this from an `onScrollBeginDrag` event.
1299
+ */
1300
+ _handleScrollBeginDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {
1301
+ FrameRateLogger.beginScroll(); // TODO: track all scrolls after implementing onScrollEndAnimation
1302
+ this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);
1303
+ };
1304
+
1305
+ /**
1306
+ * Invoke this from an `onScrollEndDrag` event.
1307
+ */
1308
+ _handleScrollEndDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {
1309
+ const {velocity} = e.nativeEvent;
1310
+ // - If we are animating, then this is a "drag" that is stopping the scrollview and momentum end
1311
+ // will fire.
1312
+ // - If velocity is non-zero, then the interaction will stop when momentum scroll ends or
1313
+ // another drag starts and ends.
1314
+ // - If we don't get velocity, better to stop the interaction twice than not stop it.
1315
+ if (
1316
+ !this._isAnimating() &&
1317
+ (!velocity || (velocity.x === 0 && velocity.y === 0))
1318
+ ) {
1319
+ FrameRateLogger.endScroll();
1320
+ }
1321
+ this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);
1322
+ };
1323
+
1324
+ /**
1325
+ * A helper function for this class that lets us quickly determine if the
1326
+ * view is currently animating. This is particularly useful to know when
1327
+ * a touch has just started or ended.
1328
+ */
1329
+ _isAnimating: () => boolean = () => {
1330
+ const now = global.performance.now();
1331
+ const timeSinceLastMomentumScrollEnd =
1332
+ now - this._lastMomentumScrollEndTime;
1333
+ const isAnimating =
1334
+ timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS ||
1335
+ this._lastMomentumScrollEndTime < this._lastMomentumScrollBeginTime;
1336
+ return isAnimating;
1337
+ };
1338
+
1339
+ /**
1340
+ * Invoke this from an `onResponderGrant` event.
1341
+ */
1342
+ _handleResponderGrant: (e: PressEvent) => void = (e: PressEvent) => {
1343
+ this._observedScrollSinceBecomingResponder = false;
1344
+ this.props.onResponderGrant && this.props.onResponderGrant(e);
1345
+ this._becameResponderWhileAnimating = this._isAnimating();
1346
+ };
1347
+
1348
+ /**
1349
+ * Invoke this from an `onResponderReject` event.
1350
+ *
1351
+ * Some other element is not yielding its role as responder. Normally, we'd
1352
+ * just disable the `UIScrollView`, but a touch has already began on it, the
1353
+ * `UIScrollView` will not accept being disabled after that. The easiest
1354
+ * solution for now is to accept the limitation of disallowing this
1355
+ * altogether. To improve this, find a way to disable the `UIScrollView` after
1356
+ * a touch has already started.
1357
+ */
1358
+ _handleResponderReject: () => void = () => {};
1359
+
1360
+ /**
1361
+ * Invoke this from an `onResponderRelease` event.
1362
+ */
1363
+ _handleResponderRelease: (e: PressEvent) => void = (e: PressEvent) => {
1364
+ this._isTouching = e.nativeEvent.touches.length !== 0;
1365
+ this.props.onResponderRelease && this.props.onResponderRelease(e);
1366
+
1367
+ if (typeof e.target === 'number') {
1368
+ if (__DEV__) {
1369
+ console.error(
1370
+ 'Did not expect event target to be a number. Should have been a native component',
1371
+ );
1020
1372
  }
1021
- } else {
1022
- ScrollViewClass = RCTScrollView;
1023
- ScrollContentContainerViewClass = RCTScrollContentView;
1373
+
1374
+ return;
1024
1375
  }
1025
1376
 
1026
- invariant(
1027
- ScrollViewClass !== undefined,
1028
- 'ScrollViewClass must not be undefined',
1029
- );
1377
+ // By default scroll views will unfocus a textField
1378
+ // if another touch occurs outside of it
1379
+ const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();
1380
+ if (
1381
+ this.props.keyboardShouldPersistTaps !== true &&
1382
+ this.props.keyboardShouldPersistTaps !== 'always' &&
1383
+ this._keyboardIsDismissible() &&
1384
+ e.target !== currentlyFocusedTextInput &&
1385
+ !this._observedScrollSinceBecomingResponder &&
1386
+ !this._becameResponderWhileAnimating
1387
+ ) {
1388
+ TextInputState.blurTextInput(currentlyFocusedTextInput);
1389
+ }
1390
+ };
1030
1391
 
1031
- invariant(
1032
- ScrollContentContainerViewClass !== undefined,
1033
- 'ScrollContentContainerViewClass must not be undefined',
1034
- );
1392
+ /**
1393
+ * We will allow the scroll view to give up its lock iff it acquired the lock
1394
+ * during an animation. This is a very useful default that happens to satisfy
1395
+ * many common user experiences.
1396
+ *
1397
+ * - Stop a scroll on the left edge, then turn that into an outer view's
1398
+ * backswipe.
1399
+ * - Stop a scroll mid-bounce at the top, continue pulling to have the outer
1400
+ * view dismiss.
1401
+ * - However, without catching the scroll view mid-bounce (while it is
1402
+ * motionless), if you drag far enough for the scroll view to become
1403
+ * responder (and therefore drag the scroll view a bit), any backswipe
1404
+ * navigation of a swipe gesture higher in the view hierarchy, should be
1405
+ * rejected.
1406
+ */
1407
+ _handleResponderTerminationRequest: () => boolean = () => {
1408
+ return !this._observedScrollSinceBecomingResponder;
1409
+ };
1410
+
1411
+ /**
1412
+ * Invoke this from an `onScroll` event.
1413
+ */
1414
+ _handleScrollShouldSetResponder: () => boolean = () => {
1415
+ // Allow any event touch pass through if the default pan responder is disabled
1416
+ if (this.props.disableScrollViewPanResponder === true) {
1417
+ return false;
1418
+ }
1419
+ return this._isTouching;
1420
+ };
1421
+
1422
+ /**
1423
+ * Merely touch starting is not sufficient for a scroll view to become the
1424
+ * responder. Being the "responder" means that the very next touch move/end
1425
+ * event will result in an action/movement.
1426
+ *
1427
+ * Invoke this from an `onStartShouldSetResponder` event.
1428
+ *
1429
+ * `onStartShouldSetResponder` is used when the next move/end will trigger
1430
+ * some UI movement/action, but when you want to yield priority to views
1431
+ * nested inside of the view.
1432
+ *
1433
+ * There may be some cases where scroll views actually should return `true`
1434
+ * from `onStartShouldSetResponder`: Any time we are detecting a standard tap
1435
+ * that gives priority to nested views.
1436
+ *
1437
+ * - If a single tap on the scroll view triggers an action such as
1438
+ * recentering a map style view yet wants to give priority to interaction
1439
+ * views inside (such as dropped pins or labels), then we would return true
1440
+ * from this method when there is a single touch.
1441
+ *
1442
+ * - Similar to the previous case, if a two finger "tap" should trigger a
1443
+ * zoom, we would check the `touches` count, and if `>= 2`, we would return
1444
+ * true.
1445
+ *
1446
+ */
1447
+ _handleStartShouldSetResponder: (e: PressEvent) => boolean = (
1448
+ e: PressEvent,
1449
+ ) => {
1450
+ // Allow any event touch pass through if the default pan responder is disabled
1451
+ if (this.props.disableScrollViewPanResponder === true) {
1452
+ return false;
1453
+ }
1454
+
1455
+ const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
1456
+
1457
+ if (
1458
+ this.props.keyboardShouldPersistTaps === 'handled' &&
1459
+ this._keyboardIsDismissible() &&
1460
+ e.target !== currentlyFocusedInput
1461
+ ) {
1462
+ return true;
1463
+ }
1464
+ return false;
1465
+ };
1466
+
1467
+ /**
1468
+ * There are times when the scroll view wants to become the responder
1469
+ * (meaning respond to the next immediate `touchStart/touchEnd`), in a way
1470
+ * that *doesn't* give priority to nested views (hence the capture phase):
1471
+ *
1472
+ * - Currently animating.
1473
+ * - Tapping anywhere that is not a text input, while the keyboard is
1474
+ * up (which should dismiss the keyboard).
1475
+ *
1476
+ * Invoke this from an `onStartShouldSetResponderCapture` event.
1477
+ */
1478
+ _handleStartShouldSetResponderCapture: (e: PressEvent) => boolean = (
1479
+ e: PressEvent,
1480
+ ) => {
1481
+ // The scroll view should receive taps instead of its descendants if:
1482
+ // * it is already animating/decelerating
1483
+ if (this._isAnimating()) {
1484
+ return true;
1485
+ }
1486
+
1487
+ // Allow any event touch pass through if the default pan responder is disabled
1488
+ if (this.props.disableScrollViewPanResponder === true) {
1489
+ return false;
1490
+ }
1491
+
1492
+ // * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),
1493
+ // and a new touch starts with a non-textinput target (in which case the
1494
+ // first tap should be sent to the scroll view and dismiss the keyboard,
1495
+ // then the second tap goes to the actual interior view)
1496
+ const {keyboardShouldPersistTaps} = this.props;
1497
+ const keyboardNeverPersistTaps =
1498
+ !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
1499
+
1500
+ if (typeof e.target === 'number') {
1501
+ if (__DEV__) {
1502
+ console.error(
1503
+ 'Did not expect event target to be a number. Should have been a native component',
1504
+ );
1505
+ }
1506
+
1507
+ return false;
1508
+ }
1509
+
1510
+ if (
1511
+ keyboardNeverPersistTaps &&
1512
+ this._keyboardIsDismissible() &&
1513
+ e.target != null &&
1514
+ !TextInputState.isTextInput(e.target)
1515
+ ) {
1516
+ return true;
1517
+ }
1518
+
1519
+ return false;
1520
+ };
1521
+
1522
+ /**
1523
+ * Do we consider there to be a dismissible soft-keyboard open?
1524
+ */
1525
+ _keyboardIsDismissible: () => boolean = () => {
1526
+ const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
1527
+
1528
+ // We cannot dismiss the keyboard without an input to blur, even if a soft
1529
+ // keyboard is open (e.g. when keyboard is open due to a native component
1530
+ // not participating in TextInputState). It's also possible that the
1531
+ // currently focused input isn't a TextInput (such as by calling ref.focus
1532
+ // on a non-TextInput).
1533
+ const hasFocusedTextInput =
1534
+ currentlyFocusedInput != null &&
1535
+ TextInputState.isTextInput(currentlyFocusedInput);
1536
+
1537
+ // Even if an input is focused, we may not have a keyboard to dismiss. E.g
1538
+ // when using a physical keyboard. Ensure we have an event for an opened
1539
+ // keyboard, except on Android where setting windowSoftInputMode to
1540
+ // adjustNone leads to missing keyboard events.
1541
+ const softKeyboardMayBeOpen =
1542
+ this._keyboardWillOpenTo != null || Platform.OS === 'android';
1543
+
1544
+ return hasFocusedTextInput && softKeyboardMayBeOpen;
1545
+ };
1546
+
1547
+ /**
1548
+ * Invoke this from an `onTouchEnd` event.
1549
+ *
1550
+ * @param {PressEvent} e Event.
1551
+ */
1552
+ _handleTouchEnd: (e: PressEvent) => void = (e: PressEvent) => {
1553
+ const nativeEvent = e.nativeEvent;
1554
+ this._isTouching = nativeEvent.touches.length !== 0;
1555
+ this.props.onTouchEnd && this.props.onTouchEnd(e);
1556
+ };
1557
+
1558
+ /**
1559
+ * Invoke this from an `onTouchCancel` event.
1560
+ *
1561
+ * @param {PressEvent} e Event.
1562
+ */
1563
+ _handleTouchCancel: (e: PressEvent) => void = (e: PressEvent) => {
1564
+ this._isTouching = false;
1565
+ this.props.onTouchCancel && this.props.onTouchCancel(e);
1566
+ };
1567
+
1568
+ /**
1569
+ * Invoke this from an `onTouchStart` event.
1570
+ *
1571
+ * Since we know that the `SimpleEventPlugin` occurs later in the plugin
1572
+ * order, after `ResponderEventPlugin`, we can detect that we were *not*
1573
+ * permitted to be the responder (presumably because a contained view became
1574
+ * responder). The `onResponderReject` won't fire in that case - it only
1575
+ * fires when a *current* responder rejects our request.
1576
+ *
1577
+ * @param {PressEvent} e Touch Start event.
1578
+ */
1579
+ _handleTouchStart: (e: PressEvent) => void = (e: PressEvent) => {
1580
+ this._isTouching = true;
1581
+ this.props.onTouchStart && this.props.onTouchStart(e);
1582
+ };
1583
+
1584
+ /**
1585
+ * Invoke this from an `onTouchMove` event.
1586
+ *
1587
+ * Since we know that the `SimpleEventPlugin` occurs later in the plugin
1588
+ * order, after `ResponderEventPlugin`, we can detect that we were *not*
1589
+ * permitted to be the responder (presumably because a contained view became
1590
+ * responder). The `onResponderReject` won't fire in that case - it only
1591
+ * fires when a *current* responder rejects our request.
1592
+ *
1593
+ * @param {PressEvent} e Touch Start event.
1594
+ */
1595
+ _handleTouchMove: (e: PressEvent) => void = (e: PressEvent) => {
1596
+ this.props.onTouchMove && this.props.onTouchMove(e);
1597
+ };
1598
+
1599
+ render(): React.Node | React.Element<string> {
1600
+ const [NativeDirectionalScrollView, NativeDirectionalScrollContentView] =
1601
+ this.props.horizontal === true
1602
+ ? NativeHorizontalScrollViewTuple
1603
+ : NativeVerticalScrollViewTuple;
1035
1604
 
1036
1605
  const contentContainerStyle = [
1037
1606
  this.props.horizontal === true && styles.contentContainerHorizontal,
@@ -1050,12 +1619,12 @@ class ScrollView extends React.Component<Props, State> {
1050
1619
  );
1051
1620
  }
1052
1621
 
1053
- let contentSizeChangeProps = {};
1054
- if (this.props.onContentSizeChange) {
1055
- contentSizeChangeProps = {
1056
- onLayout: this._handleContentOnLayout,
1057
- };
1058
- }
1622
+ const contentSizeChangeProps =
1623
+ this.props.onContentSizeChange == null
1624
+ ? null
1625
+ : {
1626
+ onLayout: this._handleContentOnLayout,
1627
+ };
1059
1628
 
1060
1629
  const {stickyHeaderIndices} = this.props;
1061
1630
  let children = this.props.children;
@@ -1081,6 +1650,7 @@ class ScrollView extends React.Component<Props, State> {
1081
1650
  onLayout={event => this._onStickyHeaderLayout(index, event, key)}
1082
1651
  scrollAnimatedValue={this._scrollAnimatedValue}
1083
1652
  inverted={this.props.invertStickyHeaders}
1653
+ hiddenOnScroll={this.props.stickyHeaderHiddenOnScroll}
1084
1654
  scrollViewHeight={this.state.layoutHeight}>
1085
1655
  {child}
1086
1656
  </StickyHeaderComponent>
@@ -1101,10 +1671,7 @@ class ScrollView extends React.Component<Props, State> {
1101
1671
  Array.isArray(stickyHeaderIndices) && stickyHeaderIndices.length > 0;
1102
1672
 
1103
1673
  const contentContainer = (
1104
- /* $FlowFixMe(>=0.112.0 site=react_native_fb) This comment suppresses an
1105
- * error found when Flow v0.112 was deployed. To see the error, delete
1106
- * this comment and run Flow. */
1107
- <ScrollContentContainerViewClass
1674
+ <NativeDirectionalScrollContentView
1108
1675
  {...contentSizeChangeProps}
1109
1676
  ref={this._setInnerViewRef}
1110
1677
  style={contentContainerStyle}
@@ -1117,7 +1684,7 @@ class ScrollView extends React.Component<Props, State> {
1117
1684
  }
1118
1685
  collapsable={false}>
1119
1686
  {children}
1120
- </ScrollContentContainerViewClass>
1687
+ </NativeDirectionalScrollContentView>
1121
1688
  );
1122
1689
 
1123
1690
  const alwaysBounceHorizontal =
@@ -1138,38 +1705,28 @@ class ScrollView extends React.Component<Props, State> {
1138
1705
  ...this.props,
1139
1706
  alwaysBounceHorizontal,
1140
1707
  alwaysBounceVertical,
1141
- style: [baseStyle, this.props.style],
1708
+ style: StyleSheet.compose(baseStyle, this.props.style),
1142
1709
  // Override the onContentSizeChange from props, since this event can
1143
1710
  // bubble up from TextInputs
1144
1711
  onContentSizeChange: null,
1145
1712
  onLayout: this._handleLayout,
1146
- onMomentumScrollBegin: this._scrollResponder
1147
- .scrollResponderHandleMomentumScrollBegin,
1148
- onMomentumScrollEnd: this._scrollResponder
1149
- .scrollResponderHandleMomentumScrollEnd,
1150
- onResponderGrant: this._scrollResponder
1151
- .scrollResponderHandleResponderGrant,
1152
- onResponderReject: this._scrollResponder
1153
- .scrollResponderHandleResponderReject,
1154
- onResponderRelease: this._scrollResponder
1155
- .scrollResponderHandleResponderRelease,
1156
- onResponderTerminationRequest: this._scrollResponder
1157
- .scrollResponderHandleTerminationRequest,
1158
- onScrollBeginDrag: this._scrollResponder
1159
- .scrollResponderHandleScrollBeginDrag,
1160
- onScrollEndDrag: this._scrollResponder.scrollResponderHandleScrollEndDrag,
1161
- onScrollShouldSetResponder: this._scrollResponder
1162
- .scrollResponderHandleScrollShouldSetResponder,
1163
- onStartShouldSetResponder: this._scrollResponder
1164
- .scrollResponderHandleStartShouldSetResponder,
1165
- onStartShouldSetResponderCapture: this._scrollResponder
1166
- .scrollResponderHandleStartShouldSetResponderCapture,
1167
- onTouchEnd: this._scrollResponder.scrollResponderHandleTouchEnd,
1168
- onTouchMove: this._scrollResponder.scrollResponderHandleTouchMove,
1169
- onTouchStart: this._scrollResponder.scrollResponderHandleTouchStart,
1170
- onTouchCancel: this._scrollResponder.scrollResponderHandleTouchCancel,
1713
+ onMomentumScrollBegin: this._handleMomentumScrollBegin,
1714
+ onMomentumScrollEnd: this._handleMomentumScrollEnd,
1715
+ onResponderGrant: this._handleResponderGrant,
1716
+ onResponderReject: this._handleResponderReject,
1717
+ onResponderRelease: this._handleResponderRelease,
1718
+ onResponderTerminationRequest: this._handleResponderTerminationRequest,
1719
+ onScrollBeginDrag: this._handleScrollBeginDrag,
1720
+ onScrollEndDrag: this._handleScrollEndDrag,
1721
+ onScrollShouldSetResponder: this._handleScrollShouldSetResponder,
1722
+ onStartShouldSetResponder: this._handleStartShouldSetResponder,
1723
+ onStartShouldSetResponderCapture: this
1724
+ ._handleStartShouldSetResponderCapture,
1725
+ onTouchEnd: this._handleTouchEnd,
1726
+ onTouchMove: this._handleTouchMove,
1727
+ onTouchStart: this._handleTouchStart,
1728
+ onTouchCancel: this._handleTouchCancel,
1171
1729
  onScroll: this._handleScroll,
1172
- scrollBarThumbImage: resolveAssetSource(this.props.scrollBarThumbImage),
1173
1730
  scrollEventThrottle: hasStickyHeaders
1174
1731
  ? 1
1175
1732
  : this.props.scrollEventThrottle,
@@ -1208,13 +1765,10 @@ class ScrollView extends React.Component<Props, State> {
1208
1765
  // On iOS the RefreshControl is a child of the ScrollView.
1209
1766
  // tvOS lacks native support for RefreshControl, so don't include it in that case
1210
1767
  return (
1211
- /* $FlowFixMe(>=0.117.0 site=react_native_fb) This comment suppresses
1212
- * an error found when Flow v0.117 was deployed. To see the error,
1213
- * delete this comment and run Flow. */
1214
- <ScrollViewClass {...props} ref={this._setNativeRef}>
1768
+ <NativeDirectionalScrollView {...props} ref={this._setNativeRef}>
1215
1769
  {Platform.isTV ? null : refreshControl}
1216
1770
  {contentContainer}
1217
- </ScrollViewClass>
1771
+ </NativeDirectionalScrollView>
1218
1772
  );
1219
1773
  } else if (Platform.OS === 'android') {
1220
1774
  // On Android wrap the ScrollView with a AndroidSwipeRefreshLayout.
@@ -1225,20 +1779,20 @@ class ScrollView extends React.Component<Props, State> {
1225
1779
  const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
1226
1780
  return React.cloneElement(
1227
1781
  refreshControl,
1228
- {style: [baseStyle, outer]},
1229
- <ScrollViewClass
1782
+ {style: StyleSheet.compose(baseStyle, outer)},
1783
+ <NativeDirectionalScrollView
1230
1784
  {...props}
1231
- style={[baseStyle, inner]}
1785
+ style={StyleSheet.compose(baseStyle, inner)}
1232
1786
  ref={this._setNativeRef}>
1233
1787
  {contentContainer}
1234
- </ScrollViewClass>,
1788
+ </NativeDirectionalScrollView>,
1235
1789
  );
1236
1790
  }
1237
1791
  }
1238
1792
  return (
1239
- <ScrollViewClass {...props} ref={this._setNativeRef}>
1793
+ <NativeDirectionalScrollView {...props} ref={this._setNativeRef}>
1240
1794
  {contentContainer}
1241
- </ScrollViewClass>
1795
+ </NativeDirectionalScrollView>
1242
1796
  );
1243
1797
  }
1244
1798
  }
@@ -1267,7 +1821,7 @@ function Wrapper(props, ref) {
1267
1821
  Wrapper.displayName = 'ScrollView';
1268
1822
  const ForwardedScrollView = React.forwardRef(Wrapper);
1269
1823
 
1270
- // $FlowFixMe Add static context to ForwardedScrollView
1824
+ // $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
1271
1825
  ForwardedScrollView.Context = ScrollViewContext;
1272
1826
 
1273
1827
  ForwardedScrollView.displayName = 'ScrollView';