react-native 0.0.0-263478b91 → 0.0.0-268efb102

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 (866) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/AnimatedMock.js +1 -7
  5. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  6. package/Libraries/Animated/animations/Animation.js +1 -0
  7. package/Libraries/Animated/animations/DecayAnimation.js +2 -0
  8. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  9. package/Libraries/Animated/animations/TimingAnimation.js +3 -0
  10. package/Libraries/Animated/createAnimatedComponent.js +5 -1
  11. package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
  12. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
  13. package/Libraries/Animated/nodes/AnimatedValue.js +6 -0
  14. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
  15. package/Libraries/Animated/useAnimatedProps.js +211 -0
  16. package/Libraries/BatchedBridge/MessageQueue.js +15 -10
  17. package/Libraries/BatchedBridge/NativeModules.js +5 -1
  18. package/Libraries/Blob/FileReader.js +1 -1
  19. package/Libraries/Blob/RCTBlobManager.h +2 -1
  20. package/Libraries/Blob/RCTBlobManager.mm +1 -3
  21. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  22. package/Libraries/Blob/URL.js +1 -1
  23. package/Libraries/BugReporting/BugReporting.js +2 -0
  24. package/Libraries/BugReporting/getReactData.js +1 -1
  25. package/Libraries/Components/Button.js +18 -2
  26. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  27. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  28. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  29. package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
  30. package/Libraries/Components/ScrollView/ScrollView.js +22 -5
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +1 -0
  32. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
  33. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  34. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
  35. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
  36. package/Libraries/Components/Slider/Slider.js +13 -1
  37. package/Libraries/Components/StatusBar/StatusBar.js +6 -14
  38. package/Libraries/Components/Switch/Switch.js +18 -6
  39. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +4 -4
  40. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
  41. package/Libraries/Components/TextInput/TextInput.js +32 -4
  42. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  43. package/Libraries/Components/Touchable/Touchable.js +14 -0
  44. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  45. package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
  46. package/Libraries/Components/View/ReactNativeStyleAttributes.js +131 -64
  47. package/Libraries/Components/View/ViewAccessibility.js +2 -0
  48. package/Libraries/Components/View/ViewNativeComponent.js +0 -10
  49. package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
  50. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  51. package/Libraries/Core/ExceptionsManager.js +49 -39
  52. package/Libraries/{Components/View/ViewInjection.js → Core/ExtendedError.js} +8 -2
  53. package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
  54. package/Libraries/Core/ReactNativeVersion.js +1 -1
  55. package/Libraries/Core/Timers/JSTimers.js +37 -28
  56. package/Libraries/Core/Timers/immediateShim.js +67 -0
  57. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  58. package/Libraries/Core/polyfillPromise.js +1 -1
  59. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  60. package/Libraries/Core/setUpGlobals.js +2 -0
  61. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  62. package/Libraries/Core/setUpTimers.js +65 -6
  63. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
  64. package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
  65. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
  66. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +1 -0
  67. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -0
  68. package/Libraries/Image/Image.android.js +20 -130
  69. package/Libraries/Image/Image.ios.js +12 -7
  70. package/Libraries/Image/ImageBackground.js +10 -8
  71. package/Libraries/Image/ImageInjection.js +28 -0
  72. package/Libraries/Image/ImageProps.js +28 -0
  73. package/Libraries/Image/ImageSource.js +108 -65
  74. package/Libraries/Image/React-RCTImage.podspec +1 -1
  75. package/Libraries/Inspector/Inspector.js +6 -0
  76. package/Libraries/Interaction/InteractionManager.js +3 -0
  77. package/Libraries/Interaction/PanResponder.js +1 -1
  78. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  79. package/Libraries/Lists/CellRenderMask.js +145 -0
  80. package/Libraries/Lists/FlatList.js +43 -26
  81. package/Libraries/Lists/VirtualizedList.js +3 -1
  82. package/Libraries/Lists/VirtualizedSectionList.js +3 -0
  83. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  84. package/Libraries/LogBox/Data/LogBoxData.js +21 -19
  85. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  86. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  87. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  88. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  89. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  90. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  91. package/Libraries/Modal/Modal.js +1 -0
  92. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
  95. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
  96. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
  97. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  98. package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
  99. package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
  100. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  101. package/Libraries/Network/XMLHttpRequest.js +4 -1
  102. package/Libraries/NewAppScreen/components/Header.js +1 -0
  103. package/Libraries/NewAppScreen/components/logo.png +0 -0
  104. package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
  105. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
  106. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
  107. package/Libraries/Pressability/Pressability.js +1 -0
  108. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  109. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  110. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  111. package/Libraries/ReactNative/AppContainer.js +1 -0
  112. package/Libraries/ReactNative/AppRegistry.js +3 -1
  113. package/Libraries/ReactNative/I18nManager.js +12 -3
  114. package/Libraries/ReactNative/PaperUIManager.js +1 -0
  115. package/Libraries/ReactNative/renderApplication.js +8 -3
  116. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
  117. package/Libraries/Reliability/UserFlow.js +7 -0
  118. package/Libraries/Renderer/REVISION +1 -1
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +5686 -4572
  120. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4324 -3826
  121. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2196 -1859
  122. package/Libraries/Renderer/implementations/ReactFabric-prod.js +196 -210
  123. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2694 -2070
  124. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +647 -375
  125. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +5474 -4460
  126. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4109 -3636
  127. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1375 -1166
  128. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +162 -193
  129. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2197 -1708
  130. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +618 -364
  131. package/Libraries/Renderer/shims/ReactFabric.js +5 -4
  132. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  133. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  134. package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
  135. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  136. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  137. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  138. package/Libraries/Settings/Settings.ios.js +4 -0
  139. package/Libraries/Storage/AsyncStorage.js +1 -0
  140. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
  141. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
  142. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
  143. package/Libraries/StyleSheet/StyleSheet.js +3 -5
  144. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  145. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  146. package/Libraries/Text/Text.js +11 -0
  147. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
  148. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  149. package/Libraries/Text/TextProps.js +5 -7
  150. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
  151. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  152. package/Libraries/UTFSequence.js +1 -1
  153. package/Libraries/Utilities/Dimensions.js +9 -14
  154. package/Libraries/Utilities/FeatureDetection.js +31 -0
  155. package/Libraries/Utilities/HMRClient.js +13 -6
  156. package/Libraries/Utilities/MatrixMath.js +1 -1
  157. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  158. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  159. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
  160. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  161. package/Libraries/Utilities/useMergeRefs.js +44 -0
  162. package/Libraries/Utilities/useRefEffect.js +45 -0
  163. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  164. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  165. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
  166. package/Libraries/promiseRejectionTrackingOptions.js +2 -0
  167. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  168. package/README.md +5 -5
  169. package/React/Base/RCTAssert.h +11 -11
  170. package/React/Base/RCTBridge+Private.h +8 -2
  171. package/React/Base/RCTBridge.h +12 -3
  172. package/React/Base/RCTBridge.m +24 -12
  173. package/React/Base/RCTBridgeModule.h +36 -12
  174. package/React/Base/RCTBundleURLProvider.h +26 -1
  175. package/React/Base/RCTBundleURLProvider.mm +79 -15
  176. package/React/Base/RCTCallableJSModules.m +47 -0
  177. package/React/Base/RCTConstants.h +6 -7
  178. package/React/Base/RCTConstants.m +12 -12
  179. package/React/Base/RCTConvert.h +1 -1
  180. package/React/Base/RCTConvert.m +31 -7
  181. package/React/Base/RCTCxxConvert.h +1 -1
  182. package/React/Base/RCTDefines.h +12 -3
  183. package/React/Base/RCTEventDispatcherProtocol.h +3 -2
  184. package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
  185. package/React/Base/RCTJSThread.h +29 -0
  186. package/React/Base/RCTJSThread.m +19 -0
  187. package/React/Base/RCTModuleData.h +7 -3
  188. package/React/Base/RCTModuleData.mm +41 -1
  189. package/React/Base/RCTMultipartStreamReader.m +0 -2
  190. package/React/Base/RCTRootView.h +15 -0
  191. package/React/Base/RCTRootView.m +15 -0
  192. package/React/Base/RCTTouchHandler.m +4 -9
  193. package/React/Base/RCTUtils.h +3 -0
  194. package/React/Base/RCTUtils.m +14 -7
  195. package/React/Base/RCTVersion.m +1 -1
  196. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
  197. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +45 -1
  198. package/React/CoreModules/BUCK +4 -3
  199. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  200. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  201. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  202. package/React/CoreModules/RCTDevLoadingView.mm +6 -21
  203. package/React/CoreModules/RCTDevMenu.mm +8 -11
  204. package/React/CoreModules/RCTDevSettings.h +2 -1
  205. package/React/CoreModules/RCTDevSettings.mm +63 -53
  206. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -6
  207. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  208. package/React/CoreModules/RCTEventDispatcher.h +2 -1
  209. package/React/CoreModules/RCTEventDispatcher.mm +17 -28
  210. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  211. package/React/CoreModules/RCTLogBox.mm +14 -10
  212. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  213. package/React/CoreModules/RCTRedBox.mm +1 -5
  214. package/React/CoreModules/RCTTiming.h +2 -1
  215. package/React/CoreModules/RCTTiming.mm +1 -3
  216. package/React/CoreModules/React-CoreModules.podspec +1 -1
  217. package/React/CxxBridge/RCTCxxBridge.mm +49 -12
  218. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  219. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  220. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  221. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
  222. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  223. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  224. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +97 -85
  225. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
  226. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +45 -17
  227. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  228. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +109 -5
  229. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  230. package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
  231. package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
  232. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  233. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  234. package/React/Fabric/RCTConversions.h +3 -0
  235. package/React/Fabric/RCTScheduler.mm +23 -7
  236. package/React/Fabric/RCTSurfacePresenter.mm +28 -37
  237. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
  238. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  239. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  240. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  241. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  242. package/React/Modules/RCTEventEmitter.h +1 -2
  243. package/React/Modules/RCTEventEmitter.m +8 -11
  244. package/React/Modules/RCTI18nUtil.h +14 -6
  245. package/React/Modules/RCTI18nUtil.m +1 -47
  246. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  247. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  248. package/React/React-RCTFabric.podspec +3 -3
  249. package/React/Views/RCTFont.mm +54 -38
  250. package/React/Views/RCTModalHostView.h +1 -1
  251. package/React/Views/RCTModalHostView.m +16 -0
  252. package/React/Views/RCTModalHostViewManager.m +1 -0
  253. package/React/Views/RCTView.h +7 -7
  254. package/React/Views/RCTView.m +32 -49
  255. package/React/Views/RCTViewManager.m +14 -4
  256. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  257. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  258. package/React/Views/ScrollView/RCTScrollView.m +123 -36
  259. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
  260. package/React/Views/UIView+React.m +2 -11
  261. package/React/third-party.xcconfig +1 -1
  262. package/React-Core.podspec +2 -2
  263. package/ReactAndroid/Android-prebuilt.mk +8 -0
  264. package/ReactAndroid/README.md +1 -1
  265. package/ReactAndroid/build.gradle +82 -18
  266. package/ReactAndroid/gradle.properties +5 -5
  267. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  268. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  269. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  270. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  271. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
  272. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  273. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  274. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
  275. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  276. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  277. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  278. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  279. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
  280. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  284. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +123 -64
  285. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
  288. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
  290. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
  291. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  292. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
  297. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  301. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  303. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
  306. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +1 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
  309. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +40 -36
  310. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  311. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  314. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
  315. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  316. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
  318. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
  319. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  321. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +6 -67
  322. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
  323. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
  325. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -2
  327. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +129 -40
  328. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +18 -2
  329. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
  330. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
  331. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
  333. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +27 -7
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +2 -1
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  338. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  339. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  341. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  342. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  344. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
  345. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  364. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  368. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  369. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  370. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  371. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  372. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  374. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
  376. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  377. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  378. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +5 -6
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
  396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
  397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -4
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +5 -5
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +15 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +42 -5
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
  442. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
  443. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
  444. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  445. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  446. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +64 -3
  447. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +9 -2
  448. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  449. package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
  450. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  451. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  452. package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
  453. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  454. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  455. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
  456. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +3 -1
  457. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
  458. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
  459. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  460. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
  461. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -12
  462. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  463. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
  464. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
  465. package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
  466. package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
  467. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  468. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
  469. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
  470. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  471. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  472. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  473. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
  474. package/ReactCommon/React-Fabric.podspec +11 -11
  475. package/ReactCommon/ReactCommon.podspec +3 -2
  476. package/ReactCommon/callinvoker/BUCK +2 -2
  477. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  478. package/ReactCommon/cxxreact/Android.mk +2 -1
  479. package/ReactCommon/cxxreact/BUCK +1 -3
  480. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  481. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  482. package/ReactCommon/cxxreact/Instance.cpp +5 -8
  483. package/ReactCommon/cxxreact/Instance.h +1 -1
  484. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
  485. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  486. package/ReactCommon/hermes/React-hermes.podspec +2 -2
  487. package/ReactCommon/hermes/executor/Android.mk +4 -4
  488. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  489. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  490. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  491. package/ReactCommon/jsi/Android.mk +1 -1
  492. package/ReactCommon/jsi/BUCK +0 -2
  493. package/ReactCommon/jsi/React-jsi.podspec +3 -3
  494. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
  495. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  496. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
  497. package/ReactCommon/logger/Android.mk +23 -0
  498. package/ReactCommon/logger/BUCK +43 -0
  499. package/ReactCommon/logger/React-logger.podspec +40 -0
  500. package/ReactCommon/logger/react_native_log.cpp +52 -0
  501. package/ReactCommon/logger/react_native_log.h +33 -0
  502. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  503. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  504. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  505. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  506. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  507. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  508. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  509. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  510. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
  511. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +61 -42
  512. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +55 -35
  513. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  514. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  515. package/ReactCommon/react/renderer/animations/BUCK +1 -0
  516. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  517. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  518. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  519. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1127
  520. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  521. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  522. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  523. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +18 -10
  524. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  525. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  526. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  527. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  528. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  529. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  530. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  531. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  532. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  533. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  534. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  535. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
  536. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  537. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  538. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  539. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  540. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  541. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  542. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  543. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  544. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  545. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  546. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  547. package/ReactCommon/react/renderer/components/root/BUCK +1 -0
  548. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  549. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  550. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
  551. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  552. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
  553. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  554. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  555. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
  556. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
  557. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  558. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  559. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  560. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  561. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  562. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  563. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  564. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  565. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
  566. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  567. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  568. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
  569. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  570. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  571. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
  572. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  573. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  574. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  575. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  576. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  577. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
  578. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  579. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  580. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  581. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  582. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  583. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  584. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
  585. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  586. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  587. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  588. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  589. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  590. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
  591. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
  592. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  593. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  594. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  595. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  596. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
  597. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
  598. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  599. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  600. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  601. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  602. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  603. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +77 -6
  604. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  605. package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
  606. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  607. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  608. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  609. package/ReactCommon/react/renderer/core/BUCK +1 -0
  610. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
  611. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
  612. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  613. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  614. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  615. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -10
  616. package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -8
  617. package/ReactCommon/react/renderer/core/EventEmitter.cpp +21 -11
  618. package/ReactCommon/react/renderer/core/EventEmitter.h +6 -1
  619. package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
  620. package/ReactCommon/react/renderer/core/EventQueue.cpp +35 -32
  621. package/ReactCommon/react/renderer/core/EventQueue.h +12 -6
  622. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
  623. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
  624. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
  625. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  626. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  627. package/ReactCommon/react/renderer/core/Props.h +6 -1
  628. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  629. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  630. package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
  631. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  632. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  633. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  634. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  635. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  636. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  637. package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
  638. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  639. package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
  640. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  641. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  642. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
  643. package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
  644. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  645. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
  646. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
  647. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  648. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
  649. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
  650. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  651. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  652. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
  653. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
  654. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  655. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  656. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  657. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
  658. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
  659. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  660. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
  661. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
  662. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  663. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  664. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  665. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  666. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  667. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
  668. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
  669. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  670. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  671. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +3 -10
  672. package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
  673. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
  674. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  675. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  676. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
  677. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
  678. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
  679. package/ReactCommon/react/renderer/mounting/ShadowView.h +1 -0
  680. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  681. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  682. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
  683. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
  684. package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
  685. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +22 -21
  686. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +12 -5
  687. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
  688. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
  689. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  690. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  691. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +75 -33
  692. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +54 -10
  693. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +8 -7
  694. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
  695. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  698. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  699. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
  700. package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
  701. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  702. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +157 -0
  703. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
  704. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
  705. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
  706. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
  707. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -37
  708. package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
  709. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
  710. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
  711. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
  712. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
  713. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  714. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
  715. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
  716. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
  717. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  718. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  719. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  720. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +29 -16
  721. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -1
  722. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  723. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -2
  724. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
  725. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
  726. package/ReactCommon/react/test_utils/BUCK +3 -0
  727. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  728. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
  729. package/ReactCommon/react/utils/Android.mk +3 -1
  730. package/ReactCommon/react/utils/BUCK +1 -0
  731. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  732. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  733. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  734. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  735. package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
  736. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar +0 -0
  737. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.md5 +1 -0
  738. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha1 +1 -0
  739. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha256 +1 -0
  740. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha512 +1 -0
  741. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module +272 -0
  742. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.md5 +1 -0
  743. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha1 +1 -0
  744. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha256 +1 -0
  745. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha512 +1 -0
  746. package/android/com/facebook/react/react-native/{0.0.0-263478b91/react-native-0.0.0-263478b91.pom → 0.0.0-268efb102/react-native-0.0.0-268efb102.pom} +22 -11
  747. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.md5 +1 -0
  748. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha1 +1 -0
  749. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha256 +1 -0
  750. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha512 +1 -0
  751. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
  752. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  753. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  754. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
  755. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
  756. package/flow/HermesInternalType.js +114 -0
  757. package/flow/global.js +68 -0
  758. package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
  759. package/index.js +65 -40
  760. package/jest/preprocessor.js +75 -7
  761. package/jest/renderer.js +3 -7
  762. package/jest/setup.js +2 -1
  763. package/package.json +58 -19
  764. package/react.gradle +47 -25
  765. package/scripts/find-node.sh +6 -0
  766. package/scripts/generate-specs-cli.js +20 -2
  767. package/scripts/ios-configure-glog.sh +4 -0
  768. package/scripts/react-native-xcode.sh +5 -1
  769. package/scripts/react_native_pods.rb +213 -43
  770. package/template/_flowconfig +1 -1
  771. package/template/_gitignore +1 -0
  772. package/template/android/app/build.gradle +12 -7
  773. package/template/android/app/src/main/res/values/styles.xml +0 -1
  774. package/template/android/build.gradle +5 -6
  775. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  776. package/template/android/gradle.properties +1 -1
  777. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  778. package/template/ios/Podfile +1 -0
  779. package/template/package.json +3 -4
  780. package/third-party-podspecs/RCT-Folly.podspec +14 -10
  781. package/third-party-podspecs/boost.podspec +23 -0
  782. package/Libraries/BUCK +0 -24
  783. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  784. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  785. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  786. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -83
  787. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
  788. package/Libraries/Components/Picker/Picker.js +0 -168
  789. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
  790. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  791. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  792. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -163
  793. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
  794. package/Libraries/Components/StaticContainer.react.js +0 -51
  795. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  796. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  797. package/Libraries/Interaction/InteractionMixin.js +0 -53
  798. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  799. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  800. package/Libraries/Text/TextInjection.js +0 -15
  801. package/React/Base/RCTJSInvokerModule.h +0 -17
  802. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
  803. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
  804. package/React/Views/RCTPicker.h +0 -23
  805. package/React/Views/RCTPicker.m +0 -122
  806. package/React/Views/RCTPickerManager.m +0 -59
  807. package/ReactAndroid/release.gradle +0 -87
  808. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  809. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
  810. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  811. package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
  812. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
  813. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  814. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  815. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  816. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  817. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  818. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
  819. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
  820. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
  821. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
  827. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
  828. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
  829. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
  830. package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
  831. package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
  832. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
  833. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
  834. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
  835. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
  836. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
  837. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
  838. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
  839. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
  840. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
  841. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
  842. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
  843. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
  844. package/ReactCommon/react/renderer/components/picker/iospicker/BUCK +0 -59
  845. package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
  846. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
  847. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
  848. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
  849. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
  850. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
  851. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
  852. package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
  853. package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
  854. package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
  855. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
  856. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
  857. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.cpp +0 -58
  858. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.h +0 -41
  859. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar +0 -0
  860. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.md5 +0 -1
  861. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.sha1 +0 -1
  862. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.md5 +0 -1
  863. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.sha1 +0 -1
  864. package/scripts/generate-specs.sh +0 -100
  865. package/template/_editorconfig +0 -3
  866. package/template/_gitattributes +0 -3
