@react-native-oh/react-native-harmony 0.72.82 → 0.77.18-1

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 (1069) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE-Meta +21 -0
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +87 -0
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +175 -0
  5. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +13 -0
  6. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +34 -0
  7. package/Libraries/Alert/Alert.d.ts +91 -0
  8. package/Libraries/Alert/Alert.js +181 -0
  9. package/Libraries/Alert/NativeAlertManager.js +13 -0
  10. package/Libraries/Alert/RCTAlertManager.android.js +27 -0
  11. package/Libraries/Alert/RCTAlertManager.ios.js +25 -0
  12. package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
  13. package/Libraries/Alert/delegates/AlertDelegate.harmony.ts +84 -0
  14. package/Libraries/Alert/delegates/AlertDelegate.ts +33 -0
  15. package/Libraries/Alert/{AlertManager.ts → delegates/AlertManager.harmony.ts} +10 -4
  16. package/Libraries/Alert/delegates/BaseAlertDelegate.ts +37 -0
  17. package/Libraries/Animated/Animated.d.ts +626 -0
  18. package/Libraries/Animated/Animated.js +48 -0
  19. package/Libraries/Animated/AnimatedEvent.js +256 -0
  20. package/Libraries/Animated/AnimatedImplementation.js +754 -0
  21. package/Libraries/Animated/AnimatedMock.js +195 -0
  22. package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
  23. package/Libraries/Animated/AnimatedWeb.js +26 -0
  24. package/Libraries/Animated/Easing.d.ts +37 -0
  25. package/Libraries/Animated/Easing.js +250 -0
  26. package/Libraries/Animated/NativeAnimatedAllowlist.js +122 -0
  27. package/Libraries/Animated/NativeAnimatedModule.js +13 -0
  28. package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
  29. package/Libraries/Animated/SpringConfig.js +98 -0
  30. package/Libraries/Animated/animations/Animation.js +171 -0
  31. package/Libraries/Animated/animations/DecayAnimation.js +121 -0
  32. package/Libraries/Animated/animations/SpringAnimation.js +372 -0
  33. package/Libraries/Animated/animations/TimingAnimation.js +173 -0
  34. package/Libraries/Animated/bezier.js +164 -0
  35. package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
  36. package/Libraries/Animated/components/AnimatedImage.js +22 -0
  37. package/Libraries/Animated/components/AnimatedScrollView.js +137 -0
  38. package/Libraries/Animated/components/AnimatedSectionList.js +22 -0
  39. package/Libraries/Animated/components/AnimatedText.js +22 -0
  40. package/Libraries/Animated/components/AnimatedView.js +20 -0
  41. package/Libraries/Animated/createAnimatedComponent.js +101 -0
  42. package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
  43. package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
  44. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
  45. package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
  46. package/Libraries/Animated/nodes/AnimatedInterpolation.js +416 -0
  47. package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
  48. package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
  49. package/Libraries/Animated/nodes/AnimatedNode.js +200 -0
  50. package/Libraries/Animated/nodes/AnimatedObject.js +162 -0
  51. package/Libraries/Animated/nodes/AnimatedProps.js +281 -0
  52. package/Libraries/Animated/nodes/AnimatedStyle.js +251 -0
  53. package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
  54. package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
  55. package/Libraries/Animated/nodes/AnimatedTransform.js +198 -0
  56. package/Libraries/Animated/nodes/AnimatedValue.js +303 -0
  57. package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
  58. package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
  59. package/Libraries/Animated/shouldUseTurboAnimatedModule.harmony.ts +10 -0
  60. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  61. package/Libraries/Animated/useAnimatedProps.js +389 -0
  62. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  63. package/Libraries/Animated/useAnimatedValue.js +25 -0
  64. package/Libraries/AppDelegate/RCTAppDelegate+Protected.h +16 -0
  65. package/Libraries/AppDelegate/RCTAppDelegate.h +122 -0
  66. package/Libraries/AppDelegate/RCTAppDelegate.mm +330 -0
  67. package/Libraries/AppDelegate/RCTAppSetupUtils.h +59 -0
  68. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +167 -0
  69. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
  70. package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
  71. package/Libraries/AppDelegate/RCTRootViewFactory.h +198 -0
  72. package/Libraries/AppDelegate/RCTRootViewFactory.mm +310 -0
  73. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
  74. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +99 -0
  75. package/Libraries/AppState/AppState.d.ts +58 -0
  76. package/Libraries/AppState/AppState.js +128 -0
  77. package/Libraries/AppState/NativeAppState.js +13 -0
  78. package/Libraries/BatchedBridge/BatchedBridge.js +28 -0
  79. package/Libraries/BatchedBridge/MessageQueue.js +492 -0
  80. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  81. package/Libraries/BatchedBridge/NativeModules.js +212 -0
  82. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +38 -0
  83. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +22 -0
  84. package/Libraries/Blob/Blob.js +158 -0
  85. package/Libraries/Blob/BlobManager.js +179 -0
  86. package/Libraries/Blob/BlobRegistry.js +43 -0
  87. package/Libraries/Blob/BlobTypes.js +30 -0
  88. package/Libraries/Blob/File.js +55 -0
  89. package/Libraries/Blob/FileReader.js +186 -0
  90. package/Libraries/Blob/NativeBlobModule.js +13 -0
  91. package/Libraries/Blob/NativeFileReaderModule.js +13 -0
  92. package/Libraries/Blob/RCTBlobCollector.h +26 -0
  93. package/Libraries/Blob/RCTBlobCollector.mm +57 -0
  94. package/Libraries/Blob/RCTBlobManager.h +35 -0
  95. package/Libraries/Blob/RCTBlobManager.mm +358 -0
  96. package/Libraries/Blob/RCTBlobPlugins.h +41 -0
  97. package/Libraries/Blob/RCTBlobPlugins.mm +34 -0
  98. package/Libraries/Blob/RCTFileReaderModule.h +12 -0
  99. package/Libraries/Blob/RCTFileReaderModule.mm +96 -0
  100. package/Libraries/Blob/React-RCTBlob.podspec +68 -0
  101. package/Libraries/Blob/URL.js +173 -0
  102. package/Libraries/Blob/URLSearchParams.js +71 -0
  103. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  104. package/Libraries/Blob/__mocks__/BlobModule.js +16 -0
  105. package/Libraries/Blob/__mocks__/FileReaderModule.js +20 -0
  106. package/Libraries/BugReporting/BugReporting.js +140 -0
  107. package/Libraries/BugReporting/NativeBugReporting.js +13 -0
  108. package/Libraries/BugReporting/dumpReactTree.js +151 -0
  109. package/Libraries/BugReporting/getReactData.js +187 -0
  110. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +173 -0
  111. package/Libraries/Components/AccessibilityInfo/{AccessibilityInfo.harmony.js → AccessibilityInfo.js} +142 -69
  112. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +13 -0
  113. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +13 -0
  114. package/Libraries/Components/AccessibilityInfo/delegates/AccessibilityInfoDelegate.harmony.ts +44 -0
  115. package/Libraries/Components/AccessibilityInfo/delegates/AccessibilityInfoDelegate.ts +28 -0
  116. package/Libraries/Components/AccessibilityInfo/delegates/BaseAccessibilityInfoDelegate.ts +69 -0
  117. package/Libraries/Components/AccessibilityInfo/{NativeAccessibilityInfoHarmony.ts → delegates/NativeAccessibilityInfoHarmony.harmony.ts} +9 -2
  118. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
  119. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  120. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
  121. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  122. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +177 -0
  123. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +13 -0
  124. package/Libraries/Components/Button.d.ts +42 -0
  125. package/Libraries/Components/{Button/Button.harmony.js → Button.js} +132 -133
  126. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  127. package/Libraries/Components/Clipboard/Clipboard.js +40 -0
  128. package/Libraries/Components/Clipboard/NativeClipboard.js +13 -0
  129. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +13 -0
  130. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +394 -0
  131. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  132. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +14 -0
  133. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  134. package/Libraries/Components/Keyboard/Keyboard.js +205 -0
  135. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  136. package/Libraries/Components/Keyboard/{KeyboardAvoidingView.harmony.js → KeyboardAvoidingView.js} +72 -23
  137. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +13 -0
  138. package/Libraries/Components/Keyboard/delegates/BaseKeyboardAvoidingViewDelegate.ts +28 -0
  139. package/Libraries/Components/Keyboard/delegates/KeyboardAvoidingViewDelegate.harmony.ts +42 -0
  140. package/Libraries/Components/Keyboard/delegates/KeyboardAvoidingViewDelegate.ts +6 -0
  141. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  142. package/Libraries/Components/Pressable/Pressable.js +369 -0
  143. package/Libraries/Components/Pressable/useAndroidRippleForView.js +109 -0
  144. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +113 -0
  145. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  146. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  147. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +13 -0
  148. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +13 -0
  149. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +13 -0
  150. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  151. package/Libraries/Components/RefreshControl/{RefreshControl.harmony.js → RefreshControl.js} +62 -53
  152. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +31 -0
  153. package/Libraries/Components/RefreshControl/delegates/BaseRefreshControlDelegate.ts +31 -0
  154. package/Libraries/Components/RefreshControl/delegates/RefreshControlDelegate.harmony.tsx +29 -0
  155. package/Libraries/Components/RefreshControl/delegates/RefreshControlDelegate.ts +21 -0
  156. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +13 -0
  157. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  158. package/Libraries/Components/SafeAreaView/SafeAreaView.harmony.tsx +93 -31
  159. package/Libraries/Components/SafeAreaView/SafeAreaView.js +34 -0
  160. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +13 -0
  161. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +73 -0
  162. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +32 -0
  163. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  164. package/Libraries/Components/ScrollView/{ScrollView.harmony.js → ScrollView.js} +342 -357
  165. package/Libraries/Components/ScrollView/ScrollViewCommands.js +52 -0
  166. package/Libraries/Components/ScrollView/ScrollViewContext.js +24 -0
  167. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +31 -0
  168. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +81 -0
  169. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +310 -0
  170. package/Libraries/Components/ScrollView/delegates/BaseScrollViewDelegate.ts +36 -0
  171. package/Libraries/Components/ScrollView/delegates/BaseScrollViewNativeComponentDelegate.ts +12 -0
  172. package/Libraries/Components/ScrollView/delegates/ScrollViewDelegate.harmony.tsx +41 -0
  173. package/Libraries/Components/ScrollView/delegates/ScrollViewDelegate.ts +23 -0
  174. package/Libraries/Components/ScrollView/delegates/ScrollViewNativeComponentDelegate.harmony.ts +89 -0
  175. package/Libraries/Components/ScrollView/delegates/ScrollViewNativeComponentDelegate.ts +14 -0
  176. package/Libraries/Components/ScrollView/delegates/types.ts +1 -0
  177. package/Libraries/Components/ScrollView/processDecelerationRate.harmony.ts +19 -0
  178. package/Libraries/Components/ScrollView/{processDecelerationRate.harmony.js → processDecelerationRate.js} +12 -6
  179. package/Libraries/Components/Sound/NativeSoundManager.js +13 -0
  180. package/Libraries/Components/Sound/SoundManager.js +21 -0
  181. package/Libraries/Components/StaticRenderer.js +37 -0
  182. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +13 -0
  183. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +13 -0
  184. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  185. package/Libraries/Components/StatusBar/{StatusBar.harmony.js → StatusBar.js} +124 -91
  186. package/Libraries/Components/StatusBar/delegates/BaseStatusBarDelegate.ts +25 -0
  187. package/Libraries/Components/StatusBar/delegates/NativeStatusBarManagerHarmony.harmony.ts +53 -0
  188. package/Libraries/Components/StatusBar/delegates/StatusBarDelegate.harmony.ts +83 -0
  189. package/Libraries/Components/StatusBar/delegates/StatusBarDelegate.ts +44 -0
  190. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +13 -0
  191. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  192. package/Libraries/Components/Switch/Switch.js +257 -0
  193. package/Libraries/Components/Switch/SwitchNativeComponent.js +13 -0
  194. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +751 -0
  195. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  196. package/Libraries/Components/TextInput/InputAccessoryView.js +123 -0
  197. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +13 -0
  198. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +45 -0
  199. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +43 -0
  200. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +168 -0
  201. package/Libraries/Components/TextInput/TextInput.d.ts +1007 -0
  202. package/Libraries/Components/TextInput/TextInput.flow.js +1109 -0
  203. package/Libraries/Components/TextInput/{TextInput.harmony.js → TextInput.js} +568 -336
  204. package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
  205. package/Libraries/Components/TextInput/TextInputState.js +216 -0
  206. package/Libraries/Components/TextInput/delegates/BaseTextInputDelegate.ts +39 -0
  207. package/Libraries/Components/TextInput/delegates/BaseTextInputStateDelegate.ts +12 -0
  208. package/Libraries/Components/TextInput/delegates/TextInputDelegate.harmony.tsx +98 -0
  209. package/Libraries/Components/TextInput/delegates/TextInputDelegate.ts +40 -0
  210. package/Libraries/Components/TextInput/delegates/TextInputStateDelegate.harmony.tsx +20 -0
  211. package/Libraries/Components/TextInput/delegates/TextInputStateDelegate.ts +15 -0
  212. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +13 -0
  213. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +74 -0
  214. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  215. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  216. package/Libraries/Components/Touchable/BoundingDimensions.js +53 -0
  217. package/Libraries/Components/Touchable/PooledClass.js +133 -0
  218. package/Libraries/Components/Touchable/Position.js +40 -0
  219. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  220. package/Libraries/Components/Touchable/Touchable.js +973 -0
  221. package/Libraries/Components/Touchable/TouchableBounce.js +222 -0
  222. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
  223. package/Libraries/Components/Touchable/{TouchableHighlight.harmony.js → TouchableHighlight.js} +49 -47
  224. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  225. package/Libraries/Components/Touchable/{TouchableNativeFeedback.harmony.js → TouchableNativeFeedback.js} +79 -73
  226. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
  227. package/Libraries/Components/Touchable/TouchableOpacity.js +339 -0
  228. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
  229. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +238 -0
  230. package/Libraries/Components/Touchable/delegates/BaseTouchableHighlightDelegate.ts +13 -0
  231. package/Libraries/Components/Touchable/delegates/BaseTouchableNativeFeedbackDelegate.ts +13 -0
  232. package/Libraries/Components/Touchable/delegates/BaseTouchableWithoutFeedbackDelegate.ts +13 -0
  233. package/Libraries/Components/Touchable/delegates/TouchableHighlightDelegate.harmony.ts +14 -0
  234. package/Libraries/Components/Touchable/delegates/TouchableHighlightDelegate.ts +6 -0
  235. package/Libraries/Components/Touchable/delegates/TouchableNativeFeedbackDelegate.harmony.ts +14 -0
  236. package/Libraries/Components/Touchable/delegates/TouchableNativeFeedbackDelegate.ts +6 -0
  237. package/Libraries/Components/Touchable/delegates/TouchableWithoutFeedbackDelegate.harmony.ts +14 -0
  238. package/Libraries/Components/Touchable/delegates/TouchableWithoutFeedbackDelegate.ts +6 -0
  239. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +13 -0
  240. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +41 -0
  241. package/Libraries/Components/View/ReactNativeStyleAttributes.js +218 -0
  242. package/Libraries/Components/View/ReactNativeViewAttributes.js +60 -0
  243. package/Libraries/Components/View/View.d.ts +29 -0
  244. package/Libraries/Components/View/{View.harmony.js → View.js} +37 -53
  245. package/Libraries/Components/View/ViewAccessibility.d.ts +404 -0
  246. package/Libraries/Components/View/ViewAccessibility.js +167 -0
  247. package/Libraries/Components/View/ViewNativeComponent.js +36 -0
  248. package/Libraries/Components/View/ViewPropTypes.d.ts +221 -0
  249. package/Libraries/Components/View/ViewPropTypes.js +656 -0
  250. package/Libraries/Components/delegates/BaseButtonDelegate.ts +15 -0
  251. package/Libraries/Components/delegates/ButtonDelegate.harmony.ts +41 -0
  252. package/Libraries/Components/delegates/ButtonDelegate.ts +27 -0
  253. package/Libraries/Core/Devtools/getDevServer.js +43 -0
  254. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  255. package/Libraries/Core/Devtools/openFileInEditor.js +26 -0
  256. package/Libraries/Core/Devtools/openURLInBrowser.js +23 -0
  257. package/Libraries/Core/Devtools/parseErrorStack.js +59 -0
  258. package/Libraries/Core/Devtools/parseHermesStack.js +147 -0
  259. package/Libraries/Core/Devtools/symbolicateStackTrace.js +50 -0
  260. package/Libraries/Core/ExceptionsManager.js +282 -0
  261. package/Libraries/Core/ExtendedError.js +33 -0
  262. package/Libraries/Core/InitializeCore.js +60 -0
  263. package/Libraries/Core/NativeExceptionsManager.js +13 -0
  264. package/Libraries/Core/RawEventEmitter.js +39 -0
  265. package/Libraries/Core/ReactFiberErrorDialog.js +65 -0
  266. package/Libraries/Core/ReactNativeVersion.js +23 -0
  267. package/Libraries/Core/ReactNativeVersionCheck.js +52 -0
  268. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +13 -0
  269. package/Libraries/Core/Timers/JSTimers.js +487 -0
  270. package/Libraries/Core/Timers/NativeTiming.js +13 -0
  271. package/Libraries/Core/Timers/immediateShim.js +68 -0
  272. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  273. package/Libraries/Core/__mocks__/ErrorUtils.js +33 -0
  274. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +19 -0
  275. package/Libraries/Core/checkNativeVersion.js +18 -0
  276. package/Libraries/Core/polyfillPromise.js +38 -0
  277. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  278. package/Libraries/Core/registerCallableModule.js +42 -0
  279. package/Libraries/Core/setUpAlert.js +23 -0
  280. package/Libraries/Core/setUpBatchedBridge.js +50 -0
  281. package/Libraries/Core/setUpDeveloperTools.js +82 -0
  282. package/Libraries/Core/setUpErrorHandling.js +35 -0
  283. package/Libraries/Core/setUpGlobals.js +36 -0
  284. package/Libraries/Core/setUpNavigator.js +22 -0
  285. package/Libraries/Core/setUpPerformance.js +31 -0
  286. package/Libraries/Core/setUpPlatform.harmony.js +30 -0
  287. package/Libraries/Core/setUpPlatform.js +1 -0
  288. package/Libraries/Core/setUpReactDevTools.js +252 -0
  289. package/Libraries/Core/setUpReactRefresh.js +47 -0
  290. package/Libraries/Core/setUpRegeneratorRuntime.js +46 -0
  291. package/Libraries/Core/setUpSegmentFetcher.js +53 -0
  292. package/Libraries/Core/setUpTimers.js +125 -0
  293. package/Libraries/Core/setUpXHR.js +41 -0
  294. package/Libraries/Debugging/DebuggingOverlay.js +110 -0
  295. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  296. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  297. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  298. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  299. package/Libraries/EventEmitter/NativeEventEmitter.js +122 -0
  300. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  301. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +43 -0
  302. package/Libraries/EventEmitter/RCTEventEmitter.js +25 -0
  303. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  304. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +18 -0
  305. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +48 -0
  306. package/Libraries/Events/CustomEvent.js +32 -0
  307. package/Libraries/Events/EventPolyfill.js +239 -0
  308. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +127 -0
  309. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +102 -0
  310. package/Libraries/FBLazyVector/FBLazyVector.podspec +31 -0
  311. package/Libraries/HeapCapture/HeapCapture.js +29 -0
  312. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +13 -0
  313. package/Libraries/Image/AssetRegistry.js +13 -0
  314. package/Libraries/Image/AssetSourceResolver.harmony.ts +75 -29
  315. package/Libraries/Image/AssetSourceResolver.js +202 -0
  316. package/Libraries/Image/AssetUtils.js +47 -0
  317. package/Libraries/Image/Image.android.js +322 -0
  318. package/Libraries/Image/Image.d.ts +373 -0
  319. package/Libraries/Image/Image.harmony.ts +17 -0
  320. package/Libraries/Image/Image.ios.js +252 -0
  321. package/Libraries/Image/Image.js.flow +13 -0
  322. package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
  323. package/Libraries/Image/ImageBackground.js +106 -0
  324. package/Libraries/Image/ImageInjection.js +87 -0
  325. package/Libraries/Image/ImageProps.js +296 -0
  326. package/Libraries/Image/ImageResizeMode.d.ts +56 -0
  327. package/Libraries/Image/ImageResizeMode.js +39 -0
  328. package/Libraries/Image/ImageSource.d.ts +74 -0
  329. package/Libraries/Image/ImageSource.js +135 -0
  330. package/Libraries/Image/ImageSourceUtils.js +80 -0
  331. package/Libraries/Image/ImageTypes.flow.js +78 -0
  332. package/Libraries/Image/ImageUtils.js +25 -0
  333. package/Libraries/Image/ImageViewNativeComponent.js +175 -0
  334. package/Libraries/Image/NativeImageEditor.js +13 -0
  335. package/Libraries/Image/NativeImageLoaderAndroid.js +13 -0
  336. package/Libraries/Image/NativeImageLoaderIOS.js +13 -0
  337. package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
  338. package/Libraries/Image/NativeImageStoreIOS.js +13 -0
  339. package/Libraries/Image/RCTAnimatedImage.h +21 -0
  340. package/Libraries/Image/RCTAnimatedImage.mm +175 -0
  341. package/Libraries/Image/RCTBundleAssetImageLoader.h +12 -0
  342. package/Libraries/Image/RCTBundleAssetImageLoader.mm +83 -0
  343. package/Libraries/Image/RCTDisplayWeakRefreshable.h +23 -0
  344. package/Libraries/Image/RCTDisplayWeakRefreshable.mm +31 -0
  345. package/Libraries/Image/RCTGIFImageDecoder.h +12 -0
  346. package/Libraries/Image/RCTGIFImageDecoder.mm +63 -0
  347. package/Libraries/Image/RCTImageBlurUtils.h +13 -0
  348. package/Libraries/Image/RCTImageBlurUtils.mm +100 -0
  349. package/Libraries/Image/RCTImageCache.h +45 -0
  350. package/Libraries/Image/RCTImageCache.mm +164 -0
  351. package/Libraries/Image/RCTImageDataDecoder.h +53 -0
  352. package/Libraries/Image/RCTImageEditingManager.h +12 -0
  353. package/Libraries/Image/RCTImageEditingManager.mm +113 -0
  354. package/Libraries/Image/RCTImageLoader.h +43 -0
  355. package/Libraries/Image/RCTImageLoader.mm +1302 -0
  356. package/Libraries/Image/RCTImageLoaderLoggable.h +32 -0
  357. package/Libraries/Image/RCTImageLoaderProtocol.h +135 -0
  358. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +48 -0
  359. package/Libraries/Image/RCTImagePlugins.h +44 -0
  360. package/Libraries/Image/RCTImagePlugins.mm +37 -0
  361. package/Libraries/Image/RCTImageShadowView.h +12 -0
  362. package/Libraries/Image/RCTImageShadowView.mm +24 -0
  363. package/Libraries/Image/RCTImageStoreManager.h +55 -0
  364. package/Libraries/Image/RCTImageStoreManager.mm +296 -0
  365. package/Libraries/Image/RCTImageURLLoader.h +83 -0
  366. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +78 -0
  367. package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +32 -0
  368. package/Libraries/Image/RCTImageUtils.h +94 -0
  369. package/Libraries/Image/RCTImageUtils.mm +389 -0
  370. package/Libraries/Image/RCTImageView.h +27 -0
  371. package/Libraries/Image/RCTImageView.mm +504 -0
  372. package/Libraries/Image/RCTImageViewManager.h +12 -0
  373. package/Libraries/Image/RCTImageViewManager.mm +116 -0
  374. package/Libraries/Image/RCTLocalAssetImageLoader.h +13 -0
  375. package/Libraries/Image/RCTLocalAssetImageLoader.mm +83 -0
  376. package/Libraries/Image/RCTResizeMode.h +53 -0
  377. package/Libraries/Image/RCTResizeMode.mm +25 -0
  378. package/Libraries/Image/RCTUIImageViewAnimated.h +13 -0
  379. package/Libraries/Image/RCTUIImageViewAnimated.mm +346 -0
  380. package/Libraries/Image/React-RCTImage.podspec +60 -0
  381. package/Libraries/Image/RelativeImageStub.js +28 -0
  382. package/Libraries/Image/TextInlineImageNativeComponent.js +51 -0
  383. package/Libraries/Image/nativeImageSource.js +64 -0
  384. package/Libraries/Image/resolveAssetSource.js +143 -0
  385. package/Libraries/Inspector/BorderBox.js +32 -0
  386. package/Libraries/Inspector/BoxInspector.js +109 -0
  387. package/Libraries/Inspector/ElementBox.js +143 -0
  388. package/Libraries/Inspector/ElementProperties.js +120 -0
  389. package/Libraries/Inspector/Inspector.js +206 -0
  390. package/Libraries/Inspector/InspectorOverlay.js +65 -0
  391. package/Libraries/Inspector/InspectorPanel.js +164 -0
  392. package/Libraries/Inspector/NetworkOverlay.js +611 -0
  393. package/Libraries/Inspector/PerformanceOverlay.js +63 -0
  394. package/Libraries/Inspector/ReactDevToolsOverlay.js +165 -0
  395. package/Libraries/Inspector/StyleInspector.js +70 -0
  396. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +81 -0
  397. package/Libraries/Inspector/resolveBoxStyle.js +114 -0
  398. package/Libraries/Interaction/FrameRateLogger.js +72 -0
  399. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  400. package/Libraries/Interaction/InteractionManager.js +216 -0
  401. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  402. package/Libraries/Interaction/JSEventLoopWatchdog.js +88 -0
  403. package/Libraries/Interaction/NativeFrameRateLogger.js +13 -0
  404. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  405. package/Libraries/Interaction/PanResponder.js +579 -0
  406. package/Libraries/Interaction/TaskQueue.js +183 -0
  407. package/Libraries/Interaction/TouchHistoryMath.js +156 -0
  408. package/Libraries/JSInspector/InspectorAgent.js +27 -0
  409. package/Libraries/JSInspector/JSInspector.js +33 -0
  410. package/Libraries/JSInspector/NetworkAgent.js +295 -0
  411. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  412. package/Libraries/LayoutAnimation/LayoutAnimation.js +200 -0
  413. package/Libraries/Linking/Linking.d.ts +61 -0
  414. package/Libraries/Linking/Linking.js +133 -0
  415. package/Libraries/Linking/NativeIntentAndroid.js +13 -0
  416. package/Libraries/Linking/NativeLinkingManager.js +13 -0
  417. package/Libraries/LinkingIOS/RCTLinkingManager.h +27 -0
  418. package/Libraries/LinkingIOS/RCTLinkingManager.mm +204 -0
  419. package/Libraries/LinkingIOS/RCTLinkingPlugins.h +40 -0
  420. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +33 -0
  421. package/Libraries/LinkingIOS/React-RCTLinking.podspec +56 -0
  422. package/Libraries/Lists/FillRateHelper.js +19 -0
  423. package/Libraries/Lists/FlatList.d.ts +244 -0
  424. package/Libraries/Lists/FlatList.js +717 -0
  425. package/Libraries/Lists/SectionList.d.ts +267 -0
  426. package/Libraries/Lists/SectionList.js +269 -0
  427. package/Libraries/Lists/SectionListModern.js +249 -0
  428. package/Libraries/Lists/ViewabilityHelper.js +24 -0
  429. package/Libraries/Lists/VirtualizeUtils.js +18 -0
  430. package/Libraries/Lists/VirtualizedList.js +23 -0
  431. package/Libraries/Lists/VirtualizedListContext.js +18 -0
  432. package/Libraries/Lists/VirtualizedSectionList.js +22 -0
  433. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +118 -0
  434. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +134 -0
  435. package/Libraries/LogBox/Data/LogBoxData.js +511 -0
  436. package/Libraries/LogBox/Data/LogBoxLog.js +257 -0
  437. package/Libraries/LogBox/Data/LogBoxSymbolication.js +65 -0
  438. package/Libraries/LogBox/Data/parseLogBoxLog.js +514 -0
  439. package/Libraries/LogBox/LogBox.d.ts +28 -0
  440. package/Libraries/LogBox/LogBox.js +291 -0
  441. package/Libraries/LogBox/LogBoxInspectorContainer.js +68 -0
  442. package/Libraries/LogBox/LogBoxNotificationContainer.js +105 -0
  443. package/Libraries/LogBox/UI/AnsiHighlight.js +121 -0
  444. package/Libraries/LogBox/UI/LogBoxButton.js +70 -0
  445. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  446. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  447. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  448. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  449. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  450. package/Libraries/LogBox/UI/LogBoxInspector.js +89 -0
  451. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  452. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +164 -0
  453. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +70 -0
  454. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  455. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +108 -0
  456. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  457. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +125 -0
  458. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +188 -0
  459. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +58 -0
  460. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +133 -0
  461. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +114 -0
  462. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +221 -0
  463. package/Libraries/LogBox/UI/LogBoxMessage.js +169 -0
  464. package/Libraries/LogBox/UI/LogBoxNotification.js +83 -0
  465. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  466. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  467. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  468. package/Libraries/LogBox/UI/LogBoxStyle.js +65 -0
  469. package/Libraries/Modal/Modal.d.ts +116 -0
  470. package/Libraries/Modal/Modal.js +365 -0
  471. package/Libraries/Modal/ModalInjection.js +15 -0
  472. package/Libraries/Modal/NativeModalManager.js +13 -0
  473. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +13 -0
  474. package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +38 -0
  475. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +12 -0
  476. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm +125 -0
  477. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +20 -0
  478. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +36 -0
  479. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +12 -0
  480. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm +151 -0
  481. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +12 -0
  482. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm +200 -0
  483. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +12 -0
  484. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.mm +25 -0
  485. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +50 -0
  486. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +126 -0
  487. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h +14 -0
  488. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.mm +29 -0
  489. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +12 -0
  490. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.mm +64 -0
  491. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +12 -0
  492. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.mm +32 -0
  493. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +26 -0
  494. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +169 -0
  495. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +12 -0
  496. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.mm +22 -0
  497. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +12 -0
  498. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.mm +26 -0
  499. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.h +14 -0
  500. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +66 -0
  501. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +26 -0
  502. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm +146 -0
  503. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +14 -0
  504. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +62 -0
  505. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +12 -0
  506. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.mm +25 -0
  507. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +12 -0
  508. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +47 -0
  509. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +14 -0
  510. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +55 -0
  511. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +30 -0
  512. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.mm +60 -0
  513. package/Libraries/NativeAnimation/RCTAnimationPlugins.h +41 -0
  514. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +34 -0
  515. package/Libraries/NativeAnimation/RCTAnimationUtils.h +46 -0
  516. package/Libraries/NativeAnimation/RCTAnimationUtils.mm +129 -0
  517. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +28 -0
  518. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +395 -0
  519. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +94 -0
  520. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +511 -0
  521. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +25 -0
  522. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +411 -0
  523. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +56 -0
  524. package/Libraries/NativeComponent/BaseViewConfig.android.js +423 -0
  525. package/Libraries/NativeComponent/BaseViewConfig.harmony.js +12 -326
  526. package/Libraries/NativeComponent/BaseViewConfig.ios.js +423 -0
  527. package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
  528. package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
  529. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  530. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  531. package/Libraries/NativeComponent/StaticViewConfigValidator.js +144 -0
  532. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  533. package/Libraries/NativeComponent/ViewConfigIgnore.js +55 -0
  534. package/Libraries/NativeComponent/delegates/BaseViewConfigIgnoreDelegate.ts +10 -0
  535. package/Libraries/NativeComponent/delegates/ViewConfigIgnoreDelegate.harmony.ts +13 -0
  536. package/Libraries/NativeComponent/delegates/ViewConfigIgnoreDelegate.ts +10 -0
  537. package/Libraries/NativeModules/specs/NativeDevMenu.js +13 -0
  538. package/Libraries/NativeModules/specs/NativeDevSettings.js +13 -0
  539. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +13 -0
  540. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +13 -0
  541. package/Libraries/NativeModules/specs/NativeLogBox.js +13 -0
  542. package/Libraries/NativeModules/specs/NativeRedBox.js +13 -0
  543. package/Libraries/NativeModules/specs/NativeSourceCode.js +13 -0
  544. package/Libraries/Network/FormData.js +108 -0
  545. package/Libraries/Network/NativeNetworkingAndroid.js +13 -0
  546. package/Libraries/Network/NativeNetworkingIOS.js +13 -0
  547. package/Libraries/Network/RCTDataRequestHandler.h +16 -0
  548. package/Libraries/Network/RCTDataRequestHandler.mm +86 -0
  549. package/Libraries/Network/RCTFileRequestHandler.h +16 -0
  550. package/Libraries/Network/RCTFileRequestHandler.mm +100 -0
  551. package/Libraries/Network/RCTHTTPRequestHandler.h +22 -0
  552. package/Libraries/Network/RCTHTTPRequestHandler.mm +195 -0
  553. package/Libraries/Network/RCTNetworkPlugins.h +43 -0
  554. package/Libraries/Network/RCTNetworkPlugins.mm +36 -0
  555. package/Libraries/Network/RCTNetworkTask.h +47 -0
  556. package/Libraries/Network/RCTNetworkTask.mm +228 -0
  557. package/Libraries/Network/RCTNetworking.android.js +95 -0
  558. package/Libraries/Network/RCTNetworking.h +86 -0
  559. package/Libraries/Network/RCTNetworking.ios.js +112 -0
  560. package/Libraries/Network/RCTNetworking.js.flow +89 -0
  561. package/Libraries/Network/RCTNetworking.mm +823 -0
  562. package/Libraries/Network/React-RCTNetwork.podspec +56 -0
  563. package/Libraries/Network/XHRInterceptor.js +214 -0
  564. package/Libraries/Network/XMLHttpRequest.js +698 -0
  565. package/Libraries/Network/convertRequestBody.js +43 -0
  566. package/Libraries/Network/fetch.js +19 -0
  567. package/Libraries/NewAppScreen/components/Colors.js +19 -0
  568. package/Libraries/NewAppScreen/components/DebugInstructions.js +41 -0
  569. package/Libraries/NewAppScreen/components/Header.js +77 -0
  570. package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
  571. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +148 -0
  572. package/Libraries/NewAppScreen/components/ReloadInstructions.js +39 -0
  573. package/Libraries/NewAppScreen/components/logo.png +0 -0
  574. package/Libraries/NewAppScreen/index.js +25 -0
  575. package/Libraries/Performance/NativeJSCSamplingProfiler.js +13 -0
  576. package/Libraries/Performance/SamplingProfiler.js +39 -0
  577. package/Libraries/Performance/Systrace.d.ts +66 -0
  578. package/Libraries/Performance/Systrace.js +139 -0
  579. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +13 -0
  580. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +163 -0
  581. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +299 -0
  582. package/Libraries/Pressability/HoverState.js +58 -0
  583. package/Libraries/Pressability/Pressability.js +954 -0
  584. package/Libraries/Pressability/PressabilityDebug.js +85 -0
  585. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  586. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  587. package/Libraries/Pressability/usePressability.js +60 -0
  588. package/Libraries/Promise.js +23 -0
  589. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +13 -0
  590. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  591. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +569 -0
  592. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +48 -0
  593. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +590 -0
  594. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +40 -0
  595. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +33 -0
  596. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +56 -0
  597. package/Libraries/ReactNative/AppContainer-dev.js +208 -0
  598. package/Libraries/ReactNative/AppContainer-prod.js +50 -0
  599. package/Libraries/ReactNative/AppContainer.js +31 -0
  600. package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
  601. package/Libraries/ReactNative/AppRegistry.js +360 -0
  602. package/Libraries/ReactNative/BridgelessUIManager.js +430 -0
  603. package/Libraries/ReactNative/DisplayMode.js +32 -0
  604. package/Libraries/ReactNative/FabricUIManager.js +145 -0
  605. package/Libraries/ReactNative/HeadlessJsTaskError.js +11 -0
  606. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  607. package/Libraries/ReactNative/{I18nManager.harmony.js → I18nManager.js} +11 -25
  608. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +13 -0
  609. package/Libraries/ReactNative/NativeI18nManager.js +13 -0
  610. package/Libraries/ReactNative/NativeUIManager.js +13 -0
  611. package/Libraries/ReactNative/PaperUIManager.js +191 -0
  612. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +150 -0
  613. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
  614. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
  615. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  616. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
  617. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
  618. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  619. package/Libraries/ReactNative/RendererImplementation.js +164 -0
  620. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  621. package/Libraries/ReactNative/RendererProxy.js +26 -0
  622. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  623. package/Libraries/ReactNative/RootTag.js +27 -0
  624. package/Libraries/ReactNative/UIManager.d.ts +113 -0
  625. package/Libraries/ReactNative/{UIManager.harmony.js → UIManager.js} +16 -33
  626. package/Libraries/ReactNative/UIManagerProperties.js +61 -0
  627. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +334 -0
  628. package/Libraries/ReactNative/delegates/BaseBridgelessUIManagerDelegate.ts +14 -0
  629. package/Libraries/ReactNative/delegates/BaseI18nManagerDelegate.ts +18 -0
  630. package/Libraries/ReactNative/delegates/BridgelessUIManagerDelegate.harmony.ts +14 -0
  631. package/Libraries/ReactNative/delegates/BridgelessUIManagerDelegate.ts +11 -0
  632. package/Libraries/ReactNative/delegates/I18nManagerDelegate.harmony.ts +22 -0
  633. package/Libraries/ReactNative/delegates/I18nManagerDelegate.ts +24 -0
  634. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +33 -0
  635. package/Libraries/ReactNative/getNativeComponentAttributes.js +212 -0
  636. package/Libraries/ReactNative/renderApplication.js +108 -0
  637. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  638. package/Libraries/ReactNative/requireNativeComponent.js +35 -0
  639. package/Libraries/ReactPrivate/README +1 -0
  640. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +11 -0
  641. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +116 -0
  642. package/Libraries/Renderer/README.md +22 -0
  643. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27376 -0
  644. package/Libraries/Renderer/implementations/ReactFabric-prod.js +9152 -0
  645. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +9642 -0
  646. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27830 -0
  647. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9379 -0
  648. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +9896 -0
  649. package/Libraries/Renderer/shims/ReactFabric.js +33 -0
  650. package/Libraries/Renderer/shims/ReactFeatureFlags.js +19 -0
  651. package/Libraries/Renderer/shims/ReactNative.js +24 -0
  652. package/Libraries/Renderer/shims/ReactNativeTypes.js +320 -0
  653. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +123 -0
  654. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +35 -0
  655. package/Libraries/Required/RCTRequired.h +90 -0
  656. package/Libraries/Required/RCTRequired.podspec +30 -0
  657. package/Libraries/Settings/NativeSettingsManager.js +13 -0
  658. package/Libraries/Settings/RCTSettingsManager.h +16 -0
  659. package/Libraries/Settings/RCTSettingsManager.mm +123 -0
  660. package/Libraries/Settings/RCTSettingsPlugins.h +40 -0
  661. package/Libraries/Settings/RCTSettingsPlugins.mm +33 -0
  662. package/Libraries/Settings/React-RCTSettings.podspec +56 -0
  663. package/Libraries/Settings/Settings.d.ts +18 -0
  664. package/Libraries/Settings/Settings.harmony.ts +20 -0
  665. package/Libraries/Settings/Settings.ios.js +81 -0
  666. package/Libraries/Settings/Settings.js +33 -0
  667. package/Libraries/Share/NativeShareModule.js +13 -0
  668. package/Libraries/Share/Share.d.ts +80 -0
  669. package/Libraries/Share/{Share.harmony.js → Share.js} +32 -30
  670. package/Libraries/Share/delegates/BaseShareDelegate.ts +21 -0
  671. package/Libraries/Share/delegates/ShareDelegate.harmony.ts +42 -0
  672. package/Libraries/Share/delegates/ShareDelegate.ts +20 -0
  673. package/Libraries/StyleSheet/EdgeInsetsPropType.js +18 -0
  674. package/Libraries/StyleSheet/NativePlatformColor.harmony.ts +15 -0
  675. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +40 -0
  676. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  677. package/Libraries/StyleSheet/PlatformColorValueTypes.harmony.ts +8 -1
  678. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +113 -0
  679. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
  680. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  681. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +29 -0
  682. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +22 -0
  683. package/Libraries/StyleSheet/PointPropType.js +17 -0
  684. package/Libraries/StyleSheet/Rect.js +26 -0
  685. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  686. package/Libraries/StyleSheet/StyleSheet.js +356 -0
  687. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +573 -0
  688. package/Libraries/StyleSheet/StyleSheetTypes.js +1004 -0
  689. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +58 -0
  690. package/Libraries/StyleSheet/flattenStyle.js +46 -0
  691. package/Libraries/StyleSheet/normalizeColor.js +34 -0
  692. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  693. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  694. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  695. package/Libraries/StyleSheet/processBackgroundImage.js +361 -0
  696. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  697. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  698. package/Libraries/StyleSheet/processColor.js +59 -0
  699. package/Libraries/StyleSheet/processColorArray.js +35 -0
  700. package/Libraries/StyleSheet/processFilter.js +321 -0
  701. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  702. package/Libraries/StyleSheet/processTransform.js +263 -0
  703. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  704. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +31 -0
  705. package/Libraries/StyleSheet/splitLayoutProps.js +72 -0
  706. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +29 -0
  707. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +158 -0
  708. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +16 -0
  709. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +60 -0
  710. package/Libraries/Text/RCTConvert+Text.h +23 -0
  711. package/Libraries/Text/RCTConvert+Text.mm +44 -0
  712. package/Libraries/Text/RCTTextAttributes.h +100 -0
  713. package/Libraries/Text/RCTTextAttributes.mm +354 -0
  714. package/Libraries/Text/RCTTextTransform.h +16 -0
  715. package/Libraries/Text/RawText/RCTRawTextShadowView.h +18 -0
  716. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +34 -0
  717. package/Libraries/Text/RawText/RCTRawTextViewManager.h +16 -0
  718. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +28 -0
  719. package/Libraries/Text/React-RCTText.podspec +37 -0
  720. package/Libraries/Text/Text/NSTextStorage+FontScaling.h +20 -0
  721. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +122 -0
  722. package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
  723. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +82 -0
  724. package/Libraries/Text/Text/RCTTextShadowView.h +28 -0
  725. package/Libraries/Text/Text/RCTTextShadowView.mm +466 -0
  726. package/Libraries/Text/Text/RCTTextView.h +29 -0
  727. package/Libraries/Text/Text/RCTTextView.mm +294 -0
  728. package/Libraries/Text/Text/RCTTextViewManager.h +14 -0
  729. package/Libraries/Text/Text/RCTTextViewManager.mm +93 -0
  730. package/Libraries/Text/Text.d.ts +219 -0
  731. package/Libraries/Text/Text.js +537 -0
  732. package/Libraries/Text/TextAncestor.js +23 -0
  733. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +16 -0
  734. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +63 -0
  735. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +16 -0
  736. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +24 -0
  737. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +44 -0
  738. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +338 -0
  739. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +46 -0
  740. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +36 -0
  741. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +307 -0
  742. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +57 -0
  743. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +25 -0
  744. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +364 -0
  745. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +63 -0
  746. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +817 -0
  747. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +12 -0
  748. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +178 -0
  749. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +12 -0
  750. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +20 -0
  751. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +17 -0
  752. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +78 -0
  753. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +12 -0
  754. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +74 -0
  755. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +12 -0
  756. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +29 -0
  757. package/Libraries/Text/TextInput/RCTTextSelection.h +26 -0
  758. package/Libraries/Text/TextInput/RCTTextSelection.mm +36 -0
  759. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +16 -0
  760. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +39 -0
  761. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +16 -0
  762. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +31 -0
  763. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +40 -0
  764. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +255 -0
  765. package/Libraries/Text/TextNativeComponent.js +82 -0
  766. package/Libraries/Text/TextProps.js +268 -0
  767. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +12 -0
  768. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +38 -0
  769. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +23 -0
  770. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +12 -0
  771. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +12 -0
  772. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +26 -0
  773. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  774. package/Libraries/TurboModule/RCTExport.js +38 -0
  775. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  776. package/Libraries/TurboModule/TurboModuleRegistry.js +53 -0
  777. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +13 -0
  778. package/Libraries/TypeSafety/RCTConvertHelpers.h +83 -0
  779. package/Libraries/TypeSafety/RCTConvertHelpers.mm +51 -0
  780. package/Libraries/TypeSafety/RCTTypeSafety.podspec +39 -0
  781. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +47 -0
  782. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +50 -0
  783. package/Libraries/Types/CodegenTypes.js +47 -0
  784. package/Libraries/Types/CoreEventTypes.d.ts +259 -0
  785. package/Libraries/Types/CoreEventTypes.js +291 -0
  786. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  787. package/Libraries/Types/RootTagTypes.js +11 -0
  788. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  789. package/Libraries/UTFSequence.js +56 -0
  790. package/Libraries/Utilities/Appearance.d.ts +53 -0
  791. package/Libraries/Utilities/Appearance.js +133 -0
  792. package/Libraries/Utilities/{BackHandler.harmony.js → BackHandler.android.js} +8 -22
  793. package/Libraries/Utilities/BackHandler.d.ts +34 -0
  794. package/Libraries/Utilities/BackHandler.harmony.ts +10 -0
  795. package/Libraries/Utilities/BackHandler.ios.js +34 -0
  796. package/Libraries/Utilities/BackHandler.js.flow +23 -0
  797. package/Libraries/Utilities/DebugEnvironment.js +16 -0
  798. package/Libraries/Utilities/DevLoadingView.js +64 -0
  799. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  800. package/Libraries/Utilities/DevSettings.js +72 -0
  801. package/Libraries/Utilities/DeviceInfo.js +13 -0
  802. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  803. package/Libraries/Utilities/Dimensions.js +123 -0
  804. package/Libraries/Utilities/FeatureDetection.js +31 -0
  805. package/Libraries/Utilities/GlobalPerformanceLogger.js +24 -0
  806. package/Libraries/Utilities/HMRClient.js +362 -0
  807. package/Libraries/Utilities/HMRClientProdShim.js +30 -0
  808. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  809. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  810. package/Libraries/Utilities/NativeAppearance.js +13 -0
  811. package/Libraries/Utilities/NativeDevLoadingView.js +13 -0
  812. package/Libraries/Utilities/NativeDeviceInfo.js +13 -0
  813. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +13 -0
  814. package/Libraries/Utilities/NativePlatformConstantsHarmony.harmony.ts +17 -0
  815. package/Libraries/Utilities/NativePlatformConstantsIOS.js +13 -0
  816. package/Libraries/Utilities/PerformanceLoggerContext.js +33 -0
  817. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  818. package/Libraries/Utilities/PixelRatio.js +127 -0
  819. package/Libraries/Utilities/Platform.android.js +87 -0
  820. package/Libraries/Utilities/Platform.d.ts +21 -11
  821. package/Libraries/Utilities/Platform.flow.js +91 -0
  822. package/Libraries/Utilities/Platform.harmony.ts +38 -13
  823. package/Libraries/Utilities/Platform.ios.js +88 -0
  824. package/Libraries/Utilities/Platform.js.flow +13 -0
  825. package/Libraries/Utilities/PolyfillFunctions.js +56 -0
  826. package/Libraries/Utilities/RCTLog.js +56 -0
  827. package/Libraries/Utilities/ReactNativeTestTools.js +225 -0
  828. package/Libraries/Utilities/SceneTracker.js +42 -0
  829. package/Libraries/Utilities/__mocks__/BackHandler.js +45 -0
  830. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +16 -0
  831. package/Libraries/Utilities/__mocks__/PixelRatio.js +25 -0
  832. package/Libraries/Utilities/binaryToBase64.js +31 -0
  833. package/Libraries/Utilities/codegenNativeCommands.js +31 -0
  834. package/Libraries/Utilities/codegenNativeComponent.js +73 -0
  835. package/Libraries/Utilities/{createPerformanceLogger.harmony.js → createPerformanceLogger.js} +12 -50
  836. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +90 -0
  837. package/Libraries/Utilities/defineLazyObjectProperty.js +66 -0
  838. package/Libraries/Utilities/differ/deepDiffer.js +101 -0
  839. package/Libraries/Utilities/differ/insetsDiffer.js +40 -0
  840. package/Libraries/Utilities/differ/matricesDiffer.js +51 -0
  841. package/Libraries/Utilities/differ/pointsDiffer.js +27 -0
  842. package/Libraries/Utilities/differ/sizesDiffer.js +26 -0
  843. package/Libraries/Utilities/dismissKeyboard.js +21 -0
  844. package/Libraries/Utilities/infoLog.js +20 -0
  845. package/Libraries/Utilities/logError.js +27 -0
  846. package/Libraries/Utilities/mapWithSeparator.js +28 -0
  847. package/Libraries/Utilities/stringifySafe.js +121 -0
  848. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  849. package/Libraries/Utilities/useColorScheme.js +25 -0
  850. package/Libraries/Utilities/useMergeRefs.js +59 -0
  851. package/Libraries/Utilities/useRefEffect.js +45 -0
  852. package/Libraries/Utilities/useWindowDimensions.js +47 -0
  853. package/Libraries/Utilities/warnOnce.js +32 -0
  854. package/Libraries/Vibration/NativeVibration.js +13 -0
  855. package/Libraries/Vibration/RCTVibration.h +12 -0
  856. package/Libraries/Vibration/RCTVibration.mm +54 -0
  857. package/Libraries/Vibration/RCTVibrationPlugins.h +40 -0
  858. package/Libraries/Vibration/RCTVibrationPlugins.mm +33 -0
  859. package/Libraries/Vibration/React-RCTVibration.podspec +56 -0
  860. package/Libraries/Vibration/Vibration.d.ts +43 -0
  861. package/Libraries/Vibration/Vibration.js +115 -0
  862. package/Libraries/Vibration/delegates/BaseVibrationDelegate.ts +11 -0
  863. package/Libraries/Vibration/delegates/VibrationDelegate.harmony.ts +14 -0
  864. package/Libraries/Vibration/delegates/VibrationDelegate.ts +11 -0
  865. package/Libraries/WebSocket/NativeWebSocketModule.js +13 -0
  866. package/Libraries/WebSocket/RCTReconnectingWebSocket.h +37 -0
  867. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +109 -0
  868. package/Libraries/WebSocket/WebSocket.js +297 -0
  869. package/Libraries/WebSocket/WebSocketEvent.js +30 -0
  870. package/Libraries/WebSocket/WebSocketInterceptor.js +247 -0
  871. package/Libraries/WebSocket/__mocks__/event-target-shim.js +27 -0
  872. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +16 -0
  873. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +53 -0
  874. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +16 -0
  875. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +23 -0
  876. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +20 -0
  877. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +46 -0
  878. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +18 -0
  879. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +31 -0
  880. package/Libraries/Wrapper/RCTWrapper.h +68 -0
  881. package/Libraries/Wrapper/RCTWrapperShadowView.h +22 -0
  882. package/Libraries/Wrapper/RCTWrapperShadowView.m +134 -0
  883. package/Libraries/Wrapper/RCTWrapperView.h +36 -0
  884. package/Libraries/Wrapper/RCTWrapperView.m +95 -0
  885. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +25 -0
  886. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +133 -0
  887. package/Libraries/Wrapper/RCTWrapperViewManager.h +20 -0
  888. package/Libraries/Wrapper/RCTWrapperViewManager.m +27 -0
  889. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  890. package/Libraries/YellowBox/YellowBoxDeprecated.js +75 -0
  891. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +32 -0
  892. package/Libraries/promiseRejectionTrackingOptions.js +72 -0
  893. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  894. package/Libraries/vendor/core/ErrorUtils.js +25 -0
  895. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  896. package/Libraries/vendor/emitter/EventEmitter.js +158 -0
  897. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  898. package/NOTICE.md +846 -0
  899. package/README.md +2 -2
  900. package/delegates/DelegateError.ts +10 -0
  901. package/index.js +53 -63
  902. package/jest.config.js +0 -7
  903. package/metro.config.d.ts +17 -0
  904. package/metro.config.js +398 -115
  905. package/package.json +58 -37
  906. package/react-native.config.js +57 -9
  907. package/react_native_openharmony.har +0 -0
  908. package/src/private/animated/NativeAnimatedHelper.js +440 -0
  909. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  910. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  911. package/src/private/components/HScrollViewNativeComponents.js +30 -0
  912. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +32 -0
  913. package/src/private/components/VScrollViewNativeComponents.js +25 -0
  914. package/src/private/debugging/FuseboxSessionObserver.js +42 -0
  915. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  916. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  917. package/src/private/debugging/ReactDevToolsSettingsManager.js.flow +16 -0
  918. package/src/private/debugging/setUpFuseboxReactDevToolsDispatcher.js +114 -0
  919. package/src/private/devmenu/DevMenu.d.ts +20 -0
  920. package/src/private/devmenu/DevMenu.js +31 -0
  921. package/src/private/featureflags/ReactNativeFeatureFlags.js +369 -0
  922. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
  923. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +78 -0
  924. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  925. package/src/private/renderer/errorhandling/ErrorHandlers.js +126 -0
  926. package/src/private/setup/setUpDOM.js +36 -0
  927. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  928. package/src/private/setup/setUpMutationObserver.js +31 -0
  929. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  930. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  931. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  932. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
  933. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  934. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  935. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  936. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  937. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  938. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  939. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +147 -0
  940. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  941. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  942. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  943. package/src/private/specs/modules/NativeAccessibilityInfo.js +42 -0
  944. package/src/private/specs/modules/NativeAccessibilityManager.js +70 -0
  945. package/src/private/specs/modules/NativeActionSheetManager.js +56 -0
  946. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  947. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  948. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  949. package/src/private/specs/modules/NativeAppState.js +33 -0
  950. package/src/private/specs/modules/NativeAppearance.js +30 -0
  951. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  952. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  953. package/src/private/specs/modules/NativeClipboard.js +21 -0
  954. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  955. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  956. package/src/private/specs/modules/NativeDevSettings.js +34 -0
  957. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  958. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  959. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  960. package/src/private/specs/modules/NativeExceptionsManager.js +91 -0
  961. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  962. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  963. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  964. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  965. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  966. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  967. package/{Libraries/Components/Image/NativeImageLoaderHarmony.js → src/private/specs/modules/NativeImageLoaderIOS.js} +4 -5
  968. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  969. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  970. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  971. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  972. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  973. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  974. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  975. package/src/private/specs/modules/NativeLogBox.js +20 -0
  976. package/src/private/specs/modules/NativeModalManager.js +21 -0
  977. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  978. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  979. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  980. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  981. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  982. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  983. package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
  984. package/src/private/specs/modules/NativeRedBox.js +20 -0
  985. package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
  986. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  987. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  988. package/src/private/specs/modules/NativeShareModule.js +23 -0
  989. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  990. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  991. package/{Libraries/Components/StatusBar/NativeStatusBarManagerHarmony.js → src/private/specs/modules/NativeStatusBarManagerAndroid.js} +10 -13
  992. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  993. package/src/private/specs/modules/NativeTiming.js +26 -0
  994. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  995. package/src/private/specs/modules/NativeUIManager.js +111 -0
  996. package/src/private/specs/modules/NativeVibration.js +24 -0
  997. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  998. package/src/private/styles/composeStyles.js +27 -0
  999. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  1000. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  1001. package/src/private/webapis/dom/nodes/ReactNativeElement.js +188 -0
  1002. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  1003. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  1004. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +359 -0
  1005. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  1006. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  1007. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  1008. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  1009. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  1010. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  1011. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js.flow +27 -0
  1012. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  1013. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +27 -0
  1014. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  1015. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +31 -0
  1016. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  1017. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
  1018. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
  1019. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +277 -0
  1020. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +42 -0
  1021. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +181 -0
  1022. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  1023. package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
  1024. package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
  1025. package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
  1026. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
  1027. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +327 -0
  1028. package/src/private/webapis/performance/EventTiming.js +145 -0
  1029. package/src/private/webapis/performance/LongTasks.js +39 -0
  1030. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  1031. package/src/private/webapis/performance/Performance.js +299 -0
  1032. package/src/private/webapis/performance/PerformanceEntry.js +68 -0
  1033. package/src/private/webapis/performance/PerformanceObserver.js +232 -0
  1034. package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
  1035. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  1036. package/src/private/webapis/performance/UserTiming.js +72 -0
  1037. package/src/private/webapis/performance/Utilities.js +18 -0
  1038. package/src/private/webapis/performance/specs/NativePerformance.js +103 -0
  1039. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  1040. package/tsconfig.json +10 -4
  1041. package/types/index.d.ts +204 -97
  1042. package/types/index.harmony.d.ts +99 -0
  1043. package/types/modules/BatchedBridge.d.ts +32 -0
  1044. package/types/modules/Codegen.d.ts +80 -0
  1045. package/types/modules/Devtools.d.ts +32 -0
  1046. package/types/modules/LaunchScreen.d.ts +18 -0
  1047. package/types/modules/globals.d.ts +599 -0
  1048. package/types/private/TimerMixin.d.ts +19 -0
  1049. package/types/private/Utilities.d.ts +10 -0
  1050. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  1051. package/types/public/Insets.d.ts +15 -0
  1052. package/types/public/ReactNativeRenderer.d.ts +144 -0
  1053. package/types/public/ReactNativeTypes.d.ts +139 -0
  1054. package/types/tsconfig.json +15 -0
  1055. package/types/tslint.json +24 -0
  1056. package/Libraries/Alert/Alert.harmony.js +0 -77
  1057. package/Libraries/Animated/NativeAnimatedHelper.harmony.js +0 -601
  1058. package/Libraries/Components/Image/Image.flow.harmony.js +0 -53
  1059. package/Libraries/Components/Image/Image.harmony.js +0 -317
  1060. package/Libraries/Components/TextInput/TextInputState.harmony.js +0 -220
  1061. package/Libraries/Components/Touchable/TouchableWithoutFeedback.harmony.js +0 -227
  1062. package/Libraries/Core/setUpReactDevTools.harmony.js +0 -93
  1063. package/Libraries/Settings/Settings.harmony.js +0 -15
  1064. package/Libraries/StyleSheet/NativePlatformColor.ts +0 -8
  1065. package/Libraries/Utilities/NativePlatformConstants.harmony.ts +0 -8
  1066. package/Libraries/Vibration/Vibration.harmony.js +0 -88
  1067. package/harmony/.keep +0 -0
  1068. package/harmony/rnoh-hvigor-plugin-0.2.0.tgz +0 -0
  1069. package/react_native_openharmony_release.har +0 -0
package/metro.config.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2024 Huawei Technologies Co., Ltd.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
- * LICENSE-MIT file in the root directory of this source tree.
5
+ * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
8
  //@ts-check
@@ -10,7 +10,8 @@ const pathUtils = require('path');
10
10
  const fs = require('fs');
11
11
  const colors = require('colors/safe');
12
12
 
13
- let shouldPrintInfoAboutRNRedirection = true;
13
+ const HARMONY_PLATFORM_NAME = 'harmony';
14
+ const RNOH_FALLBACK_PLATFORM_NAME = 'ios';
14
15
 
15
16
  /**
16
17
  * @param msg {string}
@@ -21,12 +22,28 @@ function info(msg) {
21
22
  }
22
23
 
23
24
  /**
24
- * @param options {{reactNativeHarmonyPackageName: string} | undefined}
25
+ * @type {string | null}
26
+ */
27
+ let REQUEST_RESOLUTION_LATEST_PLATFORM = null;
28
+
29
+ /**
30
+ * @param options {import("./metro.config").HarmonyMetroConfigOptions}
25
31
  * @returns {import("metro-config").InputConfigT}
26
32
  */
27
33
  function createHarmonyMetroConfig(options) {
28
- const reactNativeHarmonyName =
34
+ /**
35
+ * The default value needs to be changed to @react-native-oh/react-native-harmony but this is a breaking change.
36
+ */
37
+ const reactNativeHarmonyPackageName =
29
38
  options?.reactNativeHarmonyPackageName ?? 'react-native-harmony';
39
+ const reactNativeHarmonyPattern =
40
+ options?.__reactNativeHarmonyPattern ??
41
+ pathUtils.sep +
42
+ reactNativeHarmonyPackageName.replace('/', pathUtils.sep) +
43
+ pathUtils.sep;
44
+ const reactNativeInteropLibraryPackagePattern =
45
+ options?.__reactNativeInteropLibraryPackagePattern;
46
+
30
47
  return {
31
48
  transformer: {
32
49
  assetRegistryPath: 'react-native/Libraries/Image/AssetRegistry',
@@ -37,45 +54,149 @@ function createHarmonyMetroConfig(options) {
37
54
  },
38
55
  }),
39
56
  },
57
+ serializer: {
58
+ getModulesRunBeforeMainModule: () => {
59
+ if (REQUEST_RESOLUTION_LATEST_PLATFORM !== 'harmony') {
60
+ return [];
61
+ }
62
+ return [require.resolve('./Libraries/Core/InitializeCore')];
63
+ },
64
+ },
40
65
  resolver: {
41
- blockList: [/third-party(\\\\|\\|\/)hermes/],
66
+ blockList: [/\.cxx/],
42
67
  resolveRequest: (ctx, moduleName, platform) => {
43
- if (platform === 'harmony') {
44
- if (shouldPrintInfoAboutRNRedirection) {
45
- info(
46
- `Redirected imports from ${colors.bold(
47
- colors.gray('react-native')
48
- )} to ${colors.bold(reactNativeHarmonyName)}`
68
+ REQUEST_RESOLUTION_LATEST_PLATFORM = platform;
69
+ const nodeModulesPaths = [
70
+ pathUtils.resolve('node_modules'),
71
+ ...(ctx.nodeModulesPaths ?? []),
72
+ ];
73
+ if (platform === HARMONY_PLATFORM_NAME) {
74
+ if (
75
+ moduleName === 'react-native' ||
76
+ moduleName.startsWith(`react-native/`)
77
+ ) {
78
+ /**
79
+ * Importing from `react-native` when preparing offline bundle.
80
+ * For some reason there's a difference in behavior when a bundle is provided via Metro server and when creating an offline bundle.
81
+ */
82
+ const newModuleName = moduleName.replace(
83
+ 'react-native',
84
+ reactNativeHarmonyPackageName
49
85
  );
50
- shouldPrintInfoAboutRNRedirection = false;
51
- }
52
- if (moduleName === 'react-native') {
53
- return ctx.resolveRequest(ctx, reactNativeHarmonyName, platform);
54
- } else if (moduleName.startsWith('react-native/')) {
55
- return ctx.resolveRequest(ctx, moduleName, 'ios');
86
+ /**
87
+ * Special case for a library which hijacks imports to react-native-harmony.
88
+ */
89
+ const maybeInteropLibraryResult = resolveIfInteropLibraryRequest(
90
+ ctx,
91
+ newModuleName,
92
+ nodeModulesPaths,
93
+ reactNativeHarmonyPackageName,
94
+ reactNativeInteropLibraryPackagePattern
95
+ );
96
+ if (maybeInteropLibraryResult) {
97
+ return maybeInteropLibraryResult;
98
+ }
99
+ try {
100
+ return ctx.resolveRequest(
101
+ ctx,
102
+ newModuleName,
103
+ HARMONY_PLATFORM_NAME
104
+ );
105
+ } catch {
106
+ return ctx.resolveRequest(
107
+ ctx,
108
+ newModuleName,
109
+ RNOH_FALLBACK_PLATFORM_NAME
110
+ );
111
+ }
56
112
  } else if (
57
- isInternalReactNativeRelativeImport(ctx.originModulePath)
113
+ moduleName === reactNativeHarmonyPackageName ||
114
+ moduleName.startsWith(`${reactNativeHarmonyPackageName}/`)
58
115
  ) {
59
- if (moduleName.startsWith('.')) {
60
- const moduleAbsPath = pathUtils.resolve(
61
- pathUtils.dirname(ctx.originModulePath),
62
- moduleName
63
- );
64
- const [_, modulePathRelativeToReactNative] = moduleAbsPath.split(
65
- `${pathUtils.sep}node_modules${pathUtils.sep}react-native${pathUtils.sep}`
116
+ /**
117
+ * Importing from `react-native` when bundle is provided from Metro server.
118
+ *
119
+ * `moduleName` is equal here to the value provided in
120
+ * react-native-harmony/react-native.config.js::config::platforms::harmony::npmPackageName
121
+ * when importing from `react-native`.
122
+ */
123
+
124
+ /**
125
+ * Special case for a library which hijacks imports to react-native-harmony.
126
+ */
127
+ const result = resolveIfInteropLibraryRequest(
128
+ ctx,
129
+ moduleName,
130
+ nodeModulesPaths,
131
+ reactNativeHarmonyPackageName,
132
+ reactNativeInteropLibraryPackagePattern
133
+ );
134
+ if (result) {
135
+ return result;
136
+ }
137
+
138
+ try {
139
+ return ctx.resolveRequest(ctx, moduleName, HARMONY_PLATFORM_NAME);
140
+ } catch {
141
+ return ctx.resolveRequest(
142
+ ctx,
143
+ moduleName,
144
+ RNOH_FALLBACK_PLATFORM_NAME
66
145
  );
67
- try {
68
- return ctx.resolveRequest(
69
- ctx,
70
- `${reactNativeHarmonyName}${pathUtils.sep}${modulePathRelativeToReactNative}`,
71
- 'harmony'
146
+ }
147
+ } else if (ctx.originModulePath.includes(reactNativeHarmonyPattern)) {
148
+ const rnInteropLibraryPackage =
149
+ getHarmonyPackageByAliasMap(nodeModulesPaths)[
150
+ reactNativeHarmonyPackageName
151
+ ];
152
+ // Redirect internal react-native-harmony imports to the interop package
153
+ if (rnInteropLibraryPackage && moduleName.startsWith('.')) {
154
+ const rnInteropLibraryPackageName = rnInteropLibraryPackage.name;
155
+ const redirectInternalImports =
156
+ rnInteropLibraryPackage.redirectInternalImports;
157
+ if (redirectInternalImports) {
158
+ const moduleAbsPath = pathUtils.resolve(
159
+ pathUtils.dirname(ctx.originModulePath),
160
+ moduleName
72
161
  );
73
- } catch (err) {}
162
+
163
+ try {
164
+ // We have to replace either /react-native-harmony/ or /@react-native-oh/react-native-harmony/ with the interop package name.
165
+ const newModuleName = moduleAbsPath.replace(
166
+ reactNativeHarmonyPattern,
167
+ reactNativeInteropLibraryPackagePattern ??
168
+ getRNInteropLibraryPackagePattern(
169
+ rnInteropLibraryPackageName
170
+ )
171
+ );
172
+
173
+ return ctx.resolveRequest(
174
+ ctx,
175
+ newModuleName,
176
+ HARMONY_PLATFORM_NAME
177
+ );
178
+ } catch {}
179
+ }
180
+ }
181
+ // Internal RN imports
182
+ const maybeResult = resolveRequestOnlyForHarmony(ctx, moduleName);
183
+ if (maybeResult) {
184
+ return maybeResult;
74
185
  }
75
- return ctx.resolveRequest(ctx, moduleName, 'ios');
76
- } else if(isHarmonyPackageInternalImport(ctx.originModulePath, moduleName)) {
186
+ return ctx.resolveRequest(
187
+ ctx,
188
+ moduleName,
189
+ RNOH_FALLBACK_PLATFORM_NAME
190
+ );
191
+ } else if (
192
+ isHarmonyPackageInternalImport(
193
+ nodeModulesPaths,
194
+ ctx.originModulePath,
195
+ moduleName
196
+ )
197
+ ) {
77
198
  /**
78
- * Replace internal imports in `react-native-foo` with equivalent files from `react-native-harmony-foo`
199
+ * Replace internal imports in `react-native-foo` with equivalent files from `react-native-harmony-foo`
79
200
  * if a package has internal import redirection enabled in its package.json configuration e.g.
80
201
  *
81
202
  * react-native-harmony-foo/package.json:
@@ -84,30 +205,52 @@ function createHarmonyMetroConfig(options) {
84
205
  * "redirectInternalImports": true,
85
206
  * }
86
207
  */
87
- const alias = getPackageNameFromOriginModulePath(ctx.originModulePath);
208
+ const alias = getPackageNameFromOriginModulePath(
209
+ ctx.originModulePath
210
+ );
211
+
88
212
  if (alias) {
89
- const harmonyPackage = getHarmonyPackageByAliasMap(".");
213
+ const harmonyPackage =
214
+ getHarmonyPackageByAliasMap(nodeModulesPaths);
215
+
90
216
  const harmonyPackageName = harmonyPackage[alias]?.name;
91
- const redirectInternalImports = harmonyPackage[alias]?.redirectInternalImports;
92
- if (harmonyPackageName && !isRequestFromHarmonyPackage(ctx.originModulePath, harmonyPackageName) && redirectInternalImports) {
217
+
218
+ const redirectInternalImports =
219
+ harmonyPackage[alias]?.redirectInternalImports;
220
+
221
+ if (
222
+ harmonyPackageName &&
223
+ !isRequestFromHarmonyPackage(
224
+ ctx.originModulePath,
225
+ harmonyPackageName
226
+ ) &&
227
+ redirectInternalImports
228
+ ) {
93
229
  const moduleAbsPath = pathUtils.resolve(
94
230
  pathUtils.dirname(ctx.originModulePath),
95
- moduleName,
231
+ moduleName
96
232
  );
233
+
97
234
  const slashes = new RegExp('/', 'g');
98
- const [_, modulePathRelativeToOriginalPackage] = moduleAbsPath.split(
99
- `${pathUtils.sep}node_modules${pathUtils.sep}${alias.replace(slashes, pathUtils.sep)}${pathUtils.sep}`,
100
- );
235
+ const [_, modulePathRelativeToOriginalPackage] =
236
+ moduleAbsPath.split(
237
+ `${pathUtils.sep}node_modules${
238
+ pathUtils.sep
239
+ }${alias.replace(slashes, pathUtils.sep)}${pathUtils.sep}`
240
+ );
101
241
  const backslashes = new RegExp('\\\\', 'g');
102
- const pathToHarmonyModule = `${harmonyPackageName}/${modulePathRelativeToOriginalPackage.replace(backslashes, "/")}`;
242
+ const newModuleName = `${harmonyPackageName}/${modulePathRelativeToOriginalPackage.replace(
243
+ backslashes,
244
+ '/'
245
+ )}`;
103
246
  try {
104
247
  return ctx.resolveRequest(
105
248
  ctx,
106
- pathToHarmonyModule,
107
- 'harmony',
249
+ newModuleName,
250
+ HARMONY_PLATFORM_NAME
108
251
  );
109
- } catch (err) {
110
- }
252
+ } catch (err) {}
253
+ } else {
111
254
  }
112
255
  }
113
256
  } else {
@@ -119,7 +262,8 @@ function createHarmonyMetroConfig(options) {
119
262
  * "alias": "react-native-foo"
120
263
  * }
121
264
  */
122
- const harmonyPackageByAlias = getHarmonyPackageByAliasMap(".");
265
+ const harmonyPackageByAlias =
266
+ getHarmonyPackageByAliasMap(nodeModulesPaths);
123
267
  const alias = getPackageName(moduleName);
124
268
  if (alias) {
125
269
  const harmonyPackageName = harmonyPackageByAlias[alias]?.name;
@@ -149,6 +293,84 @@ module.exports = {
149
293
  createHarmonyMetroConfig,
150
294
  };
151
295
 
296
+ /**
297
+ * @param ctx {Parameters<NonNullable<import("metro-config").ResolverConfigT["resolveRequest"]>>[0]}
298
+ * @param moduleName {string}
299
+ * @param nodeModulesPaths {string[]}
300
+ * @param reactNativeHarmonyPackageName {string}
301
+ * @param reactNativeInteropLibraryPackagePattern {string | undefined}
302
+ */
303
+ function resolveIfInteropLibraryRequest(
304
+ ctx,
305
+ moduleName,
306
+ nodeModulesPaths,
307
+ reactNativeHarmonyPackageName,
308
+ reactNativeInteropLibraryPackagePattern
309
+ ) {
310
+ const rnInteropLibraryPackageName =
311
+ getHarmonyPackageByAliasMap(nodeModulesPaths)[reactNativeHarmonyPackageName]
312
+ ?.name;
313
+
314
+ /**
315
+ * We have to check if the module is not resolved from interop package
316
+ * to prevent an infinite resolution loop caused by a circular dependency.
317
+ * e.g.
318
+ * origin module: react-native-harmony/Libraries/Image/ImageSourceUtils.js
319
+ * redirected to module: react-native-harmony-61-interop/Libraries/Image/ImageSourceUtils.js
320
+ * and react-native-harmony-61-interop/Libraries/Image/ImageSourceUtils.js imports react-native-harmony/Libraries/Image/ImageSourceUtils.js
321
+ * This creates a circular dependency, causing an infinite resolution loop.
322
+ */
323
+ if (
324
+ rnInteropLibraryPackageName &&
325
+ !ctx.originModulePath.includes(
326
+ reactNativeInteropLibraryPackagePattern ??
327
+ getRNInteropLibraryPackagePattern(rnInteropLibraryPackageName)
328
+ )
329
+ ) {
330
+ try {
331
+ const newModuleName = moduleName.replace(
332
+ reactNativeHarmonyPackageName,
333
+ rnInteropLibraryPackageName
334
+ );
335
+ return ctx.resolveRequest(ctx, newModuleName, HARMONY_PLATFORM_NAME);
336
+ } catch {}
337
+ }
338
+ return null;
339
+ }
340
+
341
+ /**
342
+ * Let's say we have following files:
343
+ * foo.js
344
+ * foo.harmony.tsx
345
+ *
346
+ * By default, in that situation foo.js will be resolved. This function however chooses foo.harmony.tsx.
347
+ * In the past, RNOH redirected imports back to the RN package, and RNOH used different extensions than original files.
348
+ *
349
+ * @param ctx {Parameters<NonNullable<import("metro-config").ResolverConfigT["resolveRequest"]>>[0]}
350
+ * @param moduleName {string}
351
+ */
352
+ function resolveRequestOnlyForHarmony(ctx, moduleName) {
353
+ for (const sourceExt of ctx.sourceExts) {
354
+ const newCtx = { ...ctx };
355
+ newCtx.sourceExts = [sourceExt];
356
+ try {
357
+ const result = ctx.resolveRequest(
358
+ newCtx,
359
+ moduleName,
360
+ HARMONY_PLATFORM_NAME
361
+ );
362
+ if (result.type === 'sourceFile') {
363
+ const lastDotIndex = result.filePath.lastIndexOf('.');
364
+ const beforeLastDot = result.filePath.substring(0, lastDotIndex);
365
+ if (beforeLastDot.endsWith('.' + HARMONY_PLATFORM_NAME)) {
366
+ return result;
367
+ }
368
+ }
369
+ } catch {}
370
+ }
371
+ return null;
372
+ }
373
+
152
374
  /**
153
375
  * @param moduleName {string}
154
376
  * @returns {string | null}
@@ -176,52 +398,53 @@ function getPackageName(moduleName) {
176
398
  * @returns {string}
177
399
  */
178
400
  function getPackageNameFromOriginModulePath(originModulePath) {
179
- const nodeModulesPosition = originModulePath.search("node_modules");
180
- const pathRelativeToNodeModules = originModulePath.substring(nodeModulesPosition);
401
+ const nodeModulesPosition = originModulePath.search('node_modules');
402
+ const pathRelativeToNodeModules =
403
+ originModulePath.substring(nodeModulesPosition);
181
404
  const pathSegments = pathRelativeToNodeModules.split(pathUtils.sep);
182
405
  const module = pathSegments[1];
183
406
  if (module.startsWith('@')) {
184
407
  return `${pathSegments[1]}/${pathSegments[2]}`;
185
- }
186
- else {
408
+ } else {
187
409
  return pathSegments[1];
188
410
  }
189
411
  }
190
412
 
191
413
  /**
414
+ * @param nodeModulesPaths {readonly string[]}
192
415
  * @param originModulePath {string}
193
416
  * @param moduleName {string}
194
417
  * @returns {boolean}
195
418
  */
196
- function isHarmonyPackageInternalImport(originModulePath, moduleName) {
197
- if (moduleName.startsWith(".")) {
419
+ function isHarmonyPackageInternalImport(
420
+ nodeModulesPaths,
421
+ originModulePath,
422
+ moduleName
423
+ ) {
424
+ if (moduleName.startsWith('.')) {
198
425
  const alias = getPackageNameFromOriginModulePath(originModulePath);
199
426
  const slashes = new RegExp('/', 'g');
200
- if (alias && originModulePath.includes(`${pathUtils.sep}node_modules${pathUtils.sep}${alias.replace(slashes, pathUtils.sep)}${pathUtils.sep}`)) {
201
- const harmonyPackage = getHarmonyPackageByAliasMap(".");
427
+ if (
428
+ alias &&
429
+ originModulePath.includes(
430
+ `${pathUtils.sep}node_modules${pathUtils.sep}${alias.replace(
431
+ slashes,
432
+ pathUtils.sep
433
+ )}${pathUtils.sep}`
434
+ )
435
+ ) {
436
+ const harmonyPackage = getHarmonyPackageByAliasMap(nodeModulesPaths);
202
437
  const harmonyPackageName = harmonyPackage[alias]?.name;
203
438
  if (
204
439
  harmonyPackageName &&
205
- !isRequestFromHarmonyPackage(
206
- originModulePath,
207
- harmonyPackageName,
208
- )
440
+ !isRequestFromHarmonyPackage(originModulePath, harmonyPackageName)
209
441
  ) {
210
442
  return true;
211
443
  }
212
444
  }
213
445
  }
214
- return false;
215
- }
216
446
 
217
- /**
218
- * @param originModulePath {string}
219
- * @returns {boolean}
220
- */
221
- function isInternalReactNativeRelativeImport(originModulePath) {
222
- return originModulePath.includes(
223
- `${pathUtils.sep}node_modules${pathUtils.sep}react-native${pathUtils.sep}`
224
- );
447
+ return false;
225
448
  }
226
449
 
227
450
  /**
@@ -232,6 +455,7 @@ function isInternalReactNativeRelativeImport(originModulePath) {
232
455
  function isRequestFromHarmonyPackage(originModulePath, harmonyPackageName) {
233
456
  const slashes = new RegExp('/', 'g');
234
457
  const packagePath = harmonyPackageName.replace(slashes, pathUtils.sep);
458
+
235
459
  return originModulePath.includes(
236
460
  `${pathUtils.sep}node_modules${pathUtils.sep}${packagePath}${pathUtils.sep}`
237
461
  );
@@ -243,9 +467,9 @@ function isRequestFromHarmonyPackage(originModulePath, harmonyPackageName) {
243
467
  let cachedHarmonyPackageByAliasMap = undefined;
244
468
 
245
469
  /**
246
- * @param projectRootPath {string}
470
+ * @param nodeModulesPaths {readonly string[]}
247
471
  */
248
- function getHarmonyPackageByAliasMap(projectRootPath) {
472
+ function getHarmonyPackageByAliasMap(nodeModulesPaths) {
249
473
  /**
250
474
  * @type {Record<string, {name: string, redirectInternalImports: boolean}>}
251
475
  */
@@ -254,51 +478,71 @@ function getHarmonyPackageByAliasMap(projectRootPath) {
254
478
  return cachedHarmonyPackageByAliasMap;
255
479
  }
256
480
  cachedHarmonyPackageByAliasMap = findHarmonyNodeModulePaths(
257
- findHarmonyNodeModuleSearchPaths(projectRootPath),
258
- ).reduce((acc, harmonyNodeModulePath) => {
259
- const harmonyNodeModulePathSegments = harmonyNodeModulePath.split(
260
- pathUtils.sep,
261
- );
262
- let harmonyNodeModuleName =
263
- harmonyNodeModulePathSegments[harmonyNodeModulePathSegments.length - 1];
264
- if (harmonyNodeModulePathSegments.length > 1) {
265
- const harmonyNodeModuleParentDirName =
266
- harmonyNodeModulePathSegments[harmonyNodeModulePathSegments.length - 2];
267
- if (harmonyNodeModuleParentDirName.startsWith('@')) {
268
- harmonyNodeModuleName = `${harmonyNodeModuleParentDirName}/${harmonyNodeModuleName}`;
481
+ findHarmonyNodeModuleSearchPaths(nodeModulesPaths)
482
+ ).reduce(
483
+ (
484
+ acc,
485
+ {
486
+ resolvedPath: harmonyNodeModuleResolvedPath,
487
+ unresolvedPath: harmonyNodeModuleUnresolvedPath,
269
488
  }
270
- }
271
- const packageJSONPath = `${harmonyNodeModulePath}${pathUtils.sep}package.json`;
272
- const packageJSON = readHarmonyModulePackageJSON(packageJSONPath);
273
- const alias = packageJSON.harmony?.alias;
274
- const redirectInternalImports = packageJSON?.harmony?.redirectInternalImports ?? false;
275
- if (alias) {
276
- acc[alias] ={
277
- name: harmonyNodeModuleName,
278
- redirectInternalImports: redirectInternalImports
489
+ ) => {
490
+ // use unresolved path for monorepos to find actual package name (which can be installed under an alias)
491
+ const harmonyNodeModulePath = harmonyNodeModuleResolvedPath.includes(
492
+ 'node_modules'
493
+ )
494
+ ? harmonyNodeModuleResolvedPath
495
+ : harmonyNodeModuleUnresolvedPath;
496
+
497
+ const harmonyNodeModulePathSegments = harmonyNodeModulePath.split(
498
+ pathUtils.sep
499
+ );
500
+
501
+ let harmonyNodeModuleName =
502
+ harmonyNodeModulePathSegments[harmonyNodeModulePathSegments.length - 1];
503
+ if (harmonyNodeModulePathSegments.length > 1) {
504
+ const harmonyNodeModuleParentDirName =
505
+ harmonyNodeModulePathSegments[
506
+ harmonyNodeModulePathSegments.length - 2
507
+ ];
508
+ if (harmonyNodeModuleParentDirName.startsWith('@')) {
509
+ harmonyNodeModuleName = `${harmonyNodeModuleParentDirName}/${harmonyNodeModuleName}`;
510
+ }
279
511
  }
280
- }
281
- return acc;
282
- }, initialAcc);
512
+ const packageJsonPath = `${harmonyNodeModuleResolvedPath}${pathUtils.sep}package.json`;
513
+ const packageJson = readHarmonyModulePackageJSON(packageJsonPath);
514
+ const alias = packageJson.harmony?.alias;
515
+ const redirectInternalImports =
516
+ packageJson?.harmony?.redirectInternalImports ?? false;
517
+ if (alias) {
518
+ acc[alias] = {
519
+ name: harmonyNodeModuleName,
520
+ redirectInternalImports: redirectInternalImports,
521
+ };
522
+ }
523
+ return acc;
524
+ },
525
+ initialAcc
526
+ );
283
527
  const harmonyPackagesCount = Object.keys(
284
- cachedHarmonyPackageByAliasMap,
528
+ cachedHarmonyPackageByAliasMap
285
529
  ).length;
286
530
  if (harmonyPackagesCount > 0) {
287
531
  const prettyHarmonyPackagesCount = colors.bold(
288
532
  harmonyPackagesCount > 0
289
533
  ? colors.green(harmonyPackagesCount.toString())
290
- : harmonyPackagesCount.toString(),
534
+ : harmonyPackagesCount.toString()
291
535
  );
292
536
  info(
293
- `Redirected imports to ${prettyHarmonyPackagesCount} harmony-specific third-party package(s):`,
537
+ `Redirected imports to ${prettyHarmonyPackagesCount} harmony-specific third-party package(s):`
294
538
  );
295
539
  if (harmonyPackagesCount > 0) {
296
540
  Object.entries(cachedHarmonyPackageByAliasMap).forEach(
297
- ([original, {name: alias}]) => {
541
+ ([original, { name: alias }]) => {
298
542
  info(
299
- `• ${colors.bold(colors.gray(original))} → ${colors.bold(alias)}`,
543
+ `• ${colors.bold(colors.gray(original))} → ${colors.bold(alias)}`
300
544
  );
301
- },
545
+ }
302
546
  );
303
547
  }
304
548
  } else {
@@ -309,30 +553,55 @@ function getHarmonyPackageByAliasMap(projectRootPath) {
309
553
  }
310
554
 
311
555
  /**
312
- * @param projectRootPath {string}
556
+ * @param nodeModulesPaths {readonly string[]}
313
557
  * @returns {string[]}
314
558
  */
315
- function findHarmonyNodeModuleSearchPaths(projectRootPath) {
316
- const nodeModulesPath = `${projectRootPath}${pathUtils.sep}node_modules`;
317
- const searchPaths = fs
318
- .readdirSync(nodeModulesPath)
319
- .filter((dirName) => dirName.startsWith('@'))
320
- .map((dirName) => `${nodeModulesPath}${pathUtils.sep}${dirName}`);
321
- searchPaths.push(nodeModulesPath);
559
+ function findHarmonyNodeModuleSearchPaths(nodeModulesPaths) {
560
+ /**
561
+ * @type string[]
562
+ */
563
+ let searchPaths = [];
564
+ for (const nodeModulesPath of nodeModulesPaths) {
565
+ if (fs.existsSync(nodeModulesPath)) {
566
+ fs.readdirSync(nodeModulesPath)
567
+ .filter((dirName) => dirName.startsWith('@'))
568
+ .forEach((dirName) =>
569
+ searchPaths.push(`${nodeModulesPath}${pathUtils.sep}${dirName}`)
570
+ );
571
+ searchPaths.push(nodeModulesPath);
572
+ }
573
+ }
322
574
  return searchPaths;
323
575
  }
324
576
 
325
577
  /**
326
578
  * @param searchPaths {string[]}
327
- * @returns {string[]}
579
+ * @returns {{resolvedPath:string, unresolvedPath: string}[]}
328
580
  */
329
581
  function findHarmonyNodeModulePaths(searchPaths) {
330
582
  return searchPaths
331
583
  .map((searchPath) => {
332
584
  return fs
333
- .readdirSync(searchPath)
334
- .map((dirName) => `${searchPath}${pathUtils.sep}${dirName}`)
335
- .filter(hasPackageJSON);
585
+ .readdirSync(searchPath, { withFileTypes: true })
586
+ .map((dirent) => {
587
+ const direntPath =
588
+ (dirent.parentPath ?? dirent.path) + pathUtils.sep + dirent.name;
589
+ if (dirent.isSymbolicLink()) {
590
+ return {
591
+ resolvedPath: pathUtils.resolve(
592
+ dirent.parentPath ?? dirent.path,
593
+ fs.readlinkSync(direntPath)
594
+ ),
595
+ unresolvedPath: pathUtils.resolve(
596
+ dirent.parentPath ?? dirent.path,
597
+ direntPath
598
+ ),
599
+ };
600
+ } else {
601
+ return { resolvedPath: direntPath, unresolvedPath: direntPath };
602
+ }
603
+ })
604
+ .filter(({ resolvedPath }) => hasPackageJSON(resolvedPath));
336
605
  })
337
606
  .flat();
338
607
  }
@@ -342,7 +611,12 @@ function findHarmonyNodeModulePaths(searchPaths) {
342
611
  * @returns {boolean}
343
612
  */
344
613
  function hasPackageJSON(nodeModulePath) {
345
- if (!fs.lstatSync(nodeModulePath).isDirectory()) return false;
614
+ if (!fs.existsSync(nodeModulePath)) {
615
+ return false;
616
+ }
617
+ if (!fs.lstatSync(nodeModulePath).isDirectory()) {
618
+ return false;
619
+ }
346
620
  const nodeModuleContentNames = fs.readdirSync(nodeModulePath);
347
621
  return nodeModuleContentNames.includes('package.json');
348
622
  }
@@ -354,3 +628,12 @@ function hasPackageJSON(nodeModulePath) {
354
628
  function readHarmonyModulePackageJSON(packageJSONPath) {
355
629
  return JSON.parse(fs.readFileSync(packageJSONPath).toString());
356
630
  }
631
+
632
+ /**
633
+ * @param rnInteropLibraryPackageName {string}
634
+ * @param isInMonorepo {boolean}
635
+ * @returns {string} - Either package name without the scope or the full package name with platform specific separator
636
+ */
637
+ function getRNInteropLibraryPackagePattern(rnInteropLibraryPackageName) {
638
+ return `${pathUtils.sep}${rnInteropLibraryPackageName.replace('/', pathUtils.sep)}${pathUtils.sep}`;
639
+ }