react-native-tvos 0.74.5-0 → 0.75.2-0rc1

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 (1695) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +2 -0
  2. package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
  3. package/Libraries/Animated/createAnimatedComponent.js +10 -4
  4. package/Libraries/Animated/useAnimatedProps.js +56 -28
  5. package/Libraries/AppDelegate/RCTAppDelegate.h +9 -0
  6. package/Libraries/AppDelegate/RCTAppDelegate.mm +95 -37
  7. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +23 -27
  8. package/Libraries/AppDelegate/RCTRootViewFactory.h +71 -0
  9. package/Libraries/AppDelegate/RCTRootViewFactory.mm +76 -17
  10. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +3 -4
  11. package/Libraries/BatchedBridge/MessageQueue.js +1 -0
  12. package/Libraries/Blob/RCTBlobCollector.mm +4 -1
  13. package/Libraries/Blob/RCTBlobManager.h +2 -0
  14. package/Libraries/Blob/RCTBlobManager.mm +6 -0
  15. package/Libraries/Blob/React-RCTBlob.podspec +2 -2
  16. package/Libraries/Components/Button.js +10 -5
  17. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
  18. package/Libraries/Components/Pressable/Pressable.js +29 -7
  19. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
  20. package/Libraries/Components/ScrollView/ScrollView.js +109 -29
  21. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
  22. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
  23. package/Libraries/Components/StatusBar/StatusBar.js +1 -21
  24. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
  25. package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
  26. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
  27. package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
  28. package/Libraries/Components/TextInput/TextInput.js +14 -70
  29. package/Libraries/Components/Touchable/Touchable.js +2 -2
  30. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
  31. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
  32. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
  33. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
  34. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
  35. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +131 -138
  36. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
  37. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  38. package/Libraries/Components/View/View.js +1 -11
  39. package/Libraries/Components/View/ViewAccessibility.js +4 -4
  40. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -49
  41. package/Libraries/Components/View/ViewPropTypes.js +7 -0
  42. package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
  43. package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
  44. package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
  45. package/Libraries/Core/ErrorHandlers.js +116 -0
  46. package/Libraries/Core/ExceptionsManager.js +2 -2
  47. package/Libraries/Core/ReactNativeVersion.js +3 -3
  48. package/Libraries/Core/setUpDeveloperTools.js +3 -1
  49. package/Libraries/Core/setUpPerformance.js +6 -4
  50. package/Libraries/Core/setUpReactDevTools.js +70 -10
  51. package/Libraries/Core/setUpTimers.js +50 -31
  52. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  53. package/Libraries/Image/Image.android.js +23 -13
  54. package/Libraries/Image/Image.d.ts +14 -15
  55. package/Libraries/Image/Image.ios.js +21 -11
  56. package/Libraries/Image/ImageProps.js +16 -5
  57. package/Libraries/Image/ImageTypes.flow.js +7 -2
  58. package/Libraries/Image/ImageUtils.js +1 -0
  59. package/Libraries/Image/ImageViewNativeComponent.js +2 -1
  60. package/Libraries/Image/RCTImageLoader.mm +0 -12
  61. package/Libraries/Image/RCTImageLoaderLoggable.h +3 -1
  62. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -3
  63. package/Libraries/Image/RCTUIImageViewAnimated.mm +21 -17
  64. package/Libraries/Image/React-RCTImage.podspec +2 -2
  65. package/Libraries/Inspector/ElementBox.js +6 -3
  66. package/Libraries/Inspector/ElementProperties.js +1 -1
  67. package/Libraries/Interaction/TouchHistoryMath.js +4 -4
  68. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
  69. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  70. package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
  71. package/Libraries/LogBox/Data/LogBoxData.js +39 -29
  72. package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
  73. package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
  74. package/Libraries/LogBox/LogBox.js +29 -12
  75. package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
  76. package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
  77. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  78. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
  79. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  80. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
  81. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  82. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
  83. package/Libraries/LogBox/UI/LogBoxNotification.js +20 -164
  84. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  85. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  86. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  87. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  88. package/Libraries/NativeAnimation/RCTAnimationUtils.h +1 -0
  89. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +2 -2
  90. package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
  91. package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
  92. package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
  93. package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
  94. package/Libraries/Network/RCTNetworkTask.mm +1 -1
  95. package/Libraries/Network/RCTNetworking.js.flow +1 -0
  96. package/Libraries/Network/React-RCTNetwork.podspec +2 -2
  97. package/Libraries/Network/XMLHttpRequest.js +5 -1
  98. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
  99. package/Libraries/Pressability/Pressability.js +3 -51
  100. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +0 -7
  101. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -64
  102. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
  103. package/Libraries/ReactNative/AppContainer-dev.js +3 -2
  104. package/Libraries/ReactNative/AppContainer-prod.js +2 -1
  105. package/Libraries/ReactNative/AppContainer.js +2 -0
  106. package/Libraries/ReactNative/AppRegistry.d.ts +7 -0
  107. package/Libraries/ReactNative/AppRegistry.js +10 -4
  108. package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
  109. package/Libraries/ReactNative/FabricUIManager.js +0 -51
  110. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
  111. package/Libraries/ReactNative/RendererImplementation.js +20 -2
  112. package/Libraries/ReactNative/UIManager.d.ts +0 -21
  113. package/Libraries/ReactNative/UIManagerProperties.js +0 -3
  114. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
  115. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
  116. package/Libraries/ReactNative/renderApplication.js +3 -0
  117. package/Libraries/Renderer/implementations/ReactFabric-dev.js +862 -1553
  118. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3166 -3510
  119. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3512 -3866
  120. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +829 -1552
  121. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3320 -3680
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3669 -4038
  123. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  124. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  125. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  126. package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
  127. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
  128. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  129. package/Libraries/Settings/React-RCTSettings.podspec +2 -2
  130. package/Libraries/Share/Share.d.ts +16 -10
  131. package/Libraries/Share/Share.js +14 -15
  132. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
  133. package/Libraries/StyleSheet/StyleSheet.js +3 -10
  134. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
  135. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
  136. package/Libraries/StyleSheet/flattenStyle.js +1 -0
  137. package/Libraries/StyleSheet/processFilter.js +132 -0
  138. package/Libraries/StyleSheet/processTransform.js +18 -3
  139. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +5 -0
  140. package/Libraries/Text/Text.js +150 -129
  141. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +13 -0
  142. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -1
  143. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +61 -6
  144. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -1
  145. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +2 -2
  146. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +13 -0
  147. package/Libraries/Text/TextNativeComponent.js +5 -4
  148. package/Libraries/Text/TextProps.js +6 -6
  149. package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
  150. package/Libraries/Types/CodegenTypes.js +3 -0
  151. package/Libraries/Utilities/DevLoadingView.js +66 -0
  152. package/Libraries/Utilities/Dimensions.js +1 -0
  153. package/Libraries/Utilities/HMRClient.js +36 -8
  154. package/Libraries/Utilities/HMRClientProdShim.js +1 -0
  155. package/Libraries/Utilities/Platform.android.js +5 -5
  156. package/Libraries/Utilities/Platform.d.ts +1 -1
  157. package/Libraries/Utilities/Platform.flow.js +2 -2
  158. package/Libraries/Utilities/Platform.ios.js +1 -1
  159. package/Libraries/Utilities/RCTLog.js +1 -0
  160. package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
  161. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
  162. package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
  163. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +1 -1
  164. package/Libraries/promiseRejectionTrackingOptions.js +1 -0
  165. package/React/Base/RCTBridge+Inspector.h +1 -1
  166. package/React/Base/RCTBridge.h +0 -4
  167. package/React/Base/RCTBridge.mm +59 -30
  168. package/React/Base/RCTBridgeModule.h +7 -6
  169. package/React/Base/RCTBridgeModuleDecorator.m +1 -1
  170. package/React/Base/RCTBundleManager.h +2 -0
  171. package/React/Base/RCTBundleURLProvider.mm +8 -0
  172. package/React/Base/RCTCallInvoker.h +27 -0
  173. package/React/Base/RCTCallInvoker.mm +28 -0
  174. package/React/Base/RCTCallInvokerModule.h +17 -0
  175. package/React/Base/RCTConvert.h +18 -0
  176. package/React/Base/RCTConvert.mm +67 -6
  177. package/React/Base/RCTDefines.h +0 -9
  178. package/React/Base/RCTJavaScriptLoader.mm +4 -2
  179. package/React/Base/RCTModuleData.h +10 -8
  180. package/React/Base/RCTModuleData.mm +23 -17
  181. package/React/Base/RCTModuleRegistry.m +6 -1
  182. package/React/Base/RCTRootView.h +1 -1
  183. package/React/Base/RCTRootView.m +0 -9
  184. package/React/Base/RCTRuntimeExecutorModule.h +4 -3
  185. package/React/Base/RCTUtils.h +4 -4
  186. package/React/Base/RCTUtils.m +4 -4
  187. package/React/Base/RCTVersion.m +3 -3
  188. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +3 -4
  189. package/React/CoreModules/RCTAccessibilityManager+Internal.h +1 -1
  190. package/React/CoreModules/RCTAppearance.h +1 -0
  191. package/React/CoreModules/RCTAppearance.mm +20 -1
  192. package/React/CoreModules/RCTDevSettings.mm +12 -0
  193. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  194. package/React/CoreModules/RCTEventDispatcher.mm +15 -0
  195. package/React/CoreModules/RCTPerfMonitor.mm +1 -2
  196. package/React/CoreModules/RCTPlatform.mm +11 -11
  197. package/React/CoreModules/RCTRedBox.h +0 -18
  198. package/React/CoreModules/RCTRedBox.mm +1 -38
  199. package/React/CoreModules/React-CoreModules.podspec +2 -2
  200. package/React/CxxBridge/NSDataBigString.mm +1 -1
  201. package/React/CxxBridge/RCTCxxBridge.mm +19 -8
  202. package/React/CxxBridge/RCTObjcExecutor.mm +1 -1
  203. package/React/CxxModule/RCTCxxModule.h +1 -1
  204. package/React/DevSupport/RCTInspectorDevServerHelper.mm +8 -3
  205. package/React/DevSupport/RCTPausedInDebuggerOverlayController.h +15 -0
  206. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +134 -0
  207. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +28 -8
  208. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -1
  209. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +2 -2
  210. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -5
  211. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +1 -2
  212. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -8
  213. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +0 -5
  214. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +2 -2
  215. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +17 -5
  216. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +63 -38
  217. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +42 -14
  218. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +80 -45
  219. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +45 -3
  220. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
  221. package/React/Fabric/Mounting/RCTMountingManager.mm +1 -1
  222. package/React/Fabric/RCTImageResponseDelegate.h +5 -2
  223. package/React/Fabric/RCTImageResponseObserverProxy.h +3 -3
  224. package/React/Fabric/RCTImageResponseObserverProxy.mm +5 -4
  225. package/React/Fabric/RCTScheduler.h +0 -2
  226. package/React/Fabric/RCTScheduler.mm +7 -4
  227. package/React/Fabric/RCTSurfacePresenter.mm +1 -22
  228. package/React/Fabric/Utils/RCTColorSpaceUtils.h +16 -0
  229. package/React/Fabric/Utils/RCTColorSpaceUtils.mm +23 -0
  230. package/React/I18n/strings/es.lproj/fbt_language_pack.bin +0 -0
  231. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +1 -1
  232. package/React/Modules/RCTUIManager.m +0 -18
  233. package/React/Modules/RCTUIManagerUtils.m +2 -1
  234. package/React/React-RCTFabric.podspec +8 -3
  235. package/React/Resources/PrivacyInfo.xcprivacy +29 -0
  236. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +45 -45
  237. package/React/Views/RCTActivityIndicatorViewManager.m +0 -3
  238. package/React/Views/RCTBorderDrawing.m +0 -10
  239. package/React/Views/RCTFont.mm +3 -1
  240. package/React/Views/RCTModalHostViewManager.h +0 -6
  241. package/React/Views/RCTModalHostViewManager.m +0 -17
  242. package/React/Views/RCTViewManager.m +143 -3
  243. package/React/Views/ScrollView/RCTScrollView.m +4 -5
  244. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -2
  245. package/React-Core.podspec +3 -1
  246. package/ReactAndroid/api/ReactAndroid.api +1063 -696
  247. package/ReactAndroid/build.gradle.kts +48 -9
  248. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +11 -6
  249. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +17 -7
  250. package/ReactAndroid/gradle.properties +1 -4
  251. package/ReactAndroid/hermes-engine/build.gradle.kts +36 -17
  252. package/ReactAndroid/publish.gradle +8 -14
  253. package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.kt +21 -0
  254. package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.kt +20 -0
  255. package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.kt +13 -0
  256. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.kt +13 -0
  258. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.kt +77 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +2 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +43 -35
  261. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +31 -21
  262. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -0
  263. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +8 -12
  264. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +6 -2
  265. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +4 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +40 -26
  267. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +26 -31
  268. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +1 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -0
  270. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +100 -14
  271. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +18 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +22 -5
  273. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +3 -1
  274. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +20 -39
  275. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +11 -9
  276. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +1 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +5 -1
  278. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +35 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +20 -13
  280. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +4 -2
  281. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +5 -2
  283. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +292 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Callback.kt +20 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +137 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +28 -22
  287. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +88 -1
  288. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +32 -0
  289. package/ReactAndroid/src/main/java/com/facebook/react/bridge/FallbackJSBundleLoader.java +3 -1
  290. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSExceptionHandler.kt +22 -0
  291. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +19 -0
  292. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +14 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +15 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +46 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt +14 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.kt +14 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArrayInterface.kt +12 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +23 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +7 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +30 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +13 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +12 -1
  304. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +1 -1
  305. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +69 -154
  306. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +2 -1
  307. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +59 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +4 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +33 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +14 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.kt +40 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +46 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapKeySetIterator.kt +18 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +5 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +190 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableType.kt +21 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +53 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +16 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +3 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.kt +7 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +3 -1
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UnexpectedNativeTypeException.kt +16 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.kt +15 -0
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.kt +27 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.kt +31 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +3 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +69 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +3 -1
  329. package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +30 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +9 -4
  331. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +27 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.kt +28 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/common/ReactConstants.kt +21 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +23 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +31 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/common/SystemClock.kt +22 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +19 -1
  338. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +43 -22
  339. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +15 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -29
  341. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +2 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +49 -3
  343. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +0 -8
  344. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +21 -7
  345. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +4 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +2 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +10 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +22 -21
  349. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +2 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +2 -1
  351. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +117 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +114 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +38 -21
  354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +26 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +41 -20
  356. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +24 -0
  358. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +39 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +101 -0
  360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +20 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +25 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +73 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +53 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +75 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +5 -6
  366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +214 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +35 -2
  368. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WindowOverlayCompat.kt +27 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.kt +14 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +16 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +17 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.kt +21 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +17 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +127 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorCustomizer.kt +21 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.kt +15 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PackagerStatusCallback.kt +12 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager.kt +19 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +40 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +44 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +72 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +113 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.kt +25 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +30 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +3 -1
  386. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +31 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +71 -41
  388. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +18 -7
  389. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +33 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +5 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SynchronousEvent.kt +18 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +1 -2
  393. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +16 -7
  394. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +4 -7
  395. package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/InteropUiBlockListener.kt +2 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +3 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +53 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -33
  400. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +42 -28
  401. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +13 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +26 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +28 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +27 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +45 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +49 -33
  407. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +21 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +70 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -5
  410. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +34 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/internal/AndroidChoreographerProvider.kt +33 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/internal/ChoreographerProvider.kt +32 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +87 -15
  414. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +156 -36
  415. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +32 -8
  416. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +32 -8
  417. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +175 -43
  418. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +32 -8
  419. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +3 -3
  420. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -1
  421. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.java +1 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry.kt +1 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +5 -13
  425. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +31 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +28 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.kt +42 -0
  428. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModuleList.kt +26 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +56 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfoProvider.kt +13 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +2 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +212 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +100 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/AppRegistry.kt +21 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +97 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +8 -0
  437. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +84 -0
  438. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +49 -0
  439. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +46 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +3 -1
  441. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +12 -1
  442. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +21 -56
  443. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +79 -0
  444. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +158 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +172 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +27 -0
  447. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +46 -0
  448. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +85 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +44 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +40 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +67 -2
  452. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +3 -1
  453. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +43 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +101 -0
  455. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +305 -0
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +6 -2
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientFactory.java +2 -1
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +3 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +66 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +26 -0
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +185 -0
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +80 -0
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +64 -0
  465. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +2 -1
  466. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.kt +20 -0
  467. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +19 -0
  468. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +20 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.kt +48 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +31 -57
  471. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +7 -15
  472. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +39 -10
  473. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +26 -0
  474. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +39 -29
  475. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt +24 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSRuntimeFactory.kt +19 -0
  477. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.kt +39 -0
  478. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +223 -139
  479. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +57 -0
  480. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +109 -94
  481. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +183 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +3 -14
  483. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +53 -0
  484. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +25 -492
  485. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +3 -1
  486. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainPackageConfig.kt +13 -0
  487. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +62 -49
  488. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +29 -0
  489. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +31 -0
  490. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BindingsInstallerHolder.kt +15 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleWithJSIBindings.kt +20 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -13
  493. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +1 -1
  494. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +2 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverBinding.kt +23 -0
  496. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +102 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +4 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +329 -0
  499. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FloatUtil.kt +32 -0
  500. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +33 -0
  501. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +7 -1
  502. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IllegalViewOperationException.kt +24 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +2 -0
  504. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +127 -15
  505. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +73 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +496 -0
  507. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.kt +24 -0
  508. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +25 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +3 -87
  510. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +15 -0
  511. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +2 -0
  512. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +58 -0
  513. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.kt +50 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +2 -0
  515. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +16 -0
  516. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +12 -3
  517. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +22 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +18 -4
  519. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +28 -5
  520. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +2 -0
  521. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +28 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.java +3 -1
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +24 -0
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +45 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +31 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +203 -0
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +96 -8
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +76 -11
  529. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +47 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -30
  531. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +10 -3
  532. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -47
  533. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -6
  534. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +8 -1
  535. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -59
  536. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewDefaults.kt +15 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +2 -0
  538. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +12 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +2 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +8 -0
  541. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +1 -1
  542. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +305 -0
  543. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +20 -0
  544. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +7 -0
  545. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +7 -0
  546. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +21 -0
  547. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +79 -0
  548. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +102 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +1395 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +21 -6
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +36 -1
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.kt +44 -0
  553. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +4 -2
  554. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +3 -1
  555. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +5 -2
  556. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +23 -0
  557. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +207 -0
  558. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.kt +22 -0
  559. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +2 -1
  560. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +32 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +33 -0
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +28 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +17 -0
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +17 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +49 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +146 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +22 -0
  568. package/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt +36 -0
  569. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +67 -0
  570. package/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt +25 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.kt +108 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +43 -0
  573. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ViewUtils.kt +24 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +86 -0
  575. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +151 -0
  576. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/TraceUpdate.kt +12 -0
  577. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +29 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +29 -0
  579. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +41 -0
  580. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +44 -0
  581. package/ReactAndroid/src/main/java/com/facebook/react/views/image/GlobalImageLoadListener.kt +16 -0
  582. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +156 -0
  583. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +14 -0
  584. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +66 -0
  585. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.kt +22 -0
  586. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +53 -0
  587. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +16 -1
  588. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +32 -4
  589. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.kt +41 -0
  590. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +73 -0
  591. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +89 -0
  592. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +81 -0
  593. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +62 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +34 -0
  595. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +149 -0
  596. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +554 -0
  597. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +31 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +30 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +59 -0
  600. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +10 -3
  601. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +15 -21
  602. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +28 -0
  603. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +76 -46
  604. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +13 -1
  605. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +80 -17
  606. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +8 -4
  607. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +8 -8
  608. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +570 -0
  609. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +13 -1
  610. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +174 -0
  611. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEventType.kt +29 -0
  612. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +29 -0
  613. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +35 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.kt +53 -0
  615. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +7 -196
  616. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +61 -0
  617. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +27 -56
  618. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +5 -22
  619. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +328 -133
  620. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +33 -0
  621. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +69 -0
  622. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +79 -0
  623. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +13 -0
  624. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +13 -0
  625. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +49 -0
  626. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +13 -0
  627. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +14 -0
  628. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +13 -0
  629. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +14 -0
  630. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +13 -0
  631. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +58 -0
  632. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +22 -0
  633. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +58 -0
  634. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +52 -0
  635. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +14 -1
  636. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +13 -41
  637. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +37 -0
  638. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +33 -0
  639. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.kt +35 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +24 -0
  641. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +7 -3
  642. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +6 -1422
  643. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +66 -9
  644. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +124 -205
  645. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +28 -19
  646. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +31 -0
  647. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +85 -0
  648. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +88 -0
  649. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +15 -0
  650. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  651. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  652. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +5 -0
  653. package/ReactAndroid/src/main/jni/CMakeLists.txt +11 -6
  654. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +1 -1
  655. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +7 -6
  656. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +7 -5
  657. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +1 -1
  658. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +31 -12
  659. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.cpp +1 -1
  660. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.h +2 -2
  661. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.cpp +8 -8
  662. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.cpp +5 -5
  663. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/yogajni.cpp +2 -2
  664. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +3 -14
  665. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -3
  666. package/ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.cpp +1 -1
  667. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +20 -35
  668. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +0 -1
  669. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +19 -1
  670. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +1 -0
  671. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +26 -14
  672. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +1 -1
  673. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +211 -43
  674. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +44 -8
  675. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -1
  676. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +15 -2
  677. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +11 -1
  678. package/ReactAndroid/src/main/jni/react/jni/JExecutor.cpp +18 -0
  679. package/ReactAndroid/src/main/jni/react/jni/JExecutor.h +21 -0
  680. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -0
  681. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +122 -0
  682. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +76 -0
  683. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +73 -0
  684. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +5 -0
  685. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +9 -4
  686. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +13 -1
  687. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +2 -0
  688. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -4
  689. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/JNativeModulePerfLogger.h +1 -1
  690. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -3
  691. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +44 -4
  692. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +2 -2
  693. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +104 -0
  694. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +78 -0
  695. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +29 -18
  696. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h +9 -2
  697. package/ReactAndroid/src/main/jni/react/runtime/jni/OnLoad.cpp +2 -0
  698. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +1 -0
  699. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.cpp +22 -0
  700. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +30 -0
  701. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +42 -30
  702. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +8 -6
  703. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverBinding.cpp +59 -0
  704. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverBinding.h +29 -0
  705. package/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp +4 -4
  706. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderBinding.cpp +66 -0
  707. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderBinding.h +83 -0
  708. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +27 -0
  709. package/ReactAndroid/src/main/res/devsupport/drawable/ripple_effect.xml +10 -0
  710. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  711. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  712. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  713. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  714. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  715. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +35 -0
  716. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +6 -0
  717. package/ReactAndroid/src/main/res/views/uimanager/values-es/strings.xml +3 -3
  718. package/ReactCommon/React-Fabric.podspec +50 -100
  719. package/ReactCommon/React-FabricComponents.podspec +205 -0
  720. package/ReactCommon/React-FabricImage.podspec +1 -1
  721. package/ReactCommon/ReactCommon.podspec +2 -1
  722. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +21 -3
  723. package/ReactCommon/cxxreact/CMakeLists.txt +4 -4
  724. package/ReactCommon/cxxreact/ErrorUtils.h +2 -0
  725. package/ReactCommon/cxxreact/Instance.cpp +69 -30
  726. package/ReactCommon/cxxreact/Instance.h +7 -7
  727. package/ReactCommon/cxxreact/JSExecutor.cpp +6 -10
  728. package/ReactCommon/cxxreact/JSExecutor.h +14 -11
  729. package/ReactCommon/cxxreact/MoveWrapper.h +1 -1
  730. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -4
  731. package/ReactCommon/cxxreact/PrivacyInfo.xcprivacy +21 -0
  732. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -1
  733. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  734. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +2 -0
  735. package/ReactCommon/cxxreact/SystraceSection.h +101 -4
  736. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +14 -38
  737. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +4 -10
  738. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +44 -146
  739. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.h +23 -11
  740. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +237 -0
  741. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +75 -0
  742. package/ReactCommon/jsc/JSCRuntime.cpp +1 -2
  743. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -34
  744. package/ReactCommon/jserrorhandler/JsErrorHandler.h +21 -17
  745. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +0 -1
  746. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  747. package/ReactCommon/jsi/jsi/decorator.h +14 -0
  748. package/ReactCommon/jsi/jsi/jsi-inl.h +1 -1
  749. package/ReactCommon/jsi/jsi/jsi.h +6 -1
  750. package/ReactCommon/jsi/jsi/test/testlib.cpp +32 -0
  751. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  752. package/ReactCommon/jsinspector-modern/CONCEPTS.md +2 -2
  753. package/ReactCommon/jsinspector-modern/CdpJson.cpp +72 -0
  754. package/ReactCommon/jsinspector-modern/CdpJson.h +138 -0
  755. package/ReactCommon/jsinspector-modern/ConsoleMessage.cpp +40 -0
  756. package/ReactCommon/jsinspector-modern/ConsoleMessage.h +89 -0
  757. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +9 -10
  758. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.cpp +47 -0
  759. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.h +47 -0
  760. package/ReactCommon/jsinspector-modern/ForwardingConsoleMethods.def +38 -0
  761. package/ReactCommon/jsinspector-modern/HostAgent.cpp +269 -0
  762. package/ReactCommon/jsinspector-modern/HostAgent.h +109 -0
  763. package/ReactCommon/jsinspector-modern/HostCommand.h +19 -0
  764. package/ReactCommon/jsinspector-modern/HostTarget.cpp +231 -0
  765. package/ReactCommon/jsinspector-modern/HostTarget.h +256 -0
  766. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +28 -30
  767. package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -10
  768. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +2 -1
  769. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +3 -2
  770. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +0 -1
  771. package/ReactCommon/jsinspector-modern/InspectorUtilities.h +8 -0
  772. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +86 -6
  773. package/ReactCommon/jsinspector-modern/InstanceAgent.h +9 -2
  774. package/ReactCommon/jsinspector-modern/InstanceTarget.cpp +1 -1
  775. package/ReactCommon/jsinspector-modern/InstanceTarget.h +13 -0
  776. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  777. package/ReactCommon/jsinspector-modern/ReactCdp.h +2 -2
  778. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +16 -24
  779. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +2 -3
  780. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
  781. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +8 -1
  782. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +65 -12
  783. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +486 -0
  784. package/ReactCommon/jsinspector-modern/SessionState.h +12 -0
  785. package/ReactCommon/jsinspector-modern/StackTrace.h +39 -0
  786. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +851 -0
  787. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.cpp +1 -1
  788. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +28 -1
  789. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +701 -0
  790. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +26 -5
  791. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +0 -1
  792. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +266 -153
  793. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +192 -0
  794. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +239 -0
  795. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +78 -0
  796. package/ReactCommon/jsinspector-modern/tests/ReactNativeMocks.cpp +94 -0
  797. package/ReactCommon/jsinspector-modern/tests/ReactNativeMocks.h +65 -0
  798. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +13 -15
  799. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.h +8 -7
  800. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +18 -23
  801. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.h +10 -9
  802. package/ReactCommon/jsinspector-modern/tests/prelude.js.h +636 -0
  803. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +49 -0
  804. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +42 -0
  805. package/ReactCommon/react/bridging/Base.h +3 -3
  806. package/ReactCommon/react/bridging/Bridging.h +1 -0
  807. package/ReactCommon/react/bridging/CallbackWrapper.h +6 -7
  808. package/ReactCommon/react/bridging/EventEmitter.h +134 -0
  809. package/ReactCommon/react/bridging/Function.h +22 -8
  810. package/ReactCommon/react/bridging/LongLivedObject.cpp +18 -4
  811. package/ReactCommon/react/bridging/LongLivedObject.h +4 -2
  812. package/ReactCommon/react/bridging/Promise.h +5 -3
  813. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +112 -2
  814. package/ReactCommon/react/bridging/tests/BridgingTest.h +6 -6
  815. package/ReactCommon/react/bridging/tests/ClassTest.cpp +2 -4
  816. package/ReactCommon/react/debug/react_native_assert.h +2 -0
  817. package/ReactCommon/react/debug/react_native_expect.h +2 -0
  818. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +63 -15
  819. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +86 -22
  820. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +256 -40
  821. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +40 -16
  822. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +56 -8
  823. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +20 -8
  824. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +15 -16
  825. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
  826. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +21 -7
  827. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +9 -5
  828. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +5 -2
  829. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +3 -1
  830. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
  831. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +17 -12
  832. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -0
  833. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +2 -0
  834. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -1
  835. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +4 -4
  836. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +1 -1
  837. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +51 -34
  838. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +20 -0
  839. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +27 -0
  840. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +38 -0
  841. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h +18 -0
  842. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +51 -0
  843. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +28 -0
  844. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +355 -0
  845. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +110 -0
  846. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +50 -0
  847. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +26 -0
  848. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +77 -15
  849. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +39 -10
  850. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +48 -0
  851. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +26 -0
  852. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +168 -0
  853. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h +42 -0
  854. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +49 -0
  855. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +89 -0
  856. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +25 -0
  857. package/ReactCommon/react/nativemodule/microtasks/NativeMicrotasks.cpp +31 -0
  858. package/ReactCommon/react/nativemodule/microtasks/NativeMicrotasks.h +27 -0
  859. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +48 -0
  860. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +170 -0
  861. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +94 -0
  862. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  863. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -1
  864. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +64 -50
  865. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.cpp +31 -0
  866. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.h +32 -0
  867. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +41 -39
  868. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +2 -1
  869. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +21 -7
  870. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +2 -2
  871. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +14 -14
  872. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +21 -8
  873. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModulePlugin.h +37 -0
  874. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +167 -0
  875. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +52 -0
  876. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +123 -0
  877. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +91 -0
  878. package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +247 -0
  879. package/ReactCommon/react/performance/timeline/CMakeLists.txt +22 -0
  880. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +296 -0
  881. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +193 -0
  882. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +56 -0
  883. package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +219 -0
  884. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +368 -0
  885. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +7 -5
  886. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +2 -1
  887. package/ReactCommon/react/renderer/animations/conversions.h +2 -0
  888. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
  889. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +8 -0
  890. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -0
  891. package/ReactCommon/react/renderer/attributedstring/conversions.h +57 -166
  892. package/ReactCommon/react/renderer/attributedstring/primitives.h +7 -0
  893. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -1
  894. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +27 -0
  895. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +6 -15
  896. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +35 -6
  897. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +4 -3
  898. package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -0
  899. package/ReactCommon/react/renderer/components/image/ImageState.h +1 -4
  900. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
  901. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +4 -3
  902. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +1 -1
  903. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +0 -1
  904. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +0 -6
  905. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +2 -0
  906. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.cpp +29 -0
  907. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +31 -0
  908. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +132 -0
  909. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +169 -0
  910. package/ReactCommon/react/renderer/components/rncore/Props.cpp +155 -0
  911. package/ReactCommon/react/renderer/components/rncore/Props.h +396 -0
  912. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +293 -0
  913. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +24 -0
  914. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +109 -0
  915. package/ReactCommon/react/renderer/components/rncore/States.cpp +16 -0
  916. package/ReactCommon/react/renderer/components/rncore/States.h +113 -0
  917. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  918. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +0 -1
  919. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +21 -16
  920. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +16 -17
  921. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +32 -6
  922. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +3 -1
  923. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +8 -3
  924. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -1
  925. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +0 -5
  926. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
  927. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +34 -21
  928. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +5 -1
  929. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +1 -1
  930. package/ReactCommon/react/renderer/components/text/ParagraphState.h +7 -6
  931. package/ReactCommon/react/renderer/components/text/conversions.h +2 -9
  932. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +186 -0
  933. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +68 -0
  934. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -6
  935. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +2 -116
  936. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -22
  937. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +20 -2
  938. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +11 -5
  939. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +4 -15
  940. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +23 -54
  941. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.h +28 -34
  942. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +1 -77
  943. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +3 -33
  944. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +20 -2
  945. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +4 -0
  946. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +95 -21
  947. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +13 -1
  948. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +20 -3
  949. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +14 -64
  950. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +0 -2
  951. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +6 -3
  952. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +6 -1
  953. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -14
  954. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +1 -1
  955. package/ReactCommon/react/renderer/components/view/conversions.h +278 -50
  956. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +0 -4
  957. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +0 -4
  958. package/ReactCommon/react/renderer/components/view/primitives.h +40 -2
  959. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +2 -2
  960. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +20 -0
  961. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +45 -0
  962. package/ReactCommon/react/renderer/consistency/ScopedShadowTreeRevisionLock.h +54 -0
  963. package/ReactCommon/react/renderer/consistency/ShadowTreeRevisionConsistencyManager.cpp +14 -0
  964. package/ReactCommon/react/renderer/consistency/ShadowTreeRevisionConsistencyManager.h +24 -0
  965. package/ReactCommon/react/renderer/core/CMakeLists.txt +2 -0
  966. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +3 -2
  967. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -3
  968. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -0
  969. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +3 -2
  970. package/ReactCommon/react/renderer/core/ConcreteState.h +17 -15
  971. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +6 -1
  972. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +29 -2
  973. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +25 -38
  974. package/ReactCommon/react/renderer/core/EventDispatcher.h +19 -14
  975. package/ReactCommon/react/renderer/core/EventEmitter.cpp +6 -13
  976. package/ReactCommon/react/renderer/core/EventEmitter.h +14 -4
  977. package/ReactCommon/react/renderer/core/EventLogger.h +1 -3
  978. package/ReactCommon/react/renderer/core/EventQueue.cpp +25 -2
  979. package/ReactCommon/react/renderer/core/EventQueue.h +14 -4
  980. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +5 -3
  981. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +3 -1
  982. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +27 -76
  983. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +7 -1
  984. package/ReactCommon/react/renderer/core/PropsMacros.h +1 -1
  985. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -1
  986. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  987. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  988. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  989. package/ReactCommon/react/renderer/core/RawPropsParser.h +1 -1
  990. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  991. package/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.cpp +22 -0
  992. package/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.h +16 -0
  993. package/ReactCommon/react/renderer/core/ShadowNode.cpp +61 -16
  994. package/ReactCommon/react/renderer/core/ShadowNode.h +61 -4
  995. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -4
  996. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +3 -4
  997. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +0 -11
  998. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -24
  999. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +5 -2
  1000. package/ReactCommon/react/renderer/core/State.h +0 -1
  1001. package/ReactCommon/react/renderer/core/propsConversions.h +6 -6
  1002. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +19 -5
  1003. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +12 -1
  1004. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +140 -0
  1005. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +155 -106
  1006. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +9 -12
  1007. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +118 -8
  1008. package/ReactCommon/react/renderer/core/tests/TestComponent.h +2 -7
  1009. package/ReactCommon/react/renderer/css/CSSAngleUnit.h +66 -0
  1010. package/ReactCommon/react/renderer/css/CSSColorUtils.h +373 -0
  1011. package/ReactCommon/react/renderer/css/CSSDeclaredStyle.h +43 -13
  1012. package/ReactCommon/react/renderer/css/CSSKeywords.h +9 -13
  1013. package/ReactCommon/react/renderer/css/CSSLengthUnit.h +1 -1
  1014. package/ReactCommon/react/renderer/css/CSSProperties.h +280 -80
  1015. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +322 -0
  1016. package/ReactCommon/react/renderer/css/CSSToken.h +84 -0
  1017. package/ReactCommon/react/renderer/css/CSSTokenizer.h +98 -86
  1018. package/ReactCommon/react/renderer/css/CSSValue.h +12 -197
  1019. package/ReactCommon/react/renderer/css/CSSValueParser.h +317 -0
  1020. package/ReactCommon/react/renderer/css/CSSValueVariant.h +267 -0
  1021. package/ReactCommon/react/renderer/css/tests/CSSDeclaredStyleTest.cpp +22 -9
  1022. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +269 -0
  1023. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +150 -82
  1024. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +419 -0
  1025. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +8 -8
  1026. package/ReactCommon/react/renderer/debug/flags.h +7 -9
  1027. package/ReactCommon/react/renderer/dom/CMakeLists.txt +26 -0
  1028. package/ReactCommon/react/renderer/dom/DOM.cpp +574 -0
  1029. package/ReactCommon/react/renderer/dom/DOM.h +123 -0
  1030. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +1 -1
  1031. package/ReactCommon/react/renderer/element/Element.h +4 -4
  1032. package/ReactCommon/react/renderer/graphics/ColorComponents.cpp +23 -0
  1033. package/ReactCommon/react/renderer/graphics/ColorComponents.h +6 -0
  1034. package/ReactCommon/react/renderer/graphics/Filter.h +61 -0
  1035. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  1036. package/ReactCommon/react/renderer/graphics/Transform.cpp +96 -32
  1037. package/ReactCommon/react/renderer/graphics/Transform.h +8 -5
  1038. package/ReactCommon/react/renderer/graphics/ValueUnit.h +11 -0
  1039. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +18 -0
  1040. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +6 -0
  1041. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +44 -0
  1042. package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +7 -0
  1043. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +9 -0
  1044. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserver.h +3 -2
  1045. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +10 -5
  1046. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +11 -2
  1047. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +4 -3
  1048. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +3 -2
  1049. package/ReactCommon/react/renderer/imagemanager/primitives.h +7 -0
  1050. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +8 -0
  1051. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +3 -0
  1052. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +9 -0
  1053. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +1 -1
  1054. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +21 -0
  1055. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -1
  1056. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +55 -99
  1057. package/ReactCommon/react/renderer/mounting/Differentiator.h +2 -9
  1058. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +38 -25
  1059. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +6 -4
  1060. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +81 -84
  1061. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -10
  1062. package/ReactCommon/react/renderer/mounting/ShadowView.h +9 -25
  1063. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +313 -0
  1064. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +54 -0
  1065. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +106 -0
  1066. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +1 -1
  1067. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +2 -2
  1068. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +3 -5
  1069. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +174 -3
  1070. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +726 -98
  1071. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +69 -0
  1072. package/ReactCommon/react/renderer/mounting/updateMountedFlag.h +19 -0
  1073. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +25 -0
  1074. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +200 -0
  1075. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +63 -0
  1076. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -1
  1077. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +1 -1
  1078. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -1
  1079. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -0
  1080. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +20 -5
  1081. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +27 -9
  1082. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +3 -2
  1083. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +5 -2
  1084. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +3 -3
  1085. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +67 -24
  1086. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +27 -10
  1087. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +131 -61
  1088. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +29 -12
  1089. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -4
  1090. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +111 -12
  1091. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +2 -2
  1092. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -2
  1093. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +2 -0
  1094. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -0
  1095. package/ReactCommon/react/renderer/scheduler/InspectorData.h +2 -0
  1096. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +27 -14
  1097. package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -0
  1098. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +1 -2
  1099. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -6
  1100. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -1
  1101. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -1
  1102. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +1 -1
  1103. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +4 -4
  1104. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +12 -150
  1105. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -16
  1106. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +8 -9
  1107. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +10 -7
  1108. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +1 -1
  1109. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.h +1 -1
  1110. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +47 -2
  1111. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -9
  1112. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -87
  1113. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +1 -7
  1114. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +3 -24
  1115. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +7 -2
  1116. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +1 -1
  1117. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +1 -0
  1118. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +86 -170
  1119. package/ReactCommon/react/renderer/uimanager/UIManager.h +18 -14
  1120. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +117 -695
  1121. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -0
  1122. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +26 -0
  1123. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +29 -0
  1124. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +35 -0
  1125. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +90 -0
  1126. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +54 -0
  1127. package/ReactCommon/react/renderer/uimanager/consistency/ShadowTreeRevisionProvider.h +27 -0
  1128. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +395 -0
  1129. package/ReactCommon/react/renderer/uimanager/primitives.h +9 -77
  1130. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +2 -2
  1131. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +4 -2
  1132. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.cpp +1 -1
  1133. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +2 -1
  1134. package/ReactCommon/react/runtime/JSRuntimeFactory.cpp +6 -10
  1135. package/ReactCommon/react/runtime/JSRuntimeFactory.h +16 -8
  1136. package/ReactCommon/react/runtime/ReactInstance.cpp +105 -73
  1137. package/ReactCommon/react/runtime/ReactInstance.h +7 -15
  1138. package/ReactCommon/react/runtime/TimerManager.cpp +81 -105
  1139. package/ReactCommon/react/runtime/TimerManager.h +11 -34
  1140. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +17 -47
  1141. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.cpp +4 -4
  1142. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.h +2 -4
  1143. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -0
  1144. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +0 -6
  1145. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +55 -32
  1146. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -2
  1147. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +18 -42
  1148. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +1 -2
  1149. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +10 -13
  1150. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +1 -1
  1151. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +3 -3
  1152. package/ReactCommon/react/utils/ContextContainer.h +1 -1
  1153. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -4
  1154. package/ReactCommon/react/utils/CoreFeatures.h +0 -16
  1155. package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
  1156. package/ReactCommon/react/utils/OnScopeExit.h +36 -0
  1157. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -0
  1158. package/ReactCommon/react/utils/fnv1a.h +14 -1
  1159. package/ReactCommon/react/utils/jsi-utils.cpp +39 -0
  1160. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
  1161. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +120 -0
  1162. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +34 -0
  1163. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +56 -0
  1164. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +22 -0
  1165. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.cpp +14 -0
  1166. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.h +18 -0
  1167. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -40
  1168. package/ReactCommon/yoga/Yoga.podspec +2 -3
  1169. package/ReactCommon/yoga/cmake/project-defaults.cmake +0 -2
  1170. package/ReactCommon/yoga/yoga/YGConfig.h +4 -4
  1171. package/ReactCommon/yoga/yoga/YGMacros.h +6 -0
  1172. package/ReactCommon/yoga/yoga/YGNode.cpp +2 -2
  1173. package/ReactCommon/yoga/yoga/YGNode.h +4 -4
  1174. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  1175. package/ReactCommon/yoga/yoga/YGNodeStyle.h +2 -0
  1176. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
  1177. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +9 -9
  1178. package/ReactCommon/yoga/yoga/algorithm/Align.h +43 -0
  1179. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +5 -5
  1180. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +200 -178
  1181. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +16 -16
  1182. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +16 -6
  1183. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +4 -1
  1184. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.h +7 -7
  1185. package/ReactCommon/yoga/yoga/config/Config.cpp +0 -4
  1186. package/ReactCommon/yoga/yoga/config/Config.h +3 -3
  1187. package/ReactCommon/yoga/yoga/debug/Log.h +1 -1
  1188. package/ReactCommon/yoga/yoga/event/event.cpp +2 -2
  1189. package/ReactCommon/yoga/yoga/event/event.h +7 -4
  1190. package/ReactCommon/yoga/yoga/node/Node.cpp +57 -35
  1191. package/ReactCommon/yoga/yoga/node/Node.h +15 -15
  1192. package/ReactCommon/yoga/yoga/style/SmallValueBuffer.h +3 -3
  1193. package/ReactCommon/yoga/yoga/style/Style.h +2 -4
  1194. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +2 -2
  1195. package/build.gradle.kts +2 -0
  1196. package/cli.js +133 -4
  1197. package/gradle/libs.versions.toml +4 -4
  1198. package/jest/mockComponent.js +7 -0
  1199. package/jest/renderer.js +25 -14
  1200. package/jest/setup.js +19 -13
  1201. package/package.json +23 -23
  1202. package/react-native.config.js +54 -22
  1203. package/rn-get-polyfills.js +1 -0
  1204. package/scripts/bundle.js +69 -0
  1205. package/scripts/cocoapods/autolinking.rb +205 -0
  1206. package/scripts/cocoapods/autolinking_utils.rb +25 -0
  1207. package/scripts/cocoapods/codegen_utils.rb +7 -7
  1208. package/scripts/cocoapods/fabric.rb +1 -0
  1209. package/scripts/cocoapods/new_architecture.rb +1 -1
  1210. package/scripts/cocoapods/spm.rb +94 -0
  1211. package/scripts/cocoapods/utils.rb +8 -19
  1212. package/scripts/codegen/generate-artifacts-executor.js +64 -23
  1213. package/scripts/hermes/hermes-utils.js +24 -3
  1214. package/scripts/hermes/prepare-hermes-for-build.js +2 -0
  1215. package/scripts/react-native-xcode.sh +12 -3
  1216. package/scripts/react_native_pods.rb +29 -20
  1217. package/sdks/.hermesversion +1 -1
  1218. package/sdks/hermes-engine/hermes-engine.podspec +8 -2
  1219. package/sdks/hermes-engine/utils/build-apple-framework.sh +10 -4
  1220. package/sdks/hermes-engine/utils/build-ios-framework.sh +1 -1
  1221. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1222. package/sdks/hermesc/osx-bin/hermes +0 -0
  1223. package/sdks/hermesc/osx-bin/hermes-lit +1 -1
  1224. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1225. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1226. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1227. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1228. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1229. package/src/private/core/composeStyles.js +27 -0
  1230. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
  1231. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  1232. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
  1233. package/src/private/fusebox/README.md +12 -0
  1234. package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
  1235. package/src/private/specs/modules/NativeBlobModule.js +4 -2
  1236. package/src/private/specs/modules/NativeDevSettings.js +1 -0
  1237. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +1 -1
  1238. package/src/private/specs/modules/NativePlatformConstantsIOS.js +1 -1
  1239. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
  1240. package/src/private/specs/modules/NativeUIManager.js +0 -7
  1241. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
  1242. package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
  1243. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
  1244. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
  1245. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
  1246. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  1247. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  1248. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
  1249. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
  1250. package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
  1251. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  1252. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  1253. package/src/private/webapis/performance/EventCounts.js +1 -1
  1254. package/src/private/webapis/performance/MemoryInfo.js +9 -9
  1255. package/src/private/webapis/performance/Performance.js +10 -56
  1256. package/src/private/webapis/performance/PerformanceObserver.js +30 -22
  1257. package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
  1258. package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
  1259. package/src/private/webapis/performance/UserTiming.js +63 -0
  1260. package/src/private/webapis/performance/specs/NativePerformance.js +34 -0
  1261. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +61 -0
  1262. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +67 -0
  1263. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +127 -0
  1264. package/third-party-podspecs/RCT-Folly/PrivacyInfo.xcprivacy +21 -0
  1265. package/third-party-podspecs/RCT-Folly.podspec +2 -0
  1266. package/third-party-podspecs/boost/PrivacyInfo.xcprivacy +29 -0
  1267. package/third-party-podspecs/boost.podspec +7 -3
  1268. package/third-party-podspecs/glog/PrivacyInfo.xcprivacy +21 -0
  1269. package/third-party-podspecs/glog.podspec +2 -13
  1270. package/types/modules/globals.d.ts +4 -0
  1271. package/Libraries/Components/View/ReactNativeViewViewConfigAppleTV.js +0 -20
  1272. package/Libraries/IntersectionObserver/NativeIntersectionObserver.h +0 -91
  1273. package/Libraries/MutationObserver/NativeMutationObserver.cpp +0 -164
  1274. package/Libraries/MutationObserver/NativeMutationObserver.h +0 -92
  1275. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
  1276. package/Libraries/Utilities/LoadingView.android.js +0 -44
  1277. package/Libraries/Utilities/LoadingView.ios.js +0 -50
  1278. package/Libraries/Utilities/LoadingView.js +0 -16
  1279. package/React/Views/RCTSegmentedControl.h +0 -18
  1280. package/React/Views/RCTSegmentedControl.m +0 -68
  1281. package/React/Views/RCTSegmentedControlManager.h +0 -12
  1282. package/React/Views/RCTSegmentedControlManager.m +0 -36
  1283. package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.java +0 -29
  1284. package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.java +0 -20
  1285. package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.java +0 -26
  1286. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -13
  1287. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.java +0 -82
  1288. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.java +0 -50
  1289. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Callback.java +0 -22
  1290. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +0 -156
  1291. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.java +0 -32
  1292. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSExceptionHandler.java +0 -23
  1293. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModule.java +0 -22
  1294. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleHolder.java +0 -37
  1295. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModulePackage.java +0 -18
  1296. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleProvider.java +0 -13
  1297. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +0 -48
  1298. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleSpec.java +0 -16
  1299. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleType.java +0 -17
  1300. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.java +0 -18
  1301. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.java +0 -50
  1302. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.java +0 -14
  1303. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.java +0 -15
  1304. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArrayInterface.java +0 -13
  1305. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java +0 -28
  1306. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.java +0 -33
  1307. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.java +0 -14
  1308. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.java +0 -38
  1309. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.java +0 -15
  1310. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java +0 -46
  1311. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java +0 -55
  1312. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapKeySetIterator.java +0 -19
  1313. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +0 -293
  1314. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableType.java +0 -21
  1315. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +0 -53
  1316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.java +0 -17
  1317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UnexpectedNativeTypeException.java +0 -23
  1318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.java +0 -15
  1319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java +0 -28
  1320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java +0 -33
  1321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java +0 -81
  1322. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +0 -37
  1323. package/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java +0 -31
  1324. package/ReactAndroid/src/main/java/com/facebook/react/common/ReactConstants.java +0 -24
  1325. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java +0 -26
  1326. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.java +0 -35
  1327. package/ReactAndroid/src/main/java/com/facebook/react/common/SystemClock.java +0 -30
  1328. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +0 -113
  1329. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +0 -137
  1330. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.java +0 -28
  1331. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.java +0 -24
  1332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +0 -207
  1333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +0 -45
  1334. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.java +0 -104
  1335. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.java +0 -28
  1336. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.java +0 -26
  1337. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +0 -93
  1338. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +0 -90
  1339. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WindowOverlayCompat.java +0 -27
  1340. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.java +0 -12
  1341. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java +0 -18
  1342. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.java +0 -21
  1343. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.java +0 -22
  1344. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.java +0 -16
  1345. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +0 -131
  1346. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorCustomizer.java +0 -20
  1347. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +0 -26
  1348. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PackagerStatusCallback.java +0 -12
  1349. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.java +0 -40
  1350. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.java +0 -44
  1351. package/ReactAndroid/src/main/java/com/facebook/react/fabric/.clang-tidy +0 -6
  1352. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +0 -69
  1353. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.java +0 -121
  1354. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.java +0 -32
  1355. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +0 -35
  1356. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.java +0 -34
  1357. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +0 -43
  1358. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +0 -54
  1359. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +0 -14
  1360. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java +0 -31
  1361. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +0 -47
  1362. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +0 -47
  1363. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.java +0 -52
  1364. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +0 -25
  1365. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.java +0 -60
  1366. package/ReactAndroid/src/main/java/com/facebook/react/internal/AndroidChoreographerProvider.java +0 -41
  1367. package/ReactAndroid/src/main/java/com/facebook/react/internal/ChoreographerProvider.java +0 -30
  1368. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/.clang-tidy +0 -6
  1369. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.java +0 -48
  1370. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.java +0 -39
  1371. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.java +0 -53
  1372. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModuleList.java +0 -31
  1373. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.java +0 -93
  1374. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfoProvider.java +0 -16
  1375. package/ReactAndroid/src/main/java/com/facebook/react/modules/.clang-tidy +0 -6
  1376. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +0 -238
  1377. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +0 -125
  1378. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/AppRegistry.java +0 -21
  1379. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +0 -120
  1380. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +0 -102
  1381. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +0 -53
  1382. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +0 -64
  1383. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +0 -106
  1384. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.java +0 -111
  1385. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.java +0 -169
  1386. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +0 -225
  1387. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +0 -39
  1388. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.java +0 -42
  1389. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +0 -109
  1390. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +0 -63
  1391. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.java +0 -53
  1392. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +0 -61
  1393. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.java +0 -98
  1394. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +0 -319
  1395. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +0 -75
  1396. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.java +0 -33
  1397. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +0 -210
  1398. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +0 -98
  1399. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +0 -72
  1400. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java +0 -24
  1401. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java +0 -23
  1402. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.java +0 -58
  1403. package/ReactAndroid/src/main/java/com/facebook/react/runtime/.clang-tidy +0 -22
  1404. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BoltsFutureTask.java +0 -93
  1405. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.java +0 -32
  1406. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.java +0 -27
  1407. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSRuntimeFactory.java +0 -26
  1408. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.java +0 -50
  1409. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.java +0 -253
  1410. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/AggregateException.java +0 -129
  1411. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/AndroidExecutors.java +0 -137
  1412. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/BoltsExecutors.java +0 -120
  1413. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationToken.java +0 -74
  1414. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationTokenRegistration.java +0 -60
  1415. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationTokenSource.java +0 -216
  1416. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Capture.java +0 -33
  1417. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainPackageConfig.java +0 -38
  1418. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +0 -35
  1419. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.java +0 -36
  1420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +0 -41
  1421. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +0 -95
  1422. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FloatUtil.java +0 -20
  1423. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +0 -40
  1424. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IllegalViewOperationException.java +0 -32
  1425. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.java +0 -539
  1426. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.java +0 -25
  1427. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.java +0 -25
  1428. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.java +0 -19
  1429. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +0 -58
  1430. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.java +0 -46
  1431. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.java +0 -21
  1432. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.java +0 -24
  1433. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java +0 -26
  1434. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.java +0 -27
  1435. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +0 -49
  1436. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.java +0 -35
  1437. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.java +0 -197
  1438. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderManager.java +0 -73
  1439. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewDefaults.java +0 -16
  1440. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +0 -334
  1441. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.java +0 -31
  1442. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.java +0 -24
  1443. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.java +0 -67
  1444. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +0 -46
  1445. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +0 -249
  1446. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +0 -33
  1447. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.java +0 -37
  1448. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.java +0 -40
  1449. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.java +0 -33
  1450. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.java +0 -23
  1451. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.java +0 -23
  1452. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java +0 -49
  1453. package/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.java +0 -37
  1454. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +0 -74
  1455. package/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.java +0 -26
  1456. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +0 -115
  1457. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java +0 -46
  1458. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ViewUtils.java +0 -36
  1459. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.java +0 -97
  1460. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.java +0 -162
  1461. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/TraceUpdate.java +0 -37
  1462. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -39
  1463. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -39
  1464. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -49
  1465. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -48
  1466. package/ReactAndroid/src/main/java/com/facebook/react/views/image/GlobalImageLoadListener.java +0 -17
  1467. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +0 -176
  1468. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.java +0 -17
  1469. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +0 -81
  1470. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +0 -26
  1471. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.java +0 -80
  1472. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.java +0 -40
  1473. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +0 -92
  1474. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java +0 -105
  1475. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +0 -83
  1476. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.java +0 -65
  1477. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.java +0 -39
  1478. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +0 -180
  1479. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +0 -638
  1480. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +0 -42
  1481. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +0 -42
  1482. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java +0 -81
  1483. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.java +0 -34
  1484. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +0 -601
  1485. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +0 -183
  1486. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEventType.java +0 -37
  1487. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +0 -39
  1488. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -52
  1489. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BasicTextAttributeProvider.kt +0 -48
  1490. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.java +0 -64
  1491. package/ReactAndroid/src/main/java/com/facebook/react/views/text/EffectiveTextAttributeProvider.kt +0 -22
  1492. package/ReactAndroid/src/main/java/com/facebook/react/views/text/HierarchicTextAttributeProvider.kt +0 -63
  1493. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +0 -604
  1494. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt +0 -379
  1495. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/BridgeTextFragment.kt +0 -39
  1496. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/BridgeTextFragmentList.kt +0 -18
  1497. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/MapBufferTextFragment.kt +0 -42
  1498. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/MapBufferTextFragmentList.kt +0 -19
  1499. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/TextFragment.kt +0 -29
  1500. package/ReactAndroid/src/main/java/com/facebook/react/views/text/fragments/TextFragmentList.kt +0 -15
  1501. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.java +0 -46
  1502. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.java +0 -66
  1503. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.java +0 -93
  1504. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.java +0 -19
  1505. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.java +0 -19
  1506. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.java +0 -69
  1507. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.java +0 -19
  1508. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.java +0 -14
  1509. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.java +0 -15
  1510. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.java +0 -25
  1511. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.java +0 -15
  1512. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.java +0 -64
  1513. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.java +0 -28
  1514. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.java +0 -59
  1515. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.java +0 -67
  1516. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.java +0 -39
  1517. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java +0 -41
  1518. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +0 -75
  1519. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.java +0 -26
  1520. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +0 -46
  1521. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +0 -89
  1522. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +0 -117
  1523. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.java +0 -14
  1524. package/ReactAndroid/src/main/jni/first-party/.clang-tidy +0 -6
  1525. package/ReactAndroid/src/main/jni/first-party/yogajni/.clang-tidy +0 -5
  1526. package/ReactAndroid/src/main/jni/react/hermes/.clang-tidy +0 -6
  1527. package/ReactAndroid/src/main/jni/react/jni/.clang-tidy +0 -6
  1528. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/.clang-tidy +0 -3
  1529. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/.clang-tidy +0 -6
  1530. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/OnLoad.cpp +0 -14
  1531. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/OnLoad.cpp +0 -14
  1532. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/.clang-tidy +0 -20
  1533. package/ReactAndroid/src/main/jni/react/runtime/jni/.clang-tidy +0 -20
  1534. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.cpp +0 -74
  1535. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.h +0 -52
  1536. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.cpp +0 -95
  1537. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.h +0 -113
  1538. package/ReactCommon/.clang-tidy +0 -7
  1539. package/ReactCommon/butter/.clang-tidy +0 -6
  1540. package/ReactCommon/butter/CMakeLists.txt +0 -21
  1541. package/ReactCommon/butter/butter.h +0 -76
  1542. package/ReactCommon/butter/map.h +0 -45
  1543. package/ReactCommon/callinvoker/.clang-tidy +0 -6
  1544. package/ReactCommon/cxxreact/.clang-tidy +0 -6
  1545. package/ReactCommon/hermes/.clang-tidy +0 -6
  1546. package/ReactCommon/jsc/.clang-tidy +0 -6
  1547. package/ReactCommon/jsengineinstance/.clang-tidy +0 -6
  1548. package/ReactCommon/jsi/.clang-tidy +0 -6
  1549. package/ReactCommon/jsiexecutor/.clang-tidy +0 -6
  1550. package/ReactCommon/jsinspector-modern/.clang-tidy +0 -6
  1551. package/ReactCommon/jsinspector-modern/PageAgent.cpp +0 -153
  1552. package/ReactCommon/jsinspector-modern/PageAgent.h +0 -89
  1553. package/ReactCommon/jsinspector-modern/PageTarget.cpp +0 -166
  1554. package/ReactCommon/jsinspector-modern/PageTarget.h +0 -190
  1555. package/ReactCommon/jsinspector-modern/Parsing.cpp +0 -32
  1556. package/ReactCommon/jsinspector-modern/Parsing.h +0 -69
  1557. package/ReactCommon/jsinspector-modern/tests/PageTargetTest.cpp +0 -517
  1558. package/ReactCommon/react/config/.clang-tidy +0 -6
  1559. package/ReactCommon/react/nativemodule/.clang-tidy +0 -6
  1560. package/ReactCommon/react/renderer/.clang-tidy +0 -195
  1561. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +0 -45
  1562. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +0 -34
  1563. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +0 -37
  1564. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.cpp +0 -100
  1565. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.h +0 -94
  1566. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +0 -52
  1567. package/ReactCommon/react/renderer/components/text/tests/TextTest.cpp +0 -14
  1568. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +0 -20
  1569. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +0 -28
  1570. package/ReactCommon/react/renderer/core/EventLogger.cpp +0 -22
  1571. package/ReactCommon/react/renderer/core/EventPriority.h +0 -24
  1572. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +0 -17
  1573. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.h +0 -25
  1574. package/ReactCommon/react/renderer/css/CSSParser.h +0 -220
  1575. package/ReactCommon/react/renderer/css/tests/CSSParserTest.cpp +0 -317
  1576. package/ReactCommon/react/renderer/debug/SystraceSection.h +0 -59
  1577. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +0 -313
  1578. package/ReactCommon/react/renderer/mounting/StubViewTree.h +0 -54
  1579. package/ReactCommon/react/renderer/mounting/stubs.cpp +0 -98
  1580. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +0 -59
  1581. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +0 -45
  1582. package/ReactCommon/react/renderer/timeline/Timeline.cpp +0 -120
  1583. package/ReactCommon/react/renderer/timeline/Timeline.h +0 -60
  1584. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +0 -74
  1585. package/ReactCommon/react/renderer/timeline/TimelineController.h +0 -75
  1586. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +0 -23
  1587. package/ReactCommon/react/renderer/timeline/TimelineFrame.h +0 -44
  1588. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +0 -95
  1589. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +0 -78
  1590. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +0 -30
  1591. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +0 -32
  1592. package/ReactCommon/react/runtime/.clang-tidy +0 -17
  1593. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.cpp +0 -29
  1594. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.h +0 -28
  1595. package/ReactCommon/react/utils/.clang-tidy +0 -6
  1596. package/ReactCommon/react/utils/jsi.cpp +0 -39
  1597. package/ReactCommon/reactperflogger/.clang-tidy +0 -6
  1598. package/ReactCommon/runtimeexecutor/.clang-tidy +0 -6
  1599. package/ReactCommon/yoga/.clang-tidy +0 -5
  1600. package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
  1601. package/local-cli/cli.js +0 -18
  1602. package/scripts/cocoapods/FlipperConfiguration.rb +0 -31
  1603. package/scripts/native_modules.rb +0 -6
  1604. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
  1605. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
  1606. package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
  1607. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
  1608. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
  1609. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
  1610. package/src/private/webapis/performance/BoundedConsumableBuffer.h +0 -244
  1611. package/src/private/webapis/performance/NativePerformance.cpp +0 -95
  1612. package/src/private/webapis/performance/NativePerformance.h +0 -60
  1613. package/src/private/webapis/performance/NativePerformance.js +0 -33
  1614. package/src/private/webapis/performance/NativePerformanceObserver.cpp +0 -140
  1615. package/src/private/webapis/performance/NativePerformanceObserver.h +0 -98
  1616. package/src/private/webapis/performance/NativePerformanceObserver.js +0 -61
  1617. package/src/private/webapis/performance/PerformanceEntryReporter.cpp +0 -470
  1618. package/src/private/webapis/performance/PerformanceEntryReporter.h +0 -207
  1619. package/src/private/webapis/performance/__mocks__/NativePerformance.js +0 -67
  1620. package/src/private/webapis/performance/__mocks__/NativePerformanceObserver.js +0 -128
  1621. package/src/private/webapis/performance/__tests__/BoundedConsumableBufferTest.cpp +0 -201
  1622. package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
  1623. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
  1624. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
  1625. package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
  1626. package/src/private/webapis/performance/__tests__/PerformanceEntryReporterTest.cpp +0 -373
  1627. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
  1628. package/template/App.tsx +0 -118
  1629. package/template/Gemfile +0 -9
  1630. package/template/README.md +0 -79
  1631. package/template/__tests__/App.test.tsx +0 -17
  1632. package/template/_bundle/config +0 -2
  1633. package/template/_eslintrc.js +0 -4
  1634. package/template/_gitignore +0 -74
  1635. package/template/_prettierrc.js +0 -7
  1636. package/template/_watchmanconfig +0 -1
  1637. package/template/android/app/build.gradle +0 -121
  1638. package/template/android/app/debug.keystore +0 -0
  1639. package/template/android/app/proguard-rules.pro +0 -10
  1640. package/template/android/app/src/debug/AndroidManifest.xml +0 -9
  1641. package/template/android/app/src/main/AndroidManifest.xml +0 -32
  1642. package/template/android/app/src/main/java/com/helloworld/MainActivity.kt +0 -22
  1643. package/template/android/app/src/main/java/com/helloworld/MainApplication.kt +0 -43
  1644. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  1645. package/template/android/app/src/main/res/drawable/tv_banner.png +0 -0
  1646. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  1647. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  1648. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  1649. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  1650. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  1651. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  1652. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  1653. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  1654. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  1655. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  1656. package/template/android/app/src/main/res/values/strings.xml +0 -3
  1657. package/template/android/app/src/main/res/values/styles.xml +0 -9
  1658. package/template/android/build.gradle +0 -21
  1659. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  1660. package/template/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  1661. package/template/android/gradle.properties +0 -41
  1662. package/template/android/gradlew +0 -249
  1663. package/template/android/gradlew.bat +0 -92
  1664. package/template/android/settings.gradle +0 -4
  1665. package/template/app.json +0 -4
  1666. package/template/babel.config.js +0 -3
  1667. package/template/index.js +0 -9
  1668. package/template/ios/HelloWorld/AppDelegate.h +0 -6
  1669. package/template/ios/HelloWorld/AppDelegate.mm +0 -31
  1670. package/template/ios/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  1671. package/template/ios/HelloWorld/Images.xcassets/Contents.json +0 -6
  1672. package/template/ios/HelloWorld/Info.plist +0 -52
  1673. package/template/ios/HelloWorld/LaunchScreen.storyboard +0 -47
  1674. package/template/ios/HelloWorld/PrivacyInfo.xcprivacy +0 -38
  1675. package/template/ios/HelloWorld/main.m +0 -10
  1676. package/template/ios/HelloWorld-tvOS/Info.plist +0 -53
  1677. package/template/ios/HelloWorld-tvOSTests/Info.plist +0 -24
  1678. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -1154
  1679. package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-tvOS.xcscheme +0 -88
  1680. package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld.xcscheme +0 -88
  1681. package/template/ios/HelloWorldTests/HelloWorldTests.m +0 -66
  1682. package/template/ios/HelloWorldTests/Info.plist +0 -24
  1683. package/template/ios/Podfile +0 -61
  1684. package/template/ios/_xcode.env +0 -11
  1685. package/template/jest.config.js +0 -3
  1686. package/template/metro.config.js +0 -32
  1687. package/template/package.json +0 -38
  1688. package/template/react-native.config.js +0 -12
  1689. package/template/tsconfig.json +0 -3
  1690. package/template.config.js +0 -12
  1691. /package/{Libraries/IntersectionObserver → ReactCommon/react/nativemodule/intersectionobserver}/NativeIntersectionObserver.cpp +0 -0
  1692. /package/ReactCommon/react/renderer/mounting/{StubView.cpp → stubs/StubView.cpp} +0 -0
  1693. /package/ReactCommon/react/renderer/mounting/{StubView.h → stubs/StubView.h} +0 -0
  1694. /package/ReactCommon/react/renderer/mounting/{stubs.h → stubs/stubs.h} +0 -0
  1695. /package/ReactCommon/react/utils/{jsi.h → jsi-utils.h} +0 -0
@@ -0,0 +1,1395 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager.drawable;
9
+
10
+ import android.annotation.SuppressLint;
11
+ import android.content.Context;
12
+ import android.graphics.Canvas;
13
+ import android.graphics.Color;
14
+ import android.graphics.ColorFilter;
15
+ import android.graphics.DashPathEffect;
16
+ import android.graphics.Outline;
17
+ import android.graphics.Paint;
18
+ import android.graphics.Path;
19
+ import android.graphics.PathEffect;
20
+ import android.graphics.PointF;
21
+ import android.graphics.Rect;
22
+ import android.graphics.RectF;
23
+ import android.graphics.Region;
24
+ import android.graphics.drawable.Drawable;
25
+ import android.view.View;
26
+ import androidx.annotation.Nullable;
27
+ import androidx.core.graphics.ColorUtils;
28
+ import androidx.core.util.Preconditions;
29
+ import com.facebook.infer.annotation.Nullsafe;
30
+ import com.facebook.react.common.annotations.VisibleForTesting;
31
+ import com.facebook.react.modules.i18nmanager.I18nUtil;
32
+ import com.facebook.react.uimanager.FloatUtil;
33
+ import com.facebook.react.uimanager.LengthPercentage;
34
+ import com.facebook.react.uimanager.LengthPercentageType;
35
+ import com.facebook.react.uimanager.Spacing;
36
+ import com.facebook.react.uimanager.style.BorderRadiusProp;
37
+ import com.facebook.react.uimanager.style.BorderRadiusStyle;
38
+ import com.facebook.react.uimanager.style.ComputedBorderRadius;
39
+ import java.util.Locale;
40
+ import java.util.Objects;
41
+
42
+ /**
43
+ * A subclass of {@link Drawable} used for background of {@link
44
+ * com.facebook.react.views.view.ReactViewGroup}. It supports drawing background color and borders
45
+ * (including rounded borders) by providing a react friendly API (setter for each of those
46
+ * properties).
47
+ *
48
+ * <p>The implementation tries to allocate as few objects as possible depending on which properties
49
+ * are set. E.g. for views with rounded background/borders we allocate {@code
50
+ * mInnerClipPathForBorderRadius} and {@code mInnerClipTempRectForBorderRadius}. In case when view
51
+ * have a rectangular borders we allocate {@code mBorderWidthResult} and similar. When only
52
+ * background color is set we won't allocate any extra/unnecessary objects.
53
+ */
54
+ @Nullsafe(Nullsafe.Mode.LOCAL)
55
+ public class CSSBackgroundDrawable extends Drawable {
56
+
57
+ private static final int DEFAULT_BORDER_COLOR = Color.BLACK;
58
+ private static final int DEFAULT_BORDER_RGB = 0x00FFFFFF & DEFAULT_BORDER_COLOR;
59
+ private static final int DEFAULT_BORDER_ALPHA = (0xFF000000 & DEFAULT_BORDER_COLOR) >>> 24;
60
+ // ~0 == 0xFFFFFFFF, all bits set to 1.
61
+ private static final int ALL_BITS_SET = ~0;
62
+ // 0 == 0x00000000, all bits set to 0.
63
+ private static final int ALL_BITS_UNSET = 0;
64
+
65
+ private enum BorderStyle {
66
+ SOLID,
67
+ DASHED,
68
+ DOTTED;
69
+
70
+ public static @Nullable PathEffect getPathEffect(BorderStyle style, float borderWidth) {
71
+ switch (style) {
72
+ case SOLID:
73
+ return null;
74
+
75
+ case DASHED:
76
+ return new DashPathEffect(
77
+ new float[] {borderWidth * 3, borderWidth * 3, borderWidth * 3, borderWidth * 3}, 0);
78
+
79
+ case DOTTED:
80
+ return new DashPathEffect(
81
+ new float[] {borderWidth, borderWidth, borderWidth, borderWidth}, 0);
82
+
83
+ default:
84
+ return null;
85
+ }
86
+ }
87
+ };
88
+
89
+ /* Value at Spacing.ALL index used for rounded borders, whole array used by rectangular borders */
90
+ private @Nullable Spacing mBorderWidth;
91
+ private @Nullable Spacing mBorderRGB;
92
+ private @Nullable Spacing mBorderAlpha;
93
+ private @Nullable BorderStyle mBorderStyle;
94
+
95
+ private @Nullable Path mInnerClipPathForBorderRadius;
96
+ private @Nullable Path mBackgroundColorRenderPath;
97
+ private @Nullable Path mOuterClipPathForBorderRadius;
98
+ private @Nullable Path mPathForBorderRadiusOutline;
99
+ private @Nullable Path mPathForBorder;
100
+ private final Path mPathForSingleBorder = new Path();
101
+ private @Nullable Path mCenterDrawPath;
102
+ private @Nullable RectF mInnerClipTempRectForBorderRadius;
103
+ private @Nullable RectF mOuterClipTempRectForBorderRadius;
104
+ private @Nullable RectF mTempRectForBorderRadiusOutline;
105
+ private @Nullable RectF mTempRectForCenterDrawPath;
106
+ private @Nullable PointF mInnerTopLeftCorner;
107
+ private @Nullable PointF mInnerTopRightCorner;
108
+ private @Nullable PointF mInnerBottomRightCorner;
109
+ private @Nullable PointF mInnerBottomLeftCorner;
110
+ private boolean mNeedUpdatePathForBorderRadius = false;
111
+
112
+ /* Used by all types of background and for drawing borders */
113
+ private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
114
+ private int mColor = Color.TRANSPARENT;
115
+ private int mAlpha = 255;
116
+
117
+ // There is a small gap between the edges of adjacent paths
118
+ // such as between the mBackgroundColorRenderPath and its border.
119
+ // The smallest amount (found to be 0.8f) is used to extend
120
+ // the paths, overlapping them and closing the visible gap.
121
+ private final float mGapBetweenPaths = 0.8f;
122
+
123
+ private BorderRadiusStyle mBorderRadius = new BorderRadiusStyle();
124
+ private ComputedBorderRadius mComputedBorderRadius = new ComputedBorderRadius();
125
+ private final Context mContext;
126
+
127
+ // Should be removed after migrating to Android layout direction.
128
+ private int mLayoutDirectionOverride = -1;
129
+
130
+ public CSSBackgroundDrawable(Context context) {
131
+ mContext = context;
132
+ }
133
+
134
+ @Override
135
+ public void draw(Canvas canvas) {
136
+ updatePathEffect();
137
+ if (!hasRoundedBorders()) {
138
+ drawRectangularBackgroundWithBorders(canvas);
139
+ } else {
140
+ drawRoundedBackgroundWithBorders(canvas);
141
+ }
142
+ }
143
+
144
+ public boolean hasRoundedBorders() {
145
+ return mBorderRadius.hasRoundedBorders();
146
+ }
147
+
148
+ @Override
149
+ protected void onBoundsChange(Rect bounds) {
150
+ super.onBoundsChange(bounds);
151
+ mNeedUpdatePathForBorderRadius = true;
152
+ }
153
+
154
+ @Override
155
+ public void setAlpha(int alpha) {
156
+ if (alpha != mAlpha) {
157
+ mAlpha = alpha;
158
+ invalidateSelf();
159
+ }
160
+ }
161
+
162
+ @Override
163
+ public int getAlpha() {
164
+ return mAlpha;
165
+ }
166
+
167
+ @Override
168
+ public void setColorFilter(ColorFilter cf) {
169
+ // do nothing
170
+ }
171
+
172
+ @Deprecated
173
+ public void setLayoutDirectionOverride(int layoutDirection) {
174
+ if (mLayoutDirectionOverride != layoutDirection) {
175
+ mLayoutDirectionOverride = layoutDirection;
176
+ }
177
+ }
178
+
179
+ @Override
180
+ @SuppressLint("WrongConstant")
181
+ public int getLayoutDirection() {
182
+ return mLayoutDirectionOverride == -1 ? super.getLayoutDirection() : mLayoutDirectionOverride;
183
+ }
184
+
185
+ @Override
186
+ public int getOpacity() {
187
+ return (Color.alpha(mColor) * mAlpha) >> 8;
188
+ }
189
+
190
+ /* Android's elevation implementation requires this to be implemented to know where to draw the shadow. */
191
+ @Override
192
+ public void getOutline(Outline outline) {
193
+ if (hasRoundedBorders()) {
194
+ updatePath();
195
+
196
+ outline.setConvexPath(Preconditions.checkNotNull(mPathForBorderRadiusOutline));
197
+ } else {
198
+ outline.setRect(getBounds());
199
+ }
200
+ }
201
+
202
+ public void setBorderWidth(int position, float width) {
203
+ if (mBorderWidth == null) {
204
+ mBorderWidth = new Spacing();
205
+ }
206
+ if (!FloatUtil.floatsEqual(mBorderWidth.getRaw(position), width)) {
207
+ mBorderWidth.set(position, width);
208
+ switch (position) {
209
+ case Spacing.ALL:
210
+ case Spacing.LEFT:
211
+ case Spacing.BOTTOM:
212
+ case Spacing.RIGHT:
213
+ case Spacing.TOP:
214
+ case Spacing.START:
215
+ case Spacing.END:
216
+ mNeedUpdatePathForBorderRadius = true;
217
+ }
218
+ invalidateSelf();
219
+ }
220
+ }
221
+
222
+ public void setBorderColor(int position, float rgb, float alpha) {
223
+ this.setBorderRGB(position, rgb);
224
+ this.setBorderAlpha(position, alpha);
225
+ mNeedUpdatePathForBorderRadius = true;
226
+ }
227
+
228
+ private void setBorderRGB(int position, float rgb) {
229
+ // set RGB component
230
+ if (mBorderRGB == null) {
231
+ mBorderRGB = new Spacing(DEFAULT_BORDER_RGB);
232
+ }
233
+ if (!FloatUtil.floatsEqual(mBorderRGB.getRaw(position), rgb)) {
234
+ mBorderRGB.set(position, rgb);
235
+ invalidateSelf();
236
+ }
237
+ }
238
+
239
+ private void setBorderAlpha(int position, float alpha) {
240
+ // set Alpha component
241
+ if (mBorderAlpha == null) {
242
+ mBorderAlpha = new Spacing(DEFAULT_BORDER_ALPHA);
243
+ }
244
+ if (!FloatUtil.floatsEqual(mBorderAlpha.getRaw(position), alpha)) {
245
+ mBorderAlpha.set(position, alpha);
246
+ invalidateSelf();
247
+ }
248
+ }
249
+
250
+ public void setBorderStyle(@Nullable String style) {
251
+ BorderStyle borderStyle =
252
+ style == null ? null : BorderStyle.valueOf(style.toUpperCase(Locale.US));
253
+ if (mBorderStyle != borderStyle) {
254
+ mBorderStyle = borderStyle;
255
+ mNeedUpdatePathForBorderRadius = true;
256
+ invalidateSelf();
257
+ }
258
+ }
259
+
260
+ /**
261
+ * @deprecated Use {@link #setBorderRadius(BorderRadiusProp, LengthPercentage)} instead.
262
+ */
263
+ public void setRadius(float radius) {
264
+ @Nullable Float boxedRadius = Float.isNaN(radius) ? null : Float.valueOf(radius);
265
+ if (boxedRadius == null) {
266
+ setBorderRadius(BorderRadiusProp.BORDER_RADIUS, null);
267
+ } else {
268
+ setBorderRadius(
269
+ BorderRadiusProp.BORDER_RADIUS,
270
+ new LengthPercentage(boxedRadius, LengthPercentageType.POINT));
271
+ }
272
+ }
273
+
274
+ /**
275
+ * @deprecated Use {@link #setBorderRadius(BorderRadiusProp, LengthPercentage)} instead.
276
+ */
277
+ public void setRadius(float radius, int position) {
278
+ @Nullable Float boxedRadius = Float.isNaN(radius) ? null : Float.valueOf(radius);
279
+
280
+ if (boxedRadius == null) {
281
+ mBorderRadius.set(BorderRadiusProp.values()[position], null);
282
+ } else {
283
+ setBorderRadius(
284
+ BorderRadiusProp.values()[position],
285
+ new LengthPercentage(boxedRadius, LengthPercentageType.POINT));
286
+ }
287
+ }
288
+
289
+ public void setBorderRadius(BorderRadiusProp property, @Nullable LengthPercentage radius) {
290
+ if (!Objects.equals(radius, mBorderRadius.get(property))) {
291
+ mBorderRadius.set(property, radius);
292
+ mNeedUpdatePathForBorderRadius = true;
293
+ invalidateSelf();
294
+ }
295
+ }
296
+
297
+ public void setBorderRadius(BorderRadiusStyle radius) {
298
+ mBorderRadius = radius;
299
+ }
300
+
301
+ public BorderRadiusStyle getBorderRadius() {
302
+ return mBorderRadius;
303
+ }
304
+
305
+ public ComputedBorderRadius getComputedBorderRadius() {
306
+ return mComputedBorderRadius;
307
+ }
308
+
309
+ public void setColor(int color) {
310
+ mColor = color;
311
+ invalidateSelf();
312
+ }
313
+
314
+ @VisibleForTesting
315
+ public int getColor() {
316
+ return mColor;
317
+ }
318
+
319
+ public @Nullable Path getBorderBoxPath() {
320
+ if (hasRoundedBorders()) {
321
+ updatePath();
322
+ return new Path(Preconditions.checkNotNull(mOuterClipPathForBorderRadius));
323
+ }
324
+
325
+ return null;
326
+ }
327
+
328
+ public RectF getBorderBoxRect() {
329
+ return new RectF(getBounds());
330
+ }
331
+
332
+ public @Nullable Path getPaddingBoxPath() {
333
+ if (hasRoundedBorders()) {
334
+ updatePath();
335
+ return new Path(Preconditions.checkNotNull(mInnerClipPathForBorderRadius));
336
+ }
337
+
338
+ return null;
339
+ }
340
+
341
+ public RectF getPaddingBoxRect() {
342
+ @Nullable RectF insets = getDirectionAwareBorderInsets();
343
+ if (insets == null) {
344
+ return new RectF(0, 0, getBounds().width(), getBounds().height());
345
+ }
346
+
347
+ return new RectF(
348
+ insets.left,
349
+ insets.top,
350
+ getBounds().width() - insets.right,
351
+ getBounds().height() - insets.bottom);
352
+ }
353
+
354
+ private void drawRoundedBackgroundWithBorders(Canvas canvas) {
355
+ updatePath();
356
+ canvas.save();
357
+
358
+ // Clip outer border
359
+ canvas.clipPath(Preconditions.checkNotNull(mOuterClipPathForBorderRadius), Region.Op.INTERSECT);
360
+
361
+ // Draws the View without its border first (with background color fill)
362
+ int useColor = ColorUtils.setAlphaComponent(mColor, getOpacity());
363
+ if (Color.alpha(useColor) != 0) { // color is not transparent
364
+ mPaint.setColor(useColor);
365
+ mPaint.setStyle(Paint.Style.FILL);
366
+ canvas.drawPath(Preconditions.checkNotNull(mBackgroundColorRenderPath), mPaint);
367
+ }
368
+
369
+ final RectF borderWidth = getDirectionAwareBorderInsets();
370
+ int colorLeft = getBorderColor(Spacing.LEFT);
371
+ int colorTop = getBorderColor(Spacing.TOP);
372
+ int colorRight = getBorderColor(Spacing.RIGHT);
373
+ int colorBottom = getBorderColor(Spacing.BOTTOM);
374
+
375
+ int colorBlock = getBorderColor(Spacing.BLOCK);
376
+ int colorBlockStart = getBorderColor(Spacing.BLOCK_START);
377
+ int colorBlockEnd = getBorderColor(Spacing.BLOCK_END);
378
+
379
+ if (isBorderColorDefined(Spacing.BLOCK)) {
380
+ colorBottom = colorBlock;
381
+ colorTop = colorBlock;
382
+ }
383
+ if (isBorderColorDefined(Spacing.BLOCK_END)) {
384
+ colorBottom = colorBlockEnd;
385
+ }
386
+ if (isBorderColorDefined(Spacing.BLOCK_START)) {
387
+ colorTop = colorBlockStart;
388
+ }
389
+
390
+ if (borderWidth.top > 0
391
+ || borderWidth.bottom > 0
392
+ || borderWidth.left > 0
393
+ || borderWidth.right > 0) {
394
+
395
+ // If it's a full and even border draw inner rect path with stroke
396
+ final float fullBorderWidth = getFullBorderWidth();
397
+ int borderColor = getBorderColor(Spacing.ALL);
398
+ if (borderWidth.top == fullBorderWidth
399
+ && borderWidth.bottom == fullBorderWidth
400
+ && borderWidth.left == fullBorderWidth
401
+ && borderWidth.right == fullBorderWidth
402
+ && colorLeft == borderColor
403
+ && colorTop == borderColor
404
+ && colorRight == borderColor
405
+ && colorBottom == borderColor) {
406
+ if (fullBorderWidth > 0) {
407
+ mPaint.setColor(multiplyColorAlpha(borderColor, mAlpha));
408
+ mPaint.setStyle(Paint.Style.STROKE);
409
+ mPaint.setStrokeWidth(fullBorderWidth);
410
+ canvas.drawPath(Preconditions.checkNotNull(mCenterDrawPath), mPaint);
411
+ }
412
+ }
413
+ // In the case of uneven border widths/colors draw quadrilateral in each direction
414
+ else {
415
+ mPaint.setStyle(Paint.Style.FILL);
416
+
417
+ // Clip inner border
418
+ canvas.clipPath(
419
+ Preconditions.checkNotNull(mInnerClipPathForBorderRadius), Region.Op.DIFFERENCE);
420
+
421
+ final boolean isRTL = getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
422
+ int colorStart = getBorderColor(Spacing.START);
423
+ int colorEnd = getBorderColor(Spacing.END);
424
+
425
+ if (I18nUtil.getInstance().doLeftAndRightSwapInRTL(mContext)) {
426
+ if (!isBorderColorDefined(Spacing.START)) {
427
+ colorStart = colorLeft;
428
+ }
429
+
430
+ if (!isBorderColorDefined(Spacing.END)) {
431
+ colorEnd = colorRight;
432
+ }
433
+
434
+ final int directionAwareColorLeft = isRTL ? colorEnd : colorStart;
435
+ final int directionAwareColorRight = isRTL ? colorStart : colorEnd;
436
+
437
+ colorLeft = directionAwareColorLeft;
438
+ colorRight = directionAwareColorRight;
439
+ } else {
440
+ final int directionAwareColorLeft = isRTL ? colorEnd : colorStart;
441
+ final int directionAwareColorRight = isRTL ? colorStart : colorEnd;
442
+
443
+ final boolean isColorStartDefined = isBorderColorDefined(Spacing.START);
444
+ final boolean isColorEndDefined = isBorderColorDefined(Spacing.END);
445
+ final boolean isDirectionAwareColorLeftDefined =
446
+ isRTL ? isColorEndDefined : isColorStartDefined;
447
+ final boolean isDirectionAwareColorRightDefined =
448
+ isRTL ? isColorStartDefined : isColorEndDefined;
449
+
450
+ if (isDirectionAwareColorLeftDefined) {
451
+ colorLeft = directionAwareColorLeft;
452
+ }
453
+
454
+ if (isDirectionAwareColorRightDefined) {
455
+ colorRight = directionAwareColorRight;
456
+ }
457
+ }
458
+
459
+ final RectF outerClipTempRect =
460
+ Preconditions.checkNotNull(mOuterClipTempRectForBorderRadius);
461
+ final float left = outerClipTempRect.left;
462
+ final float right = outerClipTempRect.right;
463
+ final float top = outerClipTempRect.top;
464
+ final float bottom = outerClipTempRect.bottom;
465
+
466
+ final PointF innerTopLeftCorner = Preconditions.checkNotNull(mInnerTopLeftCorner);
467
+ final PointF innerTopRightCorner = Preconditions.checkNotNull(mInnerTopRightCorner);
468
+ final PointF innerBottomLeftCorner = Preconditions.checkNotNull(mInnerBottomLeftCorner);
469
+ final PointF innerBottomRightCorner = Preconditions.checkNotNull(mInnerBottomRightCorner);
470
+
471
+ // mGapBetweenPaths is used to close the gap between the diagonal
472
+ // edges of the quadrilaterals on adjacent sides of the rectangle
473
+ if (borderWidth.left > 0) {
474
+ final float x1 = left;
475
+ final float y1 = top - mGapBetweenPaths;
476
+ final float x2 = innerTopLeftCorner.x;
477
+ final float y2 = innerTopLeftCorner.y - mGapBetweenPaths;
478
+ final float x3 = innerBottomLeftCorner.x;
479
+ final float y3 = innerBottomLeftCorner.y + mGapBetweenPaths;
480
+ final float x4 = left;
481
+ final float y4 = bottom + mGapBetweenPaths;
482
+
483
+ drawQuadrilateral(canvas, colorLeft, x1, y1, x2, y2, x3, y3, x4, y4);
484
+ }
485
+
486
+ if (borderWidth.top > 0) {
487
+ final float x1 = left - mGapBetweenPaths;
488
+ final float y1 = top;
489
+ final float x2 = innerTopLeftCorner.x - mGapBetweenPaths;
490
+ final float y2 = innerTopLeftCorner.y;
491
+ final float x3 = innerTopRightCorner.x + mGapBetweenPaths;
492
+ final float y3 = innerTopRightCorner.y;
493
+ final float x4 = right + mGapBetweenPaths;
494
+ final float y4 = top;
495
+
496
+ drawQuadrilateral(canvas, colorTop, x1, y1, x2, y2, x3, y3, x4, y4);
497
+ }
498
+
499
+ if (borderWidth.right > 0) {
500
+ final float x1 = right;
501
+ final float y1 = top - mGapBetweenPaths;
502
+ final float x2 = innerTopRightCorner.x;
503
+ final float y2 = innerTopRightCorner.y - mGapBetweenPaths;
504
+ final float x3 = innerBottomRightCorner.x;
505
+ final float y3 = innerBottomRightCorner.y + mGapBetweenPaths;
506
+ final float x4 = right;
507
+ final float y4 = bottom + mGapBetweenPaths;
508
+
509
+ drawQuadrilateral(canvas, colorRight, x1, y1, x2, y2, x3, y3, x4, y4);
510
+ }
511
+
512
+ if (borderWidth.bottom > 0) {
513
+ final float x1 = left - mGapBetweenPaths;
514
+ final float y1 = bottom;
515
+ final float x2 = innerBottomLeftCorner.x - mGapBetweenPaths;
516
+ final float y2 = innerBottomLeftCorner.y;
517
+ final float x3 = innerBottomRightCorner.x + mGapBetweenPaths;
518
+ final float y3 = innerBottomRightCorner.y;
519
+ final float x4 = right + mGapBetweenPaths;
520
+ final float y4 = bottom;
521
+
522
+ drawQuadrilateral(canvas, colorBottom, x1, y1, x2, y2, x3, y3, x4, y4);
523
+ }
524
+ }
525
+ }
526
+
527
+ canvas.restore();
528
+ }
529
+
530
+ private void updatePath() {
531
+ if (!mNeedUpdatePathForBorderRadius) {
532
+ return;
533
+ }
534
+
535
+ mNeedUpdatePathForBorderRadius = false;
536
+
537
+ if (mInnerClipPathForBorderRadius == null) {
538
+ mInnerClipPathForBorderRadius = new Path();
539
+ }
540
+
541
+ if (mBackgroundColorRenderPath == null) {
542
+ mBackgroundColorRenderPath = new Path();
543
+ }
544
+
545
+ if (mOuterClipPathForBorderRadius == null) {
546
+ mOuterClipPathForBorderRadius = new Path();
547
+ }
548
+
549
+ if (mPathForBorderRadiusOutline == null) {
550
+ mPathForBorderRadiusOutline = new Path();
551
+ }
552
+
553
+ if (mCenterDrawPath == null) {
554
+ mCenterDrawPath = new Path();
555
+ }
556
+
557
+ if (mInnerClipTempRectForBorderRadius == null) {
558
+ mInnerClipTempRectForBorderRadius = new RectF();
559
+ }
560
+
561
+ if (mOuterClipTempRectForBorderRadius == null) {
562
+ mOuterClipTempRectForBorderRadius = new RectF();
563
+ }
564
+
565
+ if (mTempRectForBorderRadiusOutline == null) {
566
+ mTempRectForBorderRadiusOutline = new RectF();
567
+ }
568
+
569
+ if (mTempRectForCenterDrawPath == null) {
570
+ mTempRectForCenterDrawPath = new RectF();
571
+ }
572
+
573
+ mInnerClipPathForBorderRadius.reset();
574
+ mBackgroundColorRenderPath.reset();
575
+ mOuterClipPathForBorderRadius.reset();
576
+ mPathForBorderRadiusOutline.reset();
577
+ mCenterDrawPath.reset();
578
+
579
+ mInnerClipTempRectForBorderRadius.set(getBounds());
580
+ mOuterClipTempRectForBorderRadius.set(getBounds());
581
+ mTempRectForBorderRadiusOutline.set(getBounds());
582
+ mTempRectForCenterDrawPath.set(getBounds());
583
+
584
+ final RectF borderWidth = getDirectionAwareBorderInsets();
585
+
586
+ int colorLeft = getBorderColor(Spacing.LEFT);
587
+ int colorTop = getBorderColor(Spacing.TOP);
588
+ int colorRight = getBorderColor(Spacing.RIGHT);
589
+ int colorBottom = getBorderColor(Spacing.BOTTOM);
590
+ int borderColor = getBorderColor(Spacing.ALL);
591
+
592
+ int colorBlock = getBorderColor(Spacing.BLOCK);
593
+ int colorBlockStart = getBorderColor(Spacing.BLOCK_START);
594
+ int colorBlockEnd = getBorderColor(Spacing.BLOCK_END);
595
+
596
+ if (isBorderColorDefined(Spacing.BLOCK)) {
597
+ colorBottom = colorBlock;
598
+ colorTop = colorBlock;
599
+ }
600
+ if (isBorderColorDefined(Spacing.BLOCK_END)) {
601
+ colorBottom = colorBlockEnd;
602
+ }
603
+ if (isBorderColorDefined(Spacing.BLOCK_START)) {
604
+ colorTop = colorBlockStart;
605
+ }
606
+
607
+ // Clip border ONLY if its color is non transparent
608
+ if (Color.alpha(colorLeft) != 0
609
+ && Color.alpha(colorTop) != 0
610
+ && Color.alpha(colorRight) != 0
611
+ && Color.alpha(colorBottom) != 0
612
+ && Color.alpha(borderColor) != 0) {
613
+
614
+ mInnerClipTempRectForBorderRadius.top += borderWidth.top;
615
+ mInnerClipTempRectForBorderRadius.bottom -= borderWidth.bottom;
616
+ mInnerClipTempRectForBorderRadius.left += borderWidth.left;
617
+ mInnerClipTempRectForBorderRadius.right -= borderWidth.right;
618
+ }
619
+
620
+ mTempRectForCenterDrawPath.top += borderWidth.top * 0.5f;
621
+ mTempRectForCenterDrawPath.bottom -= borderWidth.bottom * 0.5f;
622
+ mTempRectForCenterDrawPath.left += borderWidth.left * 0.5f;
623
+ mTempRectForCenterDrawPath.right -= borderWidth.right * 0.5f;
624
+
625
+ mComputedBorderRadius =
626
+ mBorderRadius.resolve(
627
+ getLayoutDirection(),
628
+ mContext,
629
+ mOuterClipTempRectForBorderRadius.width(),
630
+ mOuterClipTempRectForBorderRadius.height());
631
+ float topLeftRadius = mComputedBorderRadius.getTopLeft();
632
+ float topRightRadius = mComputedBorderRadius.getTopRight();
633
+ float bottomLeftRadius = mComputedBorderRadius.getBottomLeft();
634
+ float bottomRightRadius = mComputedBorderRadius.getBottomRight();
635
+
636
+ final float innerTopLeftRadiusX = Math.max(topLeftRadius - borderWidth.left, 0);
637
+ final float innerTopLeftRadiusY = Math.max(topLeftRadius - borderWidth.top, 0);
638
+ final float innerTopRightRadiusX = Math.max(topRightRadius - borderWidth.right, 0);
639
+ final float innerTopRightRadiusY = Math.max(topRightRadius - borderWidth.top, 0);
640
+ final float innerBottomRightRadiusX = Math.max(bottomRightRadius - borderWidth.right, 0);
641
+ final float innerBottomRightRadiusY = Math.max(bottomRightRadius - borderWidth.bottom, 0);
642
+ final float innerBottomLeftRadiusX = Math.max(bottomLeftRadius - borderWidth.left, 0);
643
+ final float innerBottomLeftRadiusY = Math.max(bottomLeftRadius - borderWidth.bottom, 0);
644
+
645
+ mInnerClipPathForBorderRadius.addRoundRect(
646
+ mInnerClipTempRectForBorderRadius,
647
+ new float[] {
648
+ innerTopLeftRadiusX,
649
+ innerTopLeftRadiusY,
650
+ innerTopRightRadiusX,
651
+ innerTopRightRadiusY,
652
+ innerBottomRightRadiusX,
653
+ innerBottomRightRadiusY,
654
+ innerBottomLeftRadiusX,
655
+ innerBottomLeftRadiusY,
656
+ },
657
+ Path.Direction.CW);
658
+
659
+ // There is a small gap between mBackgroundColorRenderPath and its
660
+ // border. mGapBetweenPaths is used to slightly enlarge the rectangle
661
+ // (mInnerClipTempRectForBorderRadius), ensuring the border can be
662
+ // drawn on top without the gap.
663
+ mBackgroundColorRenderPath.addRoundRect(
664
+ mInnerClipTempRectForBorderRadius.left - mGapBetweenPaths,
665
+ mInnerClipTempRectForBorderRadius.top - mGapBetweenPaths,
666
+ mInnerClipTempRectForBorderRadius.right + mGapBetweenPaths,
667
+ mInnerClipTempRectForBorderRadius.bottom + mGapBetweenPaths,
668
+ new float[] {
669
+ innerTopLeftRadiusX,
670
+ innerTopLeftRadiusY,
671
+ innerTopRightRadiusX,
672
+ innerTopRightRadiusY,
673
+ innerBottomRightRadiusX,
674
+ innerBottomRightRadiusY,
675
+ innerBottomLeftRadiusX,
676
+ innerBottomLeftRadiusY,
677
+ },
678
+ Path.Direction.CW);
679
+
680
+ mOuterClipPathForBorderRadius.addRoundRect(
681
+ mOuterClipTempRectForBorderRadius,
682
+ new float[] {
683
+ topLeftRadius,
684
+ topLeftRadius,
685
+ topRightRadius,
686
+ topRightRadius,
687
+ bottomRightRadius,
688
+ bottomRightRadius,
689
+ bottomLeftRadius,
690
+ bottomLeftRadius
691
+ },
692
+ Path.Direction.CW);
693
+
694
+ float extraRadiusForOutline = 0;
695
+
696
+ if (mBorderWidth != null) {
697
+ extraRadiusForOutline = mBorderWidth.get(Spacing.ALL) / 2f;
698
+ }
699
+
700
+ mPathForBorderRadiusOutline.addRoundRect(
701
+ mTempRectForBorderRadiusOutline,
702
+ new float[] {
703
+ topLeftRadius + extraRadiusForOutline,
704
+ topLeftRadius + extraRadiusForOutline,
705
+ topRightRadius + extraRadiusForOutline,
706
+ topRightRadius + extraRadiusForOutline,
707
+ bottomRightRadius + extraRadiusForOutline,
708
+ bottomRightRadius + extraRadiusForOutline,
709
+ bottomLeftRadius + extraRadiusForOutline,
710
+ bottomLeftRadius + extraRadiusForOutline
711
+ },
712
+ Path.Direction.CW);
713
+
714
+ mCenterDrawPath.addRoundRect(
715
+ mTempRectForCenterDrawPath,
716
+ new float[] {
717
+ Math.max(
718
+ topLeftRadius - borderWidth.left * 0.5f,
719
+ (borderWidth.left > 0.0f) ? (topLeftRadius / borderWidth.left) : 0.0f),
720
+ Math.max(
721
+ topLeftRadius - borderWidth.top * 0.5f,
722
+ (borderWidth.top > 0.0f) ? (topLeftRadius / borderWidth.top) : 0.0f),
723
+ Math.max(
724
+ topRightRadius - borderWidth.right * 0.5f,
725
+ (borderWidth.right > 0.0f) ? (topRightRadius / borderWidth.right) : 0.0f),
726
+ Math.max(
727
+ topRightRadius - borderWidth.top * 0.5f,
728
+ (borderWidth.top > 0.0f) ? (topRightRadius / borderWidth.top) : 0.0f),
729
+ Math.max(
730
+ bottomRightRadius - borderWidth.right * 0.5f,
731
+ (borderWidth.right > 0.0f) ? (bottomRightRadius / borderWidth.right) : 0.0f),
732
+ Math.max(
733
+ bottomRightRadius - borderWidth.bottom * 0.5f,
734
+ (borderWidth.bottom > 0.0f) ? (bottomRightRadius / borderWidth.bottom) : 0.0f),
735
+ Math.max(
736
+ bottomLeftRadius - borderWidth.left * 0.5f,
737
+ (borderWidth.left > 0.0f) ? (bottomLeftRadius / borderWidth.left) : 0.0f),
738
+ Math.max(
739
+ bottomLeftRadius - borderWidth.bottom * 0.5f,
740
+ (borderWidth.bottom > 0.0f) ? (bottomLeftRadius / borderWidth.bottom) : 0.0f)
741
+ },
742
+ Path.Direction.CW);
743
+
744
+ /**
745
+ * Rounded Multi-Colored Border Algorithm:
746
+ *
747
+ * <p>Let O (for outer) = (top, left, bottom, right) be the rectangle that represents the size
748
+ * and position of a view V. Since the box-sizing of all React Native views is border-box, any
749
+ * border of V will render inside O.
750
+ *
751
+ * <p>Let BorderWidth = (borderTop, borderLeft, borderBottom, borderRight).
752
+ *
753
+ * <p>Let I (for inner) = O - BorderWidth.
754
+ *
755
+ * <p>Then, remembering that O and I are rectangles and that I is inside O, O - I gives us the
756
+ * border of V. Therefore, we can use canvas.clipPath to draw V's border.
757
+ *
758
+ * <p>canvas.clipPath(O, Region.OP.INTERSECT);
759
+ *
760
+ * <p>canvas.clipPath(I, Region.OP.DIFFERENCE);
761
+ *
762
+ * <p>canvas.drawRect(O, paint);
763
+ *
764
+ * <p>This lets us draw non-rounded single-color borders.
765
+ *
766
+ * <p>To extend this algorithm to rounded single-color borders, we:
767
+ *
768
+ * <p>1. Curve the corners of O by the (border radii of V) using Path#addRoundRect.
769
+ *
770
+ * <p>2. Curve the corners of I by (border radii of V - border widths of V) using
771
+ * Path#addRoundRect.
772
+ *
773
+ * <p>Let O' = curve(O, border radii of V).
774
+ *
775
+ * <p>Let I' = curve(I, border radii of V - border widths of V)
776
+ *
777
+ * <p>The rationale behind this decision is the (first sentence of the) following section in the
778
+ * CSS Backgrounds and Borders Module Level 3:
779
+ * https://www.w3.org/TR/css3-background/#the-border-radius.
780
+ *
781
+ * <p>After both O and I have been curved, we can execute the following lines once again to
782
+ * render curved single-color borders:
783
+ *
784
+ * <p>canvas.clipPath(O, Region.OP.INTERSECT);
785
+ *
786
+ * <p>canvas.clipPath(I, Region.OP.DIFFERENCE);
787
+ *
788
+ * <p>canvas.drawRect(O, paint);
789
+ *
790
+ * <p>To extend this algorithm to rendering multi-colored rounded borders, we render each side
791
+ * of the border as its own quadrilateral. Suppose that we were handling the case where all the
792
+ * border radii are 0. Then, the four quadrilaterals would be:
793
+ *
794
+ * <p>Left: (O.left, O.top), (I.left, I.top), (I.left, I.bottom), (O.left, O.bottom)
795
+ *
796
+ * <p>Top: (O.left, O.top), (I.left, I.top), (I.right, I.top), (O.right, O.top)
797
+ *
798
+ * <p>Right: (O.right, O.top), (I.right, I.top), (I.right, I.bottom), (O.right, O.bottom)
799
+ *
800
+ * <p>Bottom: (O.right, O.bottom), (I.right, I.bottom), (I.left, I.bottom), (O.left, O.bottom)
801
+ *
802
+ * <p>Now, lets consider what happens when we render a rounded border (radii != 0). For the sake
803
+ * of simplicity, let's focus on the top edge of the Left border:
804
+ *
805
+ * <p>Let borderTopLeftRadius = 5. Let borderLeftWidth = 1. Let borderTopWidth = 2.
806
+ *
807
+ * <p>We know that O is curved by the ellipse E_O (a = 5, b = 5). We know that I is curved by
808
+ * the ellipse E_I (a = 5 - 1, b = 5 - 2).
809
+ *
810
+ * <p>Since we have clipping, it should be safe to set the top-left point of the Left
811
+ * quadrilateral's top edge to (O.left, O.top).
812
+ *
813
+ * <p>But, what should the top-right point be?
814
+ *
815
+ * <p>The fact that the border is curved shouldn't change the slope (nor the position) of the
816
+ * line connecting the top-left and top-right points of the Left quadrilateral's top edge.
817
+ * Therefore, The top-right point should lie somewhere on the line L = (1 - a) * (O.left, O.top)
818
+ * + a * (I.left, I.top).
819
+ *
820
+ * <p>a != 0, because then the top-left and top-right points would be the same and
821
+ * borderLeftWidth = 1. a != 1, because then the top-right point would not touch an edge of the
822
+ * ellipse E_I. We want the top-right point to touch an edge of the inner ellipse because the
823
+ * border curves with E_I on the top-left corner of V.
824
+ *
825
+ * <p>Therefore, it must be the case that a > 1. Two natural locations of the top-right point
826
+ * exist: 1. The first intersection of L with E_I. 2. The second intersection of L with E_I.
827
+ *
828
+ * <p>We choose the top-right point of the top edge of the Left quadrilateral to be an arbitrary
829
+ * intersection of L with E_I.
830
+ */
831
+ if (mInnerTopLeftCorner == null) {
832
+ mInnerTopLeftCorner = new PointF();
833
+ }
834
+
835
+ /** Compute mInnerTopLeftCorner */
836
+ mInnerTopLeftCorner.x = mInnerClipTempRectForBorderRadius.left;
837
+ mInnerTopLeftCorner.y = mInnerClipTempRectForBorderRadius.top;
838
+
839
+ getEllipseIntersectionWithLine(
840
+ // Ellipse Bounds
841
+ mInnerClipTempRectForBorderRadius.left,
842
+ mInnerClipTempRectForBorderRadius.top,
843
+ mInnerClipTempRectForBorderRadius.left + 2 * innerTopLeftRadiusX,
844
+ mInnerClipTempRectForBorderRadius.top + 2 * innerTopLeftRadiusY,
845
+
846
+ // Line Start
847
+ mOuterClipTempRectForBorderRadius.left,
848
+ mOuterClipTempRectForBorderRadius.top,
849
+
850
+ // Line End
851
+ mInnerClipTempRectForBorderRadius.left,
852
+ mInnerClipTempRectForBorderRadius.top,
853
+
854
+ // Result
855
+ mInnerTopLeftCorner);
856
+
857
+ /** Compute mInnerBottomLeftCorner */
858
+ if (mInnerBottomLeftCorner == null) {
859
+ mInnerBottomLeftCorner = new PointF();
860
+ }
861
+
862
+ mInnerBottomLeftCorner.x = mInnerClipTempRectForBorderRadius.left;
863
+ mInnerBottomLeftCorner.y = mInnerClipTempRectForBorderRadius.bottom;
864
+
865
+ getEllipseIntersectionWithLine(
866
+ // Ellipse Bounds
867
+ mInnerClipTempRectForBorderRadius.left,
868
+ mInnerClipTempRectForBorderRadius.bottom - 2 * innerBottomLeftRadiusY,
869
+ mInnerClipTempRectForBorderRadius.left + 2 * innerBottomLeftRadiusX,
870
+ mInnerClipTempRectForBorderRadius.bottom,
871
+
872
+ // Line Start
873
+ mOuterClipTempRectForBorderRadius.left,
874
+ mOuterClipTempRectForBorderRadius.bottom,
875
+
876
+ // Line End
877
+ mInnerClipTempRectForBorderRadius.left,
878
+ mInnerClipTempRectForBorderRadius.bottom,
879
+
880
+ // Result
881
+ mInnerBottomLeftCorner);
882
+
883
+ /** Compute mInnerTopRightCorner */
884
+ if (mInnerTopRightCorner == null) {
885
+ mInnerTopRightCorner = new PointF();
886
+ }
887
+
888
+ mInnerTopRightCorner.x = mInnerClipTempRectForBorderRadius.right;
889
+ mInnerTopRightCorner.y = mInnerClipTempRectForBorderRadius.top;
890
+
891
+ getEllipseIntersectionWithLine(
892
+ // Ellipse Bounds
893
+ mInnerClipTempRectForBorderRadius.right - 2 * innerTopRightRadiusX,
894
+ mInnerClipTempRectForBorderRadius.top,
895
+ mInnerClipTempRectForBorderRadius.right,
896
+ mInnerClipTempRectForBorderRadius.top + 2 * innerTopRightRadiusY,
897
+
898
+ // Line Start
899
+ mOuterClipTempRectForBorderRadius.right,
900
+ mOuterClipTempRectForBorderRadius.top,
901
+
902
+ // Line End
903
+ mInnerClipTempRectForBorderRadius.right,
904
+ mInnerClipTempRectForBorderRadius.top,
905
+
906
+ // Result
907
+ mInnerTopRightCorner);
908
+
909
+ /** Compute mInnerBottomRightCorner */
910
+ if (mInnerBottomRightCorner == null) {
911
+ mInnerBottomRightCorner = new PointF();
912
+ }
913
+
914
+ mInnerBottomRightCorner.x = mInnerClipTempRectForBorderRadius.right;
915
+ mInnerBottomRightCorner.y = mInnerClipTempRectForBorderRadius.bottom;
916
+
917
+ getEllipseIntersectionWithLine(
918
+ // Ellipse Bounds
919
+ mInnerClipTempRectForBorderRadius.right - 2 * innerBottomRightRadiusX,
920
+ mInnerClipTempRectForBorderRadius.bottom - 2 * innerBottomRightRadiusY,
921
+ mInnerClipTempRectForBorderRadius.right,
922
+ mInnerClipTempRectForBorderRadius.bottom,
923
+
924
+ // Line Start
925
+ mOuterClipTempRectForBorderRadius.right,
926
+ mOuterClipTempRectForBorderRadius.bottom,
927
+
928
+ // Line End
929
+ mInnerClipTempRectForBorderRadius.right,
930
+ mInnerClipTempRectForBorderRadius.bottom,
931
+
932
+ // Result
933
+ mInnerBottomRightCorner);
934
+ }
935
+
936
+ private static void getEllipseIntersectionWithLine(
937
+ double ellipseBoundsLeft,
938
+ double ellipseBoundsTop,
939
+ double ellipseBoundsRight,
940
+ double ellipseBoundsBottom,
941
+ double lineStartX,
942
+ double lineStartY,
943
+ double lineEndX,
944
+ double lineEndY,
945
+ PointF result) {
946
+ final double ellipseCenterX = (ellipseBoundsLeft + ellipseBoundsRight) / 2;
947
+ final double ellipseCenterY = (ellipseBoundsTop + ellipseBoundsBottom) / 2;
948
+
949
+ /**
950
+ * Step 1:
951
+ *
952
+ * <p>Translate the line so that the ellipse is at the origin.
953
+ *
954
+ * <p>Why? It makes the math easier by changing the ellipse equation from ((x -
955
+ * ellipseCenterX)/a)^2 + ((y - ellipseCenterY)/b)^2 = 1 to (x/a)^2 + (y/b)^2 = 1.
956
+ */
957
+ lineStartX -= ellipseCenterX;
958
+ lineStartY -= ellipseCenterY;
959
+ lineEndX -= ellipseCenterX;
960
+ lineEndY -= ellipseCenterY;
961
+
962
+ /**
963
+ * Step 2:
964
+ *
965
+ * <p>Ellipse equation: (x/a)^2 + (y/b)^2 = 1 Line equation: y = mx + c
966
+ */
967
+ final double a = Math.abs(ellipseBoundsRight - ellipseBoundsLeft) / 2;
968
+ final double b = Math.abs(ellipseBoundsBottom - ellipseBoundsTop) / 2;
969
+ final double m = (lineEndY - lineStartY) / (lineEndX - lineStartX);
970
+ final double c = lineStartY - m * lineStartX; // Just a point on the line
971
+
972
+ /**
973
+ * Step 3:
974
+ *
975
+ * <p>Substitute the Line equation into the Ellipse equation. Solve for x. Eventually, you'll
976
+ * have to use the quadratic formula.
977
+ *
978
+ * <p>Quadratic formula: Ax^2 + Bx + C = 0
979
+ */
980
+ final double A = (b * b + a * a * m * m);
981
+ final double B = 2 * a * a * c * m;
982
+ final double C = (a * a * (c * c - b * b));
983
+
984
+ /**
985
+ * Step 4:
986
+ *
987
+ * <p>Apply Quadratic formula. D = determinant / 2A
988
+ */
989
+ final double D = Math.sqrt(-C / A + Math.pow(B / (2 * A), 2));
990
+ final double x2 = -B / (2 * A) - D;
991
+ final double y2 = m * x2 + c;
992
+
993
+ /**
994
+ * Step 5:
995
+ *
996
+ * <p>Undo the space transformation in Step 5.
997
+ */
998
+ final double x = x2 + ellipseCenterX;
999
+ final double y = y2 + ellipseCenterY;
1000
+
1001
+ if (!Double.isNaN(x) && !Double.isNaN(y)) {
1002
+ result.x = (float) x;
1003
+ result.y = (float) y;
1004
+ }
1005
+ }
1006
+
1007
+ public float getBorderWidthOrDefaultTo(final float defaultValue, final int spacingType) {
1008
+ if (mBorderWidth == null) {
1009
+ return defaultValue;
1010
+ }
1011
+
1012
+ final float width = mBorderWidth.getRaw(spacingType);
1013
+
1014
+ if (Float.isNaN(width)) {
1015
+ return defaultValue;
1016
+ }
1017
+
1018
+ return width;
1019
+ }
1020
+
1021
+ /** Set type of border */
1022
+ private void updatePathEffect() {
1023
+ // Used for rounded border and rounded background
1024
+ PathEffect mPathEffectForBorderStyle =
1025
+ mBorderStyle != null ? BorderStyle.getPathEffect(mBorderStyle, getFullBorderWidth()) : null;
1026
+
1027
+ mPaint.setPathEffect(mPathEffectForBorderStyle);
1028
+ }
1029
+
1030
+ private void updatePathEffect(int borderWidth) {
1031
+ PathEffect pathEffectForBorderStyle = null;
1032
+ if (mBorderStyle != null) {
1033
+ pathEffectForBorderStyle = BorderStyle.getPathEffect(mBorderStyle, borderWidth);
1034
+ }
1035
+ mPaint.setPathEffect(pathEffectForBorderStyle);
1036
+ }
1037
+
1038
+ /** For rounded borders we use default "borderWidth" property. */
1039
+ public float getFullBorderWidth() {
1040
+ return (mBorderWidth != null && !Float.isNaN(mBorderWidth.getRaw(Spacing.ALL)))
1041
+ ? mBorderWidth.getRaw(Spacing.ALL)
1042
+ : 0f;
1043
+ }
1044
+
1045
+ /**
1046
+ * Quickly determine if all the set border colors are equal. Bitwise AND all the set colors
1047
+ * together, then OR them all together. If the AND and the OR are the same, then the colors are
1048
+ * compatible, so return this color.
1049
+ *
1050
+ * <p>Used to avoid expensive path creation and expensive calls to canvas.drawPath
1051
+ *
1052
+ * @return A compatible border color, or zero if the border colors are not compatible.
1053
+ */
1054
+ private static int fastBorderCompatibleColorOrZero(
1055
+ int borderLeft,
1056
+ int borderTop,
1057
+ int borderRight,
1058
+ int borderBottom,
1059
+ int colorLeft,
1060
+ int colorTop,
1061
+ int colorRight,
1062
+ int colorBottom) {
1063
+ int andSmear =
1064
+ (borderLeft > 0 ? colorLeft : ALL_BITS_SET)
1065
+ & (borderTop > 0 ? colorTop : ALL_BITS_SET)
1066
+ & (borderRight > 0 ? colorRight : ALL_BITS_SET)
1067
+ & (borderBottom > 0 ? colorBottom : ALL_BITS_SET);
1068
+ int orSmear =
1069
+ (borderLeft > 0 ? colorLeft : ALL_BITS_UNSET)
1070
+ | (borderTop > 0 ? colorTop : ALL_BITS_UNSET)
1071
+ | (borderRight > 0 ? colorRight : ALL_BITS_UNSET)
1072
+ | (borderBottom > 0 ? colorBottom : ALL_BITS_UNSET);
1073
+ return andSmear == orSmear ? andSmear : 0;
1074
+ }
1075
+
1076
+ private void drawRectangularBackgroundWithBorders(Canvas canvas) {
1077
+ mPaint.setStyle(Paint.Style.FILL);
1078
+
1079
+ int useColor = multiplyColorAlpha(mColor, mAlpha);
1080
+ if (Color.alpha(useColor) != 0) { // color is not transparent
1081
+ mPaint.setColor(useColor);
1082
+ canvas.drawRect(getBounds(), mPaint);
1083
+ }
1084
+
1085
+ final RectF borderWidth = getDirectionAwareBorderInsets();
1086
+
1087
+ final int borderLeft = Math.round(borderWidth.left);
1088
+ final int borderTop = Math.round(borderWidth.top);
1089
+ final int borderRight = Math.round(borderWidth.right);
1090
+ final int borderBottom = Math.round(borderWidth.bottom);
1091
+
1092
+ // maybe draw borders?
1093
+ if (borderLeft > 0 || borderRight > 0 || borderTop > 0 || borderBottom > 0) {
1094
+ Rect bounds = getBounds();
1095
+
1096
+ int colorLeft = getBorderColor(Spacing.LEFT);
1097
+ int colorTop = getBorderColor(Spacing.TOP);
1098
+ int colorRight = getBorderColor(Spacing.RIGHT);
1099
+ int colorBottom = getBorderColor(Spacing.BOTTOM);
1100
+
1101
+ int colorBlock = getBorderColor(Spacing.BLOCK);
1102
+ int colorBlockStart = getBorderColor(Spacing.BLOCK_START);
1103
+ int colorBlockEnd = getBorderColor(Spacing.BLOCK_END);
1104
+
1105
+ if (isBorderColorDefined(Spacing.BLOCK)) {
1106
+ colorBottom = colorBlock;
1107
+ colorTop = colorBlock;
1108
+ }
1109
+ if (isBorderColorDefined(Spacing.BLOCK_END)) {
1110
+ colorBottom = colorBlockEnd;
1111
+ }
1112
+ if (isBorderColorDefined(Spacing.BLOCK_START)) {
1113
+ colorTop = colorBlockStart;
1114
+ }
1115
+
1116
+ final boolean isRTL = getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
1117
+ int colorStart = getBorderColor(Spacing.START);
1118
+ int colorEnd = getBorderColor(Spacing.END);
1119
+
1120
+ if (I18nUtil.getInstance().doLeftAndRightSwapInRTL(mContext)) {
1121
+ if (!isBorderColorDefined(Spacing.START)) {
1122
+ colorStart = colorLeft;
1123
+ }
1124
+
1125
+ if (!isBorderColorDefined(Spacing.END)) {
1126
+ colorEnd = colorRight;
1127
+ }
1128
+
1129
+ final int directionAwareColorLeft = isRTL ? colorEnd : colorStart;
1130
+ final int directionAwareColorRight = isRTL ? colorStart : colorEnd;
1131
+
1132
+ colorLeft = directionAwareColorLeft;
1133
+ colorRight = directionAwareColorRight;
1134
+ } else {
1135
+ final int directionAwareColorLeft = isRTL ? colorEnd : colorStart;
1136
+ final int directionAwareColorRight = isRTL ? colorStart : colorEnd;
1137
+
1138
+ final boolean isColorStartDefined = isBorderColorDefined(Spacing.START);
1139
+ final boolean isColorEndDefined = isBorderColorDefined(Spacing.END);
1140
+ final boolean isDirectionAwareColorLeftDefined =
1141
+ isRTL ? isColorEndDefined : isColorStartDefined;
1142
+ final boolean isDirectionAwareColorRightDefined =
1143
+ isRTL ? isColorStartDefined : isColorEndDefined;
1144
+
1145
+ if (isDirectionAwareColorLeftDefined) {
1146
+ colorLeft = directionAwareColorLeft;
1147
+ }
1148
+
1149
+ if (isDirectionAwareColorRightDefined) {
1150
+ colorRight = directionAwareColorRight;
1151
+ }
1152
+ }
1153
+
1154
+ int left = bounds.left;
1155
+ int top = bounds.top;
1156
+
1157
+ // Check for fast path to border drawing.
1158
+ int fastBorderColor =
1159
+ fastBorderCompatibleColorOrZero(
1160
+ borderLeft,
1161
+ borderTop,
1162
+ borderRight,
1163
+ borderBottom,
1164
+ colorLeft,
1165
+ colorTop,
1166
+ colorRight,
1167
+ colorBottom);
1168
+
1169
+ if (fastBorderColor != 0) {
1170
+ if (Color.alpha(fastBorderColor) != 0) {
1171
+ // Border color is not transparent.
1172
+ int right = bounds.right;
1173
+ int bottom = bounds.bottom;
1174
+
1175
+ mPaint.setColor(fastBorderColor);
1176
+ mPaint.setStyle(Paint.Style.STROKE);
1177
+ if (borderLeft > 0) {
1178
+ mPathForSingleBorder.reset();
1179
+ int width = Math.round(borderWidth.left);
1180
+ updatePathEffect(width);
1181
+ mPaint.setStrokeWidth(width);
1182
+ mPathForSingleBorder.moveTo(left + width / 2, top);
1183
+ mPathForSingleBorder.lineTo(left + width / 2, bottom);
1184
+ canvas.drawPath(mPathForSingleBorder, mPaint);
1185
+ }
1186
+ if (borderTop > 0) {
1187
+ mPathForSingleBorder.reset();
1188
+ int width = Math.round(borderWidth.top);
1189
+ updatePathEffect(width);
1190
+ mPaint.setStrokeWidth(width);
1191
+ mPathForSingleBorder.moveTo(left, top + width / 2);
1192
+ mPathForSingleBorder.lineTo(right, top + width / 2);
1193
+ canvas.drawPath(mPathForSingleBorder, mPaint);
1194
+ }
1195
+ if (borderRight > 0) {
1196
+ mPathForSingleBorder.reset();
1197
+ int width = Math.round(borderWidth.right);
1198
+ updatePathEffect(width);
1199
+ mPaint.setStrokeWidth(width);
1200
+ mPathForSingleBorder.moveTo(right - width / 2, top);
1201
+ mPathForSingleBorder.lineTo(right - width / 2, bottom);
1202
+ canvas.drawPath(mPathForSingleBorder, mPaint);
1203
+ }
1204
+ if (borderBottom > 0) {
1205
+ mPathForSingleBorder.reset();
1206
+ int width = Math.round(borderWidth.bottom);
1207
+ updatePathEffect(width);
1208
+ mPaint.setStrokeWidth(width);
1209
+ mPathForSingleBorder.moveTo(left, bottom - width / 2);
1210
+ mPathForSingleBorder.lineTo(right, bottom - width / 2);
1211
+ canvas.drawPath(mPathForSingleBorder, mPaint);
1212
+ }
1213
+ }
1214
+ } else {
1215
+ // If the path drawn previously is of the same color,
1216
+ // there would be a slight white space between borders
1217
+ // with anti-alias set to true.
1218
+ // Therefore we need to disable anti-alias, and
1219
+ // after drawing is done, we will re-enable it.
1220
+
1221
+ mPaint.setAntiAlias(false);
1222
+
1223
+ int width = bounds.width();
1224
+ int height = bounds.height();
1225
+
1226
+ if (borderLeft > 0) {
1227
+ final float x1 = left;
1228
+ final float y1 = top;
1229
+ final float x2 = left + borderLeft;
1230
+ final float y2 = top + borderTop;
1231
+ final float x3 = left + borderLeft;
1232
+ final float y3 = top + height - borderBottom;
1233
+ final float x4 = left;
1234
+ final float y4 = top + height;
1235
+
1236
+ drawQuadrilateral(canvas, colorLeft, x1, y1, x2, y2, x3, y3, x4, y4);
1237
+ }
1238
+
1239
+ if (borderTop > 0) {
1240
+ final float x1 = left;
1241
+ final float y1 = top;
1242
+ final float x2 = left + borderLeft;
1243
+ final float y2 = top + borderTop;
1244
+ final float x3 = left + width - borderRight;
1245
+ final float y3 = top + borderTop;
1246
+ final float x4 = left + width;
1247
+ final float y4 = top;
1248
+
1249
+ drawQuadrilateral(canvas, colorTop, x1, y1, x2, y2, x3, y3, x4, y4);
1250
+ }
1251
+
1252
+ if (borderRight > 0) {
1253
+ final float x1 = left + width;
1254
+ final float y1 = top;
1255
+ final float x2 = left + width;
1256
+ final float y2 = top + height;
1257
+ final float x3 = left + width - borderRight;
1258
+ final float y3 = top + height - borderBottom;
1259
+ final float x4 = left + width - borderRight;
1260
+ final float y4 = top + borderTop;
1261
+
1262
+ drawQuadrilateral(canvas, colorRight, x1, y1, x2, y2, x3, y3, x4, y4);
1263
+ }
1264
+
1265
+ if (borderBottom > 0) {
1266
+ final float x1 = left;
1267
+ final float y1 = top + height;
1268
+ final float x2 = left + width;
1269
+ final float y2 = top + height;
1270
+ final float x3 = left + width - borderRight;
1271
+ final float y3 = top + height - borderBottom;
1272
+ final float x4 = left + borderLeft;
1273
+ final float y4 = top + height - borderBottom;
1274
+
1275
+ drawQuadrilateral(canvas, colorBottom, x1, y1, x2, y2, x3, y3, x4, y4);
1276
+ }
1277
+
1278
+ // re-enable anti alias
1279
+ mPaint.setAntiAlias(true);
1280
+ }
1281
+ }
1282
+ }
1283
+
1284
+ private void drawQuadrilateral(
1285
+ Canvas canvas,
1286
+ int fillColor,
1287
+ float x1,
1288
+ float y1,
1289
+ float x2,
1290
+ float y2,
1291
+ float x3,
1292
+ float y3,
1293
+ float x4,
1294
+ float y4) {
1295
+ if (fillColor == Color.TRANSPARENT) {
1296
+ return;
1297
+ }
1298
+
1299
+ if (mPathForBorder == null) {
1300
+ mPathForBorder = new Path();
1301
+ }
1302
+
1303
+ mPaint.setColor(fillColor);
1304
+ mPathForBorder.reset();
1305
+ mPathForBorder.moveTo(x1, y1);
1306
+ mPathForBorder.lineTo(x2, y2);
1307
+ mPathForBorder.lineTo(x3, y3);
1308
+ mPathForBorder.lineTo(x4, y4);
1309
+ mPathForBorder.lineTo(x1, y1);
1310
+ canvas.drawPath(mPathForBorder, mPaint);
1311
+ }
1312
+
1313
+ private static int colorFromAlphaAndRGBComponents(float alpha, float rgb) {
1314
+ int rgbComponent = 0x00FFFFFF & (int) rgb;
1315
+ int alphaComponent = 0xFF000000 & ((int) alpha) << 24;
1316
+
1317
+ return rgbComponent | alphaComponent;
1318
+ }
1319
+
1320
+ private boolean isBorderColorDefined(int position) {
1321
+ final float rgb = mBorderRGB != null ? mBorderRGB.get(position) : Float.NaN;
1322
+ final float alpha = mBorderAlpha != null ? mBorderAlpha.get(position) : Float.NaN;
1323
+ return !Float.isNaN(rgb) && !Float.isNaN(alpha);
1324
+ }
1325
+
1326
+ public int getBorderColor(int position) {
1327
+ float rgb = mBorderRGB != null ? mBorderRGB.get(position) : DEFAULT_BORDER_RGB;
1328
+ float alpha = mBorderAlpha != null ? mBorderAlpha.get(position) : DEFAULT_BORDER_ALPHA;
1329
+
1330
+ return CSSBackgroundDrawable.colorFromAlphaAndRGBComponents(alpha, rgb);
1331
+ }
1332
+
1333
+ public RectF getDirectionAwareBorderInsets() {
1334
+ final float borderWidth = getBorderWidthOrDefaultTo(0, Spacing.ALL);
1335
+ final float borderTopWidth = getBorderWidthOrDefaultTo(borderWidth, Spacing.TOP);
1336
+ final float borderBottomWidth = getBorderWidthOrDefaultTo(borderWidth, Spacing.BOTTOM);
1337
+ float borderLeftWidth = getBorderWidthOrDefaultTo(borderWidth, Spacing.LEFT);
1338
+ float borderRightWidth = getBorderWidthOrDefaultTo(borderWidth, Spacing.RIGHT);
1339
+
1340
+ if (mBorderWidth != null) {
1341
+ final boolean isRTL = getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
1342
+ float borderStartWidth = mBorderWidth.getRaw(Spacing.START);
1343
+ float borderEndWidth = mBorderWidth.getRaw(Spacing.END);
1344
+
1345
+ if (I18nUtil.getInstance().doLeftAndRightSwapInRTL(mContext)) {
1346
+ if (Float.isNaN(borderStartWidth)) {
1347
+ borderStartWidth = borderLeftWidth;
1348
+ }
1349
+
1350
+ if (Float.isNaN(borderEndWidth)) {
1351
+ borderEndWidth = borderRightWidth;
1352
+ }
1353
+
1354
+ final float directionAwareBorderLeftWidth = isRTL ? borderEndWidth : borderStartWidth;
1355
+ final float directionAwareBorderRightWidth = isRTL ? borderStartWidth : borderEndWidth;
1356
+
1357
+ borderLeftWidth = directionAwareBorderLeftWidth;
1358
+ borderRightWidth = directionAwareBorderRightWidth;
1359
+ } else {
1360
+ final float directionAwareBorderLeftWidth = isRTL ? borderEndWidth : borderStartWidth;
1361
+ final float directionAwareBorderRightWidth = isRTL ? borderStartWidth : borderEndWidth;
1362
+
1363
+ if (!Float.isNaN(directionAwareBorderLeftWidth)) {
1364
+ borderLeftWidth = directionAwareBorderLeftWidth;
1365
+ }
1366
+
1367
+ if (!Float.isNaN(directionAwareBorderRightWidth)) {
1368
+ borderRightWidth = directionAwareBorderRightWidth;
1369
+ }
1370
+ }
1371
+ }
1372
+
1373
+ return new RectF(borderLeftWidth, borderTopWidth, borderRightWidth, borderBottomWidth);
1374
+ }
1375
+
1376
+ /**
1377
+ * Multiplies the color with the given alpha.
1378
+ *
1379
+ * @param color color to be multiplied
1380
+ * @param alpha value between 0 and 255
1381
+ * @return multiplied color
1382
+ */
1383
+ private static int multiplyColorAlpha(int color, int alpha) {
1384
+ if (alpha == 255) {
1385
+ return color;
1386
+ }
1387
+ if (alpha == 0) {
1388
+ return color & 0x00FFFFFF;
1389
+ }
1390
+ alpha = alpha + (alpha >> 7); // make it 0..256
1391
+ int colorAlpha = color >>> 24;
1392
+ int multipliedAlpha = colorAlpha * alpha >> 8;
1393
+ return (multipliedAlpha << 24) | (color & 0x00FFFFFF);
1394
+ }
1395
+ }