@react-native-oh/react-native-harmony 0.77.18 → 0.77.33

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 (1020) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +87 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +175 -0
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +13 -0
  4. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +34 -0
  5. package/Libraries/Alert/Alert.d.ts +91 -0
  6. package/Libraries/Alert/Alert.js +181 -0
  7. package/Libraries/Alert/NativeAlertManager.js +13 -0
  8. package/Libraries/Alert/RCTAlertManager.android.js +27 -0
  9. package/Libraries/Alert/RCTAlertManager.ios.js +25 -0
  10. package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
  11. package/Libraries/Alert/delegates/AlertDelegate.ts +33 -0
  12. package/Libraries/Alert/delegates/BaseAlertDelegate.ts +37 -0
  13. package/Libraries/Animated/Animated.d.ts +626 -0
  14. package/Libraries/Animated/Animated.js +48 -0
  15. package/Libraries/Animated/AnimatedEvent.js +256 -0
  16. package/Libraries/Animated/AnimatedImplementation.js +754 -0
  17. package/Libraries/Animated/AnimatedMock.js +195 -0
  18. package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
  19. package/Libraries/Animated/AnimatedWeb.js +26 -0
  20. package/Libraries/Animated/Easing.d.ts +37 -0
  21. package/Libraries/Animated/Easing.js +250 -0
  22. package/Libraries/Animated/NativeAnimatedAllowlist.js +122 -0
  23. package/Libraries/Animated/NativeAnimatedModule.js +13 -0
  24. package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
  25. package/Libraries/Animated/SpringConfig.js +98 -0
  26. package/Libraries/Animated/animations/Animation.js +171 -0
  27. package/Libraries/Animated/animations/DecayAnimation.js +121 -0
  28. package/Libraries/Animated/animations/SpringAnimation.js +372 -0
  29. package/Libraries/Animated/animations/TimingAnimation.js +173 -0
  30. package/Libraries/Animated/bezier.js +164 -0
  31. package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
  32. package/Libraries/Animated/components/AnimatedImage.js +22 -0
  33. package/Libraries/Animated/components/AnimatedScrollView.js +137 -0
  34. package/Libraries/Animated/components/AnimatedSectionList.js +22 -0
  35. package/Libraries/Animated/components/AnimatedText.js +22 -0
  36. package/Libraries/Animated/components/AnimatedView.js +20 -0
  37. package/Libraries/Animated/createAnimatedComponent.js +102 -0
  38. package/Libraries/Animated/delegates/createAnimatedComponentDelegate.js +3 -0
  39. package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
  40. package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
  41. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
  42. package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
  43. package/Libraries/Animated/nodes/AnimatedInterpolation.js +416 -0
  44. package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
  45. package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
  46. package/Libraries/Animated/nodes/AnimatedNode.js +200 -0
  47. package/Libraries/Animated/nodes/AnimatedObject.js +162 -0
  48. package/Libraries/Animated/nodes/AnimatedProps.js +281 -0
  49. package/Libraries/Animated/nodes/AnimatedStyle.js +251 -0
  50. package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
  51. package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
  52. package/Libraries/Animated/nodes/AnimatedTransform.js +198 -0
  53. package/Libraries/Animated/nodes/AnimatedValue.js +303 -0
  54. package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
  55. package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
  56. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  57. package/Libraries/Animated/useAnimatedProps.js +389 -0
  58. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  59. package/Libraries/Animated/useAnimatedValue.js +25 -0
  60. package/Libraries/AppDelegate/RCTAppDelegate+Protected.h +16 -0
  61. package/Libraries/AppDelegate/RCTAppDelegate.h +122 -0
  62. package/Libraries/AppDelegate/RCTAppDelegate.mm +330 -0
  63. package/Libraries/AppDelegate/RCTAppSetupUtils.h +59 -0
  64. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +167 -0
  65. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
  66. package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
  67. package/Libraries/AppDelegate/RCTRootViewFactory.h +198 -0
  68. package/Libraries/AppDelegate/RCTRootViewFactory.mm +310 -0
  69. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
  70. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +99 -0
  71. package/Libraries/AppState/AppState.d.ts +58 -0
  72. package/Libraries/AppState/AppState.js +128 -0
  73. package/Libraries/AppState/NativeAppState.js +13 -0
  74. package/Libraries/BatchedBridge/BatchedBridge.js +28 -0
  75. package/Libraries/BatchedBridge/MessageQueue.js +492 -0
  76. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  77. package/Libraries/BatchedBridge/NativeModules.js +212 -0
  78. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +38 -0
  79. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +22 -0
  80. package/Libraries/Blob/Blob.js +158 -0
  81. package/Libraries/Blob/BlobManager.js +179 -0
  82. package/Libraries/Blob/BlobRegistry.js +43 -0
  83. package/Libraries/Blob/BlobTypes.js +30 -0
  84. package/Libraries/Blob/File.js +55 -0
  85. package/Libraries/Blob/FileReader.js +186 -0
  86. package/Libraries/Blob/NativeBlobModule.js +13 -0
  87. package/Libraries/Blob/NativeFileReaderModule.js +13 -0
  88. package/Libraries/Blob/RCTBlobCollector.h +26 -0
  89. package/Libraries/Blob/RCTBlobCollector.mm +57 -0
  90. package/Libraries/Blob/RCTBlobManager.h +35 -0
  91. package/Libraries/Blob/RCTBlobManager.mm +358 -0
  92. package/Libraries/Blob/RCTBlobPlugins.h +41 -0
  93. package/Libraries/Blob/RCTBlobPlugins.mm +34 -0
  94. package/Libraries/Blob/RCTFileReaderModule.h +12 -0
  95. package/Libraries/Blob/RCTFileReaderModule.mm +96 -0
  96. package/Libraries/Blob/React-RCTBlob.podspec +68 -0
  97. package/Libraries/Blob/URL.js +173 -0
  98. package/Libraries/Blob/URLSearchParams.js +71 -0
  99. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  100. package/Libraries/Blob/__mocks__/BlobModule.js +16 -0
  101. package/Libraries/Blob/__mocks__/FileReaderModule.js +20 -0
  102. package/Libraries/BugReporting/BugReporting.js +140 -0
  103. package/Libraries/BugReporting/NativeBugReporting.js +13 -0
  104. package/Libraries/BugReporting/dumpReactTree.js +151 -0
  105. package/Libraries/BugReporting/getReactData.js +187 -0
  106. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +173 -0
  107. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +514 -0
  108. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +13 -0
  109. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +13 -0
  110. package/Libraries/Components/AccessibilityInfo/delegates/AccessibilityInfoDelegate.ts +28 -0
  111. package/Libraries/Components/AccessibilityInfo/delegates/BaseAccessibilityInfoDelegate.ts +69 -0
  112. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
  113. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  114. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
  115. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  116. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +177 -0
  117. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +13 -0
  118. package/Libraries/Components/Button.d.ts +42 -0
  119. package/Libraries/Components/Button.js +450 -0
  120. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  121. package/Libraries/Components/Clipboard/Clipboard.js +40 -0
  122. package/Libraries/Components/Clipboard/NativeClipboard.js +13 -0
  123. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +13 -0
  124. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +412 -0
  125. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  126. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.harmony.js +9 -0
  127. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +14 -0
  128. package/Libraries/Components/DrawerAndroid/delegates/BaseDrawerLayoutAndroidDelegate.ts +28 -0
  129. package/Libraries/Components/DrawerAndroid/delegates/DrawerLayoutAndroidDelegate.harmony.tsx +130 -0
  130. package/Libraries/Components/DrawerAndroid/delegates/DrawerLayoutAndroidDelegate.ts +8 -0
  131. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  132. package/Libraries/Components/Keyboard/Keyboard.js +205 -0
  133. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  134. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +305 -0
  135. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +13 -0
  136. package/Libraries/Components/Keyboard/delegates/BaseKeyboardAvoidingViewDelegate.ts +28 -0
  137. package/Libraries/Components/Keyboard/delegates/KeyboardAvoidingViewDelegate.ts +6 -0
  138. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  139. package/Libraries/Components/Pressable/Pressable.js +369 -0
  140. package/Libraries/Components/Pressable/useAndroidRippleForView.js +109 -0
  141. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +113 -0
  142. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  143. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  144. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +13 -0
  145. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +13 -0
  146. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +13 -0
  147. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  148. package/Libraries/Components/RefreshControl/RefreshControl.js +219 -0
  149. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +31 -0
  150. package/Libraries/Components/RefreshControl/delegates/BaseRefreshControlDelegate.ts +31 -0
  151. package/Libraries/Components/RefreshControl/delegates/RefreshControlDelegate.ts +21 -0
  152. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +13 -0
  153. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  154. package/Libraries/Components/SafeAreaView/SafeAreaView.js +34 -0
  155. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +13 -0
  156. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +73 -0
  157. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +32 -0
  158. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  159. package/Libraries/Components/ScrollView/ScrollView.js +1936 -0
  160. package/Libraries/Components/ScrollView/ScrollViewCommands.js +52 -0
  161. package/Libraries/Components/ScrollView/ScrollViewContext.js +24 -0
  162. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +31 -0
  163. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +81 -0
  164. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +310 -0
  165. package/Libraries/Components/ScrollView/delegates/BaseScrollViewDelegate.ts +36 -0
  166. package/Libraries/Components/ScrollView/delegates/BaseScrollViewNativeComponentDelegate.ts +12 -0
  167. package/Libraries/Components/ScrollView/delegates/ScrollViewDelegate.ts +23 -0
  168. package/Libraries/Components/ScrollView/delegates/ScrollViewNativeComponentDelegate.ts +14 -0
  169. package/Libraries/Components/ScrollView/delegates/types.ts +1 -0
  170. package/Libraries/Components/ScrollView/processDecelerationRate.js +30 -0
  171. package/Libraries/Components/Sound/NativeSoundManager.js +13 -0
  172. package/Libraries/Components/Sound/SoundManager.js +21 -0
  173. package/Libraries/Components/StaticRenderer.js +37 -0
  174. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +13 -0
  175. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +13 -0
  176. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  177. package/Libraries/Components/StatusBar/StatusBar.js +480 -0
  178. package/Libraries/Components/StatusBar/delegates/BaseStatusBarDelegate.ts +25 -0
  179. package/Libraries/Components/StatusBar/delegates/StatusBarDelegate.ts +44 -0
  180. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +13 -0
  181. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  182. package/Libraries/Components/Switch/Switch.js +257 -0
  183. package/Libraries/Components/Switch/SwitchNativeComponent.js +13 -0
  184. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +751 -0
  185. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  186. package/Libraries/Components/TextInput/InputAccessoryView.js +123 -0
  187. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +13 -0
  188. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +45 -0
  189. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +43 -0
  190. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +168 -0
  191. package/Libraries/Components/TextInput/TextInput.d.ts +1007 -0
  192. package/Libraries/Components/TextInput/TextInput.flow.js +1109 -0
  193. package/Libraries/Components/TextInput/TextInput.js +1948 -0
  194. package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
  195. package/Libraries/Components/TextInput/TextInputState.js +216 -0
  196. package/Libraries/Components/TextInput/delegates/BaseTextInputDelegate.ts +39 -0
  197. package/Libraries/Components/TextInput/delegates/BaseTextInputStateDelegate.ts +12 -0
  198. package/Libraries/Components/TextInput/delegates/TextInputDelegate.ts +40 -0
  199. package/Libraries/Components/TextInput/delegates/TextInputStateDelegate.ts +15 -0
  200. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +13 -0
  201. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +74 -0
  202. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  203. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  204. package/Libraries/Components/Touchable/BoundingDimensions.js +53 -0
  205. package/Libraries/Components/Touchable/PooledClass.js +133 -0
  206. package/Libraries/Components/Touchable/Position.js +40 -0
  207. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  208. package/Libraries/Components/Touchable/Touchable.js +973 -0
  209. package/Libraries/Components/Touchable/TouchableBounce.js +222 -0
  210. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
  211. package/Libraries/Components/Touchable/TouchableHighlight.js +398 -0
  212. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  213. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +370 -0
  214. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
  215. package/Libraries/Components/Touchable/TouchableOpacity.js +340 -0
  216. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
  217. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +238 -0
  218. package/Libraries/Components/Touchable/delegates/BaseTouchableHighlightDelegate.ts +13 -0
  219. package/Libraries/Components/Touchable/delegates/BaseTouchableNativeFeedbackDelegate.ts +13 -0
  220. package/Libraries/Components/Touchable/delegates/BaseTouchableWithoutFeedbackDelegate.ts +13 -0
  221. package/Libraries/Components/Touchable/delegates/TouchableHighlightDelegate.ts +6 -0
  222. package/Libraries/Components/Touchable/delegates/TouchableNativeFeedbackDelegate.ts +6 -0
  223. package/Libraries/Components/Touchable/delegates/TouchableWithoutFeedbackDelegate.ts +6 -0
  224. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +13 -0
  225. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +41 -0
  226. package/Libraries/Components/View/ReactNativeStyleAttributes.js +218 -0
  227. package/Libraries/Components/View/ReactNativeViewAttributes.js +60 -0
  228. package/Libraries/Components/View/View.d.ts +29 -0
  229. package/Libraries/Components/View/View.js +140 -0
  230. package/Libraries/Components/View/ViewAccessibility.d.ts +404 -0
  231. package/Libraries/Components/View/ViewAccessibility.js +167 -0
  232. package/Libraries/Components/View/ViewNativeComponent.js +36 -0
  233. package/Libraries/Components/View/ViewPropTypes.d.ts +221 -0
  234. package/Libraries/Components/View/ViewPropTypes.js +656 -0
  235. package/Libraries/Components/View/delegates/ViewDelegate.js +3 -0
  236. package/Libraries/Components/delegates/BaseButtonDelegate.ts +15 -0
  237. package/Libraries/Components/delegates/ButtonDelegate.ts +27 -0
  238. package/Libraries/Core/Devtools/getDevServer.js +43 -0
  239. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  240. package/Libraries/Core/Devtools/openFileInEditor.js +26 -0
  241. package/Libraries/Core/Devtools/openURLInBrowser.js +23 -0
  242. package/Libraries/Core/Devtools/parseErrorStack.js +59 -0
  243. package/Libraries/Core/Devtools/parseHermesStack.js +147 -0
  244. package/Libraries/Core/Devtools/symbolicateStackTrace.js +50 -0
  245. package/Libraries/Core/ExceptionsManager.js +282 -0
  246. package/Libraries/Core/ExtendedError.js +33 -0
  247. package/Libraries/Core/InitializeCore.js +60 -0
  248. package/Libraries/Core/NativeExceptionsManager.js +13 -0
  249. package/Libraries/Core/RawEventEmitter.js +39 -0
  250. package/Libraries/Core/ReactFiberErrorDialog.js +65 -0
  251. package/Libraries/Core/ReactNativeVersion.js +23 -0
  252. package/Libraries/Core/ReactNativeVersionCheck.js +52 -0
  253. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +13 -0
  254. package/Libraries/Core/Timers/JSTimers.js +487 -0
  255. package/Libraries/Core/Timers/NativeTiming.js +13 -0
  256. package/Libraries/Core/Timers/immediateShim.js +68 -0
  257. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  258. package/Libraries/Core/__mocks__/ErrorUtils.js +33 -0
  259. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +19 -0
  260. package/Libraries/Core/checkNativeVersion.js +18 -0
  261. package/Libraries/Core/polyfillPromise.js +38 -0
  262. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  263. package/Libraries/Core/registerCallableModule.js +42 -0
  264. package/Libraries/Core/setUpAlert.js +23 -0
  265. package/Libraries/Core/setUpBatchedBridge.js +50 -0
  266. package/Libraries/Core/setUpDeveloperTools.js +82 -0
  267. package/Libraries/Core/setUpErrorHandling.js +35 -0
  268. package/Libraries/Core/setUpGlobals.js +36 -0
  269. package/Libraries/Core/setUpNavigator.js +22 -0
  270. package/Libraries/Core/setUpPerformance.js +31 -0
  271. package/Libraries/Core/setUpPlatform.js +1 -0
  272. package/Libraries/Core/setUpReactDevTools.js +252 -0
  273. package/Libraries/Core/setUpReactRefresh.js +47 -0
  274. package/Libraries/Core/setUpRegeneratorRuntime.js +46 -0
  275. package/Libraries/Core/setUpSegmentFetcher.js +53 -0
  276. package/Libraries/Core/setUpTimers.js +125 -0
  277. package/Libraries/Core/setUpXHR.js +41 -0
  278. package/Libraries/Debugging/DebuggingOverlay.js +110 -0
  279. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  280. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  281. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  282. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  283. package/Libraries/EventEmitter/NativeEventEmitter.js +122 -0
  284. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  285. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +43 -0
  286. package/Libraries/EventEmitter/RCTEventEmitter.js +25 -0
  287. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  288. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +18 -0
  289. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +48 -0
  290. package/Libraries/Events/CustomEvent.js +32 -0
  291. package/Libraries/Events/EventPolyfill.js +239 -0
  292. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +127 -0
  293. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +102 -0
  294. package/Libraries/FBLazyVector/FBLazyVector.podspec +31 -0
  295. package/Libraries/HeapCapture/HeapCapture.js +29 -0
  296. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +13 -0
  297. package/Libraries/Image/AssetRegistry.js +13 -0
  298. package/Libraries/Image/AssetSourceResolver.js +202 -0
  299. package/Libraries/Image/AssetUtils.js +47 -0
  300. package/Libraries/Image/Image.android.js +322 -0
  301. package/Libraries/Image/Image.d.ts +373 -0
  302. package/Libraries/Image/Image.ios.js +252 -0
  303. package/Libraries/Image/Image.js.flow +13 -0
  304. package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
  305. package/Libraries/Image/ImageBackground.js +106 -0
  306. package/Libraries/Image/ImageInjection.js +87 -0
  307. package/Libraries/Image/ImageProps.js +296 -0
  308. package/Libraries/Image/ImageResizeMode.d.ts +56 -0
  309. package/Libraries/Image/ImageResizeMode.js +39 -0
  310. package/Libraries/Image/ImageSource.d.ts +74 -0
  311. package/Libraries/Image/ImageSource.js +135 -0
  312. package/Libraries/Image/ImageSourceUtils.js +80 -0
  313. package/Libraries/Image/ImageTypes.flow.js +78 -0
  314. package/Libraries/Image/ImageUtils.js +25 -0
  315. package/Libraries/Image/ImageViewNativeComponent.js +175 -0
  316. package/Libraries/Image/NativeImageEditor.js +13 -0
  317. package/Libraries/Image/NativeImageLoaderAndroid.js +13 -0
  318. package/Libraries/Image/NativeImageLoaderIOS.js +13 -0
  319. package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
  320. package/Libraries/Image/NativeImageStoreIOS.js +13 -0
  321. package/Libraries/Image/RCTAnimatedImage.h +21 -0
  322. package/Libraries/Image/RCTAnimatedImage.mm +175 -0
  323. package/Libraries/Image/RCTBundleAssetImageLoader.h +12 -0
  324. package/Libraries/Image/RCTBundleAssetImageLoader.mm +83 -0
  325. package/Libraries/Image/RCTDisplayWeakRefreshable.h +23 -0
  326. package/Libraries/Image/RCTDisplayWeakRefreshable.mm +31 -0
  327. package/Libraries/Image/RCTGIFImageDecoder.h +12 -0
  328. package/Libraries/Image/RCTGIFImageDecoder.mm +63 -0
  329. package/Libraries/Image/RCTImageBlurUtils.h +13 -0
  330. package/Libraries/Image/RCTImageBlurUtils.mm +100 -0
  331. package/Libraries/Image/RCTImageCache.h +45 -0
  332. package/Libraries/Image/RCTImageCache.mm +164 -0
  333. package/Libraries/Image/RCTImageDataDecoder.h +53 -0
  334. package/Libraries/Image/RCTImageEditingManager.h +12 -0
  335. package/Libraries/Image/RCTImageEditingManager.mm +113 -0
  336. package/Libraries/Image/RCTImageLoader.h +43 -0
  337. package/Libraries/Image/RCTImageLoader.mm +1302 -0
  338. package/Libraries/Image/RCTImageLoaderLoggable.h +32 -0
  339. package/Libraries/Image/RCTImageLoaderProtocol.h +135 -0
  340. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +48 -0
  341. package/Libraries/Image/RCTImagePlugins.h +44 -0
  342. package/Libraries/Image/RCTImagePlugins.mm +37 -0
  343. package/Libraries/Image/RCTImageShadowView.h +12 -0
  344. package/Libraries/Image/RCTImageShadowView.mm +24 -0
  345. package/Libraries/Image/RCTImageStoreManager.h +55 -0
  346. package/Libraries/Image/RCTImageStoreManager.mm +296 -0
  347. package/Libraries/Image/RCTImageURLLoader.h +83 -0
  348. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +78 -0
  349. package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +32 -0
  350. package/Libraries/Image/RCTImageUtils.h +94 -0
  351. package/Libraries/Image/RCTImageUtils.mm +389 -0
  352. package/Libraries/Image/RCTImageView.h +27 -0
  353. package/Libraries/Image/RCTImageView.mm +504 -0
  354. package/Libraries/Image/RCTImageViewManager.h +12 -0
  355. package/Libraries/Image/RCTImageViewManager.mm +116 -0
  356. package/Libraries/Image/RCTLocalAssetImageLoader.h +13 -0
  357. package/Libraries/Image/RCTLocalAssetImageLoader.mm +83 -0
  358. package/Libraries/Image/RCTResizeMode.h +53 -0
  359. package/Libraries/Image/RCTResizeMode.mm +25 -0
  360. package/Libraries/Image/RCTUIImageViewAnimated.h +13 -0
  361. package/Libraries/Image/RCTUIImageViewAnimated.mm +346 -0
  362. package/Libraries/Image/React-RCTImage.podspec +60 -0
  363. package/Libraries/Image/RelativeImageStub.js +28 -0
  364. package/Libraries/Image/TextInlineImageNativeComponent.js +51 -0
  365. package/Libraries/Image/nativeImageSource.js +64 -0
  366. package/Libraries/Image/resolveAssetSource.js +143 -0
  367. package/Libraries/Inspector/BorderBox.js +32 -0
  368. package/Libraries/Inspector/BoxInspector.js +109 -0
  369. package/Libraries/Inspector/ElementBox.js +143 -0
  370. package/Libraries/Inspector/ElementProperties.js +120 -0
  371. package/Libraries/Inspector/Inspector.js +206 -0
  372. package/Libraries/Inspector/InspectorOverlay.js +65 -0
  373. package/Libraries/Inspector/InspectorPanel.js +164 -0
  374. package/Libraries/Inspector/NetworkOverlay.js +611 -0
  375. package/Libraries/Inspector/PerformanceOverlay.js +63 -0
  376. package/Libraries/Inspector/ReactDevToolsOverlay.js +165 -0
  377. package/Libraries/Inspector/StyleInspector.js +70 -0
  378. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +81 -0
  379. package/Libraries/Inspector/resolveBoxStyle.js +114 -0
  380. package/Libraries/Interaction/FrameRateLogger.js +72 -0
  381. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  382. package/Libraries/Interaction/InteractionManager.js +216 -0
  383. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  384. package/Libraries/Interaction/JSEventLoopWatchdog.js +88 -0
  385. package/Libraries/Interaction/NativeFrameRateLogger.js +13 -0
  386. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  387. package/Libraries/Interaction/PanResponder.js +579 -0
  388. package/Libraries/Interaction/TaskQueue.js +183 -0
  389. package/Libraries/Interaction/TouchHistoryMath.js +156 -0
  390. package/Libraries/JSInspector/InspectorAgent.js +27 -0
  391. package/Libraries/JSInspector/JSInspector.js +33 -0
  392. package/Libraries/JSInspector/NetworkAgent.js +295 -0
  393. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  394. package/Libraries/LayoutAnimation/LayoutAnimation.js +200 -0
  395. package/Libraries/Linking/Linking.d.ts +61 -0
  396. package/Libraries/Linking/Linking.js +133 -0
  397. package/Libraries/Linking/NativeIntentAndroid.js +13 -0
  398. package/Libraries/Linking/NativeLinkingManager.js +13 -0
  399. package/Libraries/LinkingIOS/RCTLinkingManager.h +27 -0
  400. package/Libraries/LinkingIOS/RCTLinkingManager.mm +204 -0
  401. package/Libraries/LinkingIOS/RCTLinkingPlugins.h +40 -0
  402. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +33 -0
  403. package/Libraries/LinkingIOS/React-RCTLinking.podspec +56 -0
  404. package/Libraries/Lists/FillRateHelper.js +19 -0
  405. package/Libraries/Lists/FlatList.d.ts +244 -0
  406. package/Libraries/Lists/FlatList.js +717 -0
  407. package/Libraries/Lists/SectionList.d.ts +267 -0
  408. package/Libraries/Lists/SectionList.js +269 -0
  409. package/Libraries/Lists/SectionListModern.js +249 -0
  410. package/Libraries/Lists/ViewabilityHelper.js +24 -0
  411. package/Libraries/Lists/VirtualizeUtils.js +18 -0
  412. package/Libraries/Lists/VirtualizedList.js +23 -0
  413. package/Libraries/Lists/VirtualizedListContext.js +18 -0
  414. package/Libraries/Lists/VirtualizedSectionList.js +22 -0
  415. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +118 -0
  416. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +134 -0
  417. package/Libraries/LogBox/Data/LogBoxData.js +511 -0
  418. package/Libraries/LogBox/Data/LogBoxLog.js +257 -0
  419. package/Libraries/LogBox/Data/LogBoxSymbolication.js +65 -0
  420. package/Libraries/LogBox/Data/parseLogBoxLog.js +514 -0
  421. package/Libraries/LogBox/LogBox.d.ts +28 -0
  422. package/Libraries/LogBox/LogBox.js +291 -0
  423. package/Libraries/LogBox/LogBoxInspectorContainer.js +68 -0
  424. package/Libraries/LogBox/LogBoxNotificationContainer.js +105 -0
  425. package/Libraries/LogBox/UI/AnsiHighlight.js +121 -0
  426. package/Libraries/LogBox/UI/LogBoxButton.js +70 -0
  427. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  428. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  429. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  430. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  431. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  432. package/Libraries/LogBox/UI/LogBoxInspector.js +89 -0
  433. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  434. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +164 -0
  435. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +70 -0
  436. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  437. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +108 -0
  438. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  439. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +125 -0
  440. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +188 -0
  441. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +58 -0
  442. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +133 -0
  443. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +114 -0
  444. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +221 -0
  445. package/Libraries/LogBox/UI/LogBoxMessage.js +169 -0
  446. package/Libraries/LogBox/UI/LogBoxNotification.js +83 -0
  447. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  448. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  449. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  450. package/Libraries/LogBox/UI/LogBoxStyle.js +65 -0
  451. package/Libraries/Modal/Modal.d.ts +116 -0
  452. package/Libraries/Modal/Modal.js +365 -0
  453. package/Libraries/Modal/ModalInjection.js +15 -0
  454. package/Libraries/Modal/NativeModalManager.js +13 -0
  455. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +13 -0
  456. package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +38 -0
  457. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +12 -0
  458. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm +125 -0
  459. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +20 -0
  460. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +36 -0
  461. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +12 -0
  462. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm +151 -0
  463. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +12 -0
  464. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm +200 -0
  465. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +12 -0
  466. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.mm +25 -0
  467. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +50 -0
  468. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +126 -0
  469. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h +14 -0
  470. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.mm +29 -0
  471. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +12 -0
  472. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.mm +64 -0
  473. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +12 -0
  474. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.mm +32 -0
  475. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +26 -0
  476. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +169 -0
  477. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +12 -0
  478. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.mm +22 -0
  479. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +12 -0
  480. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.mm +26 -0
  481. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.h +14 -0
  482. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +66 -0
  483. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +26 -0
  484. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm +146 -0
  485. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +14 -0
  486. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +62 -0
  487. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +12 -0
  488. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.mm +25 -0
  489. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +12 -0
  490. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +47 -0
  491. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +14 -0
  492. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +55 -0
  493. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +30 -0
  494. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.mm +60 -0
  495. package/Libraries/NativeAnimation/RCTAnimationPlugins.h +41 -0
  496. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +34 -0
  497. package/Libraries/NativeAnimation/RCTAnimationUtils.h +46 -0
  498. package/Libraries/NativeAnimation/RCTAnimationUtils.mm +129 -0
  499. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +28 -0
  500. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +395 -0
  501. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +94 -0
  502. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +511 -0
  503. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +25 -0
  504. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +411 -0
  505. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +56 -0
  506. package/Libraries/NativeComponent/BaseViewConfig.android.js +423 -0
  507. package/Libraries/NativeComponent/BaseViewConfig.ios.js +423 -0
  508. package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
  509. package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
  510. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  511. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  512. package/Libraries/NativeComponent/StaticViewConfigValidator.js +144 -0
  513. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  514. package/Libraries/NativeComponent/ViewConfigIgnore.js +55 -0
  515. package/Libraries/NativeComponent/delegates/BaseViewConfigIgnoreDelegate.ts +10 -0
  516. package/Libraries/NativeComponent/delegates/ViewConfigIgnoreDelegate.ts +10 -0
  517. package/Libraries/NativeModules/specs/NativeDevMenu.js +13 -0
  518. package/Libraries/NativeModules/specs/NativeDevSettings.js +13 -0
  519. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +13 -0
  520. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +13 -0
  521. package/Libraries/NativeModules/specs/NativeLogBox.js +13 -0
  522. package/Libraries/NativeModules/specs/NativeRedBox.js +13 -0
  523. package/Libraries/NativeModules/specs/NativeSourceCode.js +13 -0
  524. package/Libraries/Network/FormData.js +108 -0
  525. package/Libraries/Network/NativeNetworkingAndroid.js +13 -0
  526. package/Libraries/Network/NativeNetworkingIOS.js +13 -0
  527. package/Libraries/Network/RCTDataRequestHandler.h +16 -0
  528. package/Libraries/Network/RCTDataRequestHandler.mm +86 -0
  529. package/Libraries/Network/RCTFileRequestHandler.h +16 -0
  530. package/Libraries/Network/RCTFileRequestHandler.mm +100 -0
  531. package/Libraries/Network/RCTHTTPRequestHandler.h +22 -0
  532. package/Libraries/Network/RCTHTTPRequestHandler.mm +195 -0
  533. package/Libraries/Network/RCTNetworkPlugins.h +43 -0
  534. package/Libraries/Network/RCTNetworkPlugins.mm +36 -0
  535. package/Libraries/Network/RCTNetworkTask.h +47 -0
  536. package/Libraries/Network/RCTNetworkTask.mm +228 -0
  537. package/Libraries/Network/RCTNetworking.android.js +95 -0
  538. package/Libraries/Network/RCTNetworking.h +86 -0
  539. package/Libraries/Network/RCTNetworking.ios.js +112 -0
  540. package/Libraries/Network/RCTNetworking.js.flow +89 -0
  541. package/Libraries/Network/RCTNetworking.mm +823 -0
  542. package/Libraries/Network/React-RCTNetwork.podspec +56 -0
  543. package/Libraries/Network/XHRInterceptor.js +214 -0
  544. package/Libraries/Network/XMLHttpRequest.js +698 -0
  545. package/Libraries/Network/convertRequestBody.js +43 -0
  546. package/Libraries/Network/fetch.js +19 -0
  547. package/Libraries/NewAppScreen/components/Colors.js +19 -0
  548. package/Libraries/NewAppScreen/components/DebugInstructions.js +41 -0
  549. package/Libraries/NewAppScreen/components/Header.js +77 -0
  550. package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
  551. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +148 -0
  552. package/Libraries/NewAppScreen/components/ReloadInstructions.js +39 -0
  553. package/Libraries/NewAppScreen/components/logo.png +0 -0
  554. package/Libraries/NewAppScreen/index.js +25 -0
  555. package/Libraries/Performance/NativeJSCSamplingProfiler.js +13 -0
  556. package/Libraries/Performance/SamplingProfiler.js +39 -0
  557. package/Libraries/Performance/Systrace.d.ts +66 -0
  558. package/Libraries/Performance/Systrace.js +139 -0
  559. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +13 -0
  560. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +163 -0
  561. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +299 -0
  562. package/Libraries/Pressability/HoverState.js +58 -0
  563. package/Libraries/Pressability/Pressability.js +954 -0
  564. package/Libraries/Pressability/PressabilityDebug.js +85 -0
  565. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  566. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  567. package/Libraries/Pressability/usePressability.js +60 -0
  568. package/Libraries/Promise.js +23 -0
  569. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +13 -0
  570. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  571. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +569 -0
  572. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +48 -0
  573. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +590 -0
  574. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +40 -0
  575. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +33 -0
  576. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +56 -0
  577. package/Libraries/ReactNative/AppContainer-dev.js +208 -0
  578. package/Libraries/ReactNative/AppContainer-prod.js +50 -0
  579. package/Libraries/ReactNative/AppContainer.js +31 -0
  580. package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
  581. package/Libraries/ReactNative/AppRegistry.js +360 -0
  582. package/Libraries/ReactNative/BridgelessUIManager.js +430 -0
  583. package/Libraries/ReactNative/DisplayMode.js +32 -0
  584. package/Libraries/ReactNative/FabricUIManager.js +145 -0
  585. package/Libraries/ReactNative/HeadlessJsTaskError.js +11 -0
  586. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  587. package/Libraries/ReactNative/I18nManager.js +64 -0
  588. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +13 -0
  589. package/Libraries/ReactNative/NativeI18nManager.js +13 -0
  590. package/Libraries/ReactNative/NativeUIManager.js +13 -0
  591. package/Libraries/ReactNative/PaperUIManager.js +191 -0
  592. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +150 -0
  593. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
  594. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
  595. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  596. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
  597. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
  598. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  599. package/Libraries/ReactNative/RendererImplementation.js +164 -0
  600. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  601. package/Libraries/ReactNative/RendererProxy.js +26 -0
  602. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  603. package/Libraries/ReactNative/RootTag.js +27 -0
  604. package/Libraries/ReactNative/UIManager.d.ts +113 -0
  605. package/Libraries/ReactNative/UIManager.js +193 -0
  606. package/Libraries/ReactNative/UIManagerProperties.js +61 -0
  607. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +334 -0
  608. package/Libraries/ReactNative/delegates/BaseBridgelessUIManagerDelegate.ts +14 -0
  609. package/Libraries/ReactNative/delegates/BaseI18nManagerDelegate.ts +18 -0
  610. package/Libraries/ReactNative/delegates/BridgelessUIManagerDelegate.ts +11 -0
  611. package/Libraries/ReactNative/delegates/I18nManagerDelegate.ts +24 -0
  612. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +33 -0
  613. package/Libraries/ReactNative/getNativeComponentAttributes.js +212 -0
  614. package/Libraries/ReactNative/renderApplication.js +108 -0
  615. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  616. package/Libraries/ReactNative/requireNativeComponent.js +35 -0
  617. package/Libraries/ReactPrivate/README +1 -0
  618. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +11 -0
  619. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +116 -0
  620. package/Libraries/Renderer/README.md +22 -0
  621. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27376 -0
  622. package/Libraries/Renderer/implementations/ReactFabric-prod.js +9152 -0
  623. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +9642 -0
  624. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27830 -0
  625. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9379 -0
  626. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +9896 -0
  627. package/Libraries/Renderer/shims/ReactFabric.js +33 -0
  628. package/Libraries/Renderer/shims/ReactFeatureFlags.js +19 -0
  629. package/Libraries/Renderer/shims/ReactNative.js +24 -0
  630. package/Libraries/Renderer/shims/ReactNativeTypes.js +320 -0
  631. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +123 -0
  632. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +35 -0
  633. package/Libraries/Required/RCTRequired.h +90 -0
  634. package/Libraries/Required/RCTRequired.podspec +30 -0
  635. package/Libraries/Settings/NativeSettingsManager.js +13 -0
  636. package/Libraries/Settings/RCTSettingsManager.h +16 -0
  637. package/Libraries/Settings/RCTSettingsManager.mm +123 -0
  638. package/Libraries/Settings/RCTSettingsPlugins.h +40 -0
  639. package/Libraries/Settings/RCTSettingsPlugins.mm +33 -0
  640. package/Libraries/Settings/React-RCTSettings.podspec +56 -0
  641. package/Libraries/Settings/Settings.d.ts +18 -0
  642. package/Libraries/Settings/Settings.ios.js +81 -0
  643. package/Libraries/Settings/Settings.js +33 -0
  644. package/Libraries/Share/NativeShareModule.js +13 -0
  645. package/Libraries/Share/Share.d.ts +80 -0
  646. package/Libraries/Share/Share.js +176 -0
  647. package/Libraries/Share/delegates/BaseShareDelegate.ts +21 -0
  648. package/Libraries/Share/delegates/ShareDelegate.ts +20 -0
  649. package/Libraries/StyleSheet/EdgeInsetsPropType.js +18 -0
  650. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +40 -0
  651. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  652. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +113 -0
  653. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
  654. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  655. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +29 -0
  656. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +22 -0
  657. package/Libraries/StyleSheet/PointPropType.js +17 -0
  658. package/Libraries/StyleSheet/Rect.js +26 -0
  659. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  660. package/Libraries/StyleSheet/StyleSheet.js +356 -0
  661. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +573 -0
  662. package/Libraries/StyleSheet/StyleSheetTypes.js +1004 -0
  663. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +58 -0
  664. package/Libraries/StyleSheet/flattenStyle.js +46 -0
  665. package/Libraries/StyleSheet/normalizeColor.js +34 -0
  666. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  667. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  668. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  669. package/Libraries/StyleSheet/processBackgroundImage.js +361 -0
  670. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  671. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  672. package/Libraries/StyleSheet/processColor.js +59 -0
  673. package/Libraries/StyleSheet/processColorArray.js +35 -0
  674. package/Libraries/StyleSheet/processFilter.js +321 -0
  675. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  676. package/Libraries/StyleSheet/processTransform.js +263 -0
  677. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  678. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +31 -0
  679. package/Libraries/StyleSheet/splitLayoutProps.js +72 -0
  680. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +29 -0
  681. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +158 -0
  682. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +16 -0
  683. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +60 -0
  684. package/Libraries/Text/RCTConvert+Text.h +23 -0
  685. package/Libraries/Text/RCTConvert+Text.mm +44 -0
  686. package/Libraries/Text/RCTTextAttributes.h +100 -0
  687. package/Libraries/Text/RCTTextAttributes.mm +354 -0
  688. package/Libraries/Text/RCTTextTransform.h +16 -0
  689. package/Libraries/Text/RawText/RCTRawTextShadowView.h +18 -0
  690. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +34 -0
  691. package/Libraries/Text/RawText/RCTRawTextViewManager.h +16 -0
  692. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +28 -0
  693. package/Libraries/Text/React-RCTText.podspec +37 -0
  694. package/Libraries/Text/Text/NSTextStorage+FontScaling.h +20 -0
  695. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +122 -0
  696. package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
  697. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +82 -0
  698. package/Libraries/Text/Text/RCTTextShadowView.h +28 -0
  699. package/Libraries/Text/Text/RCTTextShadowView.mm +466 -0
  700. package/Libraries/Text/Text/RCTTextView.h +29 -0
  701. package/Libraries/Text/Text/RCTTextView.mm +294 -0
  702. package/Libraries/Text/Text/RCTTextViewManager.h +14 -0
  703. package/Libraries/Text/Text/RCTTextViewManager.mm +93 -0
  704. package/Libraries/Text/Text.d.ts +219 -0
  705. package/Libraries/Text/Text.js +537 -0
  706. package/Libraries/Text/TextAncestor.js +23 -0
  707. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +16 -0
  708. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +63 -0
  709. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +16 -0
  710. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +24 -0
  711. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +44 -0
  712. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +338 -0
  713. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +46 -0
  714. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +36 -0
  715. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +307 -0
  716. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +57 -0
  717. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +25 -0
  718. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +364 -0
  719. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +63 -0
  720. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +817 -0
  721. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +12 -0
  722. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +178 -0
  723. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +12 -0
  724. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +20 -0
  725. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +17 -0
  726. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +78 -0
  727. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +12 -0
  728. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +74 -0
  729. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +12 -0
  730. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +29 -0
  731. package/Libraries/Text/TextInput/RCTTextSelection.h +26 -0
  732. package/Libraries/Text/TextInput/RCTTextSelection.mm +36 -0
  733. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +16 -0
  734. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +39 -0
  735. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +16 -0
  736. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +31 -0
  737. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +40 -0
  738. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +255 -0
  739. package/Libraries/Text/TextNativeComponent.js +82 -0
  740. package/Libraries/Text/TextProps.js +268 -0
  741. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +12 -0
  742. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +38 -0
  743. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +23 -0
  744. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +12 -0
  745. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +12 -0
  746. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +26 -0
  747. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  748. package/Libraries/TurboModule/RCTExport.js +38 -0
  749. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  750. package/Libraries/TurboModule/TurboModuleRegistry.js +53 -0
  751. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +13 -0
  752. package/Libraries/TypeSafety/RCTConvertHelpers.h +83 -0
  753. package/Libraries/TypeSafety/RCTConvertHelpers.mm +51 -0
  754. package/Libraries/TypeSafety/RCTTypeSafety.podspec +39 -0
  755. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +47 -0
  756. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +50 -0
  757. package/Libraries/Types/CodegenTypes.js +47 -0
  758. package/Libraries/Types/CoreEventTypes.d.ts +259 -0
  759. package/Libraries/Types/CoreEventTypes.js +291 -0
  760. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  761. package/Libraries/Types/RootTagTypes.js +11 -0
  762. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  763. package/Libraries/UTFSequence.js +56 -0
  764. package/Libraries/Utilities/Appearance.d.ts +53 -0
  765. package/Libraries/Utilities/Appearance.js +133 -0
  766. package/Libraries/Utilities/BackHandler.android.js +95 -0
  767. package/Libraries/Utilities/BackHandler.d.ts +34 -0
  768. package/Libraries/Utilities/BackHandler.ios.js +34 -0
  769. package/Libraries/Utilities/BackHandler.js.flow +23 -0
  770. package/Libraries/Utilities/DebugEnvironment.js +16 -0
  771. package/Libraries/Utilities/DevLoadingView.js +64 -0
  772. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  773. package/Libraries/Utilities/DevSettings.js +72 -0
  774. package/Libraries/Utilities/DeviceInfo.js +13 -0
  775. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  776. package/Libraries/Utilities/Dimensions.js +123 -0
  777. package/Libraries/Utilities/FeatureDetection.js +31 -0
  778. package/Libraries/Utilities/GlobalPerformanceLogger.js +24 -0
  779. package/Libraries/Utilities/HMRClient.js +362 -0
  780. package/Libraries/Utilities/HMRClientProdShim.js +30 -0
  781. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  782. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  783. package/Libraries/Utilities/NativeAppearance.js +13 -0
  784. package/Libraries/Utilities/NativeDevLoadingView.js +13 -0
  785. package/Libraries/Utilities/NativeDeviceInfo.js +13 -0
  786. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +13 -0
  787. package/Libraries/Utilities/NativePlatformConstantsIOS.js +13 -0
  788. package/Libraries/Utilities/PerformanceLoggerContext.js +33 -0
  789. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  790. package/Libraries/Utilities/PixelRatio.js +127 -0
  791. package/Libraries/Utilities/Platform.android.js +87 -0
  792. package/Libraries/Utilities/Platform.d.ts +127 -0
  793. package/Libraries/Utilities/Platform.flow.js +91 -0
  794. package/Libraries/Utilities/Platform.ios.js +88 -0
  795. package/Libraries/Utilities/Platform.js.flow +13 -0
  796. package/Libraries/Utilities/PolyfillFunctions.js +56 -0
  797. package/Libraries/Utilities/RCTLog.js +56 -0
  798. package/Libraries/Utilities/ReactNativeTestTools.js +225 -0
  799. package/Libraries/Utilities/SceneTracker.js +42 -0
  800. package/Libraries/Utilities/__mocks__/BackHandler.js +45 -0
  801. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +16 -0
  802. package/Libraries/Utilities/__mocks__/PixelRatio.js +25 -0
  803. package/Libraries/Utilities/binaryToBase64.js +31 -0
  804. package/Libraries/Utilities/codegenNativeCommands.js +31 -0
  805. package/Libraries/Utilities/codegenNativeComponent.js +73 -0
  806. package/Libraries/Utilities/createPerformanceLogger.js +290 -0
  807. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +90 -0
  808. package/Libraries/Utilities/defineLazyObjectProperty.js +66 -0
  809. package/Libraries/Utilities/differ/deepDiffer.js +101 -0
  810. package/Libraries/Utilities/differ/insetsDiffer.js +40 -0
  811. package/Libraries/Utilities/differ/matricesDiffer.js +51 -0
  812. package/Libraries/Utilities/differ/pointsDiffer.js +27 -0
  813. package/Libraries/Utilities/differ/sizesDiffer.js +26 -0
  814. package/Libraries/Utilities/dismissKeyboard.js +21 -0
  815. package/Libraries/Utilities/infoLog.js +20 -0
  816. package/Libraries/Utilities/logError.js +27 -0
  817. package/Libraries/Utilities/mapWithSeparator.js +28 -0
  818. package/Libraries/Utilities/stringifySafe.js +121 -0
  819. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  820. package/Libraries/Utilities/useColorScheme.js +25 -0
  821. package/Libraries/Utilities/useMergeRefs.js +59 -0
  822. package/Libraries/Utilities/useRefEffect.js +45 -0
  823. package/Libraries/Utilities/useWindowDimensions.js +47 -0
  824. package/Libraries/Utilities/warnOnce.js +32 -0
  825. package/Libraries/Vibration/NativeVibration.js +13 -0
  826. package/Libraries/Vibration/RCTVibration.h +12 -0
  827. package/Libraries/Vibration/RCTVibration.mm +54 -0
  828. package/Libraries/Vibration/RCTVibrationPlugins.h +40 -0
  829. package/Libraries/Vibration/RCTVibrationPlugins.mm +33 -0
  830. package/Libraries/Vibration/React-RCTVibration.podspec +56 -0
  831. package/Libraries/Vibration/Vibration.d.ts +43 -0
  832. package/Libraries/Vibration/Vibration.js +115 -0
  833. package/Libraries/Vibration/delegates/BaseVibrationDelegate.ts +11 -0
  834. package/Libraries/Vibration/delegates/VibrationDelegate.ts +11 -0
  835. package/Libraries/WebSocket/NativeWebSocketModule.js +13 -0
  836. package/Libraries/WebSocket/RCTReconnectingWebSocket.h +37 -0
  837. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +109 -0
  838. package/Libraries/WebSocket/WebSocket.js +297 -0
  839. package/Libraries/WebSocket/WebSocketEvent.js +30 -0
  840. package/Libraries/WebSocket/WebSocketInterceptor.js +247 -0
  841. package/Libraries/WebSocket/__mocks__/event-target-shim.js +27 -0
  842. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +16 -0
  843. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +53 -0
  844. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +16 -0
  845. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +23 -0
  846. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +20 -0
  847. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +46 -0
  848. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +18 -0
  849. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +31 -0
  850. package/Libraries/Wrapper/RCTWrapper.h +68 -0
  851. package/Libraries/Wrapper/RCTWrapperShadowView.h +22 -0
  852. package/Libraries/Wrapper/RCTWrapperShadowView.m +134 -0
  853. package/Libraries/Wrapper/RCTWrapperView.h +36 -0
  854. package/Libraries/Wrapper/RCTWrapperView.m +95 -0
  855. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +25 -0
  856. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +133 -0
  857. package/Libraries/Wrapper/RCTWrapperViewManager.h +20 -0
  858. package/Libraries/Wrapper/RCTWrapperViewManager.m +27 -0
  859. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  860. package/Libraries/YellowBox/YellowBoxDeprecated.js +75 -0
  861. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +32 -0
  862. package/Libraries/promiseRejectionTrackingOptions.js +72 -0
  863. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  864. package/Libraries/vendor/core/ErrorUtils.js +25 -0
  865. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  866. package/Libraries/vendor/emitter/EventEmitter.js +158 -0
  867. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  868. package/delegates/DelegateError.ts +10 -0
  869. package/index.js +23 -0
  870. package/metro.config.js +4 -0
  871. package/package.json +4 -7
  872. package/react_native_openharmony.har +0 -0
  873. package/react_native_openharmony_release.har +0 -0
  874. package/src/private/animated/NativeAnimatedHelper.js +440 -0
  875. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  876. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  877. package/src/private/components/HScrollViewNativeComponents.js +30 -0
  878. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +32 -0
  879. package/src/private/components/VScrollViewNativeComponents.js +25 -0
  880. package/src/private/debugging/FuseboxSessionObserver.js +42 -0
  881. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  882. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  883. package/src/private/debugging/ReactDevToolsSettingsManager.js.flow +16 -0
  884. package/src/private/debugging/setUpFuseboxReactDevToolsDispatcher.js +114 -0
  885. package/src/private/devmenu/DevMenu.d.ts +20 -0
  886. package/src/private/devmenu/DevMenu.js +31 -0
  887. package/src/private/featureflags/ReactNativeFeatureFlags.js +369 -0
  888. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
  889. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +78 -0
  890. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  891. package/src/private/renderer/errorhandling/ErrorHandlers.js +126 -0
  892. package/src/private/setup/setUpDOM.js +36 -0
  893. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  894. package/src/private/setup/setUpMutationObserver.js +31 -0
  895. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  896. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  897. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  898. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
  899. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  900. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  901. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  902. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  903. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  904. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  905. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +147 -0
  906. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  907. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  908. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  909. package/src/private/specs/modules/NativeAccessibilityInfo.js +42 -0
  910. package/src/private/specs/modules/NativeAccessibilityManager.js +70 -0
  911. package/src/private/specs/modules/NativeActionSheetManager.js +56 -0
  912. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  913. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  914. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  915. package/src/private/specs/modules/NativeAppState.js +33 -0
  916. package/src/private/specs/modules/NativeAppearance.js +30 -0
  917. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  918. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  919. package/src/private/specs/modules/NativeClipboard.js +21 -0
  920. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  921. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  922. package/src/private/specs/modules/NativeDevSettings.js +34 -0
  923. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  924. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  925. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  926. package/src/private/specs/modules/NativeExceptionsManager.js +91 -0
  927. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  928. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  929. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  930. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  931. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  932. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  933. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  934. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  935. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  936. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  937. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  938. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  939. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  940. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  941. package/src/private/specs/modules/NativeLogBox.js +20 -0
  942. package/src/private/specs/modules/NativeModalManager.js +21 -0
  943. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  944. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  945. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  946. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  947. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  948. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  949. package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
  950. package/src/private/specs/modules/NativeRedBox.js +20 -0
  951. package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
  952. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  953. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  954. package/src/private/specs/modules/NativeShareModule.js +23 -0
  955. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  956. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  957. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  958. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  959. package/src/private/specs/modules/NativeTiming.js +26 -0
  960. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  961. package/src/private/specs/modules/NativeUIManager.js +111 -0
  962. package/src/private/specs/modules/NativeVibration.js +24 -0
  963. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  964. package/src/private/styles/composeStyles.js +27 -0
  965. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  966. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  967. package/src/private/webapis/dom/nodes/ReactNativeElement.js +188 -0
  968. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  969. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  970. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +359 -0
  971. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  972. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  973. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  974. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  975. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  976. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  977. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js.flow +27 -0
  978. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  979. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +27 -0
  980. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  981. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +31 -0
  982. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  983. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
  984. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
  985. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +277 -0
  986. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +42 -0
  987. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +181 -0
  988. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  989. package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
  990. package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
  991. package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
  992. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
  993. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +327 -0
  994. package/src/private/webapis/performance/EventTiming.js +145 -0
  995. package/src/private/webapis/performance/LongTasks.js +39 -0
  996. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  997. package/src/private/webapis/performance/Performance.js +299 -0
  998. package/src/private/webapis/performance/PerformanceEntry.js +68 -0
  999. package/src/private/webapis/performance/PerformanceObserver.js +232 -0
  1000. package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
  1001. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  1002. package/src/private/webapis/performance/UserTiming.js +72 -0
  1003. package/src/private/webapis/performance/Utilities.js +18 -0
  1004. package/src/private/webapis/performance/specs/NativePerformance.js +103 -0
  1005. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  1006. package/types/index.d.ts +215 -0
  1007. package/types/index.harmony.d.ts +1 -1
  1008. package/types/modules/BatchedBridge.d.ts +32 -0
  1009. package/types/modules/Codegen.d.ts +80 -0
  1010. package/types/modules/Devtools.d.ts +32 -0
  1011. package/types/modules/LaunchScreen.d.ts +18 -0
  1012. package/types/modules/globals.d.ts +599 -0
  1013. package/types/private/TimerMixin.d.ts +19 -0
  1014. package/types/private/Utilities.d.ts +10 -0
  1015. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  1016. package/types/public/Insets.d.ts +15 -0
  1017. package/types/public/ReactNativeRenderer.d.ts +144 -0
  1018. package/types/public/ReactNativeTypes.d.ts +139 -0
  1019. package/types/tsconfig.json +15 -0
  1020. package/types/tslint.json +24 -0
@@ -0,0 +1,817 @@
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
+ #import <React/RCTBaseTextInputView.h>
9
+
10
+ #import <React/RCTBridge.h>
11
+ #import <React/RCTConvert.h>
12
+ #import <React/RCTEventDispatcherProtocol.h>
13
+ #import <React/RCTScrollView.h>
14
+ #import <React/RCTUIManager.h>
15
+ #import <React/RCTUtils.h>
16
+ #import <React/UIView+React.h>
17
+
18
+ #import <React/RCTInputAccessoryView.h>
19
+ #import <React/RCTInputAccessoryViewContent.h>
20
+ #import <React/RCTTextAttributes.h>
21
+ #import <React/RCTTextSelection.h>
22
+
23
+ /** Native iOS text field bottom keyboard offset amount */
24
+ static const CGFloat kSingleLineKeyboardBottomOffset = 15.0;
25
+ static NSSet<NSNumber *> *returnKeyTypesSet;
26
+
27
+ @implementation RCTBaseTextInputView {
28
+ __weak RCTBridge *_bridge;
29
+ __weak id<RCTEventDispatcherProtocol> _eventDispatcher;
30
+ BOOL _hasInputAccessoryView;
31
+ NSString *_Nullable _predictedText;
32
+ BOOL _didMoveToWindow;
33
+ }
34
+
35
+ - (void)reactUpdateResponderOffsetForScrollView:(RCTScrollView *)scrollView
36
+ {
37
+ if (![self isDescendantOfView:scrollView]) {
38
+ // View is outside scroll view
39
+ scrollView.firstResponderViewOutsideScrollView = self.backedTextInputView;
40
+ return;
41
+ }
42
+
43
+ UITextRange *selectedTextRange = self.backedTextInputView.selectedTextRange;
44
+ UITextSelectionRect *selection = [self.backedTextInputView selectionRectsForRange:selectedTextRange].firstObject;
45
+ CGRect focusRect;
46
+ if (selection == nil) {
47
+ // No active selection or caret - fallback to entire input frame
48
+ focusRect = self.bounds;
49
+ } else {
50
+ // Focus on text selection frame
51
+ focusRect = selection.rect;
52
+ BOOL isMultiline = [self.backedTextInputView isKindOfClass:[UITextView class]];
53
+ if (!isMultiline) {
54
+ focusRect.size.height += kSingleLineKeyboardBottomOffset;
55
+ }
56
+ }
57
+ scrollView.firstResponderFocus = [self convertRect:focusRect toView:nil];
58
+ }
59
+
60
+ - (instancetype)initWithBridge:(RCTBridge *)bridge
61
+ {
62
+ RCTAssertParam(bridge);
63
+
64
+ if (self = [super initWithFrame:CGRectZero]) {
65
+ _bridge = bridge;
66
+ _eventDispatcher = bridge.eventDispatcher;
67
+ [self initializeReturnKeyType];
68
+ }
69
+
70
+ return self;
71
+ }
72
+
73
+ RCT_NOT_IMPLEMENTED(-(instancetype)init)
74
+ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)decoder)
75
+ RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
76
+
77
+ - (UIView<RCTBackedTextInputViewProtocol> *)backedTextInputView
78
+ {
79
+ RCTAssert(NO, @"-[RCTBaseTextInputView backedTextInputView] must be implemented in subclass.");
80
+ return nil;
81
+ }
82
+
83
+ #pragma mark - RCTComponent
84
+
85
+ - (void)didUpdateReactSubviews
86
+ {
87
+ // Do nothing.
88
+ }
89
+
90
+ #pragma mark - Properties
91
+
92
+ - (void)setTextAttributes:(RCTTextAttributes *)textAttributes
93
+ {
94
+ _textAttributes = textAttributes;
95
+ [self enforceTextAttributesIfNeeded];
96
+ }
97
+
98
+ - (void)enforceTextAttributesIfNeeded
99
+ {
100
+ id<RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView;
101
+
102
+ NSDictionary<NSAttributedStringKey, id> *textAttributes = [[_textAttributes effectiveTextAttributes] mutableCopy];
103
+ if ([textAttributes valueForKey:NSForegroundColorAttributeName] == nil) {
104
+ [textAttributes setValue:[UIColor blackColor] forKey:NSForegroundColorAttributeName];
105
+ }
106
+
107
+ backedTextInputView.defaultTextAttributes = textAttributes;
108
+ }
109
+
110
+ - (void)setReactPaddingInsets:(UIEdgeInsets)reactPaddingInsets
111
+ {
112
+ _reactPaddingInsets = reactPaddingInsets;
113
+ // We apply `paddingInsets` as `backedTextInputView`'s `textContainerInset`.
114
+ self.backedTextInputView.textContainerInset = reactPaddingInsets;
115
+ [self setNeedsLayout];
116
+ }
117
+
118
+ - (void)setReactBorderInsets:(UIEdgeInsets)reactBorderInsets
119
+ {
120
+ _reactBorderInsets = reactBorderInsets;
121
+ // We apply `borderInsets` as `backedTextInputView` layout offset.
122
+ self.backedTextInputView.frame = UIEdgeInsetsInsetRect(self.bounds, reactBorderInsets);
123
+ [self setNeedsLayout];
124
+ }
125
+
126
+ - (NSAttributedString *)attributedText
127
+ {
128
+ return self.backedTextInputView.attributedText;
129
+ }
130
+
131
+ - (BOOL)textOf:(NSAttributedString *)newText equals:(NSAttributedString *)oldText
132
+ {
133
+ // When the dictation is running we can't update the attributed text on the backed up text view
134
+ // because setting the attributed string will kill the dictation. This means that we can't impose
135
+ // the settings on a dictation.
136
+ // Similarly, when the user is in the middle of inputting some text in Japanese/Chinese, there will be styling on the
137
+ // text that we should disregard. See
138
+ // https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc for more info.
139
+ // Also, updating the attributed text while inputting Korean language will break input mechanism.
140
+ // If the user added an emoji, the system adds a font attribute for the emoji and stores the original font in
141
+ // NSOriginalFont. Lastly, when entering a password, etc., there will be additional styling on the field as the native
142
+ // text view handles showing the last character for a split second.
143
+ __block BOOL fontHasBeenUpdatedBySystem = false;
144
+ [oldText enumerateAttribute:@"NSOriginalFont"
145
+ inRange:NSMakeRange(0, oldText.length)
146
+ options:0
147
+ usingBlock:^(id value, NSRange range, BOOL *stop) {
148
+ if (value) {
149
+ fontHasBeenUpdatedBySystem = true;
150
+ }
151
+ }];
152
+
153
+ BOOL shouldFallbackDictation = [self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"dictation"];
154
+ if (@available(iOS 16.0, *)) {
155
+ shouldFallbackDictation = self.backedTextInputView.dictationRecognizing;
156
+ }
157
+
158
+ BOOL shouldFallbackToBareTextComparison = shouldFallbackDictation ||
159
+ [self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"ko-KR"] ||
160
+ self.backedTextInputView.markedTextRange || self.backedTextInputView.isSecureTextEntry ||
161
+ fontHasBeenUpdatedBySystem;
162
+
163
+ if (shouldFallbackToBareTextComparison) {
164
+ return ([newText.string isEqualToString:oldText.string]);
165
+ } else {
166
+ return ([newText isEqualToAttributedString:oldText]);
167
+ }
168
+ }
169
+
170
+ - (void)setAttributedText:(NSAttributedString *)attributedText
171
+ {
172
+ NSInteger eventLag = _nativeEventCount - _mostRecentEventCount;
173
+ BOOL textNeedsUpdate = NO;
174
+ // Remove tag attribute to ensure correct attributed string comparison.
175
+ NSMutableAttributedString *const backedTextInputViewTextCopy = [self.backedTextInputView.attributedText mutableCopy];
176
+ NSMutableAttributedString *const attributedTextCopy = [attributedText mutableCopy];
177
+
178
+ [backedTextInputViewTextCopy removeAttribute:RCTTextAttributesTagAttributeName
179
+ range:NSMakeRange(0, backedTextInputViewTextCopy.length)];
180
+
181
+ [attributedTextCopy removeAttribute:RCTTextAttributesTagAttributeName
182
+ range:NSMakeRange(0, attributedTextCopy.length)];
183
+
184
+ textNeedsUpdate = ([self textOf:attributedTextCopy equals:backedTextInputViewTextCopy] == NO);
185
+
186
+ if (eventLag == 0 && textNeedsUpdate) {
187
+ UITextRange *selection = self.backedTextInputView.selectedTextRange;
188
+ NSInteger oldTextLength = self.backedTextInputView.attributedText.string.length;
189
+
190
+ self.backedTextInputView.attributedText = attributedText;
191
+
192
+ if (selection.empty) {
193
+ // Maintaining a cursor position relative to the end of the old text.
194
+ NSInteger offsetStart = [self.backedTextInputView offsetFromPosition:self.backedTextInputView.beginningOfDocument
195
+ toPosition:selection.start];
196
+ NSInteger offsetFromEnd = oldTextLength - offsetStart;
197
+ NSInteger newOffset = attributedText.string.length - offsetFromEnd;
198
+ UITextPosition *position =
199
+ [self.backedTextInputView positionFromPosition:self.backedTextInputView.beginningOfDocument offset:newOffset];
200
+ [self.backedTextInputView setSelectedTextRange:[self.backedTextInputView textRangeFromPosition:position
201
+ toPosition:position]
202
+ notifyDelegate:YES];
203
+ }
204
+
205
+ [self updateLocalData];
206
+ } else if (eventLag > RCTTextUpdateLagWarningThreshold) {
207
+ RCTLog(
208
+ @"Native TextInput(%@) is %lld events ahead of JS - try to make your JS faster.",
209
+ self.backedTextInputView.attributedText.string,
210
+ (long long)eventLag);
211
+ }
212
+ }
213
+
214
+ - (RCTTextSelection *)selection
215
+ {
216
+ id<RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView;
217
+ UITextRange *selectedTextRange = backedTextInputView.selectedTextRange;
218
+ return [[RCTTextSelection new]
219
+ initWithStart:[backedTextInputView offsetFromPosition:backedTextInputView.beginningOfDocument
220
+ toPosition:selectedTextRange.start]
221
+ end:[backedTextInputView offsetFromPosition:backedTextInputView.beginningOfDocument
222
+ toPosition:selectedTextRange.end]];
223
+ }
224
+
225
+ - (void)setSelection:(RCTTextSelection *)selection
226
+ {
227
+ if (!selection) {
228
+ return;
229
+ }
230
+
231
+ id<RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView;
232
+
233
+ UITextRange *previousSelectedTextRange = backedTextInputView.selectedTextRange;
234
+ UITextPosition *start = [backedTextInputView positionFromPosition:backedTextInputView.beginningOfDocument
235
+ offset:selection.start];
236
+ UITextPosition *end = [backedTextInputView positionFromPosition:backedTextInputView.beginningOfDocument
237
+ offset:selection.end];
238
+ UITextRange *selectedTextRange = [backedTextInputView textRangeFromPosition:start toPosition:end];
239
+
240
+ NSInteger eventLag = _nativeEventCount - _mostRecentEventCount;
241
+ if (eventLag == 0 && ![previousSelectedTextRange isEqual:selectedTextRange]) {
242
+ [backedTextInputView setSelectedTextRange:selectedTextRange notifyDelegate:NO];
243
+ } else if (eventLag > RCTTextUpdateLagWarningThreshold) {
244
+ RCTLog(
245
+ @"Native TextInput(%@) is %lld events ahead of JS - try to make your JS faster.",
246
+ backedTextInputView.attributedText.string,
247
+ (long long)eventLag);
248
+ }
249
+ }
250
+
251
+ - (void)setSelectionStart:(NSInteger)start selectionEnd:(NSInteger)end
252
+ {
253
+ UITextPosition *startPosition =
254
+ [self.backedTextInputView positionFromPosition:self.backedTextInputView.beginningOfDocument offset:start];
255
+ UITextPosition *endPosition =
256
+ [self.backedTextInputView positionFromPosition:self.backedTextInputView.beginningOfDocument offset:end];
257
+ if (startPosition && endPosition) {
258
+ UITextRange *range = [self.backedTextInputView textRangeFromPosition:startPosition toPosition:endPosition];
259
+ [self.backedTextInputView setSelectedTextRange:range notifyDelegate:NO];
260
+ }
261
+ }
262
+
263
+ - (void)setTextContentType:(NSString *)type
264
+ {
265
+ static dispatch_once_t onceToken;
266
+ static NSDictionary<NSString *, NSString *> *contentTypeMap;
267
+
268
+ dispatch_once(&onceToken, ^{
269
+ NSMutableDictionary<NSString *, NSString *> *mutableContentTypeMap = [NSMutableDictionary new];
270
+ [mutableContentTypeMap addEntriesFromDictionary:@{
271
+ @"none" : @"",
272
+ @"URL" : UITextContentTypeURL,
273
+ @"addressCity" : UITextContentTypeAddressCity,
274
+ @"addressCityAndState" : UITextContentTypeAddressCityAndState,
275
+ @"addressState" : UITextContentTypeAddressState,
276
+ @"countryName" : UITextContentTypeCountryName,
277
+ @"creditCardNumber" : UITextContentTypeCreditCardNumber,
278
+ @"emailAddress" : UITextContentTypeEmailAddress,
279
+ @"familyName" : UITextContentTypeFamilyName,
280
+ @"fullStreetAddress" : UITextContentTypeFullStreetAddress,
281
+ @"givenName" : UITextContentTypeGivenName,
282
+ @"jobTitle" : UITextContentTypeJobTitle,
283
+ @"location" : UITextContentTypeLocation,
284
+ @"middleName" : UITextContentTypeMiddleName,
285
+ @"name" : UITextContentTypeName,
286
+ @"namePrefix" : UITextContentTypeNamePrefix,
287
+ @"nameSuffix" : UITextContentTypeNameSuffix,
288
+ @"nickname" : UITextContentTypeNickname,
289
+ @"organizationName" : UITextContentTypeOrganizationName,
290
+ @"postalCode" : UITextContentTypePostalCode,
291
+ @"streetAddressLine1" : UITextContentTypeStreetAddressLine1,
292
+ @"streetAddressLine2" : UITextContentTypeStreetAddressLine2,
293
+ @"sublocality" : UITextContentTypeSublocality,
294
+ @"telephoneNumber" : UITextContentTypeTelephoneNumber,
295
+ @"username" : UITextContentTypeUsername,
296
+ @"password" : UITextContentTypePassword,
297
+ @"newPassword" : UITextContentTypeNewPassword,
298
+ @"oneTimeCode" : UITextContentTypeOneTimeCode,
299
+ }];
300
+
301
+ if (@available(iOS 15.0, *)) {
302
+ [mutableContentTypeMap addEntriesFromDictionary:@{
303
+ @"dateTime" : UITextContentTypeDateTime,
304
+ @"flightNumber" : UITextContentTypeFlightNumber,
305
+ @"shipmentTrackingNumber" : UITextContentTypeShipmentTrackingNumber,
306
+ }];
307
+ }
308
+
309
+ #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 170000 /* __IPHONE_17_0 */
310
+ if (@available(iOS 17.0, *)) {
311
+ [mutableContentTypeMap addEntriesFromDictionary:@{
312
+ @"creditCardExpiration" : UITextContentTypeCreditCardExpiration,
313
+ @"creditCardExpirationMonth" : UITextContentTypeCreditCardExpirationMonth,
314
+ @"creditCardExpirationYear" : UITextContentTypeCreditCardExpirationYear,
315
+ @"creditCardSecurityCode" : UITextContentTypeCreditCardSecurityCode,
316
+ @"creditCardType" : UITextContentTypeCreditCardType,
317
+ @"creditCardName" : UITextContentTypeCreditCardName,
318
+ @"creditCardGivenName" : UITextContentTypeCreditCardGivenName,
319
+ @"creditCardMiddleName" : UITextContentTypeCreditCardMiddleName,
320
+ @"creditCardFamilyName" : UITextContentTypeCreditCardFamilyName,
321
+ @"birthdate" : UITextContentTypeBirthdate,
322
+ @"birthdateDay" : UITextContentTypeBirthdateDay,
323
+ @"birthdateMonth" : UITextContentTypeBirthdateMonth,
324
+ @"birthdateYear" : UITextContentTypeBirthdateYear,
325
+ }];
326
+ }
327
+
328
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 170400 /* __IPHONE_17_4 */
329
+ if (@available(iOS 17.4, *)) {
330
+ [mutableContentTypeMap addEntriesFromDictionary:@{
331
+ @"cellularEID" : UITextContentTypeCellularEID,
332
+ @"cellularIMEI" : UITextContentTypeCellularIMEI,
333
+ }];
334
+ }
335
+ #endif
336
+ #endif
337
+
338
+ contentTypeMap = mutableContentTypeMap;
339
+ });
340
+
341
+ // Setting textContentType to an empty string will disable any
342
+ // default behaviour, like the autofill bar for password inputs
343
+ self.backedTextInputView.textContentType = contentTypeMap[type] ?: type;
344
+ }
345
+
346
+ - (void)setPasswordRules:(NSString *)descriptor
347
+ {
348
+ self.backedTextInputView.passwordRules = [UITextInputPasswordRules passwordRulesWithDescriptor:descriptor];
349
+ }
350
+
351
+ - (UIKeyboardType)keyboardType
352
+ {
353
+ return self.backedTextInputView.keyboardType;
354
+ }
355
+
356
+ - (void)setKeyboardType:(UIKeyboardType)keyboardType
357
+ {
358
+ UIView<RCTBackedTextInputViewProtocol> *textInputView = self.backedTextInputView;
359
+ if (textInputView.keyboardType != keyboardType) {
360
+ textInputView.keyboardType = keyboardType;
361
+ // Without the call to reloadInputViews, the keyboard will not change until the textview field (the first responder)
362
+ // loses and regains focus.
363
+ if (textInputView.isFirstResponder) {
364
+ [textInputView reloadInputViews];
365
+ }
366
+ }
367
+ }
368
+
369
+ - (void)setShowSoftInputOnFocus:(BOOL)showSoftInputOnFocus
370
+ {
371
+ (void)_showSoftInputOnFocus;
372
+ if (showSoftInputOnFocus) {
373
+ // Resets to default keyboard.
374
+ self.backedTextInputView.inputView = nil;
375
+
376
+ // Without the call to reloadInputViews, the keyboard will not change until the textInput field (the first
377
+ // responder) loses and regains focus.
378
+ if (self.backedTextInputView.isFirstResponder) {
379
+ [self.backedTextInputView reloadInputViews];
380
+ }
381
+ } else {
382
+ // Hides keyboard, but keeps blinking cursor.
383
+ self.backedTextInputView.inputView = [UIView new];
384
+ }
385
+ }
386
+
387
+ - (NSString *)inputAccessoryViewButtonLabel
388
+ {
389
+ return self.backedTextInputView.inputAccessoryViewButtonLabel;
390
+ }
391
+
392
+ - (void)setInputAccessoryViewButtonLabel:(NSString *)inputAccessoryViewButtonLabel
393
+ {
394
+ self.backedTextInputView.inputAccessoryViewButtonLabel = inputAccessoryViewButtonLabel;
395
+ }
396
+
397
+ #pragma mark - RCTBackedTextInputDelegate
398
+
399
+ - (BOOL)textInputShouldBeginEditing
400
+ {
401
+ return YES;
402
+ }
403
+
404
+ - (void)textInputDidBeginEditing
405
+ {
406
+ [_eventDispatcher sendTextEventWithType:RCTTextEventTypeFocus
407
+ reactTag:self.reactTag
408
+ text:[self.backedTextInputView.attributedText.string copy]
409
+ key:nil
410
+ eventCount:_nativeEventCount];
411
+ }
412
+
413
+ - (BOOL)textInputShouldEndEditing
414
+ {
415
+ return YES;
416
+ }
417
+
418
+ - (void)textInputDidEndEditing
419
+ {
420
+ [_eventDispatcher sendTextEventWithType:RCTTextEventTypeEnd
421
+ reactTag:self.reactTag
422
+ text:[self.backedTextInputView.attributedText.string copy]
423
+ key:nil
424
+ eventCount:_nativeEventCount];
425
+
426
+ [_eventDispatcher sendTextEventWithType:RCTTextEventTypeBlur
427
+ reactTag:self.reactTag
428
+ text:[self.backedTextInputView.attributedText.string copy]
429
+ key:nil
430
+ eventCount:_nativeEventCount];
431
+ }
432
+
433
+ - (BOOL)textInputShouldSubmitOnReturn
434
+ {
435
+ const BOOL shouldSubmit =
436
+ [_submitBehavior isEqualToString:@"blurAndSubmit"] || [_submitBehavior isEqualToString:@"submit"];
437
+ if (shouldSubmit) {
438
+ // We send `submit` event here, in `textInputShouldSubmit`
439
+ // (not in `textInputDidReturn)`, because of semantic of the event:
440
+ // `onSubmitEditing` is called when "Submit" button
441
+ // (the blue key on onscreen keyboard) did pressed
442
+ // (no connection to any specific "submitting" process).
443
+ [_eventDispatcher sendTextEventWithType:RCTTextEventTypeSubmit
444
+ reactTag:self.reactTag
445
+ text:[self.backedTextInputView.attributedText.string copy]
446
+ key:nil
447
+ eventCount:_nativeEventCount];
448
+ }
449
+ return shouldSubmit;
450
+ }
451
+
452
+ - (BOOL)textInputShouldReturn
453
+ {
454
+ return [_submitBehavior isEqualToString:@"blurAndSubmit"];
455
+ }
456
+
457
+ - (void)textInputDidReturn
458
+ {
459
+ // Does nothing.
460
+ }
461
+
462
+ - (NSString *)textInputShouldChangeText:(NSString *)text inRange:(NSRange)range
463
+ {
464
+ id<RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView;
465
+
466
+ if (!backedTextInputView.textWasPasted) {
467
+ [_eventDispatcher sendTextEventWithType:RCTTextEventTypeKeyPress
468
+ reactTag:self.reactTag
469
+ text:nil
470
+ key:text
471
+ eventCount:_nativeEventCount];
472
+ }
473
+
474
+ if (_maxLength) {
475
+ NSInteger allowedLength = MAX(
476
+ _maxLength.integerValue - (NSInteger)backedTextInputView.attributedText.string.length + (NSInteger)range.length,
477
+ 0);
478
+
479
+ if (text.length > allowedLength) {
480
+ // If we typed/pasted more than one character, limit the text inputted.
481
+ if (text.length > 1) {
482
+ if (allowedLength > 0) {
483
+ // make sure unicode characters that are longer than 16 bits (such as emojis) are not cut off
484
+ NSRange cutOffCharacterRange = [text rangeOfComposedCharacterSequenceAtIndex:allowedLength - 1];
485
+ if (cutOffCharacterRange.location + cutOffCharacterRange.length > allowedLength) {
486
+ // the character at the length limit takes more than 16bits, truncation should end at the character before
487
+ allowedLength = cutOffCharacterRange.location;
488
+ }
489
+ }
490
+ if (allowedLength <= 0) {
491
+ return nil;
492
+ }
493
+ // Truncate the input string so the result is exactly maxLength
494
+ NSString *limitedString = [text substringToIndex:allowedLength];
495
+ NSMutableAttributedString *newAttributedText = [backedTextInputView.attributedText mutableCopy];
496
+ // Apply text attributes if original input view doesn't have text.
497
+ if (backedTextInputView.attributedText.length == 0) {
498
+ newAttributedText = [[NSMutableAttributedString alloc]
499
+ initWithString:[self.textAttributes applyTextAttributesToText:limitedString]
500
+ attributes:self.textAttributes.effectiveTextAttributes];
501
+ } else {
502
+ [newAttributedText replaceCharactersInRange:range withString:limitedString];
503
+ }
504
+ backedTextInputView.attributedText = newAttributedText;
505
+ _predictedText = newAttributedText.string;
506
+
507
+ // Collapse selection at end of insert to match normal paste behavior.
508
+ UITextPosition *insertEnd = [backedTextInputView positionFromPosition:backedTextInputView.beginningOfDocument
509
+ offset:(range.location + allowedLength)];
510
+ [backedTextInputView setSelectedTextRange:[backedTextInputView textRangeFromPosition:insertEnd
511
+ toPosition:insertEnd]
512
+ notifyDelegate:YES];
513
+
514
+ [self textInputDidChange];
515
+ }
516
+
517
+ return nil; // Rejecting the change.
518
+ }
519
+ }
520
+
521
+ if (range.location + range.length > backedTextInputView.attributedText.string.length) {
522
+ _predictedText = backedTextInputView.attributedText.string;
523
+ } else if (text != nil) {
524
+ _predictedText = [backedTextInputView.attributedText.string stringByReplacingCharactersInRange:range
525
+ withString:text];
526
+ }
527
+
528
+ return text; // Accepting the change.
529
+ }
530
+
531
+ - (void)textInputDidChange
532
+ {
533
+ [self updateLocalData];
534
+
535
+ id<RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView;
536
+
537
+ // Detect when `backedTextInputView` updates happened that didn't invoke `shouldChangeTextInRange`
538
+ // (e.g. typing simplified Chinese in pinyin will insert and remove spaces without
539
+ // calling shouldChangeTextInRange). This will cause JS to get out of sync so we
540
+ // update the mismatched range.
541
+ NSRange currentRange;
542
+ NSRange predictionRange;
543
+ if (findMismatch(backedTextInputView.attributedText.string, _predictedText, &currentRange, &predictionRange)) {
544
+ NSString *replacement = [backedTextInputView.attributedText.string substringWithRange:currentRange];
545
+ [self textInputShouldChangeText:replacement inRange:predictionRange];
546
+ // JS will assume the selection changed based on the location of our shouldChangeTextInRange, so reset it.
547
+ [self textInputDidChangeSelection];
548
+ }
549
+
550
+ _nativeEventCount++;
551
+
552
+ if (_onChange) {
553
+ _onChange(@{
554
+ @"text" : [self.attributedText.string copy],
555
+ @"target" : self.reactTag,
556
+ @"eventCount" : @(_nativeEventCount),
557
+ });
558
+ }
559
+ }
560
+
561
+ - (void)textInputDidChangeSelection
562
+ {
563
+ if (!_onSelectionChange) {
564
+ return;
565
+ }
566
+
567
+ RCTTextSelection *selection = self.selection;
568
+
569
+ _onSelectionChange(@{
570
+ @"selection" : @{
571
+ @"start" : @(selection.start),
572
+ @"end" : @(selection.end),
573
+ },
574
+ });
575
+ }
576
+
577
+ - (void)updateLocalData
578
+ {
579
+ [self enforceTextAttributesIfNeeded];
580
+
581
+ [_bridge.uiManager setLocalData:[self.backedTextInputView.attributedText copy] forView:self];
582
+ }
583
+
584
+ #pragma mark - Layout (in UIKit terms, with all insets)
585
+
586
+ - (CGSize)intrinsicContentSize
587
+ {
588
+ CGSize size = self.backedTextInputView.intrinsicContentSize;
589
+ size.width += _reactBorderInsets.left + _reactBorderInsets.right;
590
+ size.height += _reactBorderInsets.top + _reactBorderInsets.bottom;
591
+ // Returning value DOES include border and padding insets.
592
+ return size;
593
+ }
594
+
595
+ - (CGSize)sizeThatFits:(CGSize)size
596
+ {
597
+ CGFloat compoundHorizontalBorderInset = _reactBorderInsets.left + _reactBorderInsets.right;
598
+ CGFloat compoundVerticalBorderInset = _reactBorderInsets.top + _reactBorderInsets.bottom;
599
+
600
+ size.width -= compoundHorizontalBorderInset;
601
+ size.height -= compoundVerticalBorderInset;
602
+
603
+ // Note: `paddingInsets` was already included in `backedTextInputView` size
604
+ // because it was applied as `textContainerInset`.
605
+ CGSize fittingSize = [self.backedTextInputView sizeThatFits:size];
606
+
607
+ fittingSize.width += compoundHorizontalBorderInset;
608
+ fittingSize.height += compoundVerticalBorderInset;
609
+
610
+ // Returning value DOES include border and padding insets.
611
+ return fittingSize;
612
+ }
613
+
614
+ #pragma mark - Accessibility
615
+
616
+ - (UIView *)reactAccessibilityElement
617
+ {
618
+ return self.backedTextInputView;
619
+ }
620
+
621
+ #pragma mark - Focus Control
622
+
623
+ - (void)reactFocus
624
+ {
625
+ [self.backedTextInputView reactFocus];
626
+
627
+ if (_clearTextOnFocus) {
628
+ self.backedTextInputView.attributedText = [NSAttributedString new];
629
+ }
630
+
631
+ if (_selectTextOnFocus) {
632
+ [self.backedTextInputView selectAll:nil];
633
+ }
634
+ }
635
+
636
+ - (void)reactBlur
637
+ {
638
+ [self.backedTextInputView reactBlur];
639
+ }
640
+
641
+ - (void)didMoveToWindow
642
+ {
643
+ if (self.autoFocus && !_didMoveToWindow) {
644
+ [self.backedTextInputView reactFocus];
645
+ [self initializeReturnKeyType];
646
+ } else {
647
+ [self.backedTextInputView reactFocusIfNeeded];
648
+ }
649
+
650
+ _didMoveToWindow = YES;
651
+ }
652
+
653
+ #pragma mark - Custom Input Accessory View
654
+
655
+ - (void)didSetProps:(NSArray<NSString *> *)changedProps
656
+ {
657
+ if ([changedProps containsObject:@"inputAccessoryViewID"] && self.inputAccessoryViewID) {
658
+ [self setCustomInputAccessoryViewWithNativeID:self.inputAccessoryViewID];
659
+ } else if (!self.inputAccessoryViewID) {
660
+ [self setDefaultInputAccessoryView];
661
+ }
662
+ }
663
+
664
+ - (void)setCustomInputAccessoryViewWithNativeID:(NSString *)nativeID
665
+ {
666
+ __weak RCTBaseTextInputView *weakSelf = self;
667
+ [_bridge.uiManager rootViewForReactTag:self.reactTag
668
+ withCompletion:^(UIView *rootView) {
669
+ RCTBaseTextInputView *strongSelf = weakSelf;
670
+ if (rootView) {
671
+ UIView *accessoryView = [strongSelf->_bridge.uiManager viewForNativeID:nativeID
672
+ withRootTag:rootView.reactTag];
673
+ if (accessoryView && [accessoryView isKindOfClass:[RCTInputAccessoryView class]]) {
674
+ strongSelf.backedTextInputView.inputAccessoryView =
675
+ ((RCTInputAccessoryView *)accessoryView).inputAccessoryView;
676
+ [strongSelf reloadInputViewsIfNecessary];
677
+ }
678
+ }
679
+ }];
680
+ }
681
+
682
+ - (NSString *)returnKeyTypeToString:(UIReturnKeyType)returnKeyType
683
+ {
684
+ switch (returnKeyType) {
685
+ case UIReturnKeyGo:
686
+ return @"Go";
687
+ case UIReturnKeyNext:
688
+ return @"Next";
689
+ case UIReturnKeySearch:
690
+ return @"Search";
691
+ case UIReturnKeySend:
692
+ return @"Send";
693
+ case UIReturnKeyYahoo:
694
+ return @"Yahoo";
695
+ case UIReturnKeyGoogle:
696
+ return @"Google";
697
+ case UIReturnKeyRoute:
698
+ return @"Route";
699
+ case UIReturnKeyJoin:
700
+ return @"Join";
701
+ case UIReturnKeyEmergencyCall:
702
+ return @"Emergency Call";
703
+ default:
704
+ return @"Done";
705
+ }
706
+ }
707
+
708
+ - (void)initializeReturnKeyType
709
+ {
710
+ returnKeyTypesSet = [NSSet setWithObjects:@(UIReturnKeyDone),
711
+ @(UIReturnKeyGo),
712
+ @(UIReturnKeyNext),
713
+ @(UIReturnKeySearch),
714
+ @(UIReturnKeySend),
715
+ @(UIReturnKeyYahoo),
716
+ @(UIReturnKeyGoogle),
717
+ @(UIReturnKeyRoute),
718
+ @(UIReturnKeyJoin),
719
+ @(UIReturnKeyRoute),
720
+ @(UIReturnKeyEmergencyCall),
721
+ nil];
722
+ }
723
+
724
+ - (void)setDefaultInputAccessoryView
725
+ {
726
+ UIView<RCTBackedTextInputViewProtocol> *textInputView = self.backedTextInputView;
727
+ UIKeyboardType keyboardType = textInputView.keyboardType;
728
+ NSString *inputAccessoryViewButtonLabel = textInputView.inputAccessoryViewButtonLabel;
729
+
730
+ // These keyboard types (all are number pads) don't have a Return Key button by default,
731
+ // so we create an `inputAccessoryView` with this button for them.
732
+
733
+ UIReturnKeyType returnKeyType = textInputView.returnKeyType;
734
+
735
+ BOOL containsKeyType = [returnKeyTypesSet containsObject:@(returnKeyType)];
736
+ BOOL containsInputAccessoryViewButtonLabel = inputAccessoryViewButtonLabel != nil;
737
+
738
+ BOOL shouldHaveInputAccessoryView =
739
+ (keyboardType == UIKeyboardTypeNumberPad || keyboardType == UIKeyboardTypePhonePad ||
740
+ keyboardType == UIKeyboardTypeDecimalPad || keyboardType == UIKeyboardTypeASCIICapableNumberPad) &&
741
+ (containsKeyType || containsInputAccessoryViewButtonLabel);
742
+
743
+ if (_hasInputAccessoryView == shouldHaveInputAccessoryView) {
744
+ return;
745
+ }
746
+
747
+ _hasInputAccessoryView = shouldHaveInputAccessoryView;
748
+
749
+ if (shouldHaveInputAccessoryView) {
750
+ NSString *buttonLabel = inputAccessoryViewButtonLabel != nil ? inputAccessoryViewButtonLabel
751
+ : [self returnKeyTypeToString:returnKeyType];
752
+
753
+ UIToolbar *toolbarView = [UIToolbar new];
754
+ [toolbarView sizeToFit];
755
+ UIBarButtonItem *flexibleSpace =
756
+ [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
757
+ UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:buttonLabel
758
+ style:UIBarButtonItemStylePlain
759
+ target:self
760
+ action:@selector(handleInputAccessoryDoneButton)];
761
+ toolbarView.items = @[ flexibleSpace, doneButton ];
762
+ textInputView.inputAccessoryView = toolbarView;
763
+ } else {
764
+ textInputView.inputAccessoryView = nil;
765
+ }
766
+ [self reloadInputViewsIfNecessary];
767
+ }
768
+
769
+ - (void)reloadInputViewsIfNecessary
770
+ {
771
+ // We have to call `reloadInputViews` for focused text inputs to update an accessory view.
772
+ if (self.backedTextInputView.isFirstResponder) {
773
+ [self.backedTextInputView reloadInputViews];
774
+ }
775
+ }
776
+
777
+ - (void)handleInputAccessoryDoneButton
778
+ {
779
+ // Ignore the value of whether we submitted; just make sure the submit event is called if necessary.
780
+ [self textInputShouldSubmitOnReturn];
781
+ if ([self textInputShouldReturn]) {
782
+ [self.backedTextInputView endEditing:YES];
783
+ }
784
+ }
785
+
786
+ #pragma mark - Helpers
787
+
788
+ static BOOL findMismatch(NSString *first, NSString *second, NSRange *firstRange, NSRange *secondRange)
789
+ {
790
+ NSInteger firstMismatch = -1;
791
+ for (NSUInteger ii = 0; ii < MAX(first.length, second.length); ii++) {
792
+ if (ii >= first.length || ii >= second.length || [first characterAtIndex:ii] != [second characterAtIndex:ii]) {
793
+ firstMismatch = ii;
794
+ break;
795
+ }
796
+ }
797
+
798
+ if (firstMismatch == -1) {
799
+ return NO;
800
+ }
801
+
802
+ NSUInteger ii = second.length;
803
+ NSUInteger lastMismatch = first.length;
804
+ while (ii > firstMismatch && lastMismatch > firstMismatch) {
805
+ if ([first characterAtIndex:(lastMismatch - 1)] != [second characterAtIndex:(ii - 1)]) {
806
+ break;
807
+ }
808
+ ii--;
809
+ lastMismatch--;
810
+ }
811
+
812
+ *firstRange = NSMakeRange(firstMismatch, lastMismatch - firstMismatch);
813
+ *secondRange = NSMakeRange(firstMismatch, ii - firstMismatch);
814
+ return YES;
815
+ }
816
+
817
+ @end