react-native 0.0.0-17be3a003 → 0.0.0-18697adec

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 (993) 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/AnimatedImplementation.js +0 -2
  5. package/Libraries/Animated/AnimatedMock.js +1 -8
  6. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  7. package/Libraries/Animated/animations/Animation.js +1 -0
  8. package/Libraries/Animated/animations/DecayAnimation.js +2 -0
  9. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  10. package/Libraries/Animated/animations/TimingAnimation.js +3 -0
  11. package/Libraries/Animated/createAnimatedComponent.js +6 -18
  12. package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
  13. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
  14. package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
  15. package/Libraries/Animated/nodes/AnimatedValue.js +20 -1
  16. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
  17. package/Libraries/Animated/useAnimatedProps.js +211 -0
  18. package/Libraries/BatchedBridge/MessageQueue.js +15 -10
  19. package/Libraries/BatchedBridge/NativeModules.js +5 -1
  20. package/Libraries/Blob/FileReader.js +1 -1
  21. package/Libraries/Blob/RCTBlobManager.h +2 -1
  22. package/Libraries/Blob/RCTBlobManager.mm +1 -3
  23. package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
  24. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  25. package/Libraries/Blob/URL.js +2 -2
  26. package/Libraries/BugReporting/BugReporting.js +2 -0
  27. package/Libraries/BugReporting/getReactData.js +1 -1
  28. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -6
  29. package/Libraries/Components/Button.js +27 -12
  30. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
  31. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +50 -12
  32. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -0
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  34. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  35. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  36. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
  37. package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
  38. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
  39. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -3
  40. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  41. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -2
  42. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -2
  43. package/Libraries/Components/ScrollView/ScrollView.js +22 -5
  44. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -2
  45. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
  46. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -9
  47. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
  48. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
  49. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
  50. package/Libraries/Components/Slider/Slider.js +19 -6
  51. package/Libraries/Components/StatusBar/StatusBar.js +10 -19
  52. package/Libraries/Components/Switch/Switch.js +98 -114
  53. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -6
  54. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +2 -1
  55. package/Libraries/Components/TextInput/InputAccessoryView.js +6 -6
  56. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +5 -13
  57. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +5 -13
  58. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -2
  59. package/Libraries/Components/TextInput/TextInput.js +53 -19
  60. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  61. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
  62. package/Libraries/Components/Touchable/PooledClass.js +1 -2
  63. package/Libraries/Components/Touchable/Position.js +1 -2
  64. package/Libraries/Components/Touchable/Touchable.js +20 -6
  65. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  66. package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
  67. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
  68. package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
  69. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
  70. package/Libraries/Components/View/ReactNativeViewViewConfig.js +1 -1
  71. package/Libraries/Components/View/ViewAccessibility.js +3 -0
  72. package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
  73. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  74. package/Libraries/Core/ExceptionsManager.js +51 -41
  75. package/Libraries/Core/ExtendedError.js +19 -0
  76. package/Libraries/Core/InitializeCore.js +1 -0
  77. package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
  78. package/Libraries/Core/ReactNativeVersion.js +1 -1
  79. package/Libraries/Core/Timers/JSTimers.js +37 -28
  80. package/Libraries/Core/Timers/immediateShim.js +67 -0
  81. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  82. package/Libraries/Core/polyfillPromise.js +1 -1
  83. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  84. package/Libraries/Core/setUpGlobals.js +2 -0
  85. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  86. package/Libraries/Core/setUpTimers.js +65 -6
  87. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
  88. package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
  89. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
  90. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
  91. package/Libraries/EventEmitter/NativeEventEmitter.js +22 -1
  92. package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
  93. package/Libraries/FBLazyVector/BUCK +5 -1
  94. package/Libraries/Image/Image.android.js +22 -131
  95. package/Libraries/Image/Image.ios.js +16 -8
  96. package/Libraries/Image/ImageBackground.js +10 -8
  97. package/Libraries/Image/ImageInjection.js +28 -0
  98. package/Libraries/Image/ImageProps.js +28 -0
  99. package/Libraries/Image/ImageSource.js +108 -65
  100. package/Libraries/Image/NativeImageLoaderIOS.js +2 -1
  101. package/Libraries/Image/RCTImageLoader.h +2 -2
  102. package/Libraries/Image/RCTImageLoader.mm +6 -6
  103. package/Libraries/Image/RCTImagePlugins.mm +4 -3
  104. package/Libraries/Image/React-RCTImage.podspec +1 -1
  105. package/Libraries/Inspector/Inspector.js +6 -0
  106. package/Libraries/Interaction/InteractionManager.js +3 -0
  107. package/Libraries/Interaction/PanResponder.js +1 -1
  108. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
  109. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  110. package/Libraries/Lists/CellRenderMask.js +145 -0
  111. package/Libraries/Lists/FlatList.js +43 -26
  112. package/Libraries/Lists/VirtualizedList.js +14 -17
  113. package/Libraries/Lists/VirtualizedSectionList.js +159 -136
  114. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  115. package/Libraries/LogBox/Data/LogBoxData.js +21 -19
  116. package/Libraries/LogBox/LogBox.js +114 -47
  117. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  118. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  119. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  120. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  121. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  122. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  123. package/Libraries/Modal/Modal.js +8 -0
  124. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -2
  125. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  126. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
  127. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  128. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
  129. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
  130. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
  131. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  132. package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
  133. package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
  134. package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
  135. package/Libraries/Network/RCTNetworking.h +1 -1
  136. package/Libraries/Network/RCTNetworking.mm +3 -3
  137. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  138. package/Libraries/Network/XMLHttpRequest.js +4 -1
  139. package/Libraries/NewAppScreen/components/Header.js +1 -0
  140. package/Libraries/NewAppScreen/components/HermesBadge.js +4 -1
  141. package/Libraries/NewAppScreen/components/logo.png +0 -0
  142. package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
  143. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
  144. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
  145. package/Libraries/Pressability/Pressability.js +1 -0
  146. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  147. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  148. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
  149. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  150. package/Libraries/RCTRequired/BUCK +4 -1
  151. package/Libraries/ReactNative/AppContainer.js +3 -8
  152. package/Libraries/ReactNative/AppRegistry.js +7 -2
  153. package/Libraries/ReactNative/DisplayMode.js +4 -5
  154. package/Libraries/ReactNative/DummyUIManager.js +7 -2
  155. package/Libraries/ReactNative/FabricUIManager.js +4 -3
  156. package/Libraries/ReactNative/I18nManager.js +12 -3
  157. package/Libraries/ReactNative/NativeUIManager.js +2 -1
  158. package/Libraries/ReactNative/PaperUIManager.js +3 -1
  159. package/Libraries/ReactNative/RootTag.js +2 -2
  160. package/Libraries/ReactNative/UIManager.js +2 -1
  161. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
  162. package/Libraries/ReactNative/renderApplication.js +12 -5
  163. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
  164. package/Libraries/Reliability/UserFlow.js +7 -0
  165. package/Libraries/Renderer/REVISION +1 -1
  166. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +6364 -5120
  167. package/Libraries/Renderer/implementations/ReactFabric-dev.js +7877 -6935
  168. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2488 -2118
  169. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2112 -1937
  170. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2922 -2418
  171. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2568 -2244
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +6086 -4942
  173. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5736 -4864
  174. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1624 -1394
  175. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2275 -2120
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2279 -1921
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2565 -2259
  178. package/Libraries/Renderer/shims/ReactFabric.js +5 -4
  179. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  180. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  181. package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
  182. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  183. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  184. package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
  185. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  186. package/Libraries/Settings/Settings.ios.js +4 -0
  187. package/Libraries/Storage/AsyncStorage.js +1 -0
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
  189. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
  191. package/Libraries/StyleSheet/StyleSheet.js +3 -5
  192. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  193. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  194. package/Libraries/Text/Text.js +17 -0
  195. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
  196. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  197. package/Libraries/Text/TextProps.js +7 -7
  198. package/Libraries/TurboModule/RCTExport.js +1 -1
  199. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
  200. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  201. package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
  202. package/Libraries/UTFSequence.js +1 -1
  203. package/Libraries/Utilities/Dimensions.js +9 -14
  204. package/Libraries/Utilities/FeatureDetection.js +31 -0
  205. package/Libraries/Utilities/HMRClient.js +15 -8
  206. package/Libraries/Utilities/MatrixMath.js +1 -1
  207. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  208. package/Libraries/Utilities/PerformanceLoggerContext.js +8 -2
  209. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
  210. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  211. package/Libraries/Utilities/useMergeRefs.js +44 -0
  212. package/Libraries/Utilities/useRefEffect.js +45 -0
  213. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  214. package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
  215. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  216. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
  217. package/Libraries/promiseRejectionTrackingOptions.js +2 -0
  218. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  219. package/README.md +5 -5
  220. package/React/Base/RCTAssert.h +23 -13
  221. package/React/Base/RCTAssert.m +35 -9
  222. package/React/Base/RCTBridge+Private.h +8 -2
  223. package/React/Base/RCTBridge.h +19 -3
  224. package/React/Base/RCTBridge.m +33 -12
  225. package/React/Base/RCTBridgeModule.h +62 -12
  226. package/React/Base/RCTBundleManager.m +78 -0
  227. package/React/Base/RCTBundleURLProvider.h +36 -8
  228. package/React/Base/RCTBundleURLProvider.mm +91 -12
  229. package/React/Base/RCTCallableJSModules.m +47 -0
  230. package/React/Base/RCTConstants.h +6 -13
  231. package/React/Base/RCTConstants.m +12 -27
  232. package/React/Base/RCTConvert.h +1 -1
  233. package/React/Base/RCTConvert.m +31 -7
  234. package/React/Base/RCTCxxConvert.h +1 -1
  235. package/React/Base/RCTDefines.h +12 -3
  236. package/React/Base/RCTEventDispatcherProtocol.h +3 -2
  237. package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
  238. package/React/Base/RCTJSThread.h +29 -0
  239. package/React/Base/RCTJSThread.m +19 -0
  240. package/React/Base/RCTModuleData.h +11 -3
  241. package/React/Base/RCTModuleData.mm +66 -1
  242. package/React/Base/RCTMultipartStreamReader.m +0 -2
  243. package/React/Base/RCTRootView.h +15 -0
  244. package/React/Base/RCTRootView.m +15 -0
  245. package/React/Base/RCTTouchHandler.m +4 -9
  246. package/React/Base/RCTUtils.h +3 -0
  247. package/React/Base/RCTUtils.m +14 -7
  248. package/React/Base/RCTVersion.m +1 -1
  249. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
  250. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +46 -2
  251. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
  252. package/React/CoreModules/BUCK +4 -3
  253. package/React/CoreModules/CoreModulesPlugins.mm +4 -3
  254. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  255. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  256. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  257. package/React/CoreModules/RCTDevLoadingView.mm +10 -23
  258. package/React/CoreModules/RCTDevMenu.mm +22 -25
  259. package/React/CoreModules/RCTDevSettings.h +2 -1
  260. package/React/CoreModules/RCTDevSettings.mm +76 -75
  261. package/React/CoreModules/RCTDevSplitBundleLoader.mm +3 -8
  262. package/React/CoreModules/RCTDeviceInfo.mm +4 -5
  263. package/React/CoreModules/RCTEventDispatcher.h +2 -1
  264. package/React/CoreModules/RCTEventDispatcher.mm +17 -25
  265. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  266. package/React/CoreModules/RCTLogBox.mm +14 -10
  267. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  268. package/React/CoreModules/RCTRedBox.mm +3 -12
  269. package/React/CoreModules/RCTSourceCode.mm +2 -1
  270. package/React/CoreModules/RCTTiming.h +2 -1
  271. package/React/CoreModules/RCTTiming.mm +1 -3
  272. package/React/CoreModules/React-CoreModules.podspec +1 -1
  273. package/React/CxxBridge/RCTCxxBridge.mm +81 -12
  274. package/React/CxxModule/RCTNativeModule.mm +3 -1
  275. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  276. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  277. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  278. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +3 -0
  279. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -6
  280. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +41 -26
  281. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  282. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  283. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +101 -85
  284. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +7 -0
  285. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +5 -1
  286. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +12 -9
  287. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
  288. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +53 -17
  289. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  290. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +110 -8
  291. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  292. package/React/Fabric/Mounting/RCTMountingManager.h +6 -1
  293. package/React/Fabric/Mounting/RCTMountingManager.mm +25 -4
  294. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  295. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  296. package/React/Fabric/RCTConversions.h +3 -0
  297. package/React/Fabric/RCTScheduler.h +3 -1
  298. package/React/Fabric/RCTScheduler.mm +26 -8
  299. package/React/Fabric/RCTSurfacePresenter.mm +33 -33
  300. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
  301. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  302. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  303. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  304. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  305. package/React/Modules/RCTEventEmitter.h +1 -2
  306. package/React/Modules/RCTEventEmitter.m +8 -11
  307. package/React/Modules/RCTI18nUtil.h +14 -6
  308. package/React/Modules/RCTI18nUtil.m +1 -47
  309. package/React/Modules/RCTUIManager.m +2 -0
  310. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  311. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  312. package/React/React-RCTFabric.podspec +3 -3
  313. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +63 -0
  314. package/React/Views/RCTDatePickerManager.m +33 -0
  315. package/React/Views/RCTFont.mm +54 -38
  316. package/React/Views/RCTModalHostView.h +5 -1
  317. package/React/Views/RCTModalHostView.m +52 -20
  318. package/React/Views/RCTModalHostViewManager.m +5 -0
  319. package/React/Views/RCTModalManager.h +0 -7
  320. package/React/Views/RCTModalManager.m +0 -9
  321. package/React/Views/RCTView.h +7 -7
  322. package/React/Views/RCTView.m +32 -49
  323. package/React/Views/RCTViewManager.m +22 -4
  324. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  325. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  326. package/React/Views/ScrollView/RCTScrollView.m +123 -36
  327. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
  328. package/React/Views/UIView+React.m +2 -11
  329. package/React/third-party.xcconfig +1 -1
  330. package/React-Core.podspec +2 -2
  331. package/ReactAndroid/Android-prebuilt.mk +8 -0
  332. package/ReactAndroid/README.md +2 -2
  333. package/ReactAndroid/build.gradle +132 -20
  334. package/ReactAndroid/gradle.properties +7 -5
  335. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  336. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  337. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  338. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  339. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
  340. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  341. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  342. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
  343. package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
  344. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  345. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  346. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  347. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  348. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
  349. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  353. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +124 -66
  354. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
  357. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +4 -7
  359. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
  360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +26 -6
  366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  374. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +7 -8
  376. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +2 -1
  378. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +23 -9
  379. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +8 -5
  380. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +2 -1
  381. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +54 -29
  382. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  386. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
  387. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  388. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  393. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +8 -59
  394. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
  395. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
  396. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
  398. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -2
  401. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +171 -53
  402. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +21 -2
  403. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
  405. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
  407. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +35 -13
  408. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
  409. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +3 -2
  410. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
  411. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  412. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  413. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  416. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
  419. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  420. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  421. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  425. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  426. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  429. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  431. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  433. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  435. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  437. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  438. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  439. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  440. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  441. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  442. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  444. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  445. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  446. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  447. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  448. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
  449. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
  450. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  451. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  452. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  453. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  454. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
  455. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -4
  456. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
  457. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  458. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +11 -5
  459. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -1
  461. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  462. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  463. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
  464. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +28 -19
  465. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
  466. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  467. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +2 -3
  468. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
  470. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
  472. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
  473. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
  474. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  475. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -2
  476. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
  478. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
  479. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  480. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
  481. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
  482. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
  483. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
  484. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +10 -5
  485. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  486. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +6 -0
  487. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  488. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  489. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  490. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +17 -1
  491. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +101 -8
  493. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
  494. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
  496. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  497. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
  498. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  499. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
  500. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  502. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
  503. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +3 -10
  504. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
  505. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
  506. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  507. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +31 -3
  508. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +1 -1
  510. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
  511. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
  512. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +39 -15
  513. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +38 -10
  514. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
  515. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  516. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
  517. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
  519. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  520. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  521. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
  522. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
  523. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
  524. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  525. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  526. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
  527. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
  528. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  529. package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
  530. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  531. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  532. package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
  533. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  534. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  535. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
  536. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
  537. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
  538. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
  539. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
  540. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
  541. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
  542. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
  543. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
  544. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
  545. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
  546. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
  547. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
  548. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
  549. package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
  550. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
  551. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
  552. package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
  553. package/ReactAndroid/src/main/jni/third-party/libevent/event-config.h +340 -0
  554. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
  555. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  556. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
  557. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -8
  558. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  559. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
  560. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
  561. package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
  562. package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
  563. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  564. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
  565. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
  566. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  567. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  568. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  569. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
  570. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
  571. package/ReactCommon/React-Fabric.podspec +11 -11
  572. package/ReactCommon/ReactCommon.podspec +3 -2
  573. package/ReactCommon/callinvoker/BUCK +2 -2
  574. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  575. package/ReactCommon/cxxreact/Android.mk +2 -1
  576. package/ReactCommon/cxxreact/BUCK +1 -3
  577. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  578. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  579. package/ReactCommon/cxxreact/Instance.cpp +21 -1
  580. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
  581. package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
  582. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
  583. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  584. package/ReactCommon/hermes/React-hermes.podspec +4 -4
  585. package/ReactCommon/hermes/executor/Android.mk +4 -4
  586. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  587. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +74 -0
  588. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +100 -1
  589. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
  590. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +81 -0
  591. package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
  592. package/ReactCommon/hermes/inspector/tools/msggen/package.json +8 -5
  593. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -0
  594. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2246 -1419
  595. package/ReactCommon/jsi/Android.mk +1 -1
  596. package/ReactCommon/jsi/BUCK +0 -2
  597. package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
  598. package/ReactCommon/jsi/React-jsi.podspec +3 -3
  599. package/ReactCommon/jsi/jsi/decorator.h +7 -0
  600. package/ReactCommon/jsi/jsi/jsi.h +29 -0
  601. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
  602. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  603. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
  604. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +35 -2
  605. package/ReactCommon/logger/Android.mk +23 -0
  606. package/ReactCommon/logger/BUCK +43 -0
  607. package/ReactCommon/logger/React-logger.podspec +40 -0
  608. package/ReactCommon/logger/react_native_log.cpp +52 -0
  609. package/ReactCommon/logger/react_native_log.h +33 -0
  610. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  611. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  612. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  613. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  614. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  615. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  616. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  617. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  618. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -17
  619. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +73 -40
  620. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -1
  621. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +111 -107
  622. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  623. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  624. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +0 -2
  625. package/ReactCommon/react/renderer/animations/BUCK +2 -0
  626. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  627. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  628. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  629. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1231 -1401
  630. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +90 -241
  631. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  632. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  633. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
  634. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  635. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  636. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  637. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  638. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  639. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  640. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  641. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  642. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  643. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  644. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  645. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
  646. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  647. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  648. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  649. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  650. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  651. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  652. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  653. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  654. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  655. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  656. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  657. package/ReactCommon/react/renderer/components/root/BUCK +1 -0
  658. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  659. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  660. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
  661. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  662. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
  663. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  664. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  665. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
  666. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
  667. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +4 -3
  668. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +5 -2
  669. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  670. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  671. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  672. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  673. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  674. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  675. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  676. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  677. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
  678. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  679. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  680. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
  681. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  682. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  683. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
  684. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  685. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  686. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  687. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  688. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  689. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
  690. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  691. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  692. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  693. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  694. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  695. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  696. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
  697. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  698. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  699. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  700. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  701. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  702. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
  703. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
  704. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  705. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  706. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  707. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  708. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
  709. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
  710. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  711. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  712. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  713. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  714. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  715. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +78 -7
  716. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  717. package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
  718. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  719. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  720. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  721. package/ReactCommon/react/renderer/core/BUCK +1 -0
  722. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
  723. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
  724. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  725. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  726. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  727. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
  728. package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
  729. package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
  730. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
  731. package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
  732. package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
  733. package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -36
  734. package/ReactCommon/react/renderer/core/EventQueue.h +14 -8
  735. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
  736. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
  737. package/ReactCommon/react/renderer/core/LayoutConstraints.h +6 -0
  738. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
  739. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  740. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  741. package/ReactCommon/react/renderer/core/Props.h +6 -1
  742. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  743. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  744. package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
  745. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  746. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  747. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  748. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  749. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  750. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  751. package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
  752. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  753. package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
  754. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  755. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  756. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
  757. package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
  758. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  759. package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
  760. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
  761. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
  762. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  763. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
  764. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
  765. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  766. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  767. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
  768. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
  769. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  770. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  771. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  772. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
  773. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
  774. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  775. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
  776. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
  777. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  778. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  779. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  780. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  781. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  782. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
  783. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
  784. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  785. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +34 -31
  786. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +10 -9
  787. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +50 -35
  788. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +13 -13
  789. package/ReactCommon/react/renderer/mapbuffer/primitives.h +18 -19
  790. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +13 -1
  791. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  792. package/ReactCommon/react/renderer/mounting/BUCK +1 -0
  793. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +392 -519
  794. package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
  795. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
  796. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  797. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  798. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
  799. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
  800. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
  801. package/ReactCommon/react/renderer/mounting/ShadowView.h +2 -1
  802. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  803. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  804. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
  805. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
  806. package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
  807. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +23 -22
  808. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +49 -10
  809. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
  810. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
  811. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  812. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  813. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +78 -16
  814. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +60 -8
  815. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +17 -7
  816. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
  817. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  818. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  819. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  820. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  821. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +20 -25
  822. package/ReactCommon/react/renderer/runtimescheduler/Task.h +16 -15
  823. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  824. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +297 -11
  825. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
  826. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
  827. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
  828. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
  829. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -40
  830. package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
  831. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
  832. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
  833. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
  834. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
  835. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  836. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
  837. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
  838. package/ReactCommon/react/renderer/telemetry/BUCK +1 -0
  839. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -19
  840. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
  841. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -1
  842. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  843. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  844. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  845. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +32 -28
  846. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
  847. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  848. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -17
  849. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
  850. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
  851. package/ReactCommon/react/{renderer/components/picker/iospicker → test_utils}/BUCK +12 -14
  852. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +0 -0
  853. package/ReactCommon/react/test_utils/MockClock.h +29 -0
  854. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  855. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +18 -4
  856. package/ReactCommon/react/utils/Android.mk +3 -1
  857. package/ReactCommon/react/utils/BUCK +1 -0
  858. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  859. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  860. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  861. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  862. package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
  863. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar +0 -0
  864. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
  865. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
  866. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
  867. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
  868. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module +272 -0
  869. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
  870. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
  871. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
  872. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
  873. package/android/com/facebook/react/react-native/{0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +22 -11
  874. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
  875. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
  876. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
  877. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
  878. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
  879. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  880. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  881. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
  882. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
  883. package/flow/HermesInternalType.js +114 -0
  884. package/flow/global.js +68 -0
  885. package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
  886. package/index.js +67 -42
  887. package/jest/preprocessor.js +75 -7
  888. package/jest/renderer.js +3 -7
  889. package/jest/setup.js +3 -2
  890. package/package.json +59 -20
  891. package/react.gradle +22 -22
  892. package/scripts/find-node.sh +6 -0
  893. package/scripts/generate-specs-cli.js +20 -2
  894. package/scripts/ios-configure-glog.sh +4 -0
  895. package/scripts/react-native-xcode.sh +5 -1
  896. package/scripts/react_native_pods.rb +213 -43
  897. package/template/_flowconfig +3 -4
  898. package/template/_gitignore +1 -0
  899. package/template/android/app/build.gradle +12 -7
  900. package/template/android/app/src/main/res/values/styles.xml +0 -1
  901. package/template/android/build.gradle +5 -6
  902. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  903. package/template/android/gradle.properties +1 -1
  904. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  905. package/template/ios/Podfile +1 -0
  906. package/template/package.json +3 -4
  907. package/third-party-podspecs/RCT-Folly.podspec +31 -11
  908. package/third-party-podspecs/boost.podspec +23 -0
  909. package/Libraries/BUCK +0 -24
  910. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  911. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  912. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  913. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -83
  914. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
  915. package/Libraries/Components/Picker/Picker.js +0 -169
  916. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
  917. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  918. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -162
  919. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
  920. package/Libraries/Components/ScrollView/ScrollViewStickyHeaderInjection.js +0 -17
  921. package/Libraries/Components/StaticContainer.react.js +0 -51
  922. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  923. package/Libraries/Components/Switch/SwitchInjection.js +0 -17
  924. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  925. package/Libraries/Interaction/InteractionMixin.js +0 -53
  926. package/Libraries/Lists/VirtualizedListInjection.js +0 -15
  927. package/Libraries/Lists/VirtualizedSectionListInjection.js +0 -17
  928. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  929. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  930. package/Libraries/Text/TextInjection.js +0 -15
  931. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -34
  932. package/React/Base/RCTBundleHolderModule.h +0 -16
  933. package/React/Base/RCTJSInvokerModule.h +0 -18
  934. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
  935. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
  936. package/React/Views/RCTPicker.h +0 -23
  937. package/React/Views/RCTPicker.m +0 -122
  938. package/React/Views/RCTPickerManager.m +0 -59
  939. package/ReactAndroid/release.gradle +0 -87
  940. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  941. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
  942. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  943. package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
  944. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
  945. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  946. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  947. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -147
  948. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  949. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  950. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
  951. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
  952. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
  953. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
  954. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
  955. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
  956. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
  957. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
  958. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
  959. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
  960. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
  961. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
  962. package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
  963. package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
  964. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
  965. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
  966. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
  967. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
  968. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
  969. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
  970. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
  971. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
  972. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
  973. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
  974. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
  975. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
  976. package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
  977. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
  978. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
  979. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
  980. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
  981. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
  982. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
  983. package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
  984. package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
  985. package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
  986. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
  987. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
  988. package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar +0 -0
  989. package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.md5 +0 -1
  990. package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.sha1 +0 -1
  991. package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.md5 +0 -1
  992. package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.sha1 +0 -1
  993. package/scripts/generate-specs.sh +0 -100
@@ -24,14 +24,19 @@ using namespace facebook::react;
24
24
  CALayer *_borderLayer;
25
25
  BOOL _needsInvalidateLayer;
26
26
  BOOL _isJSResponder;
27
+ BOOL _removeClippedSubviews;
28
+ NSMutableArray<UIView *> *_reactSubviews;
27
29
  NSSet<NSString *> *_Nullable _propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN;
28
30
  }
29
31
 
32
+ @synthesize removeClippedSubviews = _removeClippedSubviews;
33
+
30
34
  - (instancetype)initWithFrame:(CGRect)frame
31
35
  {
32
36
  if (self = [super initWithFrame:frame]) {
33
37
  static auto const defaultProps = std::make_shared<ViewProps const>();
34
38
  _props = defaultProps;
39
+ _reactSubviews = [NSMutableArray new];
35
40
  self.multipleTouchEnabled = YES;
36
41
  }
37
42
  return self;
@@ -86,6 +91,81 @@ using namespace facebook::react;
86
91
  return concreteComponentDescriptorProvider<ViewComponentDescriptor>();
87
92
  }
88
93
 
94
+ - (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
95
+ {
96
+ RCTAssert(
97
+ childComponentView.superview == nil,
98
+ @"Attempt to mount already mounted component view. (parent: %@, child: %@, index: %@, existing parent: %@)",
99
+ self,
100
+ childComponentView,
101
+ @(index),
102
+ @([childComponentView.superview tag]));
103
+
104
+ if (_removeClippedSubviews) {
105
+ [_reactSubviews insertObject:childComponentView atIndex:index];
106
+ } else {
107
+ [self insertSubview:childComponentView atIndex:index];
108
+ }
109
+ }
110
+
111
+ - (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
112
+ {
113
+ if (_removeClippedSubviews) {
114
+ [_reactSubviews removeObjectAtIndex:index];
115
+ } else {
116
+ RCTAssert(
117
+ childComponentView.superview == self,
118
+ @"Attempt to unmount a view which is mounted inside different view. (parent: %@, child: %@, index: %@)",
119
+ self,
120
+ childComponentView,
121
+ @(index));
122
+ RCTAssert(
123
+ (self.subviews.count > index) && [self.subviews objectAtIndex:index] == childComponentView,
124
+ @"Attempt to unmount a view which has a different index. (parent: %@, child: %@, index: %@, actual index: %@, tag at index: %@)",
125
+ self,
126
+ childComponentView,
127
+ @(index),
128
+ @([self.subviews indexOfObject:childComponentView]),
129
+ @([[self.subviews objectAtIndex:index] tag]));
130
+ }
131
+
132
+ [childComponentView removeFromSuperview];
133
+ }
134
+
135
+ - (void)updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView
136
+ {
137
+ if (!_removeClippedSubviews) {
138
+ // Use default behavior if unmounting is disabled
139
+ return [super updateClippedSubviewsWithClipRect:clipRect relativeToView:clipView];
140
+ }
141
+
142
+ if (_reactSubviews.count == 0) {
143
+ // Do nothing if we have no subviews
144
+ return;
145
+ }
146
+
147
+ if (CGSizeEqualToSize(self.bounds.size, CGSizeZero)) {
148
+ // Do nothing if layout hasn't happened yet
149
+ return;
150
+ }
151
+
152
+ // Convert clipping rect to local coordinates
153
+ clipRect = [clipView convertRect:clipRect toView:self];
154
+
155
+ // Mount / unmount views
156
+ for (UIView *view in _reactSubviews) {
157
+ if (CGRectIntersectsRect(clipRect, view.frame)) {
158
+ // View is at least partially visible, so remount it if unmounted
159
+ [self addSubview:view];
160
+ // View is visible, update clipped subviews
161
+ [view updateClippedSubviewsWithClipRect:clipRect relativeToView:self];
162
+ } else if (view.superview) {
163
+ // View is completely outside the clipRect, so unmount it
164
+ [view removeFromSuperview];
165
+ }
166
+ }
167
+ }
168
+
89
169
  - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps
90
170
  {
91
171
  RCTAssert(props, @"`props` must not be `null`.");
@@ -113,6 +193,14 @@ using namespace facebook::react;
113
193
  needsInvalidateLayer = YES;
114
194
  }
115
195
 
196
+ if (RCTGetRemoveClippedSubviewsEnabled() &&
197
+ oldViewProps.removeClippedSubviews != newViewProps.removeClippedSubviews) {
198
+ _removeClippedSubviews = newViewProps.removeClippedSubviews;
199
+ if (_removeClippedSubviews && self.subviews.count > 0) {
200
+ _reactSubviews = [NSMutableArray arrayWithArray:self.subviews];
201
+ }
202
+ }
203
+
116
204
  // `backgroundColor`
117
205
  if (oldViewProps.backgroundColor != newViewProps.backgroundColor) {
118
206
  self.backgroundColor = RCTUIColorFromSharedColor(newViewProps.backgroundColor);
@@ -243,11 +331,25 @@ using namespace facebook::react;
243
331
 
244
332
  // `accessibilityIgnoresInvertColors`
245
333
  if (oldViewProps.accessibilityIgnoresInvertColors != newViewProps.accessibilityIgnoresInvertColors) {
246
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
247
- if (@available(iOS 11.0, *)) {
248
- self.accessibilityIgnoresInvertColors = newViewProps.accessibilityIgnoresInvertColors;
334
+ self.accessibilityIgnoresInvertColors = newViewProps.accessibilityIgnoresInvertColors;
335
+ }
336
+
337
+ // `accessibilityValue`
338
+ if (oldViewProps.accessibilityValue != newViewProps.accessibilityValue) {
339
+ if (newViewProps.accessibilityValue.text.hasValue()) {
340
+ self.accessibilityElement.accessibilityValue =
341
+ RCTNSStringFromStringNilIfEmpty(newViewProps.accessibilityValue.text.value());
342
+ } else if (
343
+ newViewProps.accessibilityValue.now.hasValue() && newViewProps.accessibilityValue.min.hasValue() &&
344
+ newViewProps.accessibilityValue.max.hasValue()) {
345
+ CGFloat val = (CGFloat)(newViewProps.accessibilityValue.now.value()) /
346
+ (newViewProps.accessibilityValue.max.value() - newViewProps.accessibilityValue.min.value());
347
+ self.accessibilityElement.accessibilityValue =
348
+ [NSNumberFormatter localizedStringFromNumber:@(val) numberStyle:NSNumberFormatterPercentStyle];
349
+ ;
350
+ } else {
351
+ self.accessibilityElement.accessibilityValue = nil;
249
352
  }
250
- #endif
251
353
  }
252
354
 
253
355
  // `testId`
@@ -322,6 +424,8 @@ using namespace facebook::react;
322
424
  _propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN = nil;
323
425
  _eventEmitter.reset();
324
426
  _isJSResponder = NO;
427
+ _removeClippedSubviews = NO;
428
+ _reactSubviews = [NSMutableArray new];
325
429
  }
326
430
 
327
431
  - (void)setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(NSSet<NSString *> *_Nullable)props
@@ -350,9 +454,7 @@ using namespace facebook::react;
350
454
 
351
455
  BOOL clipsToBounds = self.clipsToBounds;
352
456
 
353
- if (RCTExperimentGetOptimizedHitTesting()) {
354
- clipsToBounds = clipsToBounds || _layoutMetrics.overflowInset == EdgeInsets{};
355
- }
457
+ clipsToBounds = clipsToBounds || _layoutMetrics.overflowInset == EdgeInsets{};
356
458
 
357
459
  if (clipsToBounds && !isPointInside) {
358
460
  return nil;
@@ -632,7 +734,7 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
632
734
  NSMutableArray<UIAccessibilityCustomAction *> *customActions = [NSMutableArray array];
633
735
  for (auto const &accessibilityAction : accessibilityActions) {
634
736
  [customActions
635
- addObject:[[UIAccessibilityCustomAction alloc] initWithName:RCTNSStringFromString(accessibilityAction)
737
+ addObject:[[UIAccessibilityCustomAction alloc] initWithName:RCTNSStringFromString(accessibilityAction.name)
636
738
  target:self
637
739
  selector:@selector(didActivateAccessibilityCustomAction:)]];
638
740
  }
@@ -17,6 +17,7 @@
17
17
  #import <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
18
18
  #import <react/renderer/componentregistry/componentNameByReactViewName.h>
19
19
  #import <react/renderer/componentregistry/native/NativeComponentRegistryBinding.h>
20
+ #import <react/renderer/core/PropsParserContext.h>
20
21
  #import <react/renderer/core/ReactPrimitives.h>
21
22
 
22
23
  #ifdef RN_DISABLE_OSS_PLUGIN_HEADER
@@ -13,6 +13,7 @@
13
13
  #import <react/renderer/core/ReactPrimitives.h>
14
14
  #import <react/renderer/mounting/MountingCoordinator.h>
15
15
  #import <react/renderer/mounting/ShadowView.h>
16
+ #import <react/utils/ContextContainer.h>
16
17
 
17
18
  NS_ASSUME_NONNULL_BEGIN
18
19
 
@@ -26,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN
26
27
  @property (nonatomic, weak) id<RCTMountingManagerDelegate> delegate;
27
28
  @property (nonatomic, strong) RCTComponentViewRegistry *componentViewRegistry;
28
29
 
30
+ - (void)setContextContainer:(facebook::react::ContextContainer::Shared)contextContainer;
31
+
29
32
  /**
30
33
  * Designates the view as a rendering viewport of a React Native surface.
31
34
  * The provided view must not have any subviews, and the caller is not supposed to interact with the view hierarchy
@@ -58,7 +61,9 @@ NS_ASSUME_NONNULL_BEGIN
58
61
  */
59
62
  - (void)sendAccessibilityEvent:(ReactTag)reactTag eventType:(NSString *)eventType;
60
63
 
61
- - (void)setIsJSResponder:(BOOL)isJSResponder forShadowView:(facebook::react::ShadowView)shadowView;
64
+ - (void)setIsJSResponder:(BOOL)isJSResponder
65
+ blockNativeResponder:(BOOL)blockNativeResponder
66
+ forShadowView:(facebook::react::ShadowView)shadowView;
62
67
 
63
68
  - (void)synchronouslyUpdateViewOnUIThread:(ReactTag)reactTag
64
69
  changedProps:(NSDictionary *)props
@@ -10,6 +10,7 @@
10
10
  #import <better/map.h>
11
11
 
12
12
  #import <React/RCTAssert.h>
13
+ #import <React/RCTComponent.h>
13
14
  #import <React/RCTFollyConvert.h>
14
15
  #import <React/RCTLog.h>
15
16
  #import <React/RCTUtils.h>
@@ -26,6 +27,18 @@
26
27
 
27
28
  using namespace facebook::react;
28
29
 
30
+ static SurfaceId RCTSurfaceIdForView(UIView *view)
31
+ {
32
+ do {
33
+ if (RCTIsReactRootView(@(view.tag))) {
34
+ return view.tag;
35
+ }
36
+ view = view.superview;
37
+ } while (view != nil);
38
+
39
+ return -1;
40
+ }
41
+
29
42
  static void RCTPerformMountInstructions(
30
43
  ShadowViewMutationList const &mutations,
31
44
  RCTComponentViewRegistry *registry,
@@ -136,6 +149,7 @@ static void RCTPerformMountInstructions(
136
149
  RCTMountingTransactionObserverCoordinator _observerCoordinator;
137
150
  BOOL _transactionInFlight;
138
151
  BOOL _followUpTransactionRequired;
152
+ ContextContainer::Shared _contextContainer;
139
153
  }
140
154
 
141
155
  - (instancetype)init
@@ -147,6 +161,11 @@ static void RCTPerformMountInstructions(
147
161
  return self;
148
162
  }
149
163
 
164
+ - (void)setContextContainer:(ContextContainer::Shared)contextContainer
165
+ {
166
+ _contextContainer = contextContainer;
167
+ }
168
+
150
169
  - (void)attachSurfaceToView:(UIView *)view surfaceId:(SurfaceId)surfaceId
151
170
  {
152
171
  RCTAssertMainQueue();
@@ -259,7 +278,9 @@ static void RCTPerformMountInstructions(
259
278
  });
260
279
  }
261
280
 
262
- - (void)setIsJSResponder:(BOOL)isJSResponder forShadowView:(facebook::react::ShadowView)shadowView
281
+ - (void)setIsJSResponder:(BOOL)isJSResponder
282
+ blockNativeResponder:(BOOL)blockNativeResponder
283
+ forShadowView:(facebook::react::ShadowView)shadowView
263
284
  {
264
285
  RCTExecuteOnMainQueue(^{
265
286
  UIView<RCTComponentViewProtocol> *componentView =
@@ -274,8 +295,10 @@ static void RCTPerformMountInstructions(
274
295
  {
275
296
  RCTAssertMainQueue();
276
297
  UIView<RCTComponentViewProtocol> *componentView = [_componentViewRegistry findComponentViewWithTag:reactTag];
298
+ SurfaceId surfaceId = RCTSurfaceIdForView(componentView);
277
299
  SharedProps oldProps = [componentView props];
278
- SharedProps newProps = componentDescriptor.cloneProps(oldProps, RawProps(convertIdToFollyDynamic(props)));
300
+ SharedProps newProps = componentDescriptor.cloneProps(
301
+ PropsParserContext{surfaceId, *_contextContainer.get()}, oldProps, RawProps(convertIdToFollyDynamic(props)));
279
302
 
280
303
  NSSet<NSString *> *propKeys = componentView.propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN ?: [NSSet new];
281
304
  propKeys = [propKeys setByAddingObjectsFromArray:props.allKeys];
@@ -288,11 +311,9 @@ static void RCTPerformMountInstructions(
288
311
  if (props[@"transform"] &&
289
312
  !CATransform3DEqualToTransform(
290
313
  RCTCATransform3DFromTransformMatrix(newViewProps.transform), componentView.layer.transform)) {
291
- RCTLogWarn(@"transform was not applied during [RCTViewComponentView updateProps:oldProps:]");
292
314
  componentView.layer.transform = RCTCATransform3DFromTransformMatrix(newViewProps.transform);
293
315
  }
294
316
  if (props[@"opacity"] && componentView.layer.opacity != (float)newViewProps.opacity) {
295
- RCTLogWarn(@"opacity was not applied during [RCTViewComponentView updateProps:oldProps:]");
296
317
  componentView.layer.opacity = newViewProps.opacity;
297
318
  }
298
319
  }
@@ -44,6 +44,8 @@ NS_ASSUME_NONNULL_BEGIN
44
44
  - (void)setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(nullable NSSet<NSString *> *)props;
45
45
  - (nullable NSSet<NSString *> *)propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN;
46
46
 
47
+ - (void)updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView;
48
+
47
49
  @end
48
50
 
49
51
  NS_ASSUME_NONNULL_END
@@ -156,4 +156,16 @@ using namespace facebook::react;
156
156
  return nil;
157
157
  }
158
158
 
159
+ - (void)updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView
160
+ {
161
+ clipRect = [clipView convertRect:clipRect toView:self];
162
+
163
+ // Normal views don't support unmounting, so all
164
+ // this does is forward message to our subviews,
165
+ // in case any of those do support it
166
+ for (UIView *subview in self.subviews) {
167
+ [subview updateClippedSubviewsWithClipRect:clipRect relativeToView:self];
168
+ }
169
+ }
170
+
159
171
  @end
@@ -141,6 +141,9 @@ inline UIAccessibilityTraits RCTUIAccessibilityTraitsFromAccessibilityTraits(
141
141
  if ((accessibilityTraits & AccessibilityTraits::Switch) != AccessibilityTraits::None) {
142
142
  result |= AccessibilityTraitSwitch;
143
143
  }
144
+ if ((accessibilityTraits & AccessibilityTraits::TabBar) != AccessibilityTraits::None) {
145
+ result |= UIAccessibilityTraitTabBar;
146
+ }
144
147
  return result;
145
148
  };
146
149
 
@@ -35,7 +35,9 @@ NS_ASSUME_NONNULL_BEGIN
35
35
  - (void)schedulerDidSendAccessibilityEvent:(facebook::react::ShadowView const &)shadowView
36
36
  eventType:(std::string const &)eventType;
37
37
 
38
- - (void)schedulerDidSetIsJSResponder:(BOOL)isJSResponder forShadowView:(facebook::react::ShadowView const &)shadowView;
38
+ - (void)schedulerDidSetIsJSResponder:(BOOL)isJSResponder
39
+ blockNativeResponder:(BOOL)blockNativeResponder
40
+ forShadowView:(facebook::react::ShadowView const &)shadowView;
39
41
 
40
42
  @end
41
43
 
@@ -30,10 +30,19 @@ class SchedulerDelegateProxy : public SchedulerDelegate {
30
30
  [scheduler.delegate schedulerDidFinishTransaction:mountingCoordinator];
31
31
  }
32
32
 
33
- void schedulerDidRequestPreliminaryViewAllocation(SurfaceId surfaceId, const ShadowView &shadowView) override
33
+ void schedulerDidRequestPreliminaryViewAllocation(SurfaceId surfaceId, const ShadowNode &shadowNode) override
34
34
  {
35
35
  // Does nothing.
36
- // Preemptive allocation of native views on iOS does not require this call.
36
+ // This delegate method is not currently used on iOS.
37
+ }
38
+
39
+ void schedulerDidCloneShadowNode(
40
+ SurfaceId surfaceId,
41
+ const ShadowNode &oldShadowNode,
42
+ const ShadowNode &newShadowNode) override
43
+ {
44
+ // Does nothing.
45
+ // This delegate method is not currently used on iOS.
37
46
  }
38
47
 
39
48
  void schedulerDidDispatchCommand(
@@ -49,7 +58,9 @@ class SchedulerDelegateProxy : public SchedulerDelegate {
49
58
  override
50
59
  {
51
60
  RCTScheduler *scheduler = (__bridge RCTScheduler *)scheduler_;
52
- [scheduler.delegate schedulerDidSetIsJSResponder:isJSResponder forShadowView:shadowView];
61
+ [scheduler.delegate schedulerDidSetIsJSResponder:isJSResponder
62
+ blockNativeResponder:blockNativeResponder
63
+ forShadowView:shadowView];
53
64
  }
54
65
 
55
66
  void schedulerDidSendAccessibilityEvent(const ShadowView &shadowView, std::string const &eventType) override
@@ -99,7 +110,6 @@ class LayoutAnimationDelegateProxy : public LayoutAnimationStatusDelegate, publi
99
110
  std::shared_ptr<SchedulerDelegateProxy> _delegateProxy;
100
111
  std::shared_ptr<LayoutAnimationDelegateProxy> _layoutAnimationDelegateProxy;
101
112
  RunLoopObserver::Unique _uiRunLoopObserver;
102
- BOOL _layoutAnimationsEnabled;
103
113
  }
104
114
 
105
115
  - (instancetype)initWithToolbox:(SchedulerToolbox)toolbox
@@ -107,14 +117,22 @@ class LayoutAnimationDelegateProxy : public LayoutAnimationStatusDelegate, publi
107
117
  if (self = [super init]) {
108
118
  auto reactNativeConfig =
109
119
  toolbox.contextContainer->at<std::shared_ptr<const ReactNativeConfig>>("ReactNativeConfig");
110
- _layoutAnimationsEnabled = reactNativeConfig->getBool("react_fabric:enabled_layout_animations_ios");
111
120
 
112
121
  _delegateProxy = std::make_shared<SchedulerDelegateProxy>((__bridge void *)self);
113
122
 
114
- if (_layoutAnimationsEnabled) {
123
+ if (reactNativeConfig->getBool("react_fabric:enabled_layout_animations_ios")) {
115
124
  _layoutAnimationDelegateProxy = std::make_shared<LayoutAnimationDelegateProxy>((__bridge void *)self);
116
- _animationDriver =
117
- std::make_shared<LayoutAnimationDriver>(toolbox.runtimeExecutor, _layoutAnimationDelegateProxy.get());
125
+ _animationDriver = std::make_shared<LayoutAnimationDriver>(
126
+ toolbox.runtimeExecutor, toolbox.contextContainer, _layoutAnimationDelegateProxy.get());
127
+ if (reactNativeConfig->getBool("react_fabric:enabled_skip_invalidated_key_frames_ios")) {
128
+ _animationDriver->enableSkipInvalidatedKeyFrames();
129
+ }
130
+ if (reactNativeConfig->getBool("react_fabric:enable_crash_on_missing_component_descriptor")) {
131
+ _animationDriver->enableCrashOnMissingComponentDescriptor();
132
+ }
133
+ if (reactNativeConfig->getBool("react_fabric:enable_simulate_image_props_memory_access")) {
134
+ _animationDriver->enableSimulateImagePropsMemoryAccess();
135
+ }
118
136
  _uiRunLoopObserver =
119
137
  toolbox.mainRunLoopObserverFactory(RunLoopObserver::Activity::BeforeWaiting, _layoutAnimationDelegateProxy);
120
138
  _uiRunLoopObserver->setDelegate(_layoutAnimationDelegateProxy.get());
@@ -27,9 +27,7 @@
27
27
 
28
28
  #import <react/config/ReactNativeConfig.h>
29
29
  #import <react/renderer/componentregistry/ComponentDescriptorFactory.h>
30
- #import <react/renderer/components/root/RootShadowNode.h>
31
- #import <react/renderer/core/LayoutConstraints.h>
32
- #import <react/renderer/core/LayoutContext.h>
30
+ #import <react/renderer/runtimescheduler/RuntimeScheduler.h>
33
31
  #import <react/renderer/scheduler/AsynchronousEventBeat.h>
34
32
  #import <react/renderer/scheduler/SchedulerToolbox.h>
35
33
  #import <react/renderer/scheduler/SynchronousEventBeat.h>
@@ -90,12 +88,12 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
90
88
  {
91
89
  if (self = [super init]) {
92
90
  assert(contextContainer && "RuntimeExecutor must be not null.");
93
-
94
91
  _runtimeExecutor = runtimeExecutor;
95
92
  _contextContainer = contextContainer;
96
93
 
97
94
  _surfaceRegistry = [[RCTSurfaceRegistry alloc] init];
98
95
  _mountingManager = [[RCTMountingManager alloc] init];
96
+ _mountingManager.contextContainer = contextContainer;
99
97
  _mountingManager.delegate = self;
100
98
 
101
99
  _observers = [NSMutableArray array];
@@ -127,6 +125,7 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
127
125
  {
128
126
  std::lock_guard<std::mutex> lock(_schedulerLifeCycleMutex);
129
127
  _contextContainer = contextContainer;
128
+ _mountingManager.contextContainer = contextContainer;
130
129
  }
131
130
 
132
131
  - (RuntimeExecutor)runtimeExecutor
@@ -252,18 +251,14 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
252
251
  {
253
252
  auto reactNativeConfig = _contextContainer->at<std::shared_ptr<ReactNativeConfig const>>("ReactNativeConfig");
254
253
 
255
- if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:scrollview_on_demand_mounting_ios")) {
256
- RCTExperimentSetOnDemandViewMounting(YES);
257
- }
258
-
259
- if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:optimized_hit_testing_ios")) {
260
- RCTExperimentSetOptimizedHitTesting(YES);
261
- }
262
-
263
254
  if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:preemptive_view_allocation_disabled_ios")) {
264
255
  RCTExperimentSetPreemptiveViewAllocationDisabled(YES);
265
256
  }
266
257
 
258
+ if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:enable_remove_clipped_subviews_ios")) {
259
+ RCTSetRemoveClippedSubviewsEnabled(YES);
260
+ }
261
+
267
262
  auto componentRegistryFactory =
268
263
  [factory = wrapManagedObject(_mountingManager.componentViewRegistry.componentViewFactory)](
269
264
  EventDispatcher::Weak const &eventDispatcher, ContextContainer::Shared const &contextContainer) {
@@ -276,7 +271,19 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
276
271
  auto toolbox = SchedulerToolbox{};
277
272
  toolbox.contextContainer = _contextContainer;
278
273
  toolbox.componentRegistryFactory = componentRegistryFactory;
274
+
275
+ auto weakRuntimeScheduler = _contextContainer->find<std::weak_ptr<RuntimeScheduler>>("RuntimeScheduler");
276
+ auto runtimeScheduler = weakRuntimeScheduler.hasValue() ? weakRuntimeScheduler.value().lock() : nullptr;
277
+ if (runtimeScheduler) {
278
+ runtimeScheduler->setEnableYielding(
279
+ reactNativeConfig->getBool("react_native_new_architecture:runtimescheduler_enable_yielding_ios"));
280
+ runtimeExecutor = [runtimeScheduler](std::function<void(jsi::Runtime & runtime)> &&callback) {
281
+ runtimeScheduler->scheduleWork(std::move(callback));
282
+ };
283
+ }
284
+
279
285
  toolbox.runtimeExecutor = runtimeExecutor;
286
+
280
287
  toolbox.mainRunLoopObserverFactory = [](RunLoopObserver::Activity activities,
281
288
  RunLoopObserver::WeakOwner const &owner) {
282
289
  return std::make_unique<MainRunLoopObserver>(activities, owner);
@@ -286,26 +293,15 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
286
293
  toolbox.backgroundExecutor = RCTGetBackgroundExecutor();
287
294
  }
288
295
 
289
- #ifdef REACT_NATIVE_DEBUG
290
- auto optionalBridge = _contextContainer->find<std::shared_ptr<void>>("Bridge");
291
- if (optionalBridge) {
292
- RCTBridge *bridge = unwrapManagedObjectWeakly(optionalBridge.value());
293
- toolbox.garbageCollectionTrigger = [bridge]() {
294
- RCTCxxBridge *batchedBridge = (RCTCxxBridge *)([bridge batchedBridge] ?: bridge);
295
- if ([batchedBridge respondsToSelector:@selector(forceGarbageCollection)]) {
296
- [batchedBridge forceGarbageCollection];
297
- }
298
- };
299
- }
300
- #endif
301
-
302
- toolbox.synchronousEventBeatFactory = [runtimeExecutor](EventBeat::SharedOwnerBox const &ownerBox) {
303
- auto runLoopObserver =
304
- std::make_unique<MainRunLoopObserver const>(RunLoopObserver::Activity::BeforeWaiting, ownerBox->owner);
305
- return std::make_unique<SynchronousEventBeat>(std::move(runLoopObserver), runtimeExecutor);
306
- };
296
+ toolbox.synchronousEventBeatFactory =
297
+ [runtimeExecutor, runtimeScheduler = runtimeScheduler](EventBeat::SharedOwnerBox const &ownerBox) {
298
+ auto runLoopObserver =
299
+ std::make_unique<MainRunLoopObserver const>(RunLoopObserver::Activity::BeforeWaiting, ownerBox->owner);
300
+ return std::make_unique<SynchronousEventBeat>(std::move(runLoopObserver), runtimeExecutor, runtimeScheduler);
301
+ };
307
302
 
308
- toolbox.asynchronousEventBeatFactory = [runtimeExecutor](EventBeat::SharedOwnerBox const &ownerBox) {
303
+ toolbox.asynchronousEventBeatFactory =
304
+ [runtimeExecutor](EventBeat::SharedOwnerBox const &ownerBox) -> std::unique_ptr<EventBeat> {
309
305
  auto runLoopObserver =
310
306
  std::make_unique<MainRunLoopObserver const>(RunLoopObserver::Activity::BeforeWaiting, ownerBox->owner);
311
307
  return std::make_unique<AsynchronousEventBeat>(std::move(runLoopObserver), runtimeExecutor);
@@ -364,9 +360,13 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
364
360
  [self->_mountingManager sendAccessibilityEvent:tag eventType:eventTypeStr];
365
361
  }
366
362
 
367
- - (void)schedulerDidSetIsJSResponder:(BOOL)isJSResponder forShadowView:(facebook::react::ShadowView const &)shadowView;
363
+ - (void)schedulerDidSetIsJSResponder:(BOOL)isJSResponder
364
+ blockNativeResponder:(BOOL)blockNativeResponder
365
+ forShadowView:(facebook::react::ShadowView const &)shadowView;
368
366
  {
369
- [self->_mountingManager setIsJSResponder:isJSResponder forShadowView:shadowView];
367
+ [self->_mountingManager setIsJSResponder:isJSResponder
368
+ blockNativeResponder:blockNativeResponder
369
+ forShadowView:shadowView];
370
370
  }
371
371
 
372
372
  - (void)addObserver:(id<RCTSurfacePresenterObserver>)observer
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
+ #import <ReactCommon/RuntimeExecutor.h>
9
10
  #import <UIKit/UIKit.h>
10
-
11
11
  #import <react/utils/ContextContainer.h>
12
12
 
13
13
  NS_ASSUME_NONNULL_BEGIN
@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
15
15
  @class RCTSurfacePresenter;
16
16
  @class RCTBridge;
17
17
 
18
+ facebook::react::RuntimeExecutor RCTRuntimeExecutorFromBridge(RCTBridge *bridge);
19
+
18
20
  /*
19
21
  * Controls a life-cycle of a Surface Presenter based on Bridge's life-cycle.
20
22
  * We are moving away from using Bridge.
@@ -32,7 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
32
34
 
33
35
  /*
34
36
  * Controls a stored instance of the Bridge. A consumer can re-set the stored Bridge using that method; the class is
35
- * responsible to coordinate this change with a SurfacePresetner accordingly.
37
+ * responsible to coordinate this change with a SurfacePresenter accordingly.
36
38
  */
37
39
  @property (nonatomic, weak) RCTBridge *bridge;
38
40
 
@@ -41,7 +41,7 @@ static ContextContainer::Shared RCTContextContainerFromBridge(RCTBridge *bridge)
41
41
  return contextContainer;
42
42
  }
43
43
 
44
- static RuntimeExecutor RCTRuntimeExecutorFromBridge(RCTBridge *bridge)
44
+ RuntimeExecutor RCTRuntimeExecutorFromBridge(RCTBridge *bridge)
45
45
  {
46
46
  RCTAssert(bridge, @"RCTRuntimeExecutorFromBridge: Bridge must not be nil.");
47
47
 
@@ -17,7 +17,7 @@ typedef void (^RCTSurfaceEnumeratorBlock)(NSEnumerator<RCTFabricSurface *> *enum
17
17
 
18
18
  /**
19
19
  * Registry of Surfaces.
20
- * Incapsulates storing Surface objects and querying them by root tag.
20
+ * Encapsulates storing Surface objects and querying them by root tag.
21
21
  * All methods of the registry are thread-safe.
22
22
  * The registry stores Surface objects as weak references.
23
23
  */
@@ -10,7 +10,6 @@
10
10
  #import <React/RCTUtils.h>
11
11
  #import <React/RCTViewComponentView.h>
12
12
  #import <UIKit/UIGestureRecognizerSubclass.h>
13
- #import <UIKit/UIKit.h>
14
13
 
15
14
  #import "RCTConversions.h"
16
15
  #import "RCTTouchableComponentViewProtocol.h"
@@ -83,8 +82,7 @@ static void UpdateActiveTouchWithUITouch(
83
82
  ActiveTouch &activeTouch,
84
83
  UITouch *uiTouch,
85
84
  UIView *rootComponentView,
86
- CGPoint rootViewOriginOffset,
87
- NSTimeInterval unixTimestampBasis)
85
+ CGPoint rootViewOriginOffset)
88
86
  {
89
87
  CGPoint offsetPoint = [uiTouch locationInView:activeTouch.componentView];
90
88
  CGPoint screenPoint = [uiTouch locationInView:uiTouch.window];
@@ -95,18 +93,14 @@ static void UpdateActiveTouchWithUITouch(
95
93
  activeTouch.touch.screenPoint = RCTPointFromCGPoint(screenPoint);
96
94
  activeTouch.touch.pagePoint = RCTPointFromCGPoint(pagePoint);
97
95
 
98
- activeTouch.touch.timestamp = unixTimestampBasis + uiTouch.timestamp;
96
+ activeTouch.touch.timestamp = uiTouch.timestamp;
99
97
 
100
98
  if (RCTForceTouchAvailable()) {
101
99
  activeTouch.touch.force = RCTZeroIfNaN(uiTouch.force / uiTouch.maximumPossibleForce);
102
100
  }
103
101
  }
104
102
 
105
- static ActiveTouch CreateTouchWithUITouch(
106
- UITouch *uiTouch,
107
- UIView *rootComponentView,
108
- CGPoint rootViewOriginOffset,
109
- NSTimeInterval unixTimestampBasis)
103
+ static ActiveTouch CreateTouchWithUITouch(UITouch *uiTouch, UIView *rootComponentView, CGPoint rootViewOriginOffset)
110
104
  {
111
105
  ActiveTouch activeTouch = {};
112
106
 
@@ -123,7 +117,7 @@ static ActiveTouch CreateTouchWithUITouch(
123
117
  componentView = componentView.superview;
124
118
  }
125
119
 
126
- UpdateActiveTouchWithUITouch(activeTouch, uiTouch, rootComponentView, rootViewOriginOffset, unixTimestampBasis);
120
+ UpdateActiveTouchWithUITouch(activeTouch, uiTouch, rootComponentView, rootViewOriginOffset);
127
121
  return activeTouch;
128
122
  }
129
123
 
@@ -173,12 +167,6 @@ struct PointerHasher {
173
167
  */
174
168
  __weak UIView *_rootComponentView;
175
169
  IdentifierPool<11> _identifierPool;
176
-
177
- /*
178
- * See Touch.h and usage. This gives us a time-basis for a monotonic
179
- * clock that acts like a timestamp of milliseconds elapsed since UNIX epoch.
180
- */
181
- NSTimeInterval _unixEpochBasisTime;
182
170
  }
183
171
 
184
172
  - (instancetype)init
@@ -193,8 +181,6 @@ struct PointerHasher {
193
181
  self.delaysTouchesEnded = NO;
194
182
 
195
183
  self.delegate = self;
196
-
197
- _unixEpochBasisTime = [[NSDate date] timeIntervalSince1970] - [NSProcessInfo processInfo].systemUptime;
198
184
  }
199
185
 
200
186
  return self;
@@ -222,7 +208,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
222
208
  - (void)_registerTouches:(NSSet<UITouch *> *)touches
223
209
  {
224
210
  for (UITouch *touch in touches) {
225
- auto activeTouch = CreateTouchWithUITouch(touch, _rootComponentView, _viewOriginOffset, _unixEpochBasisTime);
211
+ auto activeTouch = CreateTouchWithUITouch(touch, _rootComponentView, _viewOriginOffset);
226
212
  activeTouch.touch.identifier = _identifierPool.dequeue();
227
213
  _activeTouches.emplace(touch, activeTouch);
228
214
  }
@@ -237,7 +223,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
237
223
  continue;
238
224
  }
239
225
 
240
- UpdateActiveTouchWithUITouch(iterator->second, touch, _rootComponentView, _viewOriginOffset, _unixEpochBasisTime);
226
+ UpdateActiveTouchWithUITouch(iterator->second, touch, _rootComponentView, _viewOriginOffset);
241
227
  }
242
228
  }
243
229