react-native-tvos 0.79.2-0 → 0.80.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1463) hide show
  1. package/Libraries/Alert/Alert.d.ts +4 -1
  2. package/Libraries/Alert/Alert.js +3 -0
  3. package/Libraries/Alert/RCTAlertManager.js +17 -0
  4. package/Libraries/Animated/Animated.js.flow +1 -3
  5. package/Libraries/Animated/AnimatedEvent.js +4 -3
  6. package/Libraries/Animated/AnimatedExports.js +2 -2
  7. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  9. package/Libraries/Animated/Easing.js +13 -15
  10. package/Libraries/Animated/animations/Animation.js +8 -4
  11. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  12. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  13. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  14. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  15. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  16. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  17. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  19. package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -0
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +6 -0
  21. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -4
  22. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +6 -5
  23. package/Libraries/AppDelegate/RCTDependencyProvider.h +2 -0
  24. package/Libraries/AppDelegate/RCTReactNativeFactory.h +4 -0
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +54 -40
  26. package/Libraries/AppDelegate/RCTRootViewFactory.h +9 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +14 -6
  28. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -11
  29. package/Libraries/AppState/AppState.js +7 -2
  30. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  31. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  32. package/Libraries/Blob/BlobManager.js +1 -0
  33. package/Libraries/Blob/FileReader.js +219 -8
  34. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  35. package/Libraries/Blob/RCTBlobManager.h +0 -4
  36. package/Libraries/Blob/RCTBlobManager.mm +4 -21
  37. package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
  38. package/Libraries/Blob/React-RCTBlob.podspec +4 -14
  39. package/Libraries/Blob/URL.js +24 -11
  40. package/Libraries/Blob/URLSearchParams.js +106 -31
  41. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  42. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  45. package/Libraries/Components/Button.js +1 -1
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  47. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  49. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  50. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  51. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  52. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  53. package/Libraries/Components/Pressable/Pressable.js +23 -7
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  56. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  57. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  58. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  61. package/Libraries/Components/Switch/Switch.js +8 -4
  62. package/Libraries/Components/TV/TVEventControl.js +3 -1
  63. package/Libraries/Components/TV/TVEventHandler.js +21 -13
  64. package/Libraries/Components/TV/TVFocusEventHandler.js +1 -1
  65. package/Libraries/Components/TV/TVFocusGuideView.js +3 -8
  66. package/Libraries/Components/TV/tagForComponentOrHandle.js +2 -2
  67. package/Libraries/Components/TV/useTVEventHandler.js +1 -1
  68. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -13
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  70. package/Libraries/Components/TextInput/TextInput.d.ts +76 -33
  71. package/Libraries/Components/TextInput/TextInput.flow.js +106 -55
  72. package/Libraries/Components/TextInput/TextInput.js +94 -1029
  73. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  74. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  75. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  76. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  77. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  78. package/Libraries/Components/Touchable/Touchable.js +5 -5
  79. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  80. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -10
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -7
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  84. package/Libraries/Components/View/View.js +21 -23
  85. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  86. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  87. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  88. package/Libraries/Components/View/ViewPropTypes.d.ts +16 -0
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Core/ReactNativeVersion.js +2 -2
  91. package/Libraries/Core/setUpReactDevTools.js +5 -5
  92. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  93. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  94. package/Libraries/Image/AssetSourceResolver.js +17 -4
  95. package/Libraries/Image/Image.d.ts +26 -10
  96. package/Libraries/Image/Image.js +17 -0
  97. package/Libraries/Image/Image.js.flow +5 -5
  98. package/Libraries/Image/ImageBackground.js +2 -0
  99. package/Libraries/Image/ImageInjection.js +1 -1
  100. package/Libraries/Image/ImageProps.js +22 -17
  101. package/Libraries/Image/ImageSource.js +3 -1
  102. package/Libraries/Image/ImageSourceUtils.js +4 -2
  103. package/Libraries/Image/ImageTypes.flow.js +1 -1
  104. package/Libraries/Image/RCTImageLoader.mm +63 -19
  105. package/Libraries/Image/RCTImageStoreManager.mm +10 -32
  106. package/Libraries/Image/RCTImageURLLoader.h +19 -1
  107. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -23
  108. package/Libraries/Image/React-RCTImage.podspec +2 -7
  109. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  110. package/Libraries/Interaction/InteractionManager.js +1 -1
  111. package/Libraries/Interaction/PanResponder.js +3 -3
  112. package/Libraries/Interaction/TaskQueue.js +1 -0
  113. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  114. package/Libraries/Linking/Linking.js +1 -1
  115. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -6
  116. package/Libraries/Lists/FlatList.d.ts +2 -2
  117. package/Libraries/Lists/FlatList.js +8 -11
  118. package/Libraries/Lists/SectionList.js +39 -42
  119. package/Libraries/Lists/SectionListModern.js +25 -34
  120. package/Libraries/Lists/VirtualizedList.js +1 -0
  121. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  122. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  123. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  124. package/Libraries/Modal/Modal.js +33 -7
  125. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +118 -124
  126. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -7
  127. package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -6
  128. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  129. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  130. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  131. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  132. package/Libraries/Network/RCTDataRequestHandler.mm +10 -6
  133. package/Libraries/Network/RCTFileRequestHandler.mm +11 -7
  134. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -2
  135. package/Libraries/Network/RCTInspectorNetworkReporter.h +32 -0
  136. package/Libraries/Network/RCTInspectorNetworkReporter.mm +88 -0
  137. package/Libraries/Network/RCTNetworking.android.js +1 -1
  138. package/Libraries/Network/RCTNetworking.h +0 -4
  139. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  140. package/Libraries/Network/RCTNetworking.js +17 -0
  141. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  142. package/Libraries/Network/RCTNetworking.mm +32 -33
  143. package/Libraries/Network/React-RCTNetwork.podspec +6 -7
  144. package/Libraries/Network/XMLHttpRequest.js +781 -10
  145. package/Libraries/Performance/Systrace.js +7 -7
  146. package/Libraries/Pressability/Pressability.js +1 -1
  147. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -6
  148. package/Libraries/ReactNative/AppContainer-dev.js +10 -9
  149. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  150. package/Libraries/ReactNative/AppRegistry.js +2 -322
  151. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  152. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  153. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  154. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  155. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  156. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  157. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  158. package/Libraries/ReactNative/renderApplication.js +9 -0
  159. package/Libraries/ReactNativeDependencies/Package.swift +2 -2
  160. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  161. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  162. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  163. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  164. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  168. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  169. package/Libraries/Settings/React-RCTSettings.podspec +3 -7
  170. package/Libraries/Settings/Settings.ios.js +1 -0
  171. package/Libraries/Settings/Settings.js +13 -19
  172. package/Libraries/Settings/SettingsFallback.js +33 -0
  173. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  174. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  175. package/Libraries/StyleSheet/Rect.js +1 -0
  176. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  177. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  178. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  179. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  180. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  181. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  182. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  183. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  184. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  185. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +1 -1
  186. package/Libraries/Text/Text.d.ts +2 -5
  187. package/Libraries/Text/Text.js +3 -3
  188. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +11 -0
  189. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +96 -0
  190. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  191. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -4
  192. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +11 -0
  193. package/Libraries/Text/TextNativeComponent.js +0 -4
  194. package/Libraries/Text/TextProps.js +5 -33
  195. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  196. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  197. package/Libraries/Types/CoreEventTypes.d.ts +10 -1
  198. package/Libraries/Types/CoreEventTypes.js +4 -6
  199. package/Libraries/Utilities/Appearance.js +2 -0
  200. package/Libraries/Utilities/BackHandler.ios.js +9 -4
  201. package/Libraries/Utilities/BackHandler.js +17 -0
  202. package/Libraries/Utilities/DeviceInfo.js +2 -0
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Platform.js +17 -0
  205. package/Libraries/Utilities/PlatformTypes.js +11 -3
  206. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  207. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  209. package/Libraries/Utilities/setAndForwardRef.js +6 -6
  210. package/Libraries/Vibration/React-RCTVibration.podspec +3 -7
  211. package/Libraries/WebSocket/WebSocket.js +313 -8
  212. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  213. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  214. package/README-core.md +0 -3
  215. package/README.md +3 -1
  216. package/React/Base/RCTBridge.h +5 -3
  217. package/React/Base/RCTBridge.mm +95 -13
  218. package/React/Base/RCTBridgeProxy.mm +1 -1
  219. package/React/Base/RCTRootView.h +7 -1
  220. package/React/Base/RCTRootView.m +38 -0
  221. package/React/Base/RCTRootViewInternal.h +1 -0
  222. package/React/Base/RCTTVRemoteSelectHandler.m +2 -1
  223. package/React/Base/RCTUtils.h +8 -5
  224. package/React/Base/{RCTUtils.m → RCTUtils.mm} +55 -28
  225. package/React/Base/RCTVersion.m +2 -2
  226. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +6 -0
  227. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +37 -0
  228. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +3 -8
  229. package/React/CoreModules/RCTAccessibilityManager.mm +9 -11
  230. package/React/CoreModules/RCTAppState.mm +11 -9
  231. package/React/CoreModules/RCTAppearance.mm +2 -14
  232. package/React/CoreModules/RCTDevSettings.mm +0 -1
  233. package/React/CoreModules/RCTDeviceInfo.mm +50 -19
  234. package/React/CoreModules/RCTLogBox.mm +1 -1
  235. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  236. package/React/CoreModules/RCTPlatform.mm +25 -20
  237. package/React/CoreModules/RCTStatusBarManager.mm +18 -13
  238. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +0 -2
  239. package/React/CoreModules/React-CoreModules.podspec +4 -18
  240. package/React/CxxBridge/RCTCxxBridge.mm +6 -18
  241. package/React/CxxModule/RCTNativeModule.mm +1 -1
  242. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +173 -133
  243. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +600 -425
  244. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -0
  245. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +21 -8
  246. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  247. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +2 -2
  248. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -4
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  250. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +31 -0
  251. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +13 -1
  252. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
  253. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +2 -2
  254. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +13 -8
  255. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +62 -15
  256. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +47 -4
  257. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  258. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +28 -0
  259. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +83 -0
  260. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +11 -0
  261. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +130 -34
  262. package/React/Fabric/Mounting/RCTComponentViewFactory.h +0 -6
  263. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +36 -31
  264. package/React/Fabric/RCTScheduler.mm +6 -0
  265. package/React/Fabric/Utils/RCTBoxShadow.h +2 -4
  266. package/React/Fabric/Utils/RCTBoxShadow.mm +92 -224
  267. package/React/Fabric/Utils/RCTGradientUtils.h +21 -0
  268. package/React/Fabric/Utils/RCTGradientUtils.mm +204 -0
  269. package/React/Fabric/Utils/RCTLinearGradient.mm +3 -192
  270. package/React/Fabric/Utils/{RCTViewFinder.h → RCTRadialGradient.h} +3 -2
  271. package/React/Fabric/Utils/RCTRadialGradient.mm +229 -0
  272. package/React/Profiler/RCTProfile.m +1 -1
  273. package/React/React-RCTFBReactNativeSpec.podspec +3 -13
  274. package/React/React-RCTFabric.podspec +6 -14
  275. package/React/Runtime/React-RCTRuntime.podspec +4 -18
  276. package/React/Views/RCTBorderDrawing.h +5 -2
  277. package/React/Views/RCTBorderDrawing.m +29 -12
  278. package/React/Views/RCTFont.mm +0 -4
  279. package/React/Views/RCTTVView.m +4 -4
  280. package/React/Views/RCTView.m +4 -4
  281. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  282. package/React-Core.podspec +4 -20
  283. package/ReactAndroid/api/ReactAndroid.api +617 -1147
  284. package/ReactAndroid/build.gradle.kts +4 -2
  285. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +9 -15
  286. package/ReactAndroid/external-artifacts/build.gradle.kts +6 -4
  287. package/ReactAndroid/gradle.properties +4 -2
  288. package/ReactAndroid/hermes-engine/build.gradle.kts +7 -4
  289. package/ReactAndroid/proguard-rules.pro +0 -6
  290. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  291. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -2
  292. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +11 -2
  293. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +56 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -5
  295. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +4 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +14 -3
  297. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +54 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +15 -4
  299. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +20 -8
  300. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -12
  301. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +88 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +20 -56
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -2
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -42
  306. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +2 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +0 -1
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +3 -3
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +12 -12
  313. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +10 -10
  314. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -6
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +1072 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +774 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +1 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.kt +26 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +9 -7
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +29 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +3 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +14 -3
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeSoLoader.kt +36 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +35 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -2
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +214 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +10 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +56 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +3 -3
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +61 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.kt +80 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.kt +80 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +6 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +42 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.kt +26 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +78 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +99 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +3 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +118 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -5
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +142 -0
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.kt +26 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.kt +30 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +2 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.kt +129 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +2 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +8 -5
  352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +10 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +18 -7
  358. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +9 -8
  360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +5 -7
  362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +48 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +6 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +7 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +3 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +1 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -2
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +31 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +10 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +1 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +61 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +61 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +2 -2
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +6 -5
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.kt +69 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +13 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +4 -3
  379. package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +3 -4
  380. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.kt +2 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +23 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +16 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +1 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +66 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  388. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +7 -7
  389. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +10 -12
  390. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +98 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +81 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +323 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +118 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +159 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +87 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +1 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +413 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +903 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +57 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +1 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -1
  402. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +4 -4
  403. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +167 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.kt +44 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +10 -16
  406. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +251 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +11 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +3 -3
  410. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +2 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +176 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +4 -5
  413. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +177 -86
  414. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +6 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +6 -11
  416. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.kt +103 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +13 -11
  418. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +8 -12
  419. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +5 -9
  420. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +7 -15
  421. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +2 -2
  422. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +6 -6
  424. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +16 -39
  425. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -25
  426. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +12 -5
  427. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +2 -2
  428. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +3 -3
  429. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +335 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +3 -3
  431. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +7 -7
  432. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +2 -1
  433. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +16 -16
  435. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +3 -3
  436. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +75 -60
  437. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +120 -100
  438. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -21
  439. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -23
  440. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +135 -113
  441. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +1 -3
  442. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -21
  444. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +84 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -2
  446. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +14 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +12 -2
  448. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +293 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +405 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +63 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +2 -2
  452. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +5 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +7 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +1 -5
  455. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.kt +3 -2
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +13 -12
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +2 -2
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +336 -0
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +113 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.kt +99 -0
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +4 -4
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +4 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +1 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +4 -4
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +2 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +5 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +4 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +1 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +14 -8
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +4 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +12 -17
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +209 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +205 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +18 -18
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +6 -5
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +11 -22
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +35 -29
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +1 -1
  482. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +846 -0
  483. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +4 -1
  484. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +57 -0
  485. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  486. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +6 -6
  487. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -4
  488. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +13 -12
  489. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +14 -3
  490. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +6 -5
  491. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +20 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +7 -11
  493. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +161 -0
  494. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +130 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +10 -2
  496. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +156 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +1 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +112 -0
  499. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -4
  500. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +159 -0
  501. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +1 -1
  502. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +113 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +97 -75
  505. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -10
  506. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +599 -0
  508. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +91 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +217 -0
  510. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +12 -11
  511. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +4 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.kt +2 -2
  513. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +418 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +1 -1
  515. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +31 -25
  516. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +9 -9
  518. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +4 -4
  519. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +2 -2
  520. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +5 -5
  521. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +2 -11
  522. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +3 -12
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +7 -2
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +7 -5
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +1 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +59 -7
  529. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +8 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +1 -10
  532. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +3 -1
  533. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -5
  534. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +11 -2
  535. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +12 -1
  536. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +93 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +1 -1
  538. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -1
  539. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +146 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +11 -9
  541. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +63 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
  543. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +3 -3
  544. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +2 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +2 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +3 -0
  547. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +10 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +68 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReferenceStateWrapper.kt +13 -0
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +103 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +2 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +8 -11
  554. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +435 -0
  555. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +223 -0
  556. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +3 -3
  557. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +19 -13
  558. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +14 -3
  559. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +31 -15
  560. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +92 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +17 -13
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +3 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +27 -22
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +46 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +109 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +87 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +22 -3
  568. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +7 -5
  569. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +9 -4
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +6 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +97 -0
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +86 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.kt +15 -0
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +5 -1
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +3 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +3 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +3 -1
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +9 -1
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +8 -6
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +10 -10
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +3 -17
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlurEvent.kt +16 -5
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +206 -0
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +7 -7
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +1 -13
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +16 -43
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +2 -2
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{ReactEventEmitter.kt → EventEmitterImpl.kt} +39 -47
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +33 -43
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FocusEvent.kt +16 -5
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +27 -31
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +0 -3
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +11 -4
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +12 -8
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +52 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +128 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +3 -0
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +85 -0
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +225 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +3 -0
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +10 -0
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +12 -0
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +12 -0
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +12 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -1
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +69 -0
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +87 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +10 -2
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +30 -12
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +36 -22
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +206 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +8 -0
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -38
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +72 -246
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +375 -0
  618. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +30 -0
  619. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +6 -6
  620. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +3 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -1
  622. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +7 -7
  623. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +7 -7
  624. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +8 -8
  625. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +7 -10
  626. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +6 -5
  628. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  629. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +7 -10
  630. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +20 -17
  631. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +20 -28
  632. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +43 -41
  633. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +1 -1
  634. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +1 -1
  635. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +4 -0
  636. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +14 -12
  637. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +2 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +172 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +27 -7
  641. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +366 -0
  642. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +36 -7
  643. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +74 -1
  644. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +390 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +4 -2
  646. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +1 -1
  648. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  649. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +4 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +18 -0
  653. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +418 -0
  654. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +212 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +25 -12
  656. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -6
  657. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +31 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +207 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +6 -2
  660. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +1 -4
  661. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -54
  662. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +4 -10
  663. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +9 -14
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +3 -0
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +2 -0
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +30 -8
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +2 -0
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +237 -121
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +8 -4
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +140 -0
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +174 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +2 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +4 -3
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +3 -3
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +8 -8
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +1 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +1 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +6 -5
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +1 -1
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +1 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +1 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +1 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +1 -1
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +1 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +5 -5
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +3 -3
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +11 -11
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +4 -7
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +50 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +1331 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +151 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +44 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +51 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +43 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +35 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +33 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +1139 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +46 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +210 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +40 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +66 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +49 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +45 -0
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +12 -9
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +6 -4
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +2 -2
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +37 -11
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +51 -4
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +4 -4
  711. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +19 -23
  712. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +10 -11
  713. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +3 -3
  714. package/ReactAndroid/src/main/jni/CMakeLists.txt +22 -9
  715. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +3 -0
  716. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +3 -1
  717. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +1 -2
  718. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +4 -7
  719. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +3 -2
  720. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +2 -9
  721. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +3 -8
  722. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +1 -9
  723. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +12 -0
  724. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +4 -0
  725. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +130 -13
  726. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +9 -0
  727. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +186 -0
  728. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +38 -0
  729. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +10 -0
  730. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  731. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -2
  732. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -1
  733. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +2 -10
  734. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +166 -138
  735. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +34 -28
  736. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +2 -5
  737. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -7
  738. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +2 -0
  739. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +54 -6
  740. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +14 -18
  741. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +10 -17
  742. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -0
  743. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +9 -14
  744. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +33 -0
  745. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -15
  746. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.cpp +30 -0
  747. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +12 -1
  748. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +3 -3
  749. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +2 -0
  750. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +2 -0
  751. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +3 -2
  752. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +3 -6
  753. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -0
  754. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +4 -0
  755. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  756. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -1
  757. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -7
  758. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -8
  759. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +5 -7
  760. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
  761. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +0 -4
  762. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +3 -1
  763. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +4 -7
  764. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +1 -7
  765. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +4 -3
  766. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +1 -8
  767. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +4 -3
  768. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +3 -2
  769. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -0
  770. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +4 -1
  771. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +2 -1
  772. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +2 -1
  773. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +14 -9
  774. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +5 -0
  775. package/ReactAndroid/src/main/res/devsupport/values-am/strings.xml +6 -0
  776. package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -4
  777. package/ReactAndroid/src/main/res/systeminfo/values/strings.xml +4 -0
  778. package/ReactAndroid/src/main/res/systeminfo/values-af/strings.xml +6 -0
  779. package/ReactAndroid/src/main/res/systeminfo/values-ar/strings.xml +6 -0
  780. package/ReactAndroid/src/main/res/systeminfo/values-az/strings.xml +6 -0
  781. package/ReactAndroid/src/main/res/systeminfo/values-be/strings.xml +6 -0
  782. package/ReactAndroid/src/main/res/systeminfo/values-bg/strings.xml +6 -0
  783. package/ReactAndroid/src/main/res/systeminfo/values-bn/strings.xml +6 -0
  784. package/ReactAndroid/src/main/res/systeminfo/values-ca/strings.xml +6 -0
  785. package/ReactAndroid/src/main/res/systeminfo/values-cs/strings.xml +6 -0
  786. package/ReactAndroid/src/main/res/systeminfo/values-da/strings.xml +6 -0
  787. package/ReactAndroid/src/main/res/systeminfo/values-de/strings.xml +6 -0
  788. package/ReactAndroid/src/main/res/systeminfo/values-el/strings.xml +6 -0
  789. package/ReactAndroid/src/main/res/systeminfo/values-en-rGB/strings.xml +6 -0
  790. package/ReactAndroid/src/main/res/systeminfo/values-es/strings.xml +6 -0
  791. package/ReactAndroid/src/main/res/systeminfo/values-es-rES/strings.xml +6 -0
  792. package/ReactAndroid/src/main/res/systeminfo/values-et/strings.xml +6 -0
  793. package/ReactAndroid/src/main/res/systeminfo/values-fa/strings.xml +6 -0
  794. package/ReactAndroid/src/main/res/systeminfo/values-fi/strings.xml +6 -0
  795. package/ReactAndroid/src/main/res/systeminfo/values-fr/strings.xml +6 -0
  796. package/ReactAndroid/src/main/res/systeminfo/values-fr-rCA/strings.xml +6 -0
  797. package/ReactAndroid/src/main/res/systeminfo/values-gu/strings.xml +6 -0
  798. package/ReactAndroid/src/main/res/systeminfo/values-hi/strings.xml +6 -0
  799. package/ReactAndroid/src/main/res/systeminfo/values-hr/strings.xml +6 -0
  800. package/ReactAndroid/src/main/res/systeminfo/values-hu/strings.xml +6 -0
  801. package/ReactAndroid/src/main/res/systeminfo/values-hy/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/systeminfo/values-is/strings.xml +6 -0
  803. package/ReactAndroid/src/main/res/systeminfo/values-it/strings.xml +6 -0
  804. package/ReactAndroid/src/main/res/systeminfo/values-iw/strings.xml +6 -0
  805. package/ReactAndroid/src/main/res/systeminfo/values-ja/strings.xml +6 -0
  806. package/ReactAndroid/src/main/res/systeminfo/values-ka/strings.xml +6 -0
  807. package/ReactAndroid/src/main/res/systeminfo/values-kk/strings.xml +6 -0
  808. package/ReactAndroid/src/main/res/systeminfo/values-km/strings.xml +6 -0
  809. package/ReactAndroid/src/main/res/systeminfo/values-kn/strings.xml +6 -0
  810. package/ReactAndroid/src/main/res/systeminfo/values-ko/strings.xml +6 -0
  811. package/ReactAndroid/src/main/res/systeminfo/values-ky/strings.xml +6 -0
  812. package/ReactAndroid/src/main/res/systeminfo/values-lo/strings.xml +6 -0
  813. package/ReactAndroid/src/main/res/systeminfo/values-lt/strings.xml +6 -0
  814. package/ReactAndroid/src/main/res/systeminfo/values-lv/strings.xml +6 -0
  815. package/ReactAndroid/src/main/res/systeminfo/values-mk/strings.xml +6 -0
  816. package/ReactAndroid/src/main/res/systeminfo/values-ml/strings.xml +6 -0
  817. package/ReactAndroid/src/main/res/systeminfo/values-mn/strings.xml +6 -0
  818. package/ReactAndroid/src/main/res/systeminfo/values-mr/strings.xml +6 -0
  819. package/ReactAndroid/src/main/res/systeminfo/values-ms/strings.xml +6 -0
  820. package/ReactAndroid/src/main/res/systeminfo/values-my/strings.xml +6 -0
  821. package/ReactAndroid/src/main/res/systeminfo/values-ne/strings.xml +6 -0
  822. package/ReactAndroid/src/main/res/systeminfo/values-nl/strings.xml +6 -0
  823. package/ReactAndroid/src/main/res/systeminfo/values-pa/strings.xml +6 -0
  824. package/ReactAndroid/src/main/res/systeminfo/values-pl/strings.xml +6 -0
  825. package/ReactAndroid/src/main/res/systeminfo/values-pt/strings.xml +6 -0
  826. package/ReactAndroid/src/main/res/systeminfo/values-pt-rPT/strings.xml +6 -0
  827. package/ReactAndroid/src/main/res/systeminfo/values-ro/strings.xml +6 -0
  828. package/ReactAndroid/src/main/res/systeminfo/values-ru/strings.xml +6 -0
  829. package/ReactAndroid/src/main/res/systeminfo/values-si/strings.xml +6 -0
  830. package/ReactAndroid/src/main/res/systeminfo/values-sk/strings.xml +6 -0
  831. package/ReactAndroid/src/main/res/systeminfo/values-sl/strings.xml +6 -0
  832. package/ReactAndroid/src/main/res/systeminfo/values-sq/strings.xml +6 -0
  833. package/ReactAndroid/src/main/res/systeminfo/values-sr/strings.xml +6 -0
  834. package/ReactAndroid/src/main/res/systeminfo/values-sv/strings.xml +6 -0
  835. package/ReactAndroid/src/main/res/systeminfo/values-sw/strings.xml +6 -0
  836. package/ReactAndroid/src/main/res/systeminfo/values-ta/strings.xml +6 -0
  837. package/ReactAndroid/src/main/res/systeminfo/values-te/strings.xml +6 -0
  838. package/ReactAndroid/src/main/res/systeminfo/values-th/strings.xml +6 -0
  839. package/ReactAndroid/src/main/res/systeminfo/values-tr/strings.xml +6 -0
  840. package/ReactAndroid/src/main/res/systeminfo/values-uk/strings.xml +6 -0
  841. package/ReactAndroid/src/main/res/systeminfo/values-ur/strings.xml +6 -0
  842. package/ReactAndroid/src/main/res/systeminfo/values-vi/strings.xml +6 -0
  843. package/ReactAndroid/src/main/res/systeminfo/values-zh-rCN/strings.xml +6 -0
  844. package/ReactAndroid/src/main/res/systeminfo/values-zh-rHK/strings.xml +6 -0
  845. package/ReactAndroid/src/main/res/systeminfo/values-zh-rTW/strings.xml +6 -0
  846. package/ReactAndroid/src/main/res/systeminfo/values-zu/strings.xml +6 -0
  847. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +15 -0
  848. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +6 -0
  849. package/ReactCommon/React-Fabric.podspec +4 -59
  850. package/ReactCommon/React-FabricComponents.podspec +4 -40
  851. package/ReactCommon/React-FabricImage.podspec +2 -19
  852. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  853. package/ReactCommon/ReactCommon.podspec +4 -13
  854. package/ReactCommon/callinvoker/CMakeLists.txt +3 -6
  855. package/ReactCommon/cmake-utils/react-native-flags.cmake +39 -0
  856. package/ReactCommon/cxxreact/CMakeLists.txt +4 -6
  857. package/ReactCommon/cxxreact/CxxNativeModule.cpp +23 -33
  858. package/ReactCommon/cxxreact/JSExecutor.cpp +5 -2
  859. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +12 -10
  860. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -4
  861. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +28 -21
  862. package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -2
  863. package/ReactCommon/cxxreact/MethodCall.cpp +17 -17
  864. package/ReactCommon/cxxreact/ModuleRegistry.cpp +15 -12
  865. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -8
  866. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +2 -1
  867. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -13
  868. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  869. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  870. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +2 -2
  871. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +4 -9
  872. package/ReactCommon/hermes/React-hermes.podspec +4 -13
  873. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -1
  874. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
  875. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -8
  876. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -8
  877. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +100 -106
  878. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +1 -1
  879. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -8
  880. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -8
  881. package/ReactCommon/jsc/CMakeLists.txt +4 -7
  882. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  883. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  884. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +12 -5
  885. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -11
  886. package/ReactCommon/jsi/CMakeLists.txt +5 -6
  887. package/ReactCommon/jsi/React-jsi.podspec +2 -15
  888. package/ReactCommon/jsiexecutor/CMakeLists.txt +4 -5
  889. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -14
  890. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +7 -8
  891. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -2
  892. package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -6
  893. package/ReactCommon/jsinspector-modern/HostAgent.cpp +304 -208
  894. package/ReactCommon/jsinspector-modern/HostAgent.h +8 -48
  895. package/ReactCommon/jsinspector-modern/HostTarget.cpp +1 -1
  896. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +1 -0
  897. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +4 -3
  898. package/ReactCommon/jsinspector-modern/InstanceAgent.h +1 -1
  899. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  900. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -4
  901. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -14
  902. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  903. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
  904. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +27 -12
  905. package/ReactCommon/jsinspector-modern/TracingAgent.h +2 -1
  906. package/ReactCommon/jsinspector-modern/cdp/CMakeLists.txt +26 -0
  907. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +50 -0
  908. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +27 -0
  909. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +143 -0
  910. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +110 -0
  911. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +157 -0
  912. package/ReactCommon/jsinspector-modern/network/HttpUtils.h +27 -0
  913. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +195 -0
  914. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +139 -0
  915. package/ReactCommon/jsinspector-modern/network/NetworkTypes.h +42 -0
  916. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +52 -0
  917. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1 -2
  918. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +12 -0
  919. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +3 -6
  920. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.cpp → EventLoopReporter.cpp} +22 -9
  921. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.h → EventLoopReporter.h} +13 -7
  922. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -5
  923. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +55 -42
  924. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +22 -13
  925. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +39 -30
  926. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +3 -8
  927. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +16 -0
  928. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +186 -162
  929. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +138 -5
  930. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +40 -92
  931. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +27 -35
  932. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +290 -0
  933. package/ReactCommon/jsitooling/CMakeLists.txt +4 -8
  934. package/ReactCommon/jsitooling/React-jsitooling.podspec +3 -21
  935. package/ReactCommon/logger/CMakeLists.txt +2 -1
  936. package/ReactCommon/logger/React-logger.podspec +1 -9
  937. package/ReactCommon/logger/react_native_log.cpp +2 -2
  938. package/ReactCommon/oscompat/CMakeLists.txt +2 -1
  939. package/ReactCommon/react/bridging/CMakeLists.txt +3 -7
  940. package/ReactCommon/react/debug/CMakeLists.txt +3 -8
  941. package/ReactCommon/react/featureflags/CMakeLists.txt +4 -9
  942. package/ReactCommon/react/featureflags/React-featureflags.podspec +2 -7
  943. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -41
  944. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +63 -53
  945. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +223 -187
  946. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -26
  947. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +46 -38
  948. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +100 -82
  949. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  950. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +33 -0
  951. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  952. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -13
  953. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +3 -8
  954. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -6
  955. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -0
  956. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +23 -0
  957. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  958. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +12 -18
  959. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -1
  960. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -9
  961. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -0
  962. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +29 -2
  963. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +7 -39
  964. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +30 -2
  965. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -7
  966. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -10
  967. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +3 -7
  968. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +3 -7
  969. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -8
  970. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +84 -0
  971. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h +30 -0
  972. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +3 -7
  973. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +58 -48
  974. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -21
  975. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -10
  976. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +3 -8
  977. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +4 -11
  978. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +3 -7
  979. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -10
  980. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -17
  981. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +4 -8
  982. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  983. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +21 -1
  984. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +32 -5
  985. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +5 -10
  986. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +18 -15
  987. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +53 -9
  988. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +29 -6
  989. package/ReactCommon/react/performance/timeline/CMakeLists.txt +5 -9
  990. package/ReactCommon/react/performance/timeline/CircularBuffer.h +0 -1
  991. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -15
  992. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +12 -3
  993. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +5 -2
  994. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +0 -1
  995. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +29 -33
  996. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  997. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +8 -3
  998. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -11
  999. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +80 -165
  1000. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +38 -71
  1001. package/ReactCommon/react/renderer/animations/CMakeLists.txt +3 -7
  1002. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +5 -9
  1003. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +2 -9
  1004. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +3 -3
  1005. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +3 -7
  1006. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -1
  1007. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  1008. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -6
  1009. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -2
  1010. package/ReactCommon/react/renderer/attributedstring/conversions.h +38 -6
  1011. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +3 -7
  1012. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +25 -5
  1013. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +3 -7
  1014. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +3 -7
  1015. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +3 -7
  1016. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -2
  1017. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1018. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +0 -1
  1019. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +3 -7
  1020. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +3 -7
  1021. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +48 -48
  1022. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -7
  1023. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +4 -10
  1024. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +3 -7
  1025. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +15 -0
  1026. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +3 -0
  1027. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -0
  1028. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +4 -10
  1029. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +13 -9
  1030. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +6 -0
  1031. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +111 -25
  1032. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +22 -2
  1033. package/ReactCommon/react/renderer/components/text/{ParagraphState.cpp → platform/android/react/renderer/components/text/ParagraphState.cpp} +0 -2
  1034. package/ReactCommon/react/renderer/components/text/{ParagraphState.h → platform/android/react/renderer/components/text/ParagraphState.h} +9 -14
  1035. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/ParagraphState.h +42 -0
  1036. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +8 -1
  1037. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -0
  1038. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +25 -11
  1039. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -7
  1040. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +30 -19
  1041. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +12 -11
  1042. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +5 -5
  1043. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -7
  1044. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  1045. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -1
  1046. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +8 -6
  1047. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +3 -7
  1048. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +16 -6
  1049. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -1
  1050. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -11
  1051. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +0 -2
  1052. package/ReactCommon/react/renderer/components/view/conversions.h +135 -79
  1053. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
  1054. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  1055. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -1
  1056. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  1057. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -7
  1058. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -7
  1059. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -3
  1060. package/ReactCommon/react/renderer/core/ConcreteState.h +23 -2
  1061. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +44 -0
  1062. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +30 -0
  1063. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -9
  1064. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -3
  1065. package/ReactCommon/react/renderer/core/EventPayload.h +13 -0
  1066. package/ReactCommon/react/renderer/core/EventQueue.cpp +26 -26
  1067. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -0
  1068. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1069. package/ReactCommon/react/renderer/core/RawEvent.h +10 -2
  1070. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -99
  1071. package/ReactCommon/react/renderer/core/RawProps.h +0 -11
  1072. package/ReactCommon/react/renderer/core/ReactEventPriority.h +5 -0
  1073. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -4
  1074. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  1075. package/ReactCommon/react/renderer/core/State.h +2 -0
  1076. package/ReactCommon/react/renderer/core/graphicsConversions.h +25 -17
  1077. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +0 -36
  1078. package/ReactCommon/react/renderer/core/tests/TestComponent.h +0 -4
  1079. package/ReactCommon/react/renderer/css/CMakeLists.txt +7 -7
  1080. package/ReactCommon/react/renderer/css/CSSTokenizer.h +12 -49
  1081. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
  1082. package/ReactCommon/react/renderer/debug/CMakeLists.txt +3 -7
  1083. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +27 -16
  1084. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +14 -5
  1085. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -16
  1086. package/ReactCommon/react/renderer/dom/CMakeLists.txt +3 -7
  1087. package/ReactCommon/react/renderer/element/CMakeLists.txt +3 -7
  1088. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +2 -1
  1089. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +3 -7
  1090. package/ReactCommon/react/renderer/graphics/ColorStop.h +28 -0
  1091. package/ReactCommon/react/renderer/graphics/LinearGradient.h +1 -12
  1092. package/ReactCommon/react/renderer/graphics/RadialGradient.h +92 -0
  1093. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -19
  1094. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +2 -2
  1095. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  1096. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +3 -7
  1097. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1098. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -13
  1099. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +3 -7
  1100. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +3 -8
  1101. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -7
  1102. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +73 -55
  1103. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +5 -0
  1104. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -7
  1105. package/ReactCommon/react/renderer/mounting/ShadowTree.h +47 -36
  1106. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +3 -1
  1107. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +44 -12
  1108. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +39 -6
  1109. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +41 -12
  1110. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -1
  1111. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +3 -7
  1112. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +0 -25
  1113. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +5 -2
  1114. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +3 -1
  1115. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -7
  1116. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -11
  1117. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -20
  1118. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +22 -10
  1119. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -7
  1120. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +43 -20
  1121. package/ReactCommon/react/renderer/scheduler/Scheduler.h +15 -1
  1122. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -0
  1123. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +84 -1
  1124. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +8 -0
  1125. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +3 -7
  1126. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +3 -7
  1127. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +7 -11
  1128. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +124 -0
  1129. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +7 -0
  1130. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +20 -0
  1131. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +126 -19
  1132. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +100 -0
  1133. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/{TextLayoutManager.cpp → react/renderer/textlayoutmanager/TextLayoutManager.cpp} +1 -18
  1134. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +57 -0
  1135. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -0
  1136. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +47 -24
  1137. package/ReactCommon/react/renderer/textlayoutmanager/{TextLayoutManager.h → platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h} +2 -29
  1138. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -0
  1139. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +4 -8
  1140. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +54 -23
  1141. package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -7
  1142. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +11 -1
  1143. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +19 -1
  1144. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +30 -0
  1145. package/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +24 -0
  1146. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +223 -0
  1147. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +3 -7
  1148. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -1
  1149. package/ReactCommon/react/runtime/CMakeLists.txt +4 -7
  1150. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -13
  1151. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -11
  1152. package/ReactCommon/react/runtime/ReactInstance.cpp +10 -5
  1153. package/ReactCommon/react/runtime/ReactInstance.h +2 -1
  1154. package/ReactCommon/react/runtime/TimerManager.cpp +6 -4
  1155. package/ReactCommon/react/runtime/TimerManager.h +3 -1
  1156. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -1
  1157. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +1 -0
  1158. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +2 -1
  1159. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -11
  1160. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +2 -0
  1161. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +17 -5
  1162. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -0
  1163. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +64 -4
  1164. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +9 -5
  1165. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  1166. package/ReactCommon/react/timing/CMakeLists.txt +3 -6
  1167. package/ReactCommon/react/utils/CMakeLists.txt +9 -9
  1168. package/ReactCommon/react/utils/React-utils.podspec +13 -17
  1169. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +95 -0
  1170. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt → ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h} +6 -6
  1171. package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  1172. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  1173. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.mm +22 -0
  1174. package/ReactCommon/reactperflogger/CMakeLists.txt +3 -7
  1175. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -12
  1176. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +7 -3
  1177. package/ReactCommon/runtimeexecutor/CMakeLists.txt +3 -6
  1178. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -6
  1179. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -12
  1180. package/ReactCommon/yoga/cmake/project-defaults.cmake +4 -4
  1181. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +1 -0
  1182. package/ReactCommon/yoga/yoga/event/event.h +6 -6
  1183. package/flow/global.js +1 -0
  1184. package/gradle/libs.versions.toml +17 -6
  1185. package/index.js +54 -334
  1186. package/interface.js +0 -4
  1187. package/jest/resolver.js +31 -0
  1188. package/jest-preset.js +1 -0
  1189. package/package.json +105 -34
  1190. package/scripts/cocoapods/fabric.rb +0 -1
  1191. package/scripts/cocoapods/helpers.rb +12 -1
  1192. package/scripts/cocoapods/new_architecture.rb +46 -17
  1193. package/scripts/cocoapods/rndependencies.rb +211 -0
  1194. package/scripts/cocoapods/utils.rb +2 -0
  1195. package/scripts/codegen/generate-artifacts-executor/constants.js +80 -0
  1196. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +66 -0
  1197. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +116 -0
  1198. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +39 -0
  1199. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +114 -0
  1200. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +120 -0
  1201. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +223 -0
  1202. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +38 -0
  1203. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +93 -0
  1204. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +113 -0
  1205. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +92 -0
  1206. package/scripts/codegen/generate-artifacts-executor/index.js +232 -0
  1207. package/scripts/codegen/generate-artifacts-executor/utils.js +399 -0
  1208. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +5 -0
  1209. package/{React/Base/UIKitProxies/RCTInitializeUIKitProxies.h → scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderH.template} +5 -1
  1210. package/scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderMM.template +19 -0
  1211. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -8
  1212. package/scripts/generate-codegen-artifacts.js +1 -1
  1213. package/scripts/react_native_pods.rb +18 -7
  1214. package/sdks/.hermesversion +1 -1
  1215. package/sdks/hermes-engine/hermes-utils.rb +7 -0
  1216. package/sdks/hermes-engine/utils/build-apple-framework.sh +4 -1
  1217. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -3
  1218. package/sdks/hermesc/osx-bin/hermes +0 -0
  1219. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1220. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1221. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1222. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1223. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1224. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  1225. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  1226. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  1227. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  1228. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  1229. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  1230. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  1231. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  1232. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  1233. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  1234. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  1235. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  1236. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  1237. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  1238. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  1239. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  1240. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  1241. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  1242. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  1243. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  1244. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  1245. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  1246. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  1247. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  1248. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  1249. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  1250. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  1251. package/src/private/featureflags/ReactNativeFeatureFlags.js +72 -80
  1252. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  1253. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -13
  1254. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  1255. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  1256. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  1257. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  1258. package/src/private/styles/composeStyles.js +12 -5
  1259. package/src/private/types/HostComponent.js +1 -1
  1260. package/src/private/types/HostInstance.js +67 -1
  1261. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  1262. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  1263. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  1264. package/src/private/webapis/performance/Performance.js +1 -3
  1265. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  1266. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  1267. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  1268. package/src/types/bom.js.flow +96 -0
  1269. package/src/types/cssom.js.flow +576 -0
  1270. package/src/types/dom.js.flow +19 -0
  1271. package/src/types/globals.d.ts +42 -0
  1272. package/src/types/streams.js.flow +141 -0
  1273. package/third-party-podspecs/RCT-Folly.podspec +7 -6
  1274. package/third-party-podspecs/ReactNativeDependencies.podspec +86 -0
  1275. package/third-party-podspecs/fast_float.podspec +2 -2
  1276. package/third-party-podspecs/replace_dependencies_version.js +107 -0
  1277. package/types/index.d.ts +6 -3
  1278. package/types/public/ReactNativeTVTypes.d.ts +42 -42
  1279. package/types/public/ReactNativeTypes.d.ts +2 -2
  1280. package/types/tsconfig.test.json +16 -0
  1281. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  1282. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  1283. package/Libraries/Blob/FileReader_new.js +0 -231
  1284. package/Libraries/Blob/FileReader_old.js +0 -186
  1285. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  1286. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  1287. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  1288. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  1289. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  1290. package/Libraries/Events/CustomEvent.js +0 -32
  1291. package/Libraries/Events/EventPolyfill.js +0 -239
  1292. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  1293. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  1294. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  1295. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  1296. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -48
  1297. package/Libraries/NewAppScreen/components/Header.js +0 -77
  1298. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -72
  1299. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  1300. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  1301. package/Libraries/NewAppScreen/components/logo.png +0 -0
  1302. package/Libraries/NewAppScreen/index.js +0 -25
  1303. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  1304. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  1305. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  1306. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  1307. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  1308. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  1309. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  1310. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  1311. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  1312. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  1313. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +0 -30
  1314. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +0 -185
  1315. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +0 -23
  1316. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +0 -25
  1317. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +0 -129
  1318. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +0 -26
  1319. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +0 -80
  1320. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +0 -26
  1321. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +0 -70
  1322. package/React/Fabric/Utils/RCTViewFinder.mm +0 -34
  1323. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +0 -23
  1324. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +0 -24
  1325. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +0 -21
  1326. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +0 -84
  1327. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +0 -59
  1328. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +0 -1240
  1329. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +0 -900
  1330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +0 -29
  1331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +0 -29
  1332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +0 -37
  1333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +0 -234
  1334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -57
  1335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +0 -103
  1336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +0 -110
  1337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +0 -89
  1338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -42
  1339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -36
  1340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +0 -110
  1341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +0 -18
  1342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -97
  1343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +0 -110
  1344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +0 -148
  1345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +0 -33
  1346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +0 -31
  1347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +0 -155
  1348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +0 -48
  1349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +0 -39
  1350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +0 -75
  1351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +0 -12
  1352. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +0 -23
  1353. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +0 -31
  1354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -128
  1355. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +0 -124
  1356. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +0 -313
  1357. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +0 -174
  1358. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +0 -117
  1359. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -495
  1360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +0 -1121
  1361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +0 -56
  1362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +0 -24
  1363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +0 -244
  1364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +0 -166
  1365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -47
  1366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +0 -300
  1367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +0 -17
  1368. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +0 -239
  1369. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +0 -103
  1370. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -329
  1371. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +0 -40
  1372. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -40
  1373. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +0 -25
  1374. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +0 -288
  1375. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +0 -474
  1376. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +0 -76
  1377. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -253
  1378. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +0 -383
  1379. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +0 -126
  1380. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +0 -103
  1381. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +0 -16
  1382. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +0 -204
  1383. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +0 -240
  1384. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +0 -785
  1385. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +0 -68
  1386. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +0 -22
  1387. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +0 -191
  1388. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +0 -143
  1389. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +0 -193
  1390. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +0 -48
  1391. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +0 -765
  1392. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +0 -131
  1393. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +0 -209
  1394. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +0 -138
  1395. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +0 -634
  1396. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +0 -90
  1397. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +0 -255
  1398. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +0 -555
  1399. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +0 -27
  1400. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.kt +0 -11
  1401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +0 -80
  1402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +0 -65
  1403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +0 -16
  1404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +0 -99
  1405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +0 -87
  1406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +0 -448
  1407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +0 -231
  1408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -119
  1409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +0 -46
  1410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +0 -127
  1411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -116
  1412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -109
  1413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -97
  1414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -19
  1415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -220
  1416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +0 -116
  1417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +0 -86
  1418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +0 -224
  1419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +0 -72
  1420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +0 -69
  1421. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +0 -63
  1422. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +0 -31
  1423. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +0 -213
  1424. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +0 -361
  1425. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +0 -409
  1426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +0 -47
  1427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -233
  1428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +0 -163
  1429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +0 -185
  1430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +0 -54
  1431. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +0 -1493
  1432. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +0 -160
  1433. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +0 -52
  1434. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +0 -47
  1435. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +0 -54
  1436. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +0 -47
  1437. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +0 -51
  1438. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +0 -44
  1439. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -1390
  1440. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +0 -53
  1441. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +0 -236
  1442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +0 -52
  1443. package/ReactAndroid/src/main/jni/prebuilt/lib/DUMMY +0 -1
  1444. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +0 -18
  1445. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +0 -31
  1446. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -26
  1447. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +0 -29
  1448. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +0 -35
  1449. package/android/README.md +0 -21
  1450. package/flow/jest.js +0 -1287
  1451. package/jest/__tests__/setup-test.js +0 -18
  1452. package/scripts/codegen/generate-artifacts-executor.js +0 -1118
  1453. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  1454. package/src/private/featureflags/README.md +0 -5
  1455. package/src/private/specs_DEPRECATED/README.md +0 -7
  1456. package/src/private/utilities/ensureInstance.js +0 -21
  1457. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  1458. package/types/modules/LaunchScreen.d.ts +0 -18
  1459. /package/ReactCommon/jsinspector-modern/{CdpJson.cpp → cdp/CdpJson.cpp} +0 -0
  1460. /package/ReactCommon/jsinspector-modern/{CdpJson.h → cdp/CdpJson.h} +0 -0
  1461. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  1462. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
  1463. /package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.js.flow +0 -0
@@ -0,0 +1,1139 @@
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.views.textinput
9
+
10
+ import android.annotation.SuppressLint
11
+ import android.graphics.BlendMode
12
+ import android.graphics.BlendModeColorFilter
13
+ import android.graphics.Paint
14
+ import android.graphics.PorterDuff
15
+ import android.os.Build
16
+ import android.text.InputFilter
17
+ import android.text.InputFilter.LengthFilter
18
+ import android.text.InputType
19
+ import android.text.Layout
20
+ import android.text.SpannableStringBuilder
21
+ import android.view.Gravity
22
+ import android.view.KeyEvent
23
+ import android.view.View
24
+ import android.view.View.OnFocusChangeListener
25
+ import android.view.ViewGroup
26
+ import android.view.inputmethod.EditorInfo
27
+ import android.widget.TextView
28
+ import androidx.autofill.HintConstants
29
+ import androidx.core.content.ContextCompat
30
+ import com.facebook.common.logging.FLog
31
+ import com.facebook.react.bridge.Dynamic
32
+ import com.facebook.react.bridge.ReactContext
33
+ import com.facebook.react.bridge.ReactSoftExceptionLogger.logSoftException
34
+ import com.facebook.react.bridge.ReadableArray
35
+ import com.facebook.react.bridge.ReadableType
36
+ import com.facebook.react.common.ReactConstants
37
+ import com.facebook.react.common.mapbuffer.MapBuffer
38
+ import com.facebook.react.module.annotations.ReactModule
39
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderColor
40
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderRadius
41
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderStyle
42
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderWidth
43
+ import com.facebook.react.uimanager.BaseViewManager
44
+ import com.facebook.react.uimanager.LayoutShadowNode
45
+ import com.facebook.react.uimanager.LengthPercentage
46
+ import com.facebook.react.uimanager.LengthPercentageType
47
+ import com.facebook.react.uimanager.ReactStylesDiffMap
48
+ import com.facebook.react.uimanager.StateWrapper
49
+ import com.facebook.react.uimanager.ThemedReactContext
50
+ import com.facebook.react.uimanager.UIManagerHelper
51
+ import com.facebook.react.uimanager.ViewDefaults
52
+ import com.facebook.react.uimanager.ViewProps
53
+ import com.facebook.react.uimanager.annotations.ReactProp
54
+ import com.facebook.react.uimanager.annotations.ReactPropGroup
55
+ import com.facebook.react.uimanager.events.BlurEvent
56
+ import com.facebook.react.uimanager.events.EventDispatcher
57
+ import com.facebook.react.uimanager.events.FocusEvent
58
+ import com.facebook.react.uimanager.style.BorderRadiusProp
59
+ import com.facebook.react.uimanager.style.BorderStyle.Companion.fromString
60
+ import com.facebook.react.uimanager.style.LogicalEdge
61
+ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper
62
+ import com.facebook.react.views.scroll.ScrollEventType
63
+ import com.facebook.react.views.scroll.ScrollEventType.Companion.getJSEventName
64
+ import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColor
65
+ import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorHighlight
66
+ import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorHint
67
+ import com.facebook.react.views.text.ReactBaseTextShadowNode
68
+ import com.facebook.react.views.text.ReactTextUpdate
69
+ import com.facebook.react.views.text.ReactTextUpdate.Companion.buildReactTextUpdateFromState
70
+ import com.facebook.react.views.text.ReactTextViewManagerCallback
71
+ import com.facebook.react.views.text.ReactTypefaceUtils.parseFontVariant
72
+ import com.facebook.react.views.text.TextAttributeProps
73
+ import com.facebook.react.views.text.TextLayoutManager
74
+ import com.facebook.react.views.text.TextTransform
75
+ import com.facebook.react.views.text.TextTransform.Companion.apply
76
+ import com.facebook.react.views.text.internal.span.TextInlineImageSpan.Companion.possiblyUpdateInlineImageSpans
77
+ import java.util.LinkedList
78
+
79
+ /** Manages instances of TextInput. */
80
+ @ReactModule(name = ReactTextInputManager.REACT_CLASS)
81
+ public open class ReactTextInputManager public constructor() :
82
+ BaseViewManager<ReactEditText, LayoutShadowNode>() {
83
+ protected var reactTextViewManagerCallback: ReactTextViewManagerCallback? = null
84
+
85
+ override fun getName(): String = REACT_CLASS
86
+
87
+ public override fun createViewInstance(context: ThemedReactContext): ReactEditText {
88
+ val editText = ReactEditText(context)
89
+ val inputType = editText.inputType
90
+ editText.inputType = inputType and (InputType.TYPE_TEXT_FLAG_MULTI_LINE.inv())
91
+ editText.returnKeyType = "done"
92
+ // Set default layoutParams to avoid NullPointerException to be thrown by Android EditTextView
93
+ // when update props (PlaceHolder) is executed before the view is layout.
94
+ // This change should not affect layout for TextInput components because layout will be
95
+ // overridden on the first RN commit.
96
+ editText.layoutParams =
97
+ ViewGroup.LayoutParams(
98
+ ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
99
+ return editText
100
+ }
101
+
102
+ override fun createShadowNodeInstance(): ReactBaseTextShadowNode = ReactTextInputShadowNode()
103
+
104
+ public fun createShadowNodeInstance(
105
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
106
+ ): ReactBaseTextShadowNode = ReactTextInputShadowNode(reactTextViewManagerCallback)
107
+
108
+ override fun getShadowNodeClass(): Class<out LayoutShadowNode> =
109
+ ReactTextInputShadowNode::class.java
110
+
111
+ override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
112
+ val baseEventTypeConstants = super.getExportedCustomBubblingEventTypeConstants()
113
+ val eventTypeConstants = baseEventTypeConstants ?: mutableMapOf()
114
+ eventTypeConstants.putAll(
115
+ mapOf(
116
+ "topSubmitEditing" to
117
+ mapOf(
118
+ "phasedRegistrationNames" to
119
+ mapOf(
120
+ "bubbled" to "onSubmitEditing",
121
+ "captured" to "onSubmitEditingCapture")),
122
+ "topEndEditing" to
123
+ mapOf(
124
+ "phasedRegistrationNames" to
125
+ mapOf("bubbled" to "onEndEditing", "captured" to "onEndEditingCapture")),
126
+ "topFocus" to
127
+ mapOf(
128
+ "phasedRegistrationNames" to
129
+ mapOf("bubbled" to "onFocus", "captured" to "onFocusCapture")),
130
+ "topBlur" to
131
+ mapOf(
132
+ "phasedRegistrationNames" to
133
+ mapOf("bubbled" to "onBlur", "captured" to "onBlurCapture")),
134
+ "topKeyPress" to
135
+ mapOf(
136
+ "phasedRegistrationNames" to
137
+ mapOf("bubbled" to "onKeyPress", "captured" to "onKeyPressCapture"))))
138
+ return eventTypeConstants
139
+ }
140
+
141
+ override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any> {
142
+ val baseEventTypeConstants = super.getExportedCustomDirectEventTypeConstants()
143
+ val eventTypeConstants = baseEventTypeConstants ?: mutableMapOf()
144
+ eventTypeConstants.putAll(
145
+ mapOf(getJSEventName(ScrollEventType.SCROLL) to mapOf("registrationName" to "onScroll")))
146
+ return eventTypeConstants
147
+ }
148
+
149
+ override fun getCommandsMap(): Map<String, Int> =
150
+ mapOf("focusTextInput" to FOCUS_TEXT_INPUT, "blurTextInput" to BLUR_TEXT_INPUT)
151
+
152
+ @Deprecated("Deprecated in Java")
153
+ override fun receiveCommand(reactEditText: ReactEditText, commandId: Int, args: ReadableArray?) {
154
+ when (commandId) {
155
+ FOCUS_TEXT_INPUT -> this.receiveCommand(reactEditText, "focus", args)
156
+ BLUR_TEXT_INPUT -> this.receiveCommand(reactEditText, "blur", args)
157
+ SET_MOST_RECENT_EVENT_COUNT -> {}
158
+ SET_TEXT_AND_SELECTION -> this.receiveCommand(reactEditText, "setTextAndSelection", args)
159
+ }
160
+ }
161
+
162
+ override fun receiveCommand(
163
+ reactEditText: ReactEditText,
164
+ commandId: String,
165
+ args: ReadableArray?
166
+ ) {
167
+ when (commandId) {
168
+ "focus",
169
+ "focusTextInput" -> reactEditText.requestFocusFromJS()
170
+ "blur",
171
+ "blurTextInput" -> reactEditText.clearFocusFromJS()
172
+ "setTextAndSelection" -> {
173
+ val mostRecentEventCount = checkNotNull(args).getInt(0)
174
+ if (mostRecentEventCount == UNSET) {
175
+ return
176
+ }
177
+ val start = args.getInt(2)
178
+ var end = args.getInt(3)
179
+ if (end == UNSET) {
180
+ end = start
181
+ }
182
+ if (!args.isNull(1)) {
183
+ val text = args.getString(1)
184
+ reactEditText.maybeSetTextFromJS(getReactTextUpdate(text, mostRecentEventCount))
185
+ }
186
+ reactEditText.maybeSetSelection(mostRecentEventCount, start, end)
187
+ }
188
+ }
189
+ }
190
+
191
+ private fun getReactTextUpdate(text: String?, mostRecentEventCount: Int): ReactTextUpdate {
192
+ val sb = SpannableStringBuilder()
193
+ sb.append(apply(text, TextTransform.UNSET))
194
+ return ReactTextUpdate(
195
+ sb, mostRecentEventCount, false, 0f, 0f, 0f, 0f, Gravity.NO_GRAVITY, 0, 0)
196
+ }
197
+
198
+ override fun updateExtraData(view: ReactEditText, extraData: Any) {
199
+ if (extraData is ReactTextUpdate) {
200
+ // TODO T58784068: delete this block of code, these are always unset in Fabric
201
+ val paddingLeft = extraData.paddingLeft.toInt()
202
+ val paddingTop = extraData.paddingTop.toInt()
203
+ val paddingRight = extraData.paddingRight.toInt()
204
+ val paddingBottom = extraData.paddingBottom.toInt()
205
+ if (paddingLeft != UNSET ||
206
+ paddingTop != UNSET ||
207
+ paddingRight != UNSET ||
208
+ paddingBottom != UNSET) {
209
+ view.setPadding(
210
+ if (paddingLeft != UNSET) paddingLeft else view.paddingLeft,
211
+ if (paddingTop != UNSET) paddingTop else view.paddingTop,
212
+ if (paddingRight != UNSET) paddingRight else view.paddingRight,
213
+ if (paddingBottom != UNSET) paddingBottom else view.paddingBottom)
214
+ }
215
+
216
+ @Suppress("DEPRECATION")
217
+ if (extraData.containsImages()) {
218
+ val spannable = extraData.text
219
+ possiblyUpdateInlineImageSpans(spannable, view)
220
+ }
221
+
222
+ // Ensure that selection is handled correctly on text update
223
+ val isCurrentSelectionEmpty = view.selectionStart == view.selectionEnd
224
+ var selectionStart = UNSET
225
+ var selectionEnd = UNSET
226
+ if (isCurrentSelectionEmpty) {
227
+ // if selection is not set by state, shift current selection to ensure constant gap to
228
+ // text end
229
+ val textLength = view.text?.length ?: 0
230
+ val selectionOffset = textLength - view.selectionStart
231
+ selectionStart = extraData.text.length - selectionOffset
232
+ selectionEnd = selectionStart
233
+ }
234
+
235
+ view.maybeSetTextFromState(extraData)
236
+ view.maybeSetSelection(extraData.jsEventCounter, selectionStart, selectionEnd)
237
+ }
238
+ }
239
+
240
+ @ReactProp(name = ViewProps.LINE_HEIGHT, defaultFloat = ViewDefaults.LINE_HEIGHT.toFloat())
241
+ public fun setLineHeight(view: ReactEditText, lineHeight: Int) {
242
+ view.lineHeight = lineHeight
243
+ }
244
+
245
+ @ReactProp(name = ViewProps.FONT_SIZE, defaultFloat = ViewDefaults.FONT_SIZE_SP)
246
+ public fun setFontSize(view: ReactEditText, fontSize: Float) {
247
+ view.setFontSize(fontSize)
248
+ }
249
+
250
+ @ReactProp(name = ViewProps.FONT_FAMILY)
251
+ public fun setFontFamily(view: ReactEditText, fontFamily: String?) {
252
+ view.setFontFamily(fontFamily)
253
+ }
254
+
255
+ @ReactProp(name = ViewProps.MAX_FONT_SIZE_MULTIPLIER, defaultFloat = Float.NaN)
256
+ public fun setMaxFontSizeMultiplier(view: ReactEditText, maxFontSizeMultiplier: Float) {
257
+ view.setMaxFontSizeMultiplier(maxFontSizeMultiplier)
258
+ }
259
+
260
+ @ReactProp(name = ViewProps.FONT_WEIGHT)
261
+ public fun setFontWeight(view: ReactEditText, fontWeight: String?) {
262
+ view.setFontWeight(fontWeight)
263
+ }
264
+
265
+ @ReactProp(name = ViewProps.FONT_STYLE)
266
+ public fun setFontStyle(view: ReactEditText, fontStyle: String?) {
267
+ view.setFontStyle(fontStyle)
268
+ }
269
+
270
+ @ReactProp(name = ViewProps.FONT_VARIANT)
271
+ public fun setFontVariant(view: ReactEditText, fontVariant: ReadableArray?) {
272
+ view.fontFeatureSettings = parseFontVariant(fontVariant)
273
+ }
274
+
275
+ @ReactProp(name = ViewProps.INCLUDE_FONT_PADDING, defaultBoolean = true)
276
+ public fun setIncludeFontPadding(view: ReactEditText, includepad: Boolean) {
277
+ view.includeFontPadding = includepad
278
+ }
279
+
280
+ @ReactProp(name = "importantForAutofill")
281
+ public fun setImportantForAutofill(view: ReactEditText, value: String?) {
282
+ var mode = View.IMPORTANT_FOR_AUTOFILL_AUTO
283
+ when (value) {
284
+ "no" -> mode = View.IMPORTANT_FOR_AUTOFILL_NO
285
+ "noExcludeDescendants" -> mode = View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
286
+ "yes" -> mode = View.IMPORTANT_FOR_AUTOFILL_YES
287
+ "yesExcludeDescendants" -> mode = View.IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
288
+ }
289
+ setImportantForAutofill(view, mode)
290
+ }
291
+
292
+ private fun setImportantForAutofill(view: ReactEditText, mode: Int) {
293
+ // Autofill hints were added in Android API 26.
294
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
295
+ return
296
+ }
297
+ view.importantForAutofill = mode
298
+ }
299
+
300
+ private fun setAutofillHints(view: ReactEditText, vararg hints: String) {
301
+ // Autofill hints were added in Android API 26.
302
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
303
+ return
304
+ }
305
+ view.setAutofillHints(*hints)
306
+ }
307
+
308
+ @ReactProp(name = "onSelectionChange", defaultBoolean = false)
309
+ public fun setOnSelectionChange(view: ReactEditText, onSelectionChange: Boolean) {
310
+ if (onSelectionChange) {
311
+ view.setSelectionWatcher(ReactTextSelectionWatcher(view))
312
+ } else {
313
+ view.setSelectionWatcher(null)
314
+ }
315
+ }
316
+
317
+ @ReactProp(name = "submitBehavior")
318
+ public fun setSubmitBehavior(view: ReactEditText, submitBehavior: String?) {
319
+ view.submitBehavior = submitBehavior
320
+ }
321
+
322
+ @ReactProp(name = "onContentSizeChange", defaultBoolean = false)
323
+ public fun setOnContentSizeChange(view: ReactEditText, onContentSizeChange: Boolean) {
324
+ if (onContentSizeChange) {
325
+ view.setContentSizeWatcher(ReactTextContentSizeWatcher(view))
326
+ } else {
327
+ view.setContentSizeWatcher(null)
328
+ }
329
+ }
330
+
331
+ @ReactProp(name = "onScroll", defaultBoolean = false)
332
+ public fun setOnScroll(view: ReactEditText, onScroll: Boolean) {
333
+ if (onScroll) {
334
+ view.setScrollWatcher(ReactTextScrollWatcher(view))
335
+ } else {
336
+ view.setScrollWatcher(null)
337
+ }
338
+ }
339
+
340
+ @ReactProp(name = "onKeyPress", defaultBoolean = false)
341
+ public fun setOnKeyPress(view: ReactEditText, onKeyPress: Boolean) {
342
+ view.setOnKeyPress(onKeyPress)
343
+ }
344
+
345
+ // Sets the letter spacing as an absolute point size.
346
+ // This extra handling, on top of what ReactBaseTextShadowNode already does, is required for the
347
+ // correct display of spacing in placeholder (hint) text.
348
+ @ReactProp(name = ViewProps.LETTER_SPACING, defaultFloat = 0f)
349
+ public fun setLetterSpacing(view: ReactEditText, letterSpacing: Float) {
350
+ view.setLetterSpacingPt(letterSpacing)
351
+ }
352
+
353
+ @ReactProp(name = ViewProps.ALLOW_FONT_SCALING, defaultBoolean = true)
354
+ public fun setAllowFontScaling(view: ReactEditText, allowFontScaling: Boolean) {
355
+ view.setAllowFontScaling(allowFontScaling)
356
+ }
357
+
358
+ @ReactProp(name = "placeholder")
359
+ public fun setPlaceholder(view: ReactEditText, placeholder: String?) {
360
+ view.setPlaceholder(placeholder)
361
+ }
362
+
363
+ @ReactProp(name = "placeholderTextColor", customType = "Color")
364
+ public fun setPlaceholderTextColor(view: ReactEditText, color: Int?) {
365
+ if (color == null) {
366
+ view.setHintTextColor(getDefaultTextColorHint(view.context))
367
+ } else {
368
+ view.setHintTextColor(color)
369
+ }
370
+ }
371
+
372
+ @ReactProp(name = "selectionColor", customType = "Color")
373
+ public fun setSelectionColor(view: ReactEditText, color: Int?) {
374
+ if (color == null) {
375
+ view.highlightColor = getDefaultTextColorHighlight(view.context)
376
+ } else {
377
+ view.highlightColor = color
378
+ }
379
+ }
380
+
381
+ @ReactProp(name = "selectionHandleColor", customType = "Color")
382
+ public fun setSelectionHandleColor(view: ReactEditText, color: Int?) {
383
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
384
+ val drawableCenter = checkNotNull(view.textSelectHandle?.mutate())
385
+ val drawableLeft = checkNotNull(view.textSelectHandleLeft?.mutate())
386
+ val drawableRight = checkNotNull(view.textSelectHandleRight?.mutate())
387
+ if (color != null) {
388
+ val filter = BlendModeColorFilter(color, BlendMode.SRC_IN)
389
+ drawableCenter.colorFilter = filter
390
+ drawableLeft.colorFilter = filter
391
+ drawableRight.colorFilter = filter
392
+ } else {
393
+ drawableCenter.clearColorFilter()
394
+ drawableLeft.clearColorFilter()
395
+ drawableRight.clearColorFilter()
396
+ }
397
+ view.setTextSelectHandle(drawableCenter)
398
+ view.setTextSelectHandleLeft(drawableLeft)
399
+ view.setTextSelectHandleRight(drawableRight)
400
+ return
401
+ }
402
+
403
+ // Based on https://github.com/facebook/react-native/pull/31007
404
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
405
+ return
406
+ }
407
+
408
+ // The following code uses reflection to change handles color on Android 8.1 and below.
409
+ for (i in DRAWABLE_HANDLE_RESOURCES.indices) {
410
+ try {
411
+ val drawableResourceField = view.javaClass.getDeclaredField(DRAWABLE_HANDLE_RESOURCES[i])
412
+ drawableResourceField.isAccessible = true
413
+ val resourceId = drawableResourceField.getInt(view)
414
+
415
+ // The view has no handle drawable.
416
+ if (resourceId == 0) {
417
+ return
418
+ }
419
+
420
+ val drawable = checkNotNull(ContextCompat.getDrawable(view.context, resourceId)?.mutate())
421
+ if (color != null) {
422
+ @Suppress("DEPRECATION") drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN)
423
+ } else {
424
+ drawable.clearColorFilter()
425
+ }
426
+
427
+ val editorField = TextView::class.java.getDeclaredField("mEditor")
428
+ editorField.isAccessible = true
429
+ val editor = checkNotNull(editorField[view])
430
+
431
+ val cursorDrawableField = editor.javaClass.getDeclaredField(DRAWABLE_HANDLE_FIELDS[i])
432
+ cursorDrawableField.isAccessible = true
433
+ cursorDrawableField[editor] = drawable
434
+ } catch (_: NoSuchFieldException) {} catch (_: IllegalAccessException) {}
435
+ }
436
+ }
437
+
438
+ @ReactProp(name = "cursorColor", customType = "Color")
439
+ public fun setCursorColor(view: ReactEditText, color: Int?) {
440
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
441
+ val cursorDrawable = view.textCursorDrawable
442
+ if (cursorDrawable != null) {
443
+ if (color != null) {
444
+ cursorDrawable.colorFilter = BlendModeColorFilter(color, BlendMode.SRC_IN)
445
+ } else {
446
+ cursorDrawable.clearColorFilter()
447
+ }
448
+ view.textCursorDrawable = cursorDrawable
449
+ }
450
+ return
451
+ }
452
+
453
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
454
+ // Pre-Android 10, there was no supported API to change the cursor color programmatically.
455
+ // In Android 9.0, they changed the underlying implementation,
456
+ // but also "dark greylisted" the new field, rendering it unusable.
457
+ return
458
+ }
459
+
460
+ // The evil code that follows uses reflection to achieve this on Android 8.1 and below.
461
+ // Based on https://tinyurl.com/3vff8lyu https://tinyurl.com/vehggzs9
462
+ try {
463
+ val drawableCursorField = view.javaClass.getDeclaredField("mCursorDrawableRes")
464
+ drawableCursorField.isAccessible = true
465
+ val resourceId = drawableCursorField.getInt(view)
466
+
467
+ // The view has no cursor drawable.
468
+ if (resourceId == 0) {
469
+ return
470
+ }
471
+
472
+ val drawable = checkNotNull(ContextCompat.getDrawable(view.context, resourceId)?.mutate())
473
+ if (color != null) {
474
+ @Suppress("DEPRECATION") drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN)
475
+ } else {
476
+ drawable.clearColorFilter()
477
+ }
478
+
479
+ val editorField = TextView::class.java.getDeclaredField("mEditor")
480
+ editorField.isAccessible = true
481
+ val editor = checkNotNull(editorField[view])
482
+
483
+ val cursorDrawableField = editor.javaClass.getDeclaredField("mCursorDrawable")
484
+ cursorDrawableField.isAccessible = true
485
+ val drawables = arrayOf(drawable, drawable)
486
+ cursorDrawableField[editor] = drawables
487
+ } catch (_: NoSuchFieldException) {
488
+ // Ignore errors to avoid crashing if these private fields don't exist on modified
489
+ // or future android versions.
490
+ } catch (_: IllegalAccessException) {}
491
+ }
492
+
493
+ @ReactProp(name = "caretHidden", defaultBoolean = false)
494
+ public fun setCaretHidden(view: ReactEditText, caretHidden: Boolean) {
495
+ if (view.stagedInputType == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS &&
496
+ shouldHideCursorForEmailTextInput()) {
497
+ return
498
+ }
499
+ view.isCursorVisible = !caretHidden
500
+ }
501
+
502
+ @ReactProp(name = "contextMenuHidden", defaultBoolean = false)
503
+ public fun setContextMenuHidden(view: ReactEditText, contextMenuHidden: Boolean) {
504
+ view.setContextMenuHidden(contextMenuHidden)
505
+ }
506
+
507
+ @ReactProp(name = "selectTextOnFocus", defaultBoolean = false)
508
+ public fun setSelectTextOnFocus(view: ReactEditText, selectTextOnFocus: Boolean) {
509
+ view.setSelectTextOnFocus(selectTextOnFocus)
510
+ }
511
+
512
+ @ReactProp(name = ViewProps.COLOR, customType = "Color")
513
+ public fun setColor(view: ReactEditText, color: Int?) {
514
+ if (color == null) {
515
+ val defaultContextTextColor = getDefaultTextColor(view.context)
516
+
517
+ if (defaultContextTextColor != null) {
518
+ view.setTextColor(defaultContextTextColor)
519
+ } else {
520
+ val c = view.context
521
+ logSoftException(
522
+ TAG,
523
+ IllegalStateException(
524
+ "Could not get default text color from View Context: " +
525
+ (if (c != null) c.javaClass.canonicalName else "null")))
526
+ }
527
+ } else {
528
+ view.setTextColor(color)
529
+ }
530
+ }
531
+
532
+ @ReactProp(name = "underlineColorAndroid", customType = "Color")
533
+ public fun setUnderlineColor(view: ReactEditText, underlineColor: Int?) {
534
+ // Drawable.mutate() can sometimes crash due to an AOSP bug:
535
+ // See https://code.google.com/p/android/issues/detail?id=191754 for more info
536
+ val background = view.background
537
+ var drawableToMutate = background
538
+
539
+ if (background == null) {
540
+ return
541
+ }
542
+
543
+ if (background.constantState != null) {
544
+ try {
545
+ drawableToMutate = checkNotNull(background.mutate())
546
+ } catch (e: NullPointerException) {
547
+ FLog.e(TAG, "NullPointerException when setting underlineColorAndroid for TextInput", e)
548
+ }
549
+ }
550
+
551
+ if (underlineColor == null) {
552
+ drawableToMutate.clearColorFilter()
553
+ } else {
554
+ @Suppress("DEPRECATION")
555
+ drawableToMutate.setColorFilter(underlineColor, PorterDuff.Mode.SRC_IN)
556
+ }
557
+ }
558
+
559
+ @SuppressLint("WrongConstant")
560
+ @ReactProp(name = ViewProps.TEXT_ALIGN)
561
+ public fun setTextAlign(view: ReactEditText, textAlign: String?) {
562
+ if ("justify" == textAlign) {
563
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
564
+ view.justificationMode = Layout.JUSTIFICATION_MODE_INTER_WORD
565
+ }
566
+ view.gravityHorizontal = Gravity.LEFT
567
+ } else {
568
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
569
+ view.justificationMode = Layout.JUSTIFICATION_MODE_NONE
570
+ }
571
+
572
+ when (textAlign) {
573
+ null,
574
+ "auto" -> view.gravityHorizontal = Gravity.NO_GRAVITY
575
+ "left" -> view.gravityHorizontal = Gravity.LEFT
576
+ "right" -> view.gravityHorizontal = Gravity.RIGHT
577
+ "center" -> view.gravityHorizontal = Gravity.CENTER_HORIZONTAL
578
+ else -> {
579
+ FLog.w(ReactConstants.TAG, "Invalid textAlign: $textAlign")
580
+ view.gravityHorizontal = Gravity.NO_GRAVITY
581
+ }
582
+ }
583
+ }
584
+ }
585
+
586
+ @ReactProp(name = ViewProps.TEXT_ALIGN_VERTICAL)
587
+ public fun setTextAlignVertical(view: ReactEditText, textAlignVertical: String?) {
588
+ when (textAlignVertical) {
589
+ null,
590
+ "auto" -> view.gravityVertical = Gravity.NO_GRAVITY
591
+ "top" -> view.gravityVertical = Gravity.TOP
592
+ "bottom" -> view.gravityVertical = Gravity.BOTTOM
593
+ "center" -> view.gravityVertical = Gravity.CENTER_VERTICAL
594
+ else -> {
595
+ FLog.w(ReactConstants.TAG, "Invalid textAlignVertical: $textAlignVertical")
596
+ view.gravityVertical = Gravity.NO_GRAVITY
597
+ }
598
+ }
599
+ }
600
+
601
+ @ReactProp(name = "inlineImageLeft")
602
+ public fun setInlineImageLeft(view: ReactEditText, resource: String?) {
603
+ val id = ResourceDrawableIdHelper.getResourceDrawableId(view.context, resource)
604
+ view.setCompoundDrawablesWithIntrinsicBounds(id, 0, 0, 0)
605
+ }
606
+
607
+ @ReactProp(name = "inlineImagePadding")
608
+ public fun setInlineImagePadding(view: ReactEditText, padding: Int) {
609
+ view.compoundDrawablePadding = padding
610
+ }
611
+
612
+ @ReactProp(name = "editable", defaultBoolean = true)
613
+ public fun setEditable(view: ReactEditText, editable: Boolean) {
614
+ view.isEnabled = editable
615
+ }
616
+
617
+ @ReactProp(name = ViewProps.NUMBER_OF_LINES, defaultInt = 1)
618
+ public fun setNumLines(view: ReactEditText, numLines: Int) {
619
+ view.setLines(numLines)
620
+ }
621
+
622
+ @ReactProp(name = "maxLength")
623
+ public fun setMaxLength(view: ReactEditText, maxLength: Int?) {
624
+ val currentFilters = view.filters
625
+ var newFilters = EMPTY_FILTERS
626
+
627
+ if (maxLength == null) {
628
+ if (currentFilters.isNotEmpty()) {
629
+ val list = LinkedList<InputFilter?>()
630
+ for (currentFilter in currentFilters) {
631
+ if (currentFilter !is LengthFilter) {
632
+ list.add(currentFilter)
633
+ }
634
+ }
635
+ if (!list.isEmpty()) {
636
+ newFilters = list.toTypedArray<InputFilter?>()
637
+ }
638
+ }
639
+ } else {
640
+ if (currentFilters.isNotEmpty()) {
641
+ newFilters = currentFilters
642
+ var replaced = false
643
+ for (i in currentFilters.indices) {
644
+ if (currentFilters[i] is LengthFilter) {
645
+ currentFilters[i] = LengthFilter(maxLength)
646
+ replaced = true
647
+ }
648
+ }
649
+ if (!replaced) {
650
+ newFilters = arrayOfNulls(currentFilters.size + 1)
651
+ System.arraycopy(currentFilters, 0, newFilters, 0, currentFilters.size)
652
+ currentFilters[currentFilters.size] = LengthFilter(maxLength)
653
+ }
654
+ } else {
655
+ newFilters = arrayOfNulls(1)
656
+ newFilters[0] = LengthFilter(maxLength)
657
+ }
658
+ }
659
+
660
+ view.filters = newFilters
661
+ }
662
+
663
+ @ReactProp(name = "autoComplete")
664
+ public fun setTextContentType(view: ReactEditText, autoComplete: String?) {
665
+ when {
666
+ autoComplete == null -> setImportantForAutofill(view, View.IMPORTANT_FOR_AUTOFILL_NO)
667
+ "off" == autoComplete -> setImportantForAutofill(view, View.IMPORTANT_FOR_AUTOFILL_NO)
668
+ REACT_PROPS_AUTOFILL_HINTS_MAP.containsKey(autoComplete) ->
669
+ setAutofillHints(view, checkNotNull(REACT_PROPS_AUTOFILL_HINTS_MAP[autoComplete]))
670
+ else -> {
671
+ FLog.w(ReactConstants.TAG, "Invalid autoComplete: $autoComplete")
672
+ setImportantForAutofill(view, View.IMPORTANT_FOR_AUTOFILL_NO)
673
+ }
674
+ }
675
+ }
676
+
677
+ @ReactProp(name = "autoCorrect")
678
+ public fun setAutoCorrect(view: ReactEditText, autoCorrect: Boolean?) {
679
+ // clear auto correct flags, set SUGGESTIONS or NO_SUGGESTIONS depending on value
680
+ updateStagedInputTypeFlag(
681
+ view = view,
682
+ flagsToUnset =
683
+ InputType.TYPE_TEXT_FLAG_AUTO_CORRECT or InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS,
684
+ flagsToSet =
685
+ when (autoCorrect) {
686
+ true -> InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
687
+ false -> InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
688
+ else -> 0
689
+ })
690
+ }
691
+
692
+ @ReactProp(name = "multiline", defaultBoolean = false)
693
+ public fun setMultiline(view: ReactEditText, multiline: Boolean) {
694
+ updateStagedInputTypeFlag(
695
+ view = view,
696
+ flagsToUnset = if (multiline) 0 else InputType.TYPE_TEXT_FLAG_MULTI_LINE,
697
+ flagsToSet = if (multiline) InputType.TYPE_TEXT_FLAG_MULTI_LINE else 0)
698
+ }
699
+
700
+ @ReactProp(name = "secureTextEntry", defaultBoolean = false)
701
+ public fun setSecureTextEntry(view: ReactEditText, password: Boolean) {
702
+ updateStagedInputTypeFlag(
703
+ view = view,
704
+ flagsToUnset =
705
+ if (password) {
706
+ InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
707
+ } else {
708
+ InputType.TYPE_NUMBER_VARIATION_PASSWORD or InputType.TYPE_TEXT_VARIATION_PASSWORD
709
+ },
710
+ flagsToSet = if (password) InputType.TYPE_TEXT_VARIATION_PASSWORD else 0)
711
+ checkPasswordType(view)
712
+ }
713
+
714
+ // This prop temporarily takes both numbers and strings.
715
+ // Number values are deprecated and will be removed in a future release.
716
+ // See T46146267
717
+ @ReactProp(name = "autoCapitalize")
718
+ public fun setAutoCapitalize(view: ReactEditText, autoCapitalize: Dynamic) {
719
+ var autoCapitalizeValue = InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
720
+
721
+ if (autoCapitalize.type == ReadableType.Number) {
722
+ autoCapitalizeValue = autoCapitalize.asInt()
723
+ } else if (autoCapitalize.type == ReadableType.String) {
724
+ val autoCapitalizeStr = autoCapitalize.asString()
725
+ when (autoCapitalizeStr) {
726
+ "none" -> autoCapitalizeValue = 0
727
+ "characters" -> autoCapitalizeValue = InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
728
+ "words" -> autoCapitalizeValue = InputType.TYPE_TEXT_FLAG_CAP_WORDS
729
+ "sentences" -> autoCapitalizeValue = InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
730
+ }
731
+ }
732
+
733
+ updateStagedInputTypeFlag(view, AUTOCAPITALIZE_FLAGS, autoCapitalizeValue)
734
+ }
735
+
736
+ @ReactProp(name = "keyboardType")
737
+ public fun setKeyboardType(view: ReactEditText, keyboardType: String?) {
738
+ var flagsToSet = InputType.TYPE_CLASS_TEXT
739
+ if (KEYBOARD_TYPE_NUMERIC.equals(keyboardType, ignoreCase = true)) {
740
+ flagsToSet = INPUT_TYPE_KEYBOARD_NUMBERED
741
+ } else if (KEYBOARD_TYPE_NUMBER_PAD.equals(keyboardType, ignoreCase = true)) {
742
+ flagsToSet = INPUT_TYPE_KEYBOARD_NUMBER_PAD
743
+ } else if (KEYBOARD_TYPE_DECIMAL_PAD.equals(keyboardType, ignoreCase = true)) {
744
+ flagsToSet = INPUT_TYPE_KEYBOARD_DECIMAL_PAD
745
+ } else if (KEYBOARD_TYPE_EMAIL_ADDRESS.equals(keyboardType, ignoreCase = true)) {
746
+ flagsToSet = InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS or InputType.TYPE_CLASS_TEXT
747
+
748
+ // Set cursor's visibility to False to fix a crash on some Xiaomi devices with Android Q. This
749
+ // crash happens when focusing on a email EditText, during which a prompt will be triggered
750
+ // but
751
+ // the system fail to locate it properly. Here is an example post discussing about this
752
+ // issue: https://github.com/facebook/react-native/issues/27204
753
+ if (shouldHideCursorForEmailTextInput()) {
754
+ view.isCursorVisible = false
755
+ }
756
+ } else if (KEYBOARD_TYPE_PHONE_PAD.equals(keyboardType, ignoreCase = true)) {
757
+ flagsToSet = InputType.TYPE_CLASS_PHONE
758
+ } else if (KEYBOARD_TYPE_VISIBLE_PASSWORD.equals(keyboardType, ignoreCase = true)) {
759
+ // This will supersede secureTextEntry={false}. If it doesn't, due to the way
760
+ // the flags work out, the underlying field will end up a URI-type field.
761
+ flagsToSet = InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
762
+ } else if (KEYBOARD_TYPE_URI.equals(keyboardType, ignoreCase = true)) {
763
+ flagsToSet = InputType.TYPE_TEXT_VARIATION_URI
764
+ }
765
+
766
+ updateStagedInputTypeFlag(view, InputType.TYPE_MASK_CLASS, flagsToSet)
767
+ checkPasswordType(view)
768
+ }
769
+
770
+ @ReactProp(name = "returnKeyType")
771
+ public fun setReturnKeyType(view: ReactEditText, returnKeyType: String?) {
772
+ view.returnKeyType = returnKeyType
773
+ }
774
+
775
+ @ReactProp(name = "acceptDragAndDropTypes")
776
+ public fun setAcceptDragAndDropTypes(
777
+ view: ReactEditText,
778
+ acceptDragAndDropTypes: ReadableArray?
779
+ ) {
780
+ if (acceptDragAndDropTypes == null) {
781
+ view.dragAndDropFilter = null
782
+ } else {
783
+ val acceptedTypes = mutableListOf<String>()
784
+ for (i in 0 until acceptDragAndDropTypes.size()) {
785
+ acceptDragAndDropTypes.getString(i)?.also(acceptedTypes::add)
786
+ }
787
+ view.dragAndDropFilter = acceptedTypes
788
+ }
789
+ }
790
+
791
+ @ReactProp(name = "disableFullscreenUI", defaultBoolean = false)
792
+ public fun setDisableFullscreenUI(view: ReactEditText, disableFullscreenUI: Boolean) {
793
+ view.disableFullscreenUI = disableFullscreenUI
794
+ }
795
+
796
+ @ReactProp(name = "returnKeyLabel")
797
+ public fun setReturnKeyLabel(view: ReactEditText, returnKeyLabel: String?) {
798
+ view.setImeActionLabel(returnKeyLabel, IME_ACTION_ID)
799
+ }
800
+
801
+ @ReactPropGroup(
802
+ names =
803
+ [
804
+ ViewProps.BORDER_RADIUS,
805
+ ViewProps.BORDER_TOP_LEFT_RADIUS,
806
+ ViewProps.BORDER_TOP_RIGHT_RADIUS,
807
+ ViewProps.BORDER_BOTTOM_RIGHT_RADIUS,
808
+ ViewProps.BORDER_BOTTOM_LEFT_RADIUS],
809
+ defaultFloat = Float.NaN)
810
+ public fun setBorderRadius(view: ReactEditText, index: Int, borderRadius: Float) {
811
+ val radius =
812
+ if (java.lang.Float.isNaN(borderRadius)) {
813
+ null
814
+ } else {
815
+ LengthPercentage(borderRadius, LengthPercentageType.POINT)
816
+ }
817
+ setBorderRadius(view, BorderRadiusProp.entries[index], radius)
818
+ }
819
+
820
+ @ReactProp(name = "borderStyle")
821
+ public fun setBorderStyle(view: ReactEditText, borderStyle: String?) {
822
+ val parsedBorderStyle = borderStyle?.let { fromString(it) }
823
+ setBorderStyle(view, parsedBorderStyle)
824
+ }
825
+
826
+ @ReactProp(name = "showSoftInputOnFocus", defaultBoolean = true)
827
+ public fun showKeyboardOnFocus(view: ReactEditText, showKeyboardOnFocus: Boolean) {
828
+ view.showSoftInputOnFocus = showKeyboardOnFocus
829
+ }
830
+
831
+ @ReactProp(name = "autoFocus", defaultBoolean = false)
832
+ public fun setAutoFocus(view: ReactEditText, autoFocus: Boolean) {
833
+ view.setAutoFocus(autoFocus)
834
+ }
835
+
836
+ @ReactProp(name = ViewProps.TEXT_DECORATION_LINE)
837
+ public fun setTextDecorationLine(view: ReactEditText, textDecorationLineString: String?) {
838
+ view.paintFlags =
839
+ view.paintFlags and (Paint.STRIKE_THRU_TEXT_FLAG or Paint.UNDERLINE_TEXT_FLAG).inv()
840
+
841
+ if (textDecorationLineString == null) {
842
+ return
843
+ }
844
+ for (token in
845
+ textDecorationLineString
846
+ .split(" ".toRegex())
847
+ .dropLastWhile { it.isEmpty() }
848
+ .toTypedArray()) {
849
+ if (token == "underline") {
850
+ view.paintFlags = view.paintFlags or Paint.UNDERLINE_TEXT_FLAG
851
+ } else if (token == "line-through") {
852
+ view.paintFlags = view.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
853
+ }
854
+ }
855
+ }
856
+
857
+ @ReactPropGroup(
858
+ names =
859
+ [
860
+ ViewProps.BORDER_WIDTH,
861
+ ViewProps.BORDER_LEFT_WIDTH,
862
+ ViewProps.BORDER_RIGHT_WIDTH,
863
+ ViewProps.BORDER_TOP_WIDTH,
864
+ ViewProps.BORDER_BOTTOM_WIDTH],
865
+ defaultFloat = Float.NaN)
866
+ public fun setBorderWidth(view: ReactEditText, index: Int, width: Float) {
867
+ setBorderWidth(view, LogicalEdge.entries[index], width)
868
+ }
869
+
870
+ @ReactPropGroup(
871
+ names =
872
+ [
873
+ "borderColor",
874
+ "borderLeftColor",
875
+ "borderRightColor",
876
+ "borderTopColor",
877
+ "borderBottomColor"],
878
+ customType = "Color")
879
+ public fun setBorderColor(view: ReactEditText, index: Int, color: Int?) {
880
+ setBorderColor(view, LogicalEdge.ALL, color)
881
+ }
882
+
883
+ @ReactProp(name = "overflow")
884
+ public fun setOverflow(view: ReactEditText, overflow: String?) {
885
+ view.setOverflow(overflow)
886
+ }
887
+
888
+ override fun onAfterUpdateTransaction(view: ReactEditText) {
889
+ super.onAfterUpdateTransaction(view)
890
+ view.maybeUpdateTypeface()
891
+ view.commitStagedInputType()
892
+ }
893
+
894
+ override fun addEventEmitters(reactContext: ThemedReactContext, editText: ReactEditText) {
895
+ editText.setEventDispatcher(getEventDispatcher(reactContext, editText))
896
+ editText.addTextChangedListener(ReactTextInputTextWatcher(reactContext, editText))
897
+ editText.onFocusChangeListener = OnFocusChangeListener { _: View?, hasFocus: Boolean ->
898
+ val surfaceId = reactContext.surfaceId
899
+ val eventDispatcher = getEventDispatcher(reactContext, editText)
900
+ if (hasFocus) {
901
+ eventDispatcher?.dispatchEvent(FocusEvent(surfaceId, editText.id))
902
+ } else {
903
+ eventDispatcher?.dispatchEvent(BlurEvent(surfaceId, editText.id))
904
+ eventDispatcher?.dispatchEvent(
905
+ ReactTextInputEndEditingEvent(surfaceId, editText.id, editText.text.toString()))
906
+ }
907
+ }
908
+
909
+ editText.setOnEditorActionListener { _: TextView?, actionId: Int, _: KeyEvent? ->
910
+ if ((actionId and EditorInfo.IME_MASK_ACTION) != 0 || actionId == EditorInfo.IME_NULL) {
911
+ val isMultiline = editText.isMultiline
912
+
913
+ val shouldSubmit = editText.shouldSubmitOnReturn()
914
+ val shouldBlur = editText.shouldBlurOnReturn()
915
+
916
+ // Motivation:
917
+ // * shouldSubmit => Clear focus; prevent default behavior (return true);
918
+ // * shouldBlur => Submit; prevent default behavior (return true);
919
+ // * !shouldBlur && !shouldSubmit && isMultiline => Perform default behavior (return
920
+ // false);
921
+ // * !shouldBlur && !shouldSubmit && !isMultiline => Prevent default behavior (return
922
+ // true);
923
+ if (shouldSubmit) {
924
+ val eventDispatcher = getEventDispatcher(reactContext, editText)
925
+ eventDispatcher?.dispatchEvent(
926
+ ReactTextInputSubmitEditingEvent(
927
+ reactContext.surfaceId, editText.id, editText.text.toString()))
928
+ }
929
+
930
+ if (shouldBlur) {
931
+ editText.clearFocusAndMaybeRefocus()
932
+ }
933
+
934
+ // Prevent default behavior except when we want it to insert a newline.
935
+ if (shouldBlur || shouldSubmit || !isMultiline) {
936
+ return@setOnEditorActionListener true
937
+ }
938
+
939
+ // If we've reached this point, it means that the TextInput has 'submitBehavior' set
940
+ // nullish and 'multiline' set to true. But it's still possible to get IME_ACTION_NEXT
941
+ // and IME_ACTION_PREVIOUS here in case if 'disableFullscreenUI' is false and Android
942
+ // decides to render this EditText in the full screen mode (when a phone has the
943
+ // landscape orientation for example). The full screen EditText also renders an action
944
+ // button specified by the 'returnKeyType' prop. We have to prevent Android from
945
+ // requesting focus from the next/previous focusable view since it must only be
946
+ // controlled from JS.
947
+ return@setOnEditorActionListener actionId == EditorInfo.IME_ACTION_NEXT ||
948
+ actionId == EditorInfo.IME_ACTION_PREVIOUS
949
+ }
950
+ true
951
+ }
952
+ }
953
+
954
+ override fun getExportedViewConstants(): Map<String, Any> =
955
+ mapOf(
956
+ "AutoCapitalizationType" to
957
+ mapOf(
958
+ "none" to 0,
959
+ "characters" to InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS,
960
+ "words" to InputType.TYPE_TEXT_FLAG_CAP_WORDS,
961
+ "sentences" to InputType.TYPE_TEXT_FLAG_CAP_SENTENCES))
962
+
963
+ override fun setPadding(view: ReactEditText, left: Int, top: Int, right: Int, bottom: Int) {
964
+ view.setPadding(left, top, right, bottom)
965
+ }
966
+
967
+ override fun updateState(
968
+ view: ReactEditText,
969
+ props: ReactStylesDiffMap,
970
+ stateWrapper: StateWrapper
971
+ ): Any? {
972
+ if (ReactEditText.DEBUG_MODE) {
973
+ FLog.e(TAG, "updateState: [${view.id}]")
974
+ }
975
+
976
+ val stateManager = view.stateWrapper
977
+ if (stateManager == null) {
978
+ // HACK: In Fabric, we assume all components start off with zero padding, which is
979
+ // not true for TextInput components. We expose the theme's default padding via
980
+ // AndroidTextInputComponentDescriptor, which will be applied later though setPadding.
981
+ // TODO T58784068: move this constructor once Fabric is shipped
982
+ view.setPadding(0, 0, 0, 0)
983
+ }
984
+
985
+ view.stateWrapper = stateWrapper
986
+
987
+ val stateMapBuffer: MapBuffer? = stateWrapper.stateDataMapBuffer
988
+ if (stateMapBuffer != null) {
989
+ return getReactTextUpdate(view, props, stateMapBuffer)
990
+ }
991
+
992
+ return null
993
+ }
994
+
995
+ public fun getReactTextUpdate(
996
+ view: ReactEditText,
997
+ props: ReactStylesDiffMap,
998
+ state: MapBuffer
999
+ ): Any? {
1000
+ // If native wants to update the state wrapper but the state data hasn't actually
1001
+ // changed, the MapBuffer may be empty
1002
+ if (state.count == 0) {
1003
+ return null
1004
+ }
1005
+
1006
+ val attributedString = state.getMapBuffer(TX_STATE_KEY_ATTRIBUTED_STRING.toInt())
1007
+ val paragraphAttributes = state.getMapBuffer(TX_STATE_KEY_PARAGRAPH_ATTRIBUTES.toInt())
1008
+
1009
+ val spanned =
1010
+ TextLayoutManager.getOrCreateSpannableForText(
1011
+ view.context, attributedString, reactTextViewManagerCallback)
1012
+
1013
+ val textBreakStrategy =
1014
+ TextAttributeProps.getTextBreakStrategy(
1015
+ paragraphAttributes.getString(TextLayoutManager.PA_KEY_TEXT_BREAK_STRATEGY.toInt()))
1016
+ val currentJustificationMode =
1017
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
1018
+ 0
1019
+ } else {
1020
+ view.justificationMode
1021
+ }
1022
+
1023
+ return buildReactTextUpdateFromState(
1024
+ spanned,
1025
+ state.getInt(TX_STATE_KEY_MOST_RECENT_EVENT_COUNT.toInt()),
1026
+ TextAttributeProps.getTextAlignment(
1027
+ props, TextLayoutManager.isRTL(attributedString), view.gravityHorizontal),
1028
+ textBreakStrategy,
1029
+ TextAttributeProps.getJustificationMode(props, currentJustificationMode))
1030
+ }
1031
+
1032
+ public companion object {
1033
+ public val TAG: String = ReactTextInputManager::class.java.simpleName
1034
+ public const val REACT_CLASS: String = "AndroidTextInput"
1035
+
1036
+ // See also ReactTextViewManager
1037
+ private const val TX_STATE_KEY_ATTRIBUTED_STRING: Short = 0
1038
+ private const val TX_STATE_KEY_PARAGRAPH_ATTRIBUTES: Short = 1
1039
+ // private const val TX_STATE_KEY_HASH: Short = 2
1040
+ private const val TX_STATE_KEY_MOST_RECENT_EVENT_COUNT: Short = 3
1041
+
1042
+ private val REACT_PROPS_AUTOFILL_HINTS_MAP: Map<String, String> =
1043
+ mapOf(
1044
+ "birthdate-day" to HintConstants.AUTOFILL_HINT_BIRTH_DATE_DAY,
1045
+ "birthdate-full" to HintConstants.AUTOFILL_HINT_BIRTH_DATE_FULL,
1046
+ "birthdate-month" to HintConstants.AUTOFILL_HINT_BIRTH_DATE_MONTH,
1047
+ "birthdate-year" to HintConstants.AUTOFILL_HINT_BIRTH_DATE_YEAR,
1048
+ "cc-csc" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE,
1049
+ "cc-exp" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE,
1050
+ "cc-exp-day" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY,
1051
+ "cc-exp-month" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH,
1052
+ "cc-exp-year" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR,
1053
+ "cc-number" to HintConstants.AUTOFILL_HINT_CREDIT_CARD_NUMBER,
1054
+ "email" to HintConstants.AUTOFILL_HINT_EMAIL_ADDRESS,
1055
+ "gender" to HintConstants.AUTOFILL_HINT_GENDER,
1056
+ "name" to HintConstants.AUTOFILL_HINT_PERSON_NAME,
1057
+ "name-family" to HintConstants.AUTOFILL_HINT_PERSON_NAME_FAMILY,
1058
+ "name-given" to HintConstants.AUTOFILL_HINT_PERSON_NAME_GIVEN,
1059
+ "name-middle" to HintConstants.AUTOFILL_HINT_PERSON_NAME_MIDDLE,
1060
+ "name-middle-initial" to HintConstants.AUTOFILL_HINT_PERSON_NAME_MIDDLE_INITIAL,
1061
+ "name-prefix" to HintConstants.AUTOFILL_HINT_PERSON_NAME_PREFIX,
1062
+ "name-suffix" to HintConstants.AUTOFILL_HINT_PERSON_NAME_SUFFIX,
1063
+ "password" to HintConstants.AUTOFILL_HINT_PASSWORD,
1064
+ "password-new" to HintConstants.AUTOFILL_HINT_NEW_PASSWORD,
1065
+ "postal-address" to HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS,
1066
+ "postal-address-country" to HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_COUNTRY,
1067
+ "postal-address-extended" to
1068
+ HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_EXTENDED_ADDRESS,
1069
+ "postal-address-extended-postal-code" to
1070
+ HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_EXTENDED_POSTAL_CODE,
1071
+ "postal-address-locality" to HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_LOCALITY,
1072
+ "postal-address-region" to HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_REGION,
1073
+ "postal-code" to HintConstants.AUTOFILL_HINT_POSTAL_CODE,
1074
+ "street-address" to HintConstants.AUTOFILL_HINT_POSTAL_ADDRESS_STREET_ADDRESS,
1075
+ "sms-otp" to HintConstants.AUTOFILL_HINT_SMS_OTP,
1076
+ "tel" to HintConstants.AUTOFILL_HINT_PHONE_NUMBER,
1077
+ "tel-country-code" to HintConstants.AUTOFILL_HINT_PHONE_COUNTRY_CODE,
1078
+ "tel-national" to HintConstants.AUTOFILL_HINT_PHONE_NATIONAL,
1079
+ "tel-device" to HintConstants.AUTOFILL_HINT_PHONE_NUMBER_DEVICE,
1080
+ "username" to HintConstants.AUTOFILL_HINT_USERNAME,
1081
+ "username-new" to HintConstants.AUTOFILL_HINT_NEW_USERNAME,
1082
+ )
1083
+
1084
+ private const val FOCUS_TEXT_INPUT = 1
1085
+ private const val BLUR_TEXT_INPUT = 2
1086
+ private const val SET_MOST_RECENT_EVENT_COUNT = 3
1087
+ private const val SET_TEXT_AND_SELECTION = 4
1088
+
1089
+ private const val INPUT_TYPE_KEYBOARD_NUMBER_PAD = InputType.TYPE_CLASS_NUMBER
1090
+ private const val INPUT_TYPE_KEYBOARD_DECIMAL_PAD =
1091
+ INPUT_TYPE_KEYBOARD_NUMBER_PAD or InputType.TYPE_NUMBER_FLAG_DECIMAL
1092
+ private const val INPUT_TYPE_KEYBOARD_NUMBERED =
1093
+ INPUT_TYPE_KEYBOARD_DECIMAL_PAD or InputType.TYPE_NUMBER_FLAG_SIGNED
1094
+ private const val AUTOCAPITALIZE_FLAGS =
1095
+ (InputType.TYPE_TEXT_FLAG_CAP_SENTENCES or
1096
+ InputType.TYPE_TEXT_FLAG_CAP_WORDS or
1097
+ InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)
1098
+
1099
+ private const val KEYBOARD_TYPE_EMAIL_ADDRESS = "email-address"
1100
+ private const val KEYBOARD_TYPE_NUMERIC = "numeric"
1101
+ private const val KEYBOARD_TYPE_DECIMAL_PAD = "decimal-pad"
1102
+ private const val KEYBOARD_TYPE_NUMBER_PAD = "number-pad"
1103
+ private const val KEYBOARD_TYPE_PHONE_PAD = "phone-pad"
1104
+ private const val KEYBOARD_TYPE_VISIBLE_PASSWORD = "visible-password"
1105
+ private const val KEYBOARD_TYPE_URI = "url"
1106
+ private val EMPTY_FILTERS = arrayOfNulls<InputFilter>(0)
1107
+ private const val UNSET = -1
1108
+ private val DRAWABLE_HANDLE_RESOURCES =
1109
+ arrayOf("mTextSelectHandleLeftRes", "mTextSelectHandleRightRes", "mTextSelectHandleRes")
1110
+ private val DRAWABLE_HANDLE_FIELDS =
1111
+ arrayOf("mSelectHandleLeft", "mSelectHandleRight", "mSelectHandleCenter")
1112
+
1113
+ private fun shouldHideCursorForEmailTextInput(): Boolean {
1114
+ val manufacturer = Build.MANUFACTURER.lowercase()
1115
+ return (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q && manufacturer.contains("xiaomi"))
1116
+ }
1117
+
1118
+ private const val IME_ACTION_ID = 0x670
1119
+
1120
+ // Sets the correct password type, since numeric and text passwords have different types
1121
+ private fun checkPasswordType(view: ReactEditText) {
1122
+ if ((view.stagedInputType and INPUT_TYPE_KEYBOARD_NUMBERED) != 0 &&
1123
+ (view.stagedInputType and InputType.TYPE_TEXT_VARIATION_PASSWORD) != 0) {
1124
+ // Text input type is numbered password, remove text password variation, add numeric one
1125
+ updateStagedInputTypeFlag(
1126
+ view, InputType.TYPE_TEXT_VARIATION_PASSWORD, InputType.TYPE_NUMBER_VARIATION_PASSWORD)
1127
+ }
1128
+ }
1129
+
1130
+ private fun updateStagedInputTypeFlag(view: ReactEditText, flagsToUnset: Int, flagsToSet: Int) {
1131
+ view.stagedInputType = (view.stagedInputType and flagsToUnset.inv()) or flagsToSet
1132
+ }
1133
+
1134
+ private fun getEventDispatcher(
1135
+ reactContext: ReactContext,
1136
+ editText: ReactEditText
1137
+ ): EventDispatcher? = UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
1138
+ }
1139
+ }