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
@@ -10,6 +10,7 @@
10
10
  #import <mutex>
11
11
 
12
12
  #import <React/RCTAssert.h>
13
+ #import <React/RCTConstants.h>
13
14
  #import <React/RCTConversions.h>
14
15
  #import <React/RCTFollyConvert.h>
15
16
  #import <React/RCTI18nUtil.h>
@@ -60,6 +61,8 @@ using namespace facebook::react;
60
61
 
61
62
  [_surfacePresenter registerSurface:self];
62
63
 
64
+ [self setMinimumSize:CGSizeZero maximumSize:RCTViewportSize()];
65
+
63
66
  [self _updateLayoutContext];
64
67
 
65
68
  [[NSNotificationCenter defaultCenter] addObserver:self
@@ -6,13 +6,12 @@
6
6
  */
7
7
 
8
8
  #import <React/RCTBridge.h>
9
- #import <React/RCTJSInvokerModule.h>
10
9
 
11
10
  /**
12
11
  * RCTEventEmitter is an abstract base class to be used for modules that emit
13
12
  * events to be observed by JS.
14
13
  */
15
- @interface RCTEventEmitter : NSObject <RCTBridgeModule, RCTJSInvokerModule, RCTInvalidating>
14
+ @interface RCTEventEmitter : NSObject <RCTBridgeModule, RCTInvalidating>
16
15
 
17
16
  @property (nonatomic, weak) RCTBridge *bridge;
18
17
  @property (nonatomic, weak) RCTModuleRegistry *moduleRegistry;
@@ -15,7 +15,7 @@
15
15
  BOOL _observationDisabled;
16
16
  }
17
17
 
18
- @synthesize invokeJS = _invokeJS;
18
+ @synthesize callableJSModules = _callableJSModules;
19
19
 
20
20
  + (NSString *)moduleName