@@ -13,9 +13,8 @@ import android.view.Display;
13
13
  import android.view.WindowManager;
14
14
  import androidx.annotation.Nullable;
15
15
  import com.facebook.infer.annotation.Assertions;
16
+ import com.facebook.react.bridge.WritableMap;
16
17
  import com.facebook.react.bridge.WritableNativeMap;
17
- import java.util.HashMap;
18
- import java.util.Map;
19
18
 
20
19
  /**
21
20
  * Holds an instance of the current DisplayMetrics so we don't have to thread it through all the
@@ -81,40 +80,20 @@ public class DisplayMetricsHolder {
81
80
  return sScreenDisplayMetrics;
82
81
  }
83
82
 
84
- public static Map<String, Map<String, Object>> getDisplayMetricsMap(double fontScale) {
83
+ public static WritableMap getDisplayMetricsWritableMap(double fontScale) {
85
84
  Assertions.assertCondition(
86
85
  sWindowDisplayMetrics != null && sScreenDisplayMetrics != null,
87
- "DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or initDisplayMetrics");
88
- final Map<String, Map<String, Object>> result = new HashMap<>();
89
- result.put("windowPhysicalPixels", getPhysicalPixelsMap(sWindowDisplayMetrics, fontScale));
90
- result.put("screenPhysicalPixels", getPhysicalPixelsMap(sScreenDisplayMetrics, fontScale));
91
- return result;
92
- }
93
-
94
- public static WritableNativeMap getDisplayMetricsNativeMap(double fontScale) {
95
- Assertions.assertCondition(
96
- sWindowDisplayMetrics != null && sScreenDisplayMetrics != null,
97
- "DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or initDisplayMetrics");
86
+ "DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or"
87
+ + " initDisplayMetrics");
98
88
  final WritableNativeMap result = new WritableNativeMap();
99
89
  result.putMap(
100
- "windowPhysicalPixels", getPhysicalPixelsNativeMap(sWindowDisplayMetrics, fontScale));
90
+ "windowPhysicalPixels", getPhysicalPixelsWritableMap(sWindowDisplayMetrics, fontScale));
101
91
  result.putMap(
102
- "screenPhysicalPixels", getPhysicalPixelsNativeMap(sScreenDisplayMetrics, fontScale));
103
- return result;
104
- }
105
-
106
- private static Map<String, Object> getPhysicalPixelsMap(
107
- DisplayMetrics displayMetrics, double fontScale) {
108
- final Map<String, Object> result = new HashMap<>();
109
- result.put("width", displayMetrics.widthPixels);
110
- result.put("height", displayMetrics.heightPixels);
111
- result.put("scale", displayMetrics.density);
112
- result.put("fontScale", fontScale);
113
- result.put("densityDpi", displayMetrics.densityDpi);
92
+ "screenPhysicalPixels", getPhysicalPixelsWritableMap(sScreenDisplayMetrics, fontScale));
114
93
  return result;
115
94
  }
116
95
 
117
- private static WritableNativeMap getPhysicalPixelsNativeMap(
96
+ private static WritableMap getPhysicalPixelsWritableMap(
118
97
  DisplayMetrics displayMetrics, double fontScale) {
119
98
  final WritableNativeMap result = new WritableNativeMap();
120
99
  result.putInt("width", displayMetrics.widthPixels);
@@ -12,6 +12,7 @@ import android.view.ViewGroup;
12
12
  import com.facebook.common.logging.FLog;
13
13
  import com.facebook.infer.annotation.Assertions;
14
14
  import com.facebook.react.common.ReactConstants;
15
+ import com.facebook.react.uimanager.common.UIManagerType;
15
16
  import com.facebook.react.uimanager.events.EventDispatcher;
16
17
  import com.facebook.react.uimanager.events.TouchEvent;
17
18
  import com.facebook.react.uimanager.events.TouchEventCoalescingKeyHelper;
@@ -50,14 +51,22 @@ public class JSTouchDispatcher {
50
51
  mTargetTag = -1;
51
52
  }
52
53
 
54
+ /**
55
+ * See Event.java. By contract, this surfaceId should be a valid SurfaceId in Fabric, and should
56
+ * ALWAYS return -1 in non-Fabric.
57
+ *
58
+ * @return
59
+ */
53
60
  private int getSurfaceId() {
54
- if (mRootViewGroup instanceof ReactRoot) {
61
+ if (mRootViewGroup != null
62
+ && mRootViewGroup instanceof ReactRoot
63
+ && ((ReactRoot) mRootViewGroup).getUIManagerType() == UIManagerType.FABRIC) {
64
+ if (mRootViewGroup.getContext() instanceof ThemedReactContext) {
65
+ ThemedReactContext context = (ThemedReactContext) mRootViewGroup.getContext();
66
+ return context.getSurfaceId();
67
+ }
55
68
  return ((ReactRoot) mRootViewGroup).getRootViewTag();
56
69
  }
57
- if (mRootViewGroup != null && mRootViewGroup.getContext() instanceof ThemedReactContext) {
58
- ThemedReactContext context = (ThemedReactContext) mRootViewGroup.getContext();
59
- return context.getSurfaceId();
60
- }
61
70
  return -1;
62
71
  }
63
72
 
@@ -13,7 +13,6 @@ import com.facebook.common.logging.FLog;
13
13
  import com.facebook.infer.annotation.Assertions;
14
14
  import com.facebook.react.bridge.ReadableArray;
15
15
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
16
- import com.facebook.react.config.ReactFeatureFlags;
17
16
 
18
17
  /**
19
18
  * Class responsible for optimizing the native view hierarchy while still respecting the final UI
@@ -425,18 +424,16 @@ public class NativeViewHierarchyOptimizer {
425
424
  // Bit of a hack: we need to update the layout of this node's children now that it's no longer
426
425
  // layout-only, but we may still receive more layout updates at the end of this batch that we
427
426
  // don't want to ignore.
428
- if (ReactFeatureFlags.enableTransitionLayoutOnlyViewCleanup) {
429
- FLog.i(
430
- TAG,
431
- "Transitioning LayoutOnlyView - tag: "
432
- + node.getReactTag()
433
- + " - rootTag: "
434
- + node.getRootTag()
435
- + " - hasProps: "
436
- + (props != null)
437
- + " - tagsWithLayout.size: "
438
- + mTagsWithLayoutVisited.size());
439
- }
427
+ FLog.i(
428
+ TAG,
429
+ "Transitioning LayoutOnlyView - tag: "
430
+ + node.getReactTag()
431
+ + " - rootTag: "
432
+ + node.getRootTag()
433
+ + " - hasProps: "
434
+ + (props != null)
435
+ + " - tagsWithLayout.size: "
436
+ + mTagsWithLayoutVisited.size());
440
437
  Assertions.assertCondition(mTagsWithLayoutVisited.size() == 0);
441
438
  applyLayoutBase(node);
442
439
  for (int i = 0; i < node.getChildCount(); i++) {
@@ -24,11 +24,6 @@ public class PixelUtil {
24
24
  return toPixelFromDIP((float) value);
25
25
  }
26
26
 
27
- /** Convert from PX to SP */
28
- public static float toSPFromPixel(float value) {
29
- return value / DisplayMetricsHolder.getScreenDisplayMetrics().scaledDensity;
30
- }
31
-
32
27
  /** Convert from SP to PX */
33
28
  public static float toPixelFromSP(float value) {
34
29
  return toPixelFromSP(value, Float.NaN);
@@ -58,6 +53,6 @@ public class PixelUtil {
58
53
 
59
54
  /** @return {@link float} that represents the density of the display metrics for device screen. */
60
55
  public static float getDisplayMetricDensity() {
61
- return DisplayMetricsHolder.getScreenDisplayMetrics().density;
56
+ return DisplayMetricsHolder.getWindowDisplayMetrics().density;
62
57
  }
63
58
  }
@@ -26,7 +26,7 @@ import com.facebook.react.bridge.Arguments;
26
26
  import com.facebook.react.bridge.Dynamic;
27
27
  import com.facebook.react.bridge.ReactContext;
28
28
  import com.facebook.react.bridge.ReactNoCrashSoftException;
29
- import com.facebook.react.bridge.ReactSoftException;
29
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
30
30
  import com.facebook.react.bridge.ReadableArray;
31
31
  import com.facebook.react.bridge.ReadableMap;
32
32
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
@@ -107,6 +107,7 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
107
107
  TAB,
108
108
  TABLIST,
109
109
  TIMER,
110
+ LIST,
110
111
  TOOLBAR;
111
112
 
112
113
  public static String getValue(AccessibilityRole role) {
@@ -135,6 +136,8 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
135
136
  return "android.widget.SpinButton";
136
137
  case SWITCH:
137
138
  return "android.widget.Switch";
139
+ case LIST:
140
+ return "android.widget.AbsListView";
138
141
  case NONE:
139
142
  case LINK:
140
143
  case SUMMARY:
@@ -316,7 +319,7 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
316
319
  });
317
320
  }
318
321
  } else {
319
- ReactSoftException.logSoftException(
322
+ ReactSoftExceptionLogger.logSoftException(
320
323
  TAG, new ReactNoCrashSoftException("Cannot get RCTEventEmitter, no CatalystInstance"));
321
324
  }
322
325
 
@@ -385,18 +388,14 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
385
388
  spannable.setSpan(new URLSpan(""), 0, spannable.length(), 0);
386
389
  nodeInfo.setText(spannable);
387
390
  }
388
- } else if (role.equals(AccessibilityRole.SEARCH)) {
389
- nodeInfo.setRoleDescription(context.getString(R.string.search_description));
390
391
  } else if (role.equals(AccessibilityRole.IMAGE)) {
391
392
  nodeInfo.setRoleDescription(context.getString(R.string.image_description));
392
393
  } else if (role.equals(AccessibilityRole.IMAGEBUTTON)) {
393
394
  nodeInfo.setRoleDescription(context.getString(R.string.imagebutton_description));
394
395
  nodeInfo.setClickable(true);
395
396
  } else if (role.equals(AccessibilityRole.BUTTON)) {
396
- nodeInfo.setRoleDescription(context.getString(R.string.button_description));
397
397
  nodeInfo.setClickable(true);
398
398
  } else if (role.equals(AccessibilityRole.TOGGLEBUTTON)) {
399
- nodeInfo.setRoleDescription(context.getString(R.string.toggle_button_description));
400
399
  nodeInfo.setClickable(true);
401
400
  nodeInfo.setCheckable(true);
402
401
  } else if (role.equals(AccessibilityRole.SUMMARY)) {
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager;
9
+
10
+ /**
11
+ * Some Views may not function if added directly to a ViewGroup that clips them. For example, TTRC
12
+ * markers may rely on `onDraw` functionality to work properly, and will break if they're clipped
13
+ * out of the View hierarchy for any resaon.
14
+ *
15
+ * <p>This situation can occur more often in Fabric with View Flattening. We may prevent this sort
16
+ * of View Flattening from occurring in the future, but the connection is not entirely certain.
17
+ *
18
+ * <p>This can occur either because ReactViewGroup clips them out, using the ordinarary subview
19
+ * clipping feature. It is also possible if a View is added directly to a ReactRootView below the
20
+ * fold of the screen.
21
+ *
22
+ * <p>Generally the solution is to prevent View flattening in JS by adding `collapsable=false` to a
23
+ * parent component of the clipped view, and/or move the View higher up in the hierarchy so it is
24
+ * always rendered within the first page of the screen.
25
+ */
26
+ public interface ReactClippingProhibitedView {}
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager;
9
+
10
+ import android.view.View;
11
+ import androidx.annotation.Nullable;
12
+
13
+ /**
14
+ * Interface that should be implemented by {@link View} subclasses that support {@code overflow}
15
+ * style. This allows the overflow information to be used by {@link TouchTargetHelper} to determine
16
+ * if a View is touchable.
17
+ */
18
+ public interface ReactOverflowView {
19
+ /**
20
+ * Gets the overflow state of a view. If set, this should be one of {@link ViewProps#HIDDEN},
21
+ * {@link ViewProps#VISIBLE} or {@link ViewProps#SCROLL}.
22
+ */
23
+ @Nullable
24
+ String getOverflow();
25
+ }
@@ -17,6 +17,9 @@ import androidx.annotation.Nullable;
17
17
  import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
18
18
  import com.facebook.react.bridge.UiThreadUtil;
19
19
  import com.facebook.react.touch.ReactHitSlopView;
20
+ import java.util.ArrayList;
21
+ import java.util.EnumSet;
22
+ import java.util.List;
20
23
 
21
24
  /**
22
25
  * Class responsible for identifying which react view should handle a given {@link MotionEvent}. It
@@ -80,7 +83,7 @@ public class TouchTargetHelper {
80
83
  // Store eventCoords in array so that they are modified to be relative to the targetView found.
81
84
  viewCoords[0] = eventX;
82
85
  viewCoords[1] = eventY;
83
- View nativeTargetView = findTouchTargetView(viewCoords, viewGroup);
86
+ View nativeTargetView = findTouchTargetViewWithPointerEvents(viewCoords, viewGroup, null);
84
87
  if (nativeTargetView != null) {
85
88
  View reactTargetView = findClosestReactAncestor(nativeTargetView);
86
89
  if (reactTargetView != null) {
@@ -93,6 +96,39 @@ public class TouchTargetHelper {
93
96
  return targetTag;
94
97
  }
95
98
 
99
+ /**
100
+ * Find touch event target view within the provided container given the coordinates provided via
101
+ * {@link MotionEvent}.
102
+ *
103
+ * @param eventX the X screen coordinate of the touch location
104
+ * @param eventY the Y screen coordinate of the touch location
105
+ * @param viewGroup the container view to traverse
106
+ * @param viewCoords an out parameter that will return the X,Y value in the target view
107
+ * @return If a target was found, returns a path through the view tree of all react tags that are
108
+ * a container for the touch target, ordered from target to root (last element)
109
+ */
110
+ public static List<Integer> findTargetPathAndCoordinatesForTouch(
111
+ float eventX, float eventY, ViewGroup viewGroup, float[] viewCoords) {
112
+ UiThreadUtil.assertOnUiThread();
113
+
114
+ // Store eventCoords in array so that they are modified to be relative to the targetView found.
115
+ viewCoords[0] = eventX;
116
+ viewCoords[1] = eventY;
117
+
118
+ List<Integer> pathAccumulator = new ArrayList<>();
119
+ View targetView = findTouchTargetViewWithPointerEvents(viewCoords, viewGroup, pathAccumulator);
120
+
121
+ if (targetView != null) {
122
+ View reactTargetView = findClosestReactAncestor(targetView);
123
+ int targetTag = getTouchTargetForView(reactTargetView, viewCoords[0], viewCoords[1]);
124
+ if (targetTag != pathAccumulator.get(0)) {
125
+ pathAccumulator.add(0, targetTag);
126
+ }
127
+ }
128
+
129
+ return pathAccumulator;
130
+ }
131
+
96
132
  private static View findClosestReactAncestor(View view) {
97
133
  while (view != null && view.getId() <= 0) {
98
134
  view = (View) view.getParent();
@@ -100,6 +136,14 @@ public class TouchTargetHelper {
100
136
  return view;
101
137
  }
102
138
 
139
+ /** Types of allowed return values from {@link #findTouchTargetView}. */
140
+ private enum TouchTargetReturnType {
141
+ /** Allow returning the view passed in through the parameters. */
142
+ SELF,
143
+ /** Allow returning children of the view passed in through parameters. */
144
+ CHILD,
145
+ }
146
+
103
147
  /**
104
148
  * Returns the touch target View that is either viewGroup or one if its descendants. This is a
105
149
  * recursive DFS since view the entire tree must be parsed until the target is found. If the
@@ -111,43 +155,91 @@ public class TouchTargetHelper {
111
155
  * be relative to the current viewGroup. When the method returns, it will contain the eventCoords
112
156
  * relative to the targetView found.
113
157
  */
114
- private static View findTouchTargetView(float[] eventCoords, ViewGroup viewGroup) {
115
- int childrenCount = viewGroup.getChildCount();
116
- // Consider z-index when determining the touch target.
117
- ReactZIndexedViewGroup zIndexedViewGroup =
118
- viewGroup instanceof ReactZIndexedViewGroup ? (ReactZIndexedViewGroup) viewGroup : null;
119
- for (int i = childrenCount - 1; i >= 0; i--) {
120
- int childIndex =
121
- zIndexedViewGroup != null ? zIndexedViewGroup.getZIndexMappedChildIndex(i) : i;
122
- View child = viewGroup.getChildAt(childIndex);
123
- PointF childPoint = mTempPoint;
124
- if (isTransformedTouchPointInView(
125
- eventCoords[0], eventCoords[1], viewGroup, child, childPoint)) {
126
- // If it is contained within the child View, the childPoint value will contain the view
127
- // coordinates relative to the child
158
+ private static View findTouchTargetView(
159
+ float[] eventCoords,
160
+ View view,
161
+ EnumSet<TouchTargetReturnType> allowReturnTouchTargetTypes,
162
+ List<Integer> pathAccumulator) {
163
+ // We prefer returning a child, so we check for a child that can handle the touch first
164
+ if (allowReturnTouchTargetTypes.contains(TouchTargetReturnType.CHILD)
165
+ && view instanceof ViewGroup) {
166
+ ViewGroup viewGroup = (ViewGroup) view;
167
+ int childrenCount = viewGroup.getChildCount();
168
+ // Consider z-index when determining the touch target.
169
+ ReactZIndexedViewGroup zIndexedViewGroup =
170
+ viewGroup instanceof ReactZIndexedViewGroup ? (ReactZIndexedViewGroup) viewGroup : null;
171
+ for (int i = childrenCount - 1; i >= 0; i--) {
172
+ int childIndex =
173
+ zIndexedViewGroup != null ? zIndexedViewGroup.getZIndexMappedChildIndex(i) : i;
174
+ View child = viewGroup.getChildAt(childIndex);
175
+ PointF childPoint = mTempPoint;
176
+ getChildPoint(eventCoords[0], eventCoords[1], viewGroup, child, childPoint);
177
+ // The childPoint value will contain the view coordinates relative to the child.
128
178
  // We need to store the existing X,Y for the viewGroup away as it is possible this child
129
179
  // will not actually be the target and so we restore them if not
130
180
  float restoreX = eventCoords[0];
131
181
  float restoreY = eventCoords[1];
132
182
  eventCoords[0] = childPoint.x;
133
183
  eventCoords[1] = childPoint.y;
134
- View targetView = findTouchTargetViewWithPointerEvents(eventCoords, child);
184
+ View targetView = findTouchTargetViewWithPointerEvents(eventCoords, child, pathAccumulator);
185
+
135
186
  if (targetView != null) {
136
- return targetView;
187
+ // We don't allow touches on views that are outside the bounds of an `overflow: hidden`
188
+ // View
189
+ boolean inOverflowBounds = true;
190
+ if (viewGroup instanceof ReactOverflowView) {
191
+ @Nullable String overflow = ((ReactOverflowView) viewGroup).getOverflow();
192
+ if ((ViewProps.HIDDEN.equals(overflow) || ViewProps.SCROLL.equals(overflow))
193
+ && !isTouchPointInView(restoreX, restoreY, view)) {
194
+ inOverflowBounds = false;
195
+ }
196
+ }
197
+ if (inOverflowBounds) {
198
+ return targetView;
199
+ }
137
200
  }
138
201
  eventCoords[0] = restoreX;
139
202
  eventCoords[1] = restoreY;
140
203
  }
141
204
  }
142
- return viewGroup;
205
+
206
+ // Check if parent can handle the touch after the children
207
+ if (allowReturnTouchTargetTypes.contains(TouchTargetReturnType.SELF)
208
+ && isTouchPointInView(eventCoords[0], eventCoords[1], view)) {
209
+ return view;
210
+ }
211
+
212
+ return null;
213
+ }
214
+
215
+ /**
216
+ * Checks whether a touch at {@code x} and {@code y} are within the bounds of the View. Both
217
+ * {@code x} and {@code y} must be relative to the top-left corner of the view.
218
+ */
219
+ private static boolean isTouchPointInView(float x, float y, View view) {
220
+ if (view instanceof ReactHitSlopView && ((ReactHitSlopView) view).getHitSlopRect() != null) {
221
+ Rect hitSlopRect = ((ReactHitSlopView) view).getHitSlopRect();
222
+ if ((x >= -hitSlopRect.left && x < (view.getWidth()) + hitSlopRect.right)
223
+ && (y >= -hitSlopRect.top && y < (view.getHeight()) + hitSlopRect.bottom)) {
224
+ return true;
225
+ }
226
+
227
+ return false;
228
+ } else {
229
+ if ((x >= 0 && x < (view.getWidth())) && (y >= 0 && y < (view.getHeight()))) {
230
+ return true;
231
+ }
232
+
233
+ return false;
234
+ }
143
235
  }
144
236
 
145
237
  /**
146
- * Returns whether the touch point is within the child View It is transform aware and will invert
147
- * the transform Matrix to find the true local points This code is taken from {@link
238
+ * Returns the coordinates of a touch in the child View. It is transform aware and will invert the
239
+ * transform Matrix to find the true local points This code is taken from {@link
148
240
  * ViewGroup#isTransformedTouchPointInView()}
149
241
  */
150
- private static boolean isTransformedTouchPointInView(
242
+ private static void getChildPoint(
151
243
  float x, float y, ViewGroup parent, View child, PointF outLocalPoint) {
152
244
  float localX = x + parent.getScrollX() - child.getLeft();
153
245
  float localY = y + parent.getScrollY() - child.getTop();
@@ -162,26 +254,7 @@ public class TouchTargetHelper {
162
254
  localX = localXY[0];
163
255
  localY = localXY[1];
164
256
  }
165
- if (child instanceof ReactHitSlopView && ((ReactHitSlopView) child).getHitSlopRect() != null) {
166
- Rect hitSlopRect = ((ReactHitSlopView) child).getHitSlopRect();
167
- if ((localX >= -hitSlopRect.left
168
- && localX < (child.getRight() - child.getLeft()) + hitSlopRect.right)
169
- && (localY >= -hitSlopRect.top
170
- && localY < (child.getBottom() - child.getTop()) + hitSlopRect.bottom)) {
171
- outLocalPoint.set(localX, localY);
172
- return true;
173
- }
174
-
175
- return false;
176
- } else {
177
- if ((localX >= 0 && localX < (child.getRight() - child.getLeft()))
178
- && (localY >= 0 && localY < (child.getBottom() - child.getTop()))) {
179
- outLocalPoint.set(localX, localY);
180
- return true;
181
- }
182
-
183
- return false;
184
- }
257
+ outLocalPoint.set(localX, localY);
185
258
  }
186
259
 
187
260
  /**
@@ -189,7 +262,7 @@ public class TouchTargetHelper {
189
262
  * its descendants are the touch target.
190
263
  */
191
264
  private static @Nullable View findTouchTargetViewWithPointerEvents(
192
- float eventCoords[], View view) {
265
+ float eventCoords[], View view, @Nullable List<Integer> pathAccumulator) {
193
266
  PointerEvents pointerEvents =
194
267
  view instanceof ReactPointerEventsView
195
268
  ? ((ReactPointerEventsView) view).getPointerEvents()
@@ -211,45 +284,68 @@ public class TouchTargetHelper {
211
284
  return null;
212
285
 
213
286
  } else if (pointerEvents == PointerEvents.BOX_ONLY) {
214
- // This view is the target, its children don't matter
215
- return view;
287
+ // This view may be the target, its children don't matter
288
+ View targetView =
289
+ findTouchTargetView(
290
+ eventCoords, view, EnumSet.of(TouchTargetReturnType.SELF), pathAccumulator);
291
+ if (targetView != null && pathAccumulator != null) {
292
+ pathAccumulator.add(view.getId());
293
+ }
294
+ return targetView;
216
295
 
217
296
  } else if (pointerEvents == PointerEvents.BOX_NONE) {
218
297
  // This view can't be the target, but its children might.
219
- if (view instanceof ViewGroup) {
220
- View targetView = findTouchTargetView(eventCoords, (ViewGroup) view);
221
- if (targetView != view) {
222
- return targetView;
298
+ View targetView =
299
+ findTouchTargetView(
300
+ eventCoords, view, EnumSet.of(TouchTargetReturnType.CHILD), pathAccumulator);
301
+ if (targetView != null) {
302
+ if (pathAccumulator != null) {
303
+ pathAccumulator.add(view.getId());
223
304
  }
305
+ return targetView;
306
+ }
224
307
 
225
- // PointerEvents.BOX_NONE means that this react element cannot receive pointer events.
226
- // However, there might be virtual children that can receive pointer events, in which case
227
- // we still want to return this View and dispatch a pointer event to the virtual element.
228
- // Note that this currently only applies to Nodes/FlatViewGroup as it's the only class that
229
- // is both a ViewGroup and ReactCompoundView (ReactTextView is a ReactCompoundView but not a
230
- // ViewGroup).
231
- if (view instanceof ReactCompoundView) {
232
- int reactTag =
233
- ((ReactCompoundView) view).reactTagForTouch(eventCoords[0], eventCoords[1]);
234
- if (reactTag != view.getId()) {
235
- // make sure we exclude the View itself because of the PointerEvents.BOX_NONE
236
- return view;
308
+ // PointerEvents.BOX_NONE means that this react element cannot receive pointer events.
309
+ // However, there might be virtual children that can receive pointer events, in which case
310
+ // we still want to return this View and dispatch a pointer event to the virtual element.
311
+ // Note that this currently only applies to Nodes/FlatViewGroup as it's the only class that
312
+ // is both a ViewGroup and ReactCompoundView (ReactTextView is a ReactCompoundView but not a
313
+ // ViewGroup).
314
+ if (view instanceof ReactCompoundView
315
+ && isTouchPointInView(eventCoords[0], eventCoords[1], view)) {
316
+ int reactTag = ((ReactCompoundView) view).reactTagForTouch(eventCoords[0], eventCoords[1]);
317
+ // make sure we exclude the View itself because of the PointerEvents.BOX_NONE
318
+ if (reactTag != view.getId()) {
319
+ if (pathAccumulator != null) {
320
+ pathAccumulator.add(view.getId());
237
321
  }
322
+ return view;
238
323
  }
239
324
  }
325
+
240
326
  return null;
241
327
 
242
328
  } else if (pointerEvents == PointerEvents.AUTO) {
243
329
  // Either this view or one of its children is the target
244
- if (view instanceof ReactCompoundViewGroup) {
245
- if (((ReactCompoundViewGroup) view).interceptsTouchEvent(eventCoords[0], eventCoords[1])) {
246
- return view;
330
+ if (view instanceof ReactCompoundViewGroup
331
+ && isTouchPointInView(eventCoords[0], eventCoords[1], view)
332
+ && ((ReactCompoundViewGroup) view).interceptsTouchEvent(eventCoords[0], eventCoords[1])) {
333
+ if (pathAccumulator != null) {
334
+ pathAccumulator.add(view.getId());
247
335
  }
336
+ return view;
248
337
  }
249
- if (view instanceof ViewGroup) {
250
- return findTouchTargetView(eventCoords, (ViewGroup) view);
338
+
339
+ View result =
340
+ findTouchTargetView(
341
+ eventCoords,
342
+ view,
343
+ EnumSet.of(TouchTargetReturnType.SELF, TouchTargetReturnType.CHILD),
344
+ pathAccumulator);
345
+ if (result != null && pathAccumulator != null) {
346
+ pathAccumulator.add(view.getId());
251
347
  }
252
- return view;
348
+ return result;
253
349
 
254
350
  } else {
255
351
  throw new JSApplicationIllegalArgumentException(
@@ -21,7 +21,6 @@ import com.facebook.react.bridge.ReadableMap;
21
21
  import com.facebook.react.bridge.UiThreadUtil;
22
22
  import com.facebook.react.bridge.WritableArray;
23
23
  import com.facebook.react.common.ReactConstants;
24
- import com.facebook.react.config.ReactFeatureFlags;
25
24
  import com.facebook.react.modules.i18nmanager.I18nUtil;
26
25
  import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
27
26
  import com.facebook.react.uimanager.events.EventDispatcher;
@@ -965,9 +964,7 @@ public class UIImplementation {
965
964
  }
966
965
  }
967
966
  cssNode.markUpdateSeen();
968
- if (ReactFeatureFlags.enableTransitionLayoutOnlyViewCleanup) {
969
- mNativeViewHierarchyOptimizer.onViewUpdatesCompleted(cssNode);
970
- }
967
+ mNativeViewHierarchyOptimizer.onViewUpdatesCompleted(cssNode);
971
968
  }
972
969
 
973
970
  public void addUIBlock(UIBlock block) {