@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,823 @@
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 <mutex>
9
+
10
+ #import <FBReactNativeSpec/FBReactNativeSpec.h>
11
+ #import <React/RCTAssert.h>
12
+ #import <React/RCTConvert.h>
13
+ #import <React/RCTLog.h>
14
+ #import <React/RCTNetworkTask.h>
15
+ #import <React/RCTNetworking.h>
16
+ #import <React/RCTUtils.h>
17
+
18
+ #import <React/RCTHTTPRequestHandler.h>
19
+
20
+ #import "RCTNetworkPlugins.h"
21
+
22
+ static BOOL gEnableNetworkingRequestQueue = NO;
23
+
24
+ RCT_EXTERN void RCTEnableNetworkingRequestQueue(BOOL enabled)
25
+ {
26
+ gEnableNetworkingRequestQueue = enabled;
27
+ }
28
+
29
+ typedef RCTURLRequestCancellationBlock (^RCTHTTPQueryResult)(NSError *error, NSDictionary<NSString *, id> *result);
30
+
31
+ NSString *const RCTNetworkingPHUploadHackScheme = @"ph-upload";
32
+
33
+ @interface RCTNetworking () <NativeNetworkingIOSSpec>
34
+
35
+ - (RCTURLRequestCancellationBlock)processDataForHTTPQuery:(NSDictionary<NSString *, id> *)data
36
+ callback:(RCTHTTPQueryResult)callback;
37
+ @end
38
+
39
+ /**
40
+ * Helper to convert FormData payloads into multipart/formdata requests.
41
+ */
42
+ @interface RCTHTTPFormDataHelper : NSObject
43
+
44
+ @property (nonatomic, weak) RCTNetworking *networker;
45
+
46
+ @end
47
+
48
+ @implementation RCTHTTPFormDataHelper {
49
+ NSMutableArray<NSDictionary<NSString *, id> *> *_parts;
50
+ NSMutableData *_multipartBody;
51
+ RCTHTTPQueryResult _callback;
52
+ NSString *_boundary;
53
+ }
54
+
55
+ static NSString *RCTGenerateFormBoundary()
56
+ {
57
+ const size_t boundaryLength = 70;
58
+ const char *boundaryChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.";
59
+
60
+ char *bytes = (char *)malloc(boundaryLength);
61
+ if (!bytes) {
62
+ // CWE - 391 : Unchecked error condition
63
+ // https://www.cvedetails.com/cwe-details/391/Unchecked-Error-Condition.html
64
+ // https://eli.thegreenplace.net/2009/10/30/handling-out-of-memory-conditions-in-c
65
+ abort();
66
+ }
67
+ size_t charCount = strlen(boundaryChars);
68
+ for (int i = 0; i < boundaryLength; i++) {
69
+ bytes[i] = boundaryChars[arc4random_uniform((u_int32_t)charCount)];
70
+ }
71
+ return [[NSString alloc] initWithBytesNoCopy:bytes
72
+ length:boundaryLength
73
+ encoding:NSUTF8StringEncoding
74
+ freeWhenDone:YES];
75
+ }
76
+
77
+ - (RCTURLRequestCancellationBlock)process:(NSArray<NSDictionary *> *)formData callback:(RCTHTTPQueryResult)callback
78
+ {
79
+ RCTAssertThread([_networker requestQueue], @"process: must be called on request queue");
80
+
81
+ if (formData.count == 0) {
82
+ return callback(nil, nil);
83
+ }
84
+
85
+ _parts = [formData mutableCopy];
86
+ _callback = callback;
87
+ _multipartBody = [NSMutableData new];
88
+ _boundary = RCTGenerateFormBoundary();
89
+
90
+ for (NSUInteger i = 0; i < _parts.count; i++) {
91
+ NSString *uri = _parts[i][@"uri"];
92
+ if (uri && [[uri substringToIndex:@"ph:".length] caseInsensitiveCompare:@"ph:"] == NSOrderedSame) {
93
+ uri = [RCTNetworkingPHUploadHackScheme stringByAppendingString:[uri substringFromIndex:@"ph".length]];
94
+ NSMutableDictionary *mutableDict = [_parts[i] mutableCopy];
95
+ mutableDict[@"uri"] = uri;
96
+ _parts[i] = mutableDict;
97
+ }
98
+ }
99
+
100
+ return [_networker processDataForHTTPQuery:_parts[0]
101
+ callback:^(NSError *error, NSDictionary<NSString *, id> *result) {
102
+ return [self handleResult:result error:error];
103
+ }];
104
+ }
105
+
106
+ - (RCTURLRequestCancellationBlock)handleResult:(NSDictionary<NSString *, id> *)result error:(NSError *)error
107
+ {
108
+ RCTAssertThread([_networker requestQueue], @"handleResult: must be called on request queue");
109
+
110
+ if (error) {
111
+ return _callback(error, nil);
112
+ }
113
+
114
+ // Start with boundary.
115
+ [_multipartBody
116
+ appendData:[[NSString stringWithFormat:@"--%@\r\n", _boundary] dataUsingEncoding:NSUTF8StringEncoding]];
117
+
118
+ // Print headers.
119
+ NSMutableDictionary<NSString *, NSString *> *headers = [_parts[0][@"headers"] mutableCopy];
120
+ NSString *partContentType = result[@"contentType"];
121
+ if (partContentType != nil && ![partContentType isEqual:[NSNull null]]) {
122
+ headers[@"content-type"] = partContentType;
123
+ }
124
+ [headers enumerateKeysAndObjectsUsingBlock:^(NSString *parameterKey, NSString *parameterValue, BOOL *stop) {
125
+ [self->_multipartBody appendData:[[NSString stringWithFormat:@"%@: %@\r\n", parameterKey, parameterValue]
126
+ dataUsingEncoding:NSUTF8StringEncoding]];
127
+ }];
128
+
129
+ // Add the body.
130
+ [_multipartBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
131
+ [_multipartBody appendData:result[@"body"]];
132
+ [_multipartBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
133
+
134
+ [_parts removeObjectAtIndex:0];
135
+ if (_parts.count) {
136
+ return [_networker processDataForHTTPQuery:_parts[0]
137
+ callback:^(NSError *err, NSDictionary<NSString *, id> *res) {
138
+ return [self handleResult:res error:err];
139
+ }];
140
+ }
141
+
142
+ // We've processed the last item. Finish and return.
143
+ [_multipartBody
144
+ appendData:[[NSString stringWithFormat:@"--%@--\r\n", _boundary] dataUsingEncoding:NSUTF8StringEncoding]];
145
+ NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", _boundary];
146
+ return _callback(nil, @{@"body" : _multipartBody, @"contentType" : contentType});
147
+ }
148
+
149
+ @end
150
+
151
+ /**
152
+ * Bridge module that provides the JS interface to the network stack.
153
+ */
154
+ @implementation RCTNetworking {
155
+ NSMutableDictionary<NSNumber *, RCTNetworkTask *> *_tasksByRequestID;
156
+ std::mutex _handlersLock;
157
+ NSArray<id<RCTURLRequestHandler>> *_handlers;
158
+ NSArray<id<RCTURLRequestHandler>> * (^_handlersProvider)(RCTModuleRegistry *);
159
+ NSMutableArray<id<RCTNetworkingRequestHandler>> *_requestHandlers;
160
+ NSMutableArray<id<RCTNetworkingResponseHandler>> *_responseHandlers;
161
+ dispatch_queue_t _requestQueue;
162
+ }
163
+
164
+ @synthesize methodQueue = _methodQueue;
165
+
166
+ RCT_EXPORT_MODULE()
167
+
168
+ + (BOOL)requiresMainQueueSetup
169
+ {
170
+ return YES;
171
+ }
172
+
173
+ - (instancetype)init
174
+ {
175
+ if (self = [super initWithDisabledObservation]) {
176
+ if (gEnableNetworkingRequestQueue) {
177
+ _requestQueue = dispatch_queue_create("com.facebook.react.network.request", DISPATCH_QUEUE_SERIAL);
178
+ }
179
+ }
180
+ return self;
181
+ }
182
+
183
+ - (instancetype)initWithHandlersProvider:
184
+ (NSArray<id<RCTURLRequestHandler>> * (^)(RCTModuleRegistry *moduleRegistry))getHandlers
185
+ {
186
+ if (self = [self init]) {
187
+ _handlersProvider = getHandlers;
188
+ }
189
+ return self;
190
+ }
191
+
192
+ - (void)invalidate
193
+ {
194
+ [super invalidate];
195
+
196
+ std::lock_guard<std::mutex> lock(_handlersLock);
197
+
198
+ for (NSNumber *requestID in _tasksByRequestID) {
199
+ [_tasksByRequestID[requestID] cancel];
200
+ }
201
+ [_tasksByRequestID removeAllObjects];
202
+ for (id<RCTURLRequestHandler> handler in _handlers) {
203
+ if ([handler conformsToProtocol:@protocol(RCTInvalidating)]) {
204
+ [(id<RCTInvalidating>)handler invalidate];
205
+ }
206
+ }
207
+ _handlers = nil;
208
+ _requestHandlers = nil;
209
+ _responseHandlers = nil;
210
+ }
211
+
212
+ - (NSArray<NSString *> *)supportedEvents
213
+ {
214
+ return @[
215
+ @"didCompleteNetworkResponse",
216
+ @"didReceiveNetworkResponse",
217
+ @"didSendNetworkData",
218
+ @"didReceiveNetworkIncrementalData",
219
+ @"didReceiveNetworkDataProgress",
220
+ @"didReceiveNetworkData"
221
+ ];
222
+ }
223
+
224
+ - (id<RCTURLRequestHandler>)handlerForRequest:(NSURLRequest *)request
225
+ {
226
+ if (!request.URL) {
227
+ return nil;
228
+ }
229
+ NSArray<id<RCTURLRequestHandler>> *handlers = [self prioritizedHandlers];
230
+
231
+ if (RCT_DEBUG) {
232
+ // Check for handler conflicts
233
+ float previousPriority = 0;
234
+ id<RCTURLRequestHandler> previousHandler = nil;
235
+ for (id<RCTURLRequestHandler> handler in handlers) {
236
+ float priority = [handler respondsToSelector:@selector(handlerPriority)] ? [handler handlerPriority] : 0;
237
+ if (previousHandler && priority < previousPriority) {
238
+ return previousHandler;
239
+ }
240
+ if ([handler canHandleRequest:request]) {
241
+ if (previousHandler) {
242
+ if (priority == previousPriority) {
243
+ RCTLogError(
244
+ @"The RCTURLRequestHandlers %@ and %@ both reported that"
245
+ " they can handle the request %@, and have equal priority"
246
+ " (%g). This could result in non-deterministic behavior.",
247
+ handler,
248
+ previousHandler,
249
+ request,
250
+ priority);
251
+ }
252
+ } else {
253
+ previousHandler = handler;
254
+ previousPriority = priority;
255
+ }
256
+ }
257
+ }
258
+ return previousHandler;
259
+ }
260
+
261
+ // Normal code path
262
+ for (id<RCTURLRequestHandler> handler in handlers) {
263
+ if ([handler canHandleRequest:request]) {
264
+ return handler;
265
+ }
266
+ }
267
+ return nil;
268
+ }
269
+
270
+ - (NSArray<id<RCTURLRequestHandler>> *)prioritizedHandlers
271
+ {
272
+ std::lock_guard<std::mutex> lock(_handlersLock);
273
+ if (_handlers) {
274
+ return _handlers;
275
+ }
276
+
277
+ NSArray<id<RCTURLRequestHandler>> *newHandlers = _handlersProvider
278
+ ? _handlersProvider(self.moduleRegistry)
279
+ : [self.bridge modulesConformingToProtocol:@protocol(RCTURLRequestHandler)];
280
+
281
+ // Get handlers, sorted in reverse priority order (highest priority first)
282
+ newHandlers = [newHandlers
283
+ sortedArrayUsingComparator:^NSComparisonResult(id<RCTURLRequestHandler> a, id<RCTURLRequestHandler> b) {
284
+ float priorityA = [a respondsToSelector:@selector(handlerPriority)] ? [a handlerPriority] : 0;
285
+ float priorityB = [b respondsToSelector:@selector(handlerPriority)] ? [b handlerPriority] : 0;
286
+ if (priorityA > priorityB) {
287
+ return NSOrderedAscending;
288
+ } else if (priorityA < priorityB) {
289
+ return NSOrderedDescending;
290
+ } else {
291
+ return NSOrderedSame;
292
+ }
293
+ }];
294
+
295
+ _handlers = newHandlers;
296
+ return newHandlers;
297
+ }
298
+
299
+ - (NSDictionary<NSString *, id> *)stripNullsInRequestHeaders:(NSDictionary<NSString *, id> *)headers
300
+ {
301
+ NSMutableDictionary *result = [NSMutableDictionary dictionaryWithCapacity:headers.count];
302
+ for (NSString *key in headers.allKeys) {
303
+ id val = headers[key];
304
+ if (val != [NSNull null]) {
305
+ result[key] = val;
306
+ }
307
+ }
308
+
309
+ return result;
310
+ }
311
+
312
+ - (RCTURLRequestCancellationBlock)buildRequest:(NSDictionary<NSString *, id> *)query
313
+ completionBlock:(void (^)(NSURLRequest *request))block
314
+ {
315
+ RCTAssertThread([self requestQueue], @"buildRequest: must be called on request queue");
316
+
317
+ NSURL *URL = [RCTConvert NSURL:query[@"url"]]; // this is marked as nullable in JS, but should not be null
318
+ NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
319
+ request.HTTPMethod = [RCTConvert NSString:RCTNilIfNull(query[@"method"])].uppercaseString ?: @"GET";
320
+ request.HTTPShouldHandleCookies = [RCTConvert BOOL:query[@"withCredentials"]];
321
+
322
+ if (request.HTTPShouldHandleCookies == YES) {
323
+ // Load and set the cookie header.
324
+ NSArray<NSHTTPCookie *> *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:URL];
325
+ request.allHTTPHeaderFields = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
326
+ }
327
+
328
+ // Set supplied headers.
329
+ NSDictionary *headers = [RCTConvert NSDictionary:query[@"headers"]];
330
+ [headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
331
+ if (value) {
332
+ [request addValue:[RCTConvert NSString:value] forHTTPHeaderField:key];
333
+ }
334
+ }];
335
+
336
+ request.timeoutInterval = [RCTConvert NSTimeInterval:query[@"timeout"]];
337
+ NSDictionary<NSString *, id> *data = [RCTConvert NSDictionary:RCTNilIfNull(query[@"data"])];
338
+ NSString *trackingName = data[@"trackingName"];
339
+ if (trackingName) {
340
+ [NSURLProtocol setProperty:trackingName forKey:@"trackingName" inRequest:request];
341
+ }
342
+ return [self processDataForHTTPQuery:data
343
+ callback:^(NSError *error, NSDictionary<NSString *, id> *result) {
344
+ if (error) {
345
+ RCTLogError(@"Error processing request body: %@", error);
346
+ // Ideally we'd circle back to JS here and notify an error/abort on the request.
347
+ return (RCTURLRequestCancellationBlock)nil;
348
+ }
349
+ request.HTTPBody = result[@"body"];
350
+ NSString *dataContentType = result[@"contentType"];
351
+ NSString *requestContentType = [request valueForHTTPHeaderField:@"Content-Type"];
352
+ BOOL isMultipart = ![dataContentType isEqual:[NSNull null]] &&
353
+ [dataContentType hasPrefix:@"multipart"];
354
+
355
+ // For multipart requests we need to override caller-specified content type with one
356
+ // from the data object, because it contains the boundary string
357
+ if (dataContentType && ([requestContentType length] == 0 || isMultipart)) {
358
+ [request setValue:dataContentType forHTTPHeaderField:@"Content-Type"];
359
+ }
360
+
361
+ // Gzip the request body
362
+ if ([request.allHTTPHeaderFields[@"Content-Encoding"] isEqualToString:@"gzip"]) {
363
+ request.HTTPBody = RCTGzipData(request.HTTPBody, -1 /* default */);
364
+ [request setValue:(@(request.HTTPBody.length)).description
365
+ forHTTPHeaderField:@"Content-Length"];
366
+ }
367
+
368
+ // NSRequest default cache policy violate on `If-None-Match`, should allow the request
369
+ // to get 304 from server.
370
+ if (request.allHTTPHeaderFields[@"If-None-Match"]) {
371
+ request.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
372
+ }
373
+
374
+ dispatch_async([self requestQueue], ^{
375
+ block(request);
376
+ });
377
+
378
+ return (RCTURLRequestCancellationBlock)nil;
379
+ }];
380
+ }
381
+
382
+ - (BOOL)canHandleRequest:(NSURLRequest *)request
383
+ {
384
+ return [self handlerForRequest:request] != nil;
385
+ }
386
+
387
+ /**
388
+ * Process the 'data' part of an HTTP query.
389
+ *
390
+ * 'data' can be a JSON value of the following forms:
391
+ *
392
+ * - {"string": "..."}: a simple JS string that will be UTF-8 encoded and sent as the body
393
+ *
394
+ * - {"uri": "some-uri://..."}: reference to a system resource, e.g. an image in the asset library
395
+ *
396
+ * - {"formData": [...]}: list of data payloads that will be combined into a multipart/form-data request
397
+ *
398
+ * - {"blob": {...}}: an object representing a blob
399
+ *
400
+ * If successful, the callback be called with a result dictionary containing the following (optional) keys:
401
+ *
402
+ * - @"body" (NSData): the body of the request
403
+ *
404
+ * - @"contentType" (NSString): the content type header of the request
405
+ *
406
+ */
407
+ - (RCTURLRequestCancellationBlock)
408
+ processDataForHTTPQuery:(nullable NSDictionary<NSString *, id> *)query
409
+ callback:(RCTURLRequestCancellationBlock (^)(NSError *error, NSDictionary<NSString *, id> *result))
410
+ callback
411
+ {
412
+ RCTAssertThread([self requestQueue], @"processDataForHTTPQuery: must be called on request queue");
413
+
414
+ if (!query) {
415
+ return callback(nil, nil);
416
+ }
417
+ for (id<RCTNetworkingRequestHandler> handler in _requestHandlers) {
418
+ if ([handler canHandleNetworkingRequest:query]) {
419
+ // @lint-ignore FBOBJCUNTYPEDCOLLECTION1
420
+ NSDictionary *body = [handler handleNetworkingRequest:query];
421
+ if (body) {
422
+ return callback(nil, body);
423
+ }
424
+ }
425
+ }
426
+ NSData *body = [RCTConvert NSData:query[@"string"]];
427
+ if (body) {
428
+ return callback(nil, @{@"body" : body});
429
+ }
430
+ NSString *base64String = [RCTConvert NSString:query[@"base64"]];
431
+ if (base64String) {
432
+ NSData *data = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
433
+ return callback(nil, @{@"body" : data});
434
+ }
435
+ NSURLRequest *request = [RCTConvert NSURLRequest:query[@"uri"]];
436
+ if (request) {
437
+ __block RCTURLRequestCancellationBlock cancellationBlock = nil;
438
+ RCTNetworkTask *task =
439
+ [self networkTaskWithRequest:request
440
+ completionBlock:^(NSURLResponse *response, NSData *data, NSError *error) {
441
+ dispatch_async([self requestQueue], ^{
442
+ cancellationBlock = callback(
443
+ error, data ? @{@"body" : data, @"contentType" : RCTNullIfNil(response.MIMEType)} : nil);
444
+ });
445
+ }];
446
+
447
+ [task start];
448
+
449
+ __weak RCTNetworkTask *weakTask = task;
450
+ return ^{
451
+ [weakTask cancel];
452
+ if (cancellationBlock) {
453
+ cancellationBlock();
454
+ }
455
+ };
456
+ }
457
+ NSArray<NSDictionary *> *formData = [RCTConvert NSDictionaryArray:query[@"formData"]];
458
+ if (formData) {
459
+ RCTHTTPFormDataHelper *formDataHelper = [RCTHTTPFormDataHelper new];
460
+ formDataHelper.networker = self;
461
+ return [formDataHelper process:formData callback:callback];
462
+ }
463
+ // Nothing in the data payload, at least nothing we could understand anyway.
464
+ // Ignore and treat it as if it were null.
465
+ return callback(nil, nil);
466
+ }
467
+
468
+ + (NSString *)decodeTextData:(NSData *)data
469
+ fromResponse:(NSURLResponse *)response
470
+ withCarryData:(NSMutableData *)inputCarryData
471
+ {
472
+ NSStringEncoding encoding = NSUTF8StringEncoding;
473
+ if (response.textEncodingName) {
474
+ CFStringEncoding cfEncoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)response.textEncodingName);
475
+ encoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding);
476
+ }
477
+
478
+ NSMutableData *currentCarryData = inputCarryData ?: [NSMutableData new];
479
+ [currentCarryData appendData:data];
480
+
481
+ // Attempt to decode text
482
+ NSString *encodedResponse = [[NSString alloc] initWithData:currentCarryData encoding:encoding];
483
+
484
+ if (!encodedResponse && data.length > 0) {
485
+ if (encoding == NSUTF8StringEncoding && inputCarryData) {
486
+ // If decode failed, we attempt to trim broken character bytes from the data.
487
+ // At this time, only UTF-8 support is enabled. Multibyte encodings, such as UTF-16 and UTF-32, require a lot of
488
+ // additional work to determine wether BOM was included in the first data packet. If so, save it, and attach it to
489
+ // each new data packet. If not, an encoding has to be selected with a suitable byte order (for ARM iOS, it would
490
+ // be little endianness).
491
+
492
+ CFStringEncoding cfEncoding = CFStringConvertNSStringEncodingToEncoding(encoding);
493
+ // Taking a single unichar is not good enough, due to Unicode combining character sequences or characters outside
494
+ // the BMP. See https://www.objc.io/issues/9-strings/unicode/#common-pitfalls We'll attempt with a sequence of two
495
+ // characters, the most common combining character sequence and characters outside the BMP (emojis).
496
+ CFIndex maxCharLength = CFStringGetMaximumSizeForEncoding(2, cfEncoding);
497
+
498
+ NSUInteger removedBytes = 1;
499
+
500
+ while (removedBytes < maxCharLength) {
501
+ encodedResponse = [[NSString alloc]
502
+ initWithData:[currentCarryData subdataWithRange:NSMakeRange(0, currentCarryData.length - removedBytes)]
503
+ encoding:encoding];
504
+
505
+ if (encodedResponse != nil) {
506
+ break;
507
+ }
508
+
509
+ removedBytes += 1;
510
+ }
511
+ } else {
512
+ // We don't have an encoding, or the encoding is incorrect, so now we try to guess
513
+ [NSString stringEncodingForData:data
514
+ encodingOptions:@{NSStringEncodingDetectionSuggestedEncodingsKey : @[ @(encoding) ]}
515
+ convertedString:&encodedResponse
516
+ usedLossyConversion:NULL];
517
+ }
518
+ }
519
+
520
+ if (inputCarryData) {
521
+ NSUInteger encodedResponseLength = [encodedResponse dataUsingEncoding:encoding].length;
522
+
523
+ // Ensure a valid subrange exists within currentCarryData
524
+ if (currentCarryData.length >= encodedResponseLength) {
525
+ NSData *newCarryData = [currentCarryData
526
+ subdataWithRange:NSMakeRange(encodedResponseLength, currentCarryData.length - encodedResponseLength)];
527
+ [inputCarryData setData:newCarryData];
528
+ } else {
529
+ [inputCarryData setLength:0];
530
+ }
531
+ }
532
+
533
+ return encodedResponse;
534
+ }
535
+
536
+ - (void)sendData:(NSData *)data
537
+ responseType:(NSString *)responseType
538
+ response:(NSURLResponse *)response
539
+ forTask:(RCTNetworkTask *)task
540
+ {
541
+ RCTAssertThread([self requestQueue], @"sendData: must be called on request queue");
542
+
543
+ id responseData = nil;
544
+ for (id<RCTNetworkingResponseHandler> handler in _responseHandlers) {
545
+ if ([handler canHandleNetworkingResponse:responseType]) {
546
+ responseData = [handler handleNetworkingResponse:response data:data];
547
+ break;
548
+ }
549
+ }
550
+
551
+ if (!responseData) {
552
+ if (data.length == 0) {
553
+ return;
554
+ }
555
+
556
+ if ([responseType isEqualToString:@"text"]) {
557
+ // No carry storage is required here because the entire data has been loaded.
558
+ responseData = [RCTNetworking decodeTextData:data fromResponse:task.response withCarryData:nil];
559
+ if (!responseData) {
560
+ RCTLogWarn(@"Received data was not a string, or was not a recognised encoding.");
561
+ return;
562
+ }
563
+ } else if ([responseType isEqualToString:@"base64"]) {
564
+ responseData = [data base64EncodedStringWithOptions:0];
565
+ } else {
566
+ RCTLogWarn(@"Invalid responseType: %@", responseType);
567
+ return;
568
+ }
569
+ }
570
+
571
+ [self sendEventWithName:@"didReceiveNetworkData" body:@[ task.requestID, responseData ]];
572
+ }
573
+
574
+ - (void)sendRequest:(NSURLRequest *)request
575
+ responseType:(NSString *)responseType
576
+ incrementalUpdates:(BOOL)incrementalUpdates
577
+ responseSender:(RCTResponseSenderBlock)responseSender
578
+ {
579
+ RCTAssertThread([self requestQueue], @"sendRequest: must be called on request queue");
580
+ __weak __typeof(self) weakSelf = self;
581
+ __block RCTNetworkTask *task;
582
+ RCTURLRequestProgressBlock uploadProgressBlock = ^(int64_t progress, int64_t total) {
583
+ NSArray *responseJSON = @[ task.requestID, @((double)progress), @((double)total) ];
584
+ [weakSelf sendEventWithName:@"didSendNetworkData" body:responseJSON];
585
+ };
586
+
587
+ RCTURLRequestResponseBlock responseBlock = ^(NSURLResponse *response) {
588
+ NSDictionary<NSString *, NSString *> *headers;
589
+ NSInteger status;
590
+ if ([response isKindOfClass:[NSHTTPURLResponse class]]) { // Might be a local file request
591
+ NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
592
+ headers = httpResponse.allHeaderFields ?: @{};
593
+ status = httpResponse.statusCode;
594
+ } else {
595
+ headers = response.MIMEType ? @{@"Content-Type" : response.MIMEType} : @{};
596
+ status = 200;
597
+ }
598
+ id responseURL = response.URL ? response.URL.absoluteString : [NSNull null];
599
+ NSArray<id> *responseJSON = @[ task.requestID, @(status), headers, responseURL ];
600
+ [weakSelf sendEventWithName:@"didReceiveNetworkResponse" body:responseJSON];
601
+ };
602
+
603
+ // XHR does not allow you to peek at xhr.response before the response is
604
+ // finished. Only when xhr.responseType is set to ''/'text', consumers may
605
+ // peek at xhr.responseText. So unless the requested responseType is 'text',
606
+ // we only send progress updates and not incremental data updates to JS here.
607
+ RCTURLRequestIncrementalDataBlock incrementalDataBlock = nil;
608
+ RCTURLRequestProgressBlock downloadProgressBlock = nil;
609
+ if (incrementalUpdates) {
610
+ if ([responseType isEqualToString:@"text"]) {
611
+ // We need this to carry over bytes, which could not be decoded into text (such as broken UTF-8 characters).
612
+ // The incremental data block holds the ownership of this object, and will be released upon release of the block.
613
+ NSMutableData *incrementalDataCarry = [NSMutableData new];
614
+
615
+ incrementalDataBlock = ^(NSData *data, int64_t progress, int64_t total) {
616
+ NSUInteger initialCarryLength = incrementalDataCarry.length;
617
+
618
+ NSString *responseString = [RCTNetworking decodeTextData:data
619
+ fromResponse:task.response
620
+ withCarryData:incrementalDataCarry];
621
+ if (!responseString) {
622
+ RCTLogWarn(@"Received data was not a string, or was not a recognised encoding.");
623
+ return;
624
+ }
625
+
626
+ // Update progress to include the previous carry length and reduce the current carry length.
627
+ NSArray<id> *responseJSON = @[
628
+ task.requestID,
629
+ responseString,
630
+ @(progress + initialCarryLength - incrementalDataCarry.length),
631
+ @(total)
632
+ ];
633
+
634
+ [weakSelf sendEventWithName:@"didReceiveNetworkIncrementalData" body:responseJSON];
635
+ };
636
+ } else {
637
+ downloadProgressBlock = ^(int64_t progress, int64_t total) {
638
+ NSArray<id> *responseJSON = @[ task.requestID, @(progress), @(total) ];
639
+ [weakSelf sendEventWithName:@"didReceiveNetworkDataProgress" body:responseJSON];
640
+ };
641
+ }
642
+ }
643
+
644
+ RCTURLRequestCompletionBlock completionBlock = ^(NSURLResponse *response, NSData *data, NSError *error) {
645
+ __typeof(self) strongSelf = weakSelf;
646
+ if (!strongSelf) {
647
+ return;
648
+ }
649
+
650
+ // Unless we were sending incremental (text) chunks to JS, all along, now
651
+ // is the time to send the request body to JS.
652
+ if (!(incrementalUpdates && [responseType isEqualToString:@"text"])) {
653
+ [strongSelf sendData:data responseType:responseType response:response forTask:task];
654
+ }
655
+ NSArray *responseJSON =
656
+ @[ task.requestID, RCTNullIfNil(error.localizedDescription), error.code == kCFURLErrorTimedOut ? @YES : @NO ];
657
+
658
+ [strongSelf sendEventWithName:@"didCompleteNetworkResponse" body:responseJSON];
659
+ [strongSelf->_tasksByRequestID removeObjectForKey:task.requestID];
660
+ };
661
+
662
+ task = [self networkTaskWithRequest:request completionBlock:completionBlock];
663
+ task.downloadProgressBlock = downloadProgressBlock;
664
+ task.incrementalDataBlock = incrementalDataBlock;
665
+ task.responseBlock = responseBlock;
666
+ task.uploadProgressBlock = uploadProgressBlock;
667
+
668
+ if (task.requestID) {
669
+ if (!_tasksByRequestID) {
670
+ _tasksByRequestID = [NSMutableDictionary new];
671
+ }
672
+ _tasksByRequestID[task.requestID] = task;
673
+ responseSender(@[ task.requestID ]);
674
+ }
675
+
676
+ [task start];
677
+ }
678
+
679
+ #pragma mark - Public API
680
+
681
+ - (void)addRequestHandler:(id<RCTNetworkingRequestHandler>)handler
682
+ {
683
+ if (!_requestHandlers) {
684
+ _requestHandlers = [NSMutableArray new];
685
+ }
686
+ [_requestHandlers addObject:handler];
687
+ }
688
+
689
+ - (void)addResponseHandler:(id<RCTNetworkingResponseHandler>)handler
690
+ {
691
+ if (!_responseHandlers) {
692
+ _responseHandlers = [NSMutableArray new];
693
+ }
694
+ [_responseHandlers addObject:handler];
695
+ }
696
+
697
+ - (void)removeRequestHandler:(id<RCTNetworkingRequestHandler>)handler
698
+ {
699
+ [_requestHandlers removeObject:handler];
700
+ }
701
+
702
+ - (void)removeResponseHandler:(id<RCTNetworkingResponseHandler>)handler
703
+ {
704
+ [_responseHandlers removeObject:handler];
705
+ }
706
+
707
+ - (RCTNetworkTask *)networkTaskWithRequest:(NSURLRequest *)request
708
+ completionBlock:(RCTURLRequestCompletionBlock)completionBlock
709
+ {
710
+ id<RCTURLRequestHandler> handler = [self handlerForRequest:request];
711
+ if (!handler) {
712
+ RCTLogError(@"No suitable URL request handler found for %@", request.URL);
713
+ return nil;
714
+ }
715
+
716
+ RCTNetworkTask *task = [[RCTNetworkTask alloc] initWithRequest:request
717
+ handler:handler
718
+ callbackQueue:[self requestQueue]];
719
+ task.completionBlock = completionBlock;
720
+ return task;
721
+ }
722
+
723
+ #pragma mark - JS API
724
+
725
+ RCT_EXPORT_METHOD(sendRequest
726
+ : (JS::NativeNetworkingIOS::SpecSendRequestQuery &)query callback
727
+ : (RCTResponseSenderBlock)responseSender)
728
+ {
729
+ NSString *method = query.method();
730
+ NSString *url = query.url();
731
+ id<NSObject> data = query.data();
732
+ id<NSObject> headers = query.headers();
733
+ NSString *queryResponseType = query.responseType();
734
+ bool queryIncrementalUpdates = query.incrementalUpdates();
735
+ double timeout = query.timeout();
736
+ bool withCredentials = query.withCredentials();
737
+
738
+ dispatch_async([self requestQueue], ^{
739
+ NSDictionary *queryDict = @{
740
+ @"method" : method,
741
+ @"url" : url,
742
+ @"data" : data,
743
+ @"headers" : headers,
744
+ @"responseType" : queryResponseType,
745
+ @"incrementalUpdates" : @(queryIncrementalUpdates),
746
+ @"timeout" : @(timeout),
747
+ @"withCredentials" : @(withCredentials),
748
+ };
749
+
750
+ // TODO: buildRequest returns a cancellation block, but there's currently
751
+ // no way to invoke it, if, for example the request is cancelled while
752
+ // loading a large file to build the request body
753
+ [self buildRequest:queryDict
754
+ completionBlock:^(NSURLRequest *request) {
755
+ NSString *responseType = [RCTConvert NSString:queryDict[@"responseType"]];
756
+ BOOL incrementalUpdates = [RCTConvert BOOL:queryDict[@"incrementalUpdates"]];
757
+ [self sendRequest:request
758
+ responseType:responseType
759
+ incrementalUpdates:incrementalUpdates
760
+ responseSender:responseSender];
761
+ }];
762
+ });
763
+ }
764
+
765
+ RCT_EXPORT_METHOD(abortRequest : (double)requestID)
766
+ {
767
+ dispatch_async([self requestQueue], ^{
768
+ [self->_tasksByRequestID[[NSNumber numberWithDouble:requestID]] cancel];
769
+ [self->_tasksByRequestID removeObjectForKey:[NSNumber numberWithDouble:requestID]];
770
+ });
771
+ }
772
+
773
+ RCT_EXPORT_METHOD(clearCookies : (RCTResponseSenderBlock)responseSender)
774
+ {
775
+ dispatch_async([self requestQueue], ^{
776
+ NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
777
+ if (!storage.cookies.count) {
778
+ responseSender(@[ @NO ]);
779
+ return;
780
+ }
781
+
782
+ for (NSHTTPCookie *cookie in storage.cookies) {
783
+ [storage deleteCookie:cookie];
784
+ }
785
+ responseSender(@[ @YES ]);
786
+ });
787
+ }
788
+
789
+ - (dispatch_queue_t)requestQueue
790
+ {
791
+ return gEnableNetworkingRequestQueue ? _requestQueue : _methodQueue;
792
+ }
793
+
794
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
795
+ (const facebook::react::ObjCTurboModule::InitParams &)params
796
+ {
797
+ return std::make_shared<facebook::react::NativeNetworkingIOSSpecJSI>(params);
798
+ }
799
+
800
+ @end
801
+
802
+ @implementation RCTBridge (RCTNetworking)
803
+
804
+ - (RCTNetworking *)networking
805
+ {
806
+ return [self moduleForClass:[RCTNetworking class]];
807
+ }
808
+
809
+ @end
810
+
811
+ @implementation RCTBridgeProxy (RCTNetworking)
812
+
813
+ - (RCTNetworking *)networking
814
+ {
815
+ return [self moduleForClass:[RCTNetworking class]];
816
+ }
817
+
818
+ @end
819
+
820
+ Class RCTNetworkingCls(void)
821
+ {
822
+ return RCTNetworking.class;
823
+ }