21
21
  {
@@ -48,10 +48,10 @@
48
48
  - (void)sendEventWithName:(NSString *)eventName body:(id)body
49
49
  {
50
50
  RCTAssert(
51
- _bridge != nil || _invokeJS != nil,
51
+ _callableJSModules != nil,
52
52
  @"Error when sending event: %@ with body: %@. "
53
- "Bridge is not set. This is probably because you've "
54
- "explicitly synthesized the bridge in %@, even though it's inherited "
53
+ "RCTCallableJSModules is not set. This is probably because you've "
54
+ "explicitly synthesized the RCTCallableJSModules in %@, even though it's inherited "
55
55
  "from RCTEventEmitter.",
56
56
  eventName,
57
57
  body,
@@ -67,13 +67,10 @@
67
67
 
68
68
  BOOL shouldEmitEvent = (_observationDisabled || _listenerCount > 0);
69
69
 
70
- if (shouldEmitEvent && _bridge) {
71
- [_bridge enqueueJSCall:@"RCTDeviceEventEmitter"
72
- method:@"emit"
73
- args:body ? @[ eventName, body ] : @[ eventName ]
74
- completion:NULL];
75
- } else if (shouldEmitEvent && _invokeJS) {
76
- _invokeJS(@"RCTDeviceEventEmitter", @"emit", body ? @[ eventName, body ] : @[ eventName ]);
70
+ if (shouldEmitEvent && _callableJSModules) {
71
+ [_callableJSModules invokeModule:@"RCTDeviceEventEmitter"
72
+ method:@"emit"
73
+ withArgs:body ? @[ eventName, body ] : @[ eventName ]];
77
74
  } else {
78
75
  RCTLogWarn(@"Sending `%@` with no listeners registered.", eventName);
79
76
  }
@@ -18,11 +18,19 @@
18
18
  + (instancetype)sharedInstance;
19
19
 
20
20
  - (BOOL)isRTL;
21
- - (BOOL)isRTLAllowed;
22
- - (void)allowRTL:(BOOL)value;
23
- - (BOOL)isRTLForced;
24
- - (void)forceRTL:(BOOL)value;
25
- - (BOOL)doLeftAndRightSwapInRTL;
26
- - (void)swapLeftAndRightInRTL:(BOOL)value;
21
+
22
+ /**
23
+ * Should be used very early during app start up
24
+ * Before the bridge is initialized
25
+ */
26
+ @property (atomic, setter=allowRTL:) BOOL isRTLAllowed;
27
+
28
+ /**
29
+ * Could be used to test RTL layout with English
30
+ * Used for development and testing purpose
31
+ */
32
+ @property (atomic, setter=forceRTL:) BOOL isRTLForced;
33
+
34
+ @property (atomic, setter=swapLeftAndRightInRTL:) BOOL doLeftAndRightSwapInRTL;
27
35
 
28
36
  @end
@@ -18,6 +18,7 @@
18
18
  dispatch_once(&onceToken, ^{
19
19
  sharedInstance = [self new];
20
20
  [sharedInstance swapLeftAndRightInRTL:true];
21
+ [sharedInstance allowRTL:true];
21
22
  });
22
23
 
23
24
  return sharedInstance;
@@ -40,53 +41,6 @@
40
41
  return NO;
41
42
  }
42
43
 
43
- /**
44
- * Should be used very early during app start up
45
- * Before the bridge is initialized
46
- * @return whether the app allows RTL layout, default is true
47
- */
48
- - (BOOL)isRTLAllowed
49
- {
50
- NSNumber *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"RCTI18nUtil_allowRTL"];
51
- if (value == nil) {
52
- return YES;
53
- }
54
- return [value boolValue];
55
- }
56
-
57
- - (void)allowRTL:(BOOL)rtlStatus
58
- {
59
- [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_allowRTL"];
60
- [[NSUserDefaults standardUserDefaults] synchronize];
61
- }
62
-
63
- /**
64
- * Could be used to test RTL layout with English
65
- * Used for development and testing purpose
66
- */
67
- - (BOOL)isRTLForced
68
- {
69
- BOOL rtlStatus = [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_forceRTL"];
70
- return rtlStatus;
71
- }
72
-
73
- - (void)forceRTL:(BOOL)rtlStatus
74
- {
75
- [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_forceRTL"];
76
- [[NSUserDefaults standardUserDefaults] synchronize];
77
- }
78
-
79
- - (BOOL)doLeftAndRightSwapInRTL
80
- {
81
- return [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"];
82
- }
83
-
84
- - (void)swapLeftAndRightInRTL:(BOOL)value
85
- {
86
- [[NSUserDefaults standardUserDefaults] setBool:value forKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"];
87
- [[NSUserDefaults standardUserDefaults] synchronize];
88
- }
89
-
90
44
  // Check if the current device language is RTL
91
45
  - (BOOL)isDevicePreferredLanguageRTL
92
46
  {
@@ -147,6 +147,8 @@ RCT_EXPORT_MODULE()
147
147
 
148
148
  - (void)setBridge:(RCTBridge *)bridge
149
149
  {
150
+ RCTEnforceNotAllowedForNewArchitecture(self, @"RCTUIManager must not be initialized for the new architecture");
151
+
150
152
  RCTAssert(_bridge == nil, @"Should not re-use same UIManager instance");
151
153
  _bridge = bridge;
152
154
 
@@ -89,7 +89,7 @@ SYMBOL_NAME(RCTProfileTrampoline):
89
89
 
90
90
  pop {lr} // pop the caller
91
91
  pop {r0} // pop the return value
92
- bx lr // jump to the calleer
92
+ bx lr // jump to the caller
93
93
 
94
94
  trap
95
95
 
@@ -41,7 +41,7 @@ SYMBOL_NAME(RCTProfileTrampoline):
41
41
  /**
42
42
  * Allocate 16-bytes for the values that have to be preserved across the call
43
43
  * to the actual function, since the stack has to be in the exact initial
44
- * state. During its lifetimewe use it to store the initial value of the
44
+ * state. During its lifetime we use it to store the initial value of the
45
45
  * callee saved registers we use to point the memory, the actual address of
46
46
  * the implementation and the caller address.
47
47
  */
@@ -119,7 +119,7 @@ SYMBOL_NAME(RCTProfileTrampoline):
119
119
  // restore the stack pointer
120
120
  add sp, sp, #0x20
121
121
 
122
- // jump to the calleer, without a link
122
+ // jump to the caller, without a link
123
123
  br lr
124
124
 
125
125
  #endif
@@ -18,7 +18,7 @@ end
18
18
 
19
19
  folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
20
20
  folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32'
21
- folly_version = '2020.01.13.00'
21
+ folly_version = '2021.06.28.00-v2'
22
22
  boost_compiler_flags = '-Wno-documentation'
23
23
 
24
24
  Pod::Spec.new do |s|
@@ -37,8 +37,8 @@ Pod::Spec.new do |s|
37
37
  s.header_dir = "React"
38
38
  s.framework = "JavaScriptCore"
39
39
  s.library = "stdc++"
40
- s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\"" }
41
- s.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/RCT-Folly\"",
40
+ s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\"" }
41
+ s.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/RCT-Folly\"",
42
42
  "OTHER_CFLAGS" => "$(inherited) -DRN_FABRIC_ENABLED" + " " + folly_flags }
43
43
 
44
44
  s.dependency "React-Core", version
@@ -404,4 +404,67 @@ static ParagraphShadowNode::ConcreteState::Shared stateWithShadowNode(
404
404
  @"Expected the second accessibilityElement has link trait");
405
405
  }
406
406
 
407
+ - (void)testEntireParagraphLink
408
+ {
409
+ std::shared_ptr<RootShadowNode> rootShadowNode;
410
+ std::shared_ptr<ParagraphShadowNode> paragrahShadowNode;
411
+
412
+ auto element = Element<RootShadowNode>()
413
+ .reference(rootShadowNode)
414
+ .tag(1)
415
+ .props([] {
416
+ auto sharedProps = std::make_shared<RootProps>();
417
+ auto &props = *sharedProps;
418
+ props.layoutConstraints = LayoutConstraints{{0, 0}, {500, 500}};
419
+ auto &yogaStyle = props.yogaStyle;
420
+ yogaStyle.dimensions()[YGDimensionWidth] = YGValue{200, YGUnitPoint};
421
+ yogaStyle.dimensions()[YGDimensionHeight] = YGValue{200, YGUnitPoint};
422
+ return sharedProps;
423
+ })
424
+ .children({
425
+ Element<ParagraphShadowNode>()
426
+ .reference(paragrahShadowNode)
427
+ .props([] {
428
+ auto sharedProps = std::make_shared<ParagraphProps>();
429
+ auto &props = *sharedProps;
430
+ props.accessible = true;
431
+ props.accessibilityTraits = AccessibilityTraits::Link;
432
+ auto &yogaStyle = props.yogaStyle;
433
+ yogaStyle.positionType() = YGPositionTypeAbsolute;
434
+ yogaStyle.position()[YGEdgeLeft] = YGValue{0, YGUnitPoint};
435
+ yogaStyle.position()[YGEdgeTop] = YGValue{0, YGUnitPoint};
436
+ yogaStyle.dimensions()[YGDimensionWidth] = YGValue{200, YGUnitPoint};
437
+ yogaStyle.dimensions()[YGDimensionHeight] = YGValue{20, YGUnitPoint};
438
+ return sharedProps;
439
+ })
440
+ .children({
441
+ Element<TextShadowNode>()
442
+ .props([] {
443
+ auto sharedProps = std::make_shared<TextProps>();
444
+ auto &props = *sharedProps;
445
+ props.textAttributes.accessibilityRole = AccessibilityRole::Link;
446
+ return sharedProps;
447
+ })
448
+ .children({Element<RawTextShadowNode>().reference(RawTextShadowNodeABA_).props([] {
449
+ auto sharedProps = std::make_shared<RawTextProps>();
450
+ auto &props = *sharedProps;
451
+ props.text = "A long text that happens to be a link";
452
+ return sharedProps;
453
+ })}),
454
+ }),
455
+ });
456
+
457
+ builder_->build(element);
458
+ rootShadowNode->layoutIfNeeded();
459
+
460
+ ParagraphShadowNode::ConcreteState::Shared _state = stateWithShadowNode(paragrahShadowNode);
461
+ RCTParagraphComponentView *paragraphComponentView = [[RCTParagraphComponentView alloc] init];
462
+ [paragraphComponentView updateProps:paragrahShadowNode->getProps() oldProps:nullptr];
463
+ [paragraphComponentView updateState:_state oldState:nil];
464
+
465
+ NSArray<UIAccessibilityElement *> *elements = paragraphComponentView.accessibilityElements;
466
+ XCTAssertEqual(elements.count, 1);
467
+ XCTAssertTrue(elements[0].accessibilityTraits & UIAccessibilityTraitLink);
468
+ }
469
+
407
470
  @end
@@ -25,6 +25,21 @@ RCT_ENUM_CONVERTER(
25
25
  UIDatePickerModeTime,
26
26
  integerValue)
27
27
 
28
+ #pragma clang diagnostic push
29
+ #pragma clang diagnostic ignored "-Wunguarded-availability-new"
30
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0
31
+
32
+ RCT_ENUM_CONVERTER(
33
+ UIDatePickerStyle,
34
+ (@{
35
+ @"compact" : @(UIDatePickerStyleCompact),
36
+ @"spinner" : @(UIDatePickerStyleWheels),
37
+ @"inline" : @(UIDatePickerStyleInline),
38
+ }),
39
+ UIDatePickerStyleAutomatic,
40
+ integerValue)
41
+ #endif
42
+ #pragma clang diagnostic pop
28
43
  @end
29
44
 
30
45
  @implementation RCTDatePickerManager
@@ -66,4 +81,22 @@ RCT_EXPORT_METHOD(setNativeDate : (nonnull NSNumber *)viewTag toDate : (NSDate *
66
81
  }];
67
82
  }
68
83
 
84
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0
85
+ RCT_CUSTOM_VIEW_PROPERTY(pickerStyle, UIDatePickerStyle, RCTDatePicker)
86
+ {
87
+ if (@available(iOS 14, *)) {
88
+ // If the style changed, then the date picker may need to be resized and will generate a layout pass to display
89
+ // correctly. We need to prevent that to get consistent layout. That's why we memorise the old frame and set it
90
+ // after style is changed.
91
+ CGRect oldFrame = view.frame;
92
+ if (json) {
93
+ UIDatePickerStyle style = [RCTConvert UIDatePickerStyle:json];
94
+ view.preferredDatePickerStyle = style;
95
+ } else {
96
+ view.preferredDatePickerStyle = UIDatePickerStyleWheels;
97
+ }
98
+ view.frame = oldFrame;
99
+ }
100
+ }
101
+ #endif
69
102
  @end
@@ -11,18 +11,16 @@
11
11
 
12
12
  #import <CoreText/CoreText.h>
13
13
 
14
- #import <mutex>
15
-
16
14
  typedef CGFloat RCTFontWeight;
17
15
  static RCTFontWeight weightOfFont(UIFont *font)
18
16
  {
19
- static NSArray *fontNames;
20
- static NSArray *fontWeights;
17
+ static NSArray<NSString *> *weightSuffixes;
18
+ static NSArray<NSNumber *> *fontWeights;
21
19
  static dispatch_once_t onceToken;
22
20
  dispatch_once(&onceToken, ^{
23
21
  // We use two arrays instead of one map because
24
22
  // the order is important for suffix matching.
25
- fontNames = @[
23
+ weightSuffixes = @[
26
24
  @"normal",
27
25
  @"ultralight",
28
26
  @"thin",
@@ -54,28 +52,29 @@ static RCTFontWeight weightOfFont(UIFont *font)
54
52
  ];
55
53
  });
56
54
 
57
- for (NSInteger i = 0; i < 0 || i < (unsigned)fontNames.count; i++) {
58
- if ([font.fontName.lowercaseString hasSuffix:fontNames[i]]) {
59
- return (RCTFontWeight)[fontWeights[i] doubleValue];
55
+ NSString *fontName = font.fontName;
56
+ NSInteger i = 0;
57
+ for (NSString *suffix in weightSuffixes) {
58
+ // CFStringFind is much faster than any variant of rangeOfString: because it does not use a locale.
59
+ auto options = kCFCompareCaseInsensitive | kCFCompareAnchored | kCFCompareBackwards;
60
+ if (CFStringFind((CFStringRef)fontName, (CFStringRef)suffix, options).location != kCFNotFound) {
61
+ return (RCTFontWeight)fontWeights[i].doubleValue;
60
62
  }
63
+ i++;
61
64
  }
62
65
 
63
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
66
+ auto traits = (__bridge_transfer NSDictionary *)CTFontCopyTraits((CTFontRef)font);
64
67
  return (RCTFontWeight)[traits[UIFontWeightTrait] doubleValue];
65
68
  }
66
69
 
67
70
  static BOOL isItalicFont(UIFont *font)
68
71
  {
69
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
70
- UIFontDescriptorSymbolicTraits symbolicTraits = [traits[UIFontSymbolicTrait] unsignedIntValue];
71
- return (symbolicTraits & UIFontDescriptorTraitItalic) != 0;
72
+ return (CTFontGetSymbolicTraits((CTFontRef)font) & kCTFontTraitItalic) != 0;
72
73
  }
73
74
 
74
75
  static BOOL isCondensedFont(UIFont *font)
75
76
  {
76
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
77
- UIFontDescriptorSymbolicTraits symbolicTraits = [traits[UIFontSymbolicTrait] unsignedIntValue];
78
- return (symbolicTraits & UIFontDescriptorTraitCondensed) != 0;
77
+ return (CTFontGetSymbolicTraits((CTFontRef)font) & kCTFontTraitCondensed) != 0;
79
78
  }
80
79
 
81
80
  static RCTFontHandler defaultFontHandler;
@@ -130,18 +129,16 @@ static NSString *FontWeightDescriptionFromUIFontWeight(UIFontWeight fontWeight)
130
129
 
131
130
  static UIFont *cachedSystemFont(CGFloat size, RCTFontWeight weight)
132
131
  {
133
- static NSCache *fontCache;
134
- static std::mutex *fontCacheMutex = new std::mutex;
135
-
136
- NSString *cacheKey = [NSString stringWithFormat:@"%.1f/%.2f", size, weight];
137
- UIFont *font;
138
- {
139
- std::lock_guard<std::mutex> lock(*fontCacheMutex);
140
- if (!fontCache) {
141
- fontCache = [NSCache new];
142
- }
143
- font = [fontCache objectForKey:cacheKey];
144
- }
132
+ static NSCache<NSValue *, UIFont *> *fontCache = [NSCache new];
133
+
134
+ struct __attribute__((__packed__)) CacheKey {
135
+ CGFloat size;
136
+ RCTFontWeight weight;
137
+ };
138
+
139
+ CacheKey key{size, weight};
140
+ NSValue *cacheKey = [[NSValue alloc] initWithBytes:&key objCType:@encode(CacheKey)];
141
+ UIFont *font = [fontCache objectForKey:cacheKey];
145
142
 
146
143
  if (!font) {
147
144
  if (defaultFontHandler) {
@@ -151,15 +148,36 @@ static UIFont *cachedSystemFont(CGFloat size, RCTFontWeight weight)
151
148
  font = [UIFont systemFontOfSize:size weight:weight];
152
149
  }
153
150
 
154
- {
155
- std::lock_guard<std::mutex> lock(*fontCacheMutex);
156
- [fontCache setObject:font forKey:cacheKey];
157
- }
151
+ [fontCache setObject:font forKey:cacheKey];
158
152
  }
159
153
 
160
154
  return font;
161
155
  }
162
156
 
157
+ // Caching wrapper around expensive +[UIFont fontNamesForFamilyName:]
158
+ static NSArray<NSString *> *fontNamesForFamilyName(NSString *familyName)
159
+ {
160
+ static NSCache<NSString *, NSArray<NSString *> *> *cache;
161
+ static dispatch_once_t onceToken;
162
+ dispatch_once(&onceToken, ^{
163
+ cache = [NSCache new];
164
+ [NSNotificationCenter.defaultCenter
165
+ addObserverForName:(NSNotificationName)kCTFontManagerRegisteredFontsChangedNotification
166
+ object:nil
167
+ queue:nil
168
+ usingBlock:^(NSNotification *) {
169
+ [cache removeAllObjects];
170
+ }];
171
+ });
172
+
173
+ auto names = [cache objectForKey:familyName];
174
+ if (!names) {
175
+ names = [UIFont fontNamesForFamilyName:familyName] ?: [NSArray new];
176
+ [cache setObject:names forKey:familyName];
177
+ }
178
+ return names;
179
+ }
180
+
163
181
  @implementation RCTConvert (RCTFont)
164
182
 
165
183
  + (UIFont *)UIFont:(id)json
@@ -315,7 +333,7 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
315
333
 
316
334
  // Gracefully handle being given a font name rather than font family, for
317
335
  // example: "Helvetica Light Oblique" rather than just "Helvetica".
318
- if (!didFindFont && [UIFont fontNamesForFamilyName:familyName].count == 0) {
336
+ if (!didFindFont && fontNamesForFamilyName(familyName).count == 0) {
319
337
  font = [UIFont fontWithName:familyName size:fontSize];
320
338
  if (font) {
321
339
  // It's actually a font name, not a font family name,
@@ -339,7 +357,8 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
339
357
 
340
358
  // Get the closest font that matches the given weight for the fontFamily
341
359
  CGFloat closestWeight = INFINITY;
342
- for (NSString *name in [UIFont fontNamesForFamilyName:familyName]) {
360
+ NSArray<NSString *> *names = fontNamesForFamilyName(familyName);
361
+ for (NSString *name in names) {
343
362
  UIFont *match = [UIFont fontWithName:name size:fontSize];
344
363
  if (isItalic == isItalicFont(match) && isCondensed == isCondensedFont(match)) {
345
364
  CGFloat testWeight = weightOfFont(match);
@@ -352,11 +371,8 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
352
371
 
353
372
  // If we still don't have a match at least return the first font in the fontFamily
354
373
  // This is to support built-in font Zapfino and other custom single font families like Impact
355
- if (!font) {
356
- NSArray *names = [UIFont fontNamesForFamilyName:familyName];
357
- if (names.count > 0) {
358
- font = [UIFont fontWithName:names[0] size:fontSize];
359
- }
374
+ if (!font && names.count > 0) {
375
+ font = [UIFont fontWithName:names[0] size:fontSize];
360
376
  }
361
377
 
362
378
  // Apply font variants to font object
@@ -16,13 +16,14 @@
16
16
 
17
17
  @protocol RCTModalHostViewInteractor;
18
18
 
19
- @interface RCTModalHostView : UIView <RCTInvalidating>
19
+ @interface RCTModalHostView : UIView <RCTInvalidating, UIAdaptivePresentationControllerDelegate>
20
20
 
21
21
  @property (nonatomic, copy) NSString *animationType;
22
22
  @property (nonatomic, assign) UIModalPresentationStyle presentationStyle;
23
23
  @property (nonatomic, assign, getter=isTransparent) BOOL transparent;
24
24
 
25
25
  @property (nonatomic, copy) RCTDirectEventBlock onShow;
26
+ @property (nonatomic, assign) BOOL visible;
26
27
 
27
28
  @property (nonatomic, copy) NSNumber *identifier;
28
29
 
@@ -31,6 +32,9 @@
31
32
  @property (nonatomic, copy) NSArray<NSString *> *supportedOrientations;
32
33
  @property (nonatomic, copy) RCTDirectEventBlock onOrientationChange;
33
34
 
35
+ // Fabric only
36
+ @property (nonatomic, copy) RCTBubblingEventBlock onDismiss;
37
+
34
38
  - (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;
35
39
 
36
40
  @end
@@ -24,6 +24,7 @@
24
24
  RCTTouchHandler *_touchHandler;
25
25
  UIView *_reactSubview;
26
26
  UIInterfaceOrientation _lastKnownOrientation;
27
+ RCTDirectEventBlock _onRequestClose;
27
28
  }
28
29
 
29
30
  RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
@@ -57,6 +58,18 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : coder)
57
58
  }
58
59
  }
59
60
 
61
+ - (void)setOnRequestClose:(RCTDirectEventBlock)onRequestClose
62
+ {
63
+ _onRequestClose = onRequestClose;
64
+ }
65
+
66
+ - (void)presentationControllerDidAttemptToDismiss:(UIPresentationController *)controller
67
+ {
68
+ if (_onRequestClose != nil) {
69
+ _onRequestClose(nil);
70
+ }
71
+ }
72
+
60
73
  - (void)notifyForOrientationChange
61
74
  {
62
75
  if (!_onOrientationChange) {
@@ -119,31 +132,13 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : coder)
119
132
  return;
120
133
  }
121
134
 
122
- if (!_isPresented && self.window) {
123
- RCTAssert(self.reactViewController, @"Can't present modal view controller without a presenting view controller");
124
-
125
- _modalViewController.supportedInterfaceOrientations = [self supportedOrientationsMask];
126
-
127
- if ([self.animationType isEqualToString:@"fade"]) {
128
- _modalViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
129
- } else if ([self.animationType isEqualToString:@"slide"]) {
130
- _modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
131
- }
132
- if (self.presentationStyle != UIModalPresentationNone) {
133
- _modalViewController.modalPresentationStyle = self.presentationStyle;
134
- }
135
- [_delegate presentModalHostView:self withViewController:_modalViewController animated:[self hasAnimationType]];
136
- _isPresented = YES;
137
- }
135
+ [self ensurePresentedOnlyIfNeeded];
138
136
  }
139
137
 
140
138
  - (void)didMoveToSuperview
141
139
  {
142
140
  [super didMoveToSuperview];
143
-
144
- if (_isPresented && !self.superview) {
145
- [self dismissModalViewController];
146
- }
141
+ [self ensurePresentedOnlyIfNeeded];
147
142
  }
148
143
 
149
144
  - (void)invalidate
@@ -163,6 +158,43 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : coder)
163
158
  return ![self.animationType isEqualToString:@"none"];
164
159
  }
165
160
 
161
+ - (void)setVisible:(BOOL)visible
162
+ {
163
+ if (_visible != visible) {
164
+ _visible = visible;
165
+ [self ensurePresentedOnlyIfNeeded];
166
+ }
167
+ }
168
+
169
+ - (void)ensurePresentedOnlyIfNeeded
170
+ {
171
+ BOOL shouldBePresented = !_isPresented && _visible && self.window;
172
+ if (shouldBePresented) {
173
+ RCTAssert(self.reactViewController, @"Can't present modal view controller without a presenting view controller");
174
+
175
+ _modalViewController.supportedInterfaceOrientations = [self supportedOrientationsMask];
176
+
177
+ if ([self.animationType isEqualToString:@"fade"]) {
178
+ _modalViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
179
+ } else if ([self.animationType isEqualToString:@"slide"]) {
180
+ _modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
181
+ }
182
+ if (self.presentationStyle != UIModalPresentationNone) {
183
+ _modalViewController.modalPresentationStyle = self.presentationStyle;
184
+ }
185
+ if (@available(iOS 13.0, *)) {
186
+ _modalViewController.presentationController.delegate = self;
187
+ }
188
+ [_delegate presentModalHostView:self withViewController:_modalViewController animated:[self hasAnimationType]];
189
+ _isPresented = YES;
190
+ }
191
+
192
+ BOOL shouldBeHidden = _isPresented && (!_visible || !self.superview);
193
+ if (shouldBeHidden) {
194
+ [self dismissModalViewController];
195
+ }
196
+ }
197
+
166
198
  - (void)setTransparent:(BOOL)transparent
167
199
  {
168
200
  if (self.isTransparent != transparent) {
@@ -120,5 +120,10 @@ RCT_EXPORT_VIEW_PROPERTY(onShow, RCTDirectEventBlock)
120
120
  RCT_EXPORT_VIEW_PROPERTY(identifier, NSNumber)
121
121
  RCT_EXPORT_VIEW_PROPERTY(supportedOrientations, NSArray)
122
122
  RCT_EXPORT_VIEW_PROPERTY(onOrientationChange, RCTDirectEventBlock)
123
+ RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
124
+ RCT_EXPORT_VIEW_PROPERTY(onRequestClose, RCTDirectEventBlock)
125
+
126
+ // Fabric only
127
+ RCT_EXPORT_VIEW_PROPERTY(onDismiss, RCTDirectEventBlock)
123
128
 
124
129
  @end
@@ -7,7 +7,6 @@
7
7
 
8
8
  #import <UIKit/UIKit.h>
9
9
 
10
- #import <React/RCTBridge.h>
11
10
  #import <React/RCTBridgeModule.h>
12
11
  #import <React/RCTEventEmitter.h>
13
12
 
@@ -16,9 +15,3 @@
16
15
  - (void)modalDismissed:(NSNumber *)modalID;
17
16
 
18
17
  @end
19
-
20
- @interface RCTBridge (RCTModalManager)
21
-
22
- @property (nonatomic, readonly) RCTModalManager *modalManager;
23
-
24
- @end
@@ -40,12 +40,3 @@ RCT_EXPORT_MODULE();
40
40
  }
41
41
 
42
42
  @end
43
-
44
- @implementation RCTBridge (RCTDevSettings)
45
-
46
- - (RCTModalManager *)modalManager
47
- {
48
- return [self moduleForClass:[RCTModalManager class]];
49
- }
50
-
51
- @end