@react-native-oh/react-native-harmony 0.72.86 → 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 +1 -5
  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
@@ -7,37 +7,45 @@
7
7
  * @flow strict-local
8
8
  * @format
9
9
  */
10
- const OS = "ios" // RNOH: patch - replaced occurrences Platform.OS with OS
11
10
 
12
- // RNOH: patch - updated imports
13
- import type {HostComponent} from 'react-native/Libraries/shims/ReactNativeTypes';
11
+ import type {HostInstance} from '../../Renderer/shims/ReactNativeTypes';
12
+ import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
14
13
  import type {
15
14
  PressEvent,
16
15
  ScrollEvent,
17
16
  SyntheticEvent,
18
- } from 'react-native/Libraries/Types/CoreEventTypes';
19
- import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
20
- import type {TextInputType} from 'react-native/Libraries/Components/TextInput/TextInput.flow';
17
+ } from '../../Types/CoreEventTypes';
18
+ import type {ViewProps} from '../View/ViewPropTypes';
19
+ import type {TextInputType} from './TextInput.flow';
21
20
 
22
- import usePressability from 'react-native/Libraries/Pressability/usePressability';
23
- import flattenStyle from 'react-native/Libraries/StyleSheet/flattenStyle';
21
+ import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
22
+ import usePressability from '../../Pressability/usePressability';
23
+ import flattenStyle from '../../StyleSheet/flattenStyle';
24
24
  import StyleSheet, {
25
25
  type ColorValue,
26
26
  type TextStyleProp,
27
27
  type ViewStyleProp,
28
- } from 'react-native/Libraries/StyleSheet/StyleSheet';
29
- import Text from 'react-native/Libraries/Text/Text';
30
- import TextAncestor from 'react-native/Libraries/Text/TextAncestor';
28
+ } from '../../StyleSheet/StyleSheet';
29
+ import Text from '../../Text/Text';
30
+ import TextAncestor from '../../Text/TextAncestor';
31
31
  import Platform from '../../Utilities/Platform';
32
- import useMergeRefs from 'react-native/Libraries/Utilities/useMergeRefs';
33
- import TextInputState from './TextInputState.harmony';
32
+ import useMergeRefs from '../../Utilities/useMergeRefs';
33
+ import TextInputDelegate from './delegates/TextInputDelegate';
34
+ import TextInputState from './TextInputState';
34
35
  import invariant from 'invariant';
35
36
  import nullthrows from 'nullthrows';
36
37
  import * as React from 'react';
38
+ import {useCallback, useLayoutEffect, useRef, useState} from 'react';
37
39
 
38
- const {useLayoutEffect, useRef, useState, useCallback} = React;
40
+ const DELEGATE = new TextInputDelegate({});
39
41
 
40
42
  type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
43
+ type TextInputInstance = HostInstance & {
44
+ +clear: () => void,
45
+ +isFocused: () => boolean,
46
+ +getNativeRef: () => ?HostInstance,
47
+ +setSelection: (start: number, end: number) => void,
48
+ };
41
49
 
42
50
  let AndroidTextInput;
43
51
  let AndroidTextInputCommands;
@@ -46,19 +54,19 @@ let RCTSinglelineTextInputNativeCommands;
46
54
  let RCTMultilineTextInputView;
47
55
  let RCTMultilineTextInputNativeCommands;
48
56
 
49
- if (OS === 'android') {
50
- AndroidTextInput = require('react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent').default;
57
+ if (Platform.OS === 'android') {
58
+ AndroidTextInput = require('./AndroidTextInputNativeComponent').default;
51
59
  AndroidTextInputCommands =
52
- require('react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent').Commands;
53
- } else if (OS === 'ios') {
60
+ require('./AndroidTextInputNativeComponent').Commands;
61
+ } else if (Platform.OS === 'ios') {
54
62
  RCTSinglelineTextInputView =
55
- require('react-native/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent').default;
63
+ require('./RCTSingelineTextInputNativeComponent').default;
56
64
  RCTSinglelineTextInputNativeCommands =
57
- require('react-native/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent').Commands;
65
+ require('./RCTSingelineTextInputNativeComponent').Commands;
58
66
  RCTMultilineTextInputView =
59
- require('react-native/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent').default;
67
+ require('./RCTMultilineTextInputNativeComponent').default;
60
68
  RCTMultilineTextInputNativeCommands =
61
- require('react-native/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent').Commands;
69
+ require('./RCTMultilineTextInputNativeComponent').Commands;
62
70
  }
63
71
 
64
72
  export type ChangeEvent = SyntheticEvent<
@@ -134,6 +142,9 @@ type DataDetectorTypesType =
134
142
  | 'link'
135
143
  | 'address'
136
144
  | 'calendarEvent'
145
+ | 'trackingNumber'
146
+ | 'flightNumber'
147
+ | 'lookupSuggestion'
137
148
  | 'none'
138
149
  | 'all';
139
150
 
@@ -197,6 +208,15 @@ export type TextContentType =
197
208
  | 'addressState'
198
209
  | 'countryName'
199
210
  | 'creditCardNumber'
211
+ | 'creditCardExpiration'
212
+ | 'creditCardExpirationMonth'
213
+ | 'creditCardExpirationYear'
214
+ | 'creditCardSecurityCode'
215
+ | 'creditCardType'
216
+ | 'creditCardName'
217
+ | 'creditCardGivenName'
218
+ | 'creditCardMiddleName'
219
+ | 'creditCardFamilyName'
200
220
  | 'emailAddress'
201
221
  | 'familyName'
202
222
  | 'fullStreetAddress'
@@ -217,16 +237,28 @@ export type TextContentType =
217
237
  | 'username'
218
238
  | 'password'
219
239
  | 'newPassword'
220
- | 'oneTimeCode';
240
+ | 'oneTimeCode'
241
+ | 'birthdate'
242
+ | 'birthdateDay'
243
+ | 'birthdateMonth'
244
+ | 'birthdateYear'
245
+ | 'cellularEID'
246
+ | 'cellularIMEI'
247
+ | 'dateTime'
248
+ | 'flightNumber'
249
+ | 'shipmentTrackingNumber';
221
250
 
222
251
  export type enterKeyHintType =
223
- | 'enter'
252
+ // Cross Platform
224
253
  | 'done'
225
254
  | 'go'
226
255
  | 'next'
227
- | 'previous'
228
256
  | 'search'
229
- | 'send';
257
+ | 'send'
258
+ // Android-only
259
+ | 'previous'
260
+ // iOS-only
261
+ | 'enter';
230
262
 
231
263
  type PasswordRules = string;
232
264
 
@@ -281,6 +313,12 @@ type IOSProps = $ReadOnly<{|
281
313
  */
282
314
  inputAccessoryViewID?: ?string,
283
315
 
316
+ /**
317
+ * An optional label that overrides the default input accessory view button label.
318
+ * @platform ios
319
+ */
320
+ inputAccessoryViewButtonLabel?: ?string,
321
+
284
322
  /**
285
323
  * Determines the color of the keyboard.
286
324
  * @platform ios
@@ -333,6 +371,29 @@ type IOSProps = $ReadOnly<{|
333
371
  * @platform ios
334
372
  */
335
373
  lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
374
+
375
+ /**
376
+ * Set line break mode on iOS.
377
+ * @platform ios
378
+ */
379
+ lineBreakModeIOS?: ?(
380
+ | 'wordWrapping'
381
+ | 'char'
382
+ | 'clip'
383
+ | 'head'
384
+ | 'middle'
385
+ | 'tail'
386
+ ),
387
+
388
+ /**
389
+ * If `false`, the iOS system will not insert an extra space after a paste operation
390
+ * neither delete one or two spaces after a cut or delete operation.
391
+ *
392
+ * The default value is `true`.
393
+ *
394
+ * @platform ios
395
+ */
396
+ smartInsertDelete?: ?boolean,
336
397
  |}>;
337
398
 
338
399
  type AndroidProps = $ReadOnly<{|
@@ -446,7 +507,16 @@ export type Props = $ReadOnly<{|
446
507
  * - `additional-name`
447
508
  * - `address-line1`
448
509
  * - `address-line2`
510
+ * - `birthdate-day` (iOS 17+)
511
+ * - `birthdate-full` (iOS 17+)
512
+ * - `birthdate-month` (iOS 17+)
513
+ * - `birthdate-year` (iOS 17+)
449
514
  * - `cc-number`
515
+ * - `cc-csc` (iOS 17+)
516
+ * - `cc-exp` (iOS 17+)
517
+ * - `cc-exp-day` (iOS 17+)
518
+ * - `cc-exp-month` (iOS 17+)
519
+ * - `cc-exp-year` (iOS 17+)
450
520
  * - `country`
451
521
  * - `current-password`
452
522
  * - `email`
@@ -465,6 +535,11 @@ export type Props = $ReadOnly<{|
465
535
  *
466
536
  * The following values work on iOS only:
467
537
  *
538
+ * - `cc-name` (iOS 17+)
539
+ * - `cc-given-name` (iOS 17+)
540
+ * - `cc-middle-name` (iOS 17+)
541
+ * - `cc-family-name` (iOS 17+)
542
+ * - `cc-type` (iOS 17+)
468
543
  * - `nickname`
469
544
  * - `organization`
470
545
  * - `organization-title`
@@ -472,15 +547,6 @@ export type Props = $ReadOnly<{|
472
547
  *
473
548
  * The following values work on Android only:
474
549
  *
475
- * - `birthdate-day`
476
- * - `birthdate-full`
477
- * - `birthdate-month`
478
- * - `birthdate-year`
479
- * - `cc-csc`
480
- * - `cc-exp`
481
- * - `cc-exp-day`
482
- * - `cc-exp-month`
483
- * - `cc-exp-year`
484
550
  * - `gender`
485
551
  * - `name-family`
486
552
  * - `name-given`
@@ -516,6 +582,11 @@ export type Props = $ReadOnly<{|
516
582
  | 'cc-exp-month'
517
583
  | 'cc-exp-year'
518
584
  | 'cc-number'
585
+ | 'cc-name'
586
+ | 'cc-given-name'
587
+ | 'cc-middle-name'
588
+ | 'cc-family-name'
589
+ | 'cc-type'
519
590
  | 'country'
520
591
  | 'current-password'
521
592
  | 'email'
@@ -699,33 +770,12 @@ export type Props = $ReadOnly<{|
699
770
  */
700
771
  onChange?: ?(e: ChangeEvent) => mixed,
701
772
 
702
- /**
703
- * DANGER: this API is not stable and will change in the future.
704
- *
705
- * Callback will be called on the main thread and may result in dropped frames.
706
- * Callback that is called when the text input's text changes.
707
- *
708
- * @platform ios
709
- */
710
- unstable_onChangeSync?: ?(e: ChangeEvent) => mixed,
711
-
712
773
  /**
713
774
  * Callback that is called when the text input's text changes.
714
775
  * Changed text is passed as an argument to the callback handler.
715
776
  */
716
777
  onChangeText?: ?(text: string) => mixed,
717
778
 
718
- /**
719
- * DANGER: this API is not stable and will change in the future.
720
- *
721
- * Callback will be called on the main thread and may result in dropped frames.
722
- * Callback that is called when the text input's text changes.
723
- * Changed text is passed as an argument to the callback handler.
724
- *
725
- * @platform ios
726
- */
727
- unstable_onChangeTextSync?: ?(text: string) => mixed,
728
-
729
779
  /**
730
780
  * Callback that is called when the text input's content size changes.
731
781
  * This will be called with
@@ -755,19 +805,9 @@ export type Props = $ReadOnly<{|
755
805
  onKeyPress?: ?(e: KeyPressEvent) => mixed,
756
806
 
757
807
  /**
758
- * DANGER: this API is not stable and will change in the future.
759
- *
760
- * Callback will be called on the main thread and may result in dropped frames.
761
- *
762
- * Callback that is called when a key is pressed.
763
- * This will be called with `{ nativeEvent: { key: keyValue } }`
764
- * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
765
- * the typed-in character otherwise including `' '` for space.
766
- * Fires before `onChange` callbacks.
767
- *
768
- * @platform ios
808
+ * Called when a single tap gesture is detected.
769
809
  */
770
- unstable_onKeyPressSync?: ?(e: KeyPressEvent) => mixed,
810
+ onPress?: ?(event: PressEvent) => mixed,
771
811
 
772
812
  /**
773
813
  * Called when a touch is engaged.
@@ -870,6 +910,12 @@ export type Props = $ReadOnly<{|
870
910
  */
871
911
  selectionColor?: ?ColorValue,
872
912
 
913
+ /**
914
+ * The text selection handle color.
915
+ * @platform android
916
+ */
917
+ selectionHandleColor?: ?ColorValue,
918
+
873
919
  /**
874
920
  * If `true`, all text will automatically be selected on focus.
875
921
  */
@@ -940,8 +986,188 @@ export type Props = $ReadOnly<{|
940
986
  value?: ?Stringish,
941
987
  |}>;
942
988
 
989
+ type ViewCommands = $NonMaybeType<
990
+ | typeof AndroidTextInputCommands
991
+ | typeof RCTMultilineTextInputNativeCommands
992
+ | typeof RCTSinglelineTextInputNativeCommands,
993
+ >;
994
+
995
+ type LastNativeSelection = {|
996
+ selection: Selection,
997
+ mostRecentEventCount: number,
998
+ |};
999
+
943
1000
  const emptyFunctionThatReturnsTrue = () => true;
944
1001
 
1002
+ /**
1003
+ * This hook handles the synchronization between the state of the text input
1004
+ * in native and in JavaScript. This is necessary due to the asynchronous nature
1005
+ * of text input events.
1006
+ */
1007
+ function useTextInputStateSynchronization_STATE({
1008
+ props,
1009
+ mostRecentEventCount,
1010
+ selection,
1011
+ inputRef,
1012
+ text,
1013
+ viewCommands,
1014
+ }: {
1015
+ props: Props,
1016
+ mostRecentEventCount: number,
1017
+ selection: ?Selection,
1018
+ inputRef: React.RefObject<null | HostInstance>,
1019
+ text: string,
1020
+ viewCommands: ViewCommands,
1021
+ }): {
1022
+ setLastNativeText: string => void,
1023
+ setLastNativeSelection: LastNativeSelection => void,
1024
+ } {
1025
+ const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
1026
+ const [lastNativeSelectionState, setLastNativeSelection] =
1027
+ useState<LastNativeSelection>({
1028
+ selection: {start: -1, end: -1},
1029
+ mostRecentEventCount: mostRecentEventCount,
1030
+ });
1031
+
1032
+ const lastNativeSelection = lastNativeSelectionState.selection;
1033
+
1034
+ // This is necessary in case native updates the text and JS decides
1035
+ // that the update should be ignored and we should stick with the value
1036
+ // that we have in JS.
1037
+ useLayoutEffect(() => {
1038
+ const nativeUpdate: {text?: string, selection?: Selection} = {};
1039
+
1040
+ if (lastNativeText !== props.value && typeof props.value === 'string') {
1041
+ nativeUpdate.text = props.value;
1042
+ setLastNativeText(props.value);
1043
+ }
1044
+
1045
+ if (
1046
+ selection &&
1047
+ lastNativeSelection &&
1048
+ (lastNativeSelection.start !== selection.start ||
1049
+ lastNativeSelection.end !== selection.end)
1050
+ ) {
1051
+ nativeUpdate.selection = selection;
1052
+ setLastNativeSelection({selection, mostRecentEventCount});
1053
+ }
1054
+
1055
+ if (Object.keys(nativeUpdate).length === 0) {
1056
+ return;
1057
+ }
1058
+
1059
+ if (inputRef.current != null) {
1060
+ viewCommands.setTextAndSelection(
1061
+ inputRef.current,
1062
+ mostRecentEventCount,
1063
+ text,
1064
+ selection?.start ?? -1,
1065
+ selection?.end ?? -1,
1066
+ );
1067
+ }
1068
+ }, [
1069
+ mostRecentEventCount,
1070
+ inputRef,
1071
+ props.value,
1072
+ props.defaultValue,
1073
+ lastNativeText,
1074
+ selection,
1075
+ lastNativeSelection,
1076
+ text,
1077
+ viewCommands,
1078
+ ]);
1079
+
1080
+ return {setLastNativeText, setLastNativeSelection};
1081
+ }
1082
+
1083
+ /**
1084
+ * This hook handles the synchronization between the state of the text input
1085
+ * in native and in JavaScript. This is necessary due to the asynchronous nature
1086
+ * of text input events.
1087
+ */
1088
+ function useTextInputStateSynchronization_REFS({
1089
+ props,
1090
+ mostRecentEventCount,
1091
+ selection,
1092
+ inputRef,
1093
+ text,
1094
+ viewCommands,
1095
+ }: {
1096
+ props: Props,
1097
+ mostRecentEventCount: number,
1098
+ selection: ?Selection,
1099
+ inputRef: React.RefObject<null | HostInstance>,
1100
+ text: string,
1101
+ viewCommands: ViewCommands,
1102
+ }): {
1103
+ setLastNativeText: string => void,
1104
+ setLastNativeSelection: LastNativeSelection => void,
1105
+ } {
1106
+ const lastNativeTextRef = useRef<?Stringish>(props.value);
1107
+ const lastNativeSelectionRef = useRef<LastNativeSelection>({
1108
+ selection: {start: -1, end: -1},
1109
+ mostRecentEventCount: mostRecentEventCount,
1110
+ });
1111
+
1112
+ // This is necessary in case native updates the text and JS decides
1113
+ // that the update should be ignored and we should stick with the value
1114
+ // that we have in JS.
1115
+ useLayoutEffect(() => {
1116
+ const nativeUpdate: {text?: string, selection?: Selection} = {};
1117
+
1118
+ const lastNativeSelection = lastNativeSelectionRef.current.selection;
1119
+
1120
+ if (
1121
+ lastNativeTextRef.current !== props.value &&
1122
+ typeof props.value === 'string'
1123
+ ) {
1124
+ nativeUpdate.text = props.value;
1125
+ lastNativeTextRef.current = props.value;
1126
+ }
1127
+
1128
+ if (
1129
+ selection &&
1130
+ lastNativeSelection &&
1131
+ (lastNativeSelection.start !== selection.start ||
1132
+ lastNativeSelection.end !== selection.end)
1133
+ ) {
1134
+ nativeUpdate.selection = selection;
1135
+ lastNativeSelectionRef.current = {selection, mostRecentEventCount};
1136
+ }
1137
+
1138
+ if (Object.keys(nativeUpdate).length === 0) {
1139
+ return;
1140
+ }
1141
+
1142
+ if (inputRef.current != null) {
1143
+ viewCommands.setTextAndSelection(
1144
+ inputRef.current,
1145
+ mostRecentEventCount,
1146
+ text,
1147
+ selection?.start ?? -1,
1148
+ selection?.end ?? -1,
1149
+ );
1150
+ }
1151
+ }, [
1152
+ mostRecentEventCount,
1153
+ inputRef,
1154
+ props.value,
1155
+ props.defaultValue,
1156
+ selection,
1157
+ text,
1158
+ viewCommands,
1159
+ ]);
1160
+
1161
+ return {
1162
+ setLastNativeText: lastNativeText => {
1163
+ lastNativeTextRef.current = lastNativeText;
1164
+ },
1165
+ setLastNativeSelection: lastNativeSelection => {
1166
+ lastNativeSelectionRef.current = lastNativeSelection;
1167
+ },
1168
+ };
1169
+ }
1170
+
945
1171
  /**
946
1172
  * A foundational component for inputting text into the app via a
947
1173
  * keyboard. Props provide configurability for several features, such as
@@ -996,8 +1222,8 @@ const emptyFunctionThatReturnsTrue = () => true;
996
1222
  * return (
997
1223
  * <TextInput
998
1224
  * {...this.props} // Inherit any props passed to it; e.g., multiline, numberOfLines below
999
- * editable = {true}
1000
- * maxLength = {40}
1225
+ * editable={true}
1226
+ * maxLength={40}
1001
1227
  * />
1002
1228
  * );
1003
1229
  * }
@@ -1021,8 +1247,8 @@ const emptyFunctionThatReturnsTrue = () => true;
1021
1247
  * borderBottomWidth: 1 }}
1022
1248
  * >
1023
1249
  * <UselessTextInput
1024
- * multiline = {true}
1025
- * numberOfLines = {4}
1250
+ * multiline={true}
1251
+ * numberOfLines={4}
1026
1252
  * onChangeText={(text) => this.setState({text})}
1027
1253
  * value={this.state.text}
1028
1254
  * />
@@ -1064,12 +1290,14 @@ function InternalTextInput(props: Props): React.Node {
1064
1290
  id,
1065
1291
  tabIndex,
1066
1292
  selection: propsSelection,
1293
+ selectionColor,
1294
+ selectionHandleColor,
1295
+ cursorColor,
1067
1296
  ...otherProps
1068
1297
  } = props;
1069
1298
 
1070
- const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
1299
+ const inputRef = useRef<null | HostInstance>(null);
1071
1300
 
1072
- // eslint-disable-next-line react-hooks/exhaustive-deps
1073
1301
  const selection: ?Selection =
1074
1302
  propsSelection == null
1075
1303
  ? null
@@ -1078,78 +1306,29 @@ function InternalTextInput(props: Props): React.Node {
1078
1306
  end: propsSelection.end ?? propsSelection.start,
1079
1307
  };
1080
1308
 
1081
- const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
1082
-
1083
- const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
1084
- const [lastNativeSelectionState, setLastNativeSelection] = useState<{|
1085
- selection: ?Selection,
1086
- mostRecentEventCount: number,
1087
- |}>({selection, mostRecentEventCount});
1088
-
1089
- const lastNativeSelection = lastNativeSelectionState.selection;
1090
-
1091
- let viewCommands;
1092
- if (AndroidTextInputCommands) {
1093
- viewCommands = AndroidTextInputCommands;
1094
- } else {
1095
- viewCommands =
1096
- props.multiline === true
1097
- ? RCTMultilineTextInputNativeCommands
1098
- : RCTSinglelineTextInputNativeCommands;
1099
- }
1100
-
1101
1309
  const text =
1102
1310
  typeof props.value === 'string'
1103
1311
  ? props.value
1104
1312
  : typeof props.defaultValue === 'string'
1105
- ? props.defaultValue
1106
- : '';
1107
-
1108
- // This is necessary in case native updates the text and JS decides
1109
- // that the update should be ignored and we should stick with the value
1110
- // that we have in JS.
1111
- useLayoutEffect(() => {
1112
- const nativeUpdate: {text?: string, selection?: Selection} = {};
1113
-
1114
- if (lastNativeText !== props.value && typeof props.value === 'string') {
1115
- nativeUpdate.text = props.value;
1116
- setLastNativeText(props.value);
1117
- }
1118
-
1119
- if (
1120
- selection &&
1121
- lastNativeSelection &&
1122
- (lastNativeSelection.start !== selection.start ||
1123
- lastNativeSelection.end !== selection.end)
1124
- ) {
1125
- nativeUpdate.selection = selection;
1126
- setLastNativeSelection({selection, mostRecentEventCount});
1127
- }
1313
+ ? props.defaultValue
1314
+ : '';
1128
1315
 
1129
- if (Object.keys(nativeUpdate).length === 0) {
1130
- return;
1131
- }
1316
+ const viewCommands = DELEGATE.getTextInputCommands(props.multiline);
1132
1317
 
1133
- if (inputRef.current != null) {
1134
- viewCommands.setTextAndSelection(
1135
- inputRef.current,
1136
- mostRecentEventCount,
1137
- text,
1138
- selection?.start ?? -1,
1139
- selection?.end ?? -1,
1140
- );
1141
- }
1142
- }, [
1143
- mostRecentEventCount,
1144
- inputRef,
1145
- props.value,
1146
- props.defaultValue,
1147
- lastNativeText,
1148
- selection,
1149
- lastNativeSelection,
1150
- text,
1151
- viewCommands,
1152
- ]);
1318
+ const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
1319
+ const useTextInputStateSynchronization =
1320
+ ReactNativeFeatureFlags.useRefsForTextInputState()
1321
+ ? useTextInputStateSynchronization_REFS
1322
+ : useTextInputStateSynchronization_STATE;
1323
+ const {setLastNativeText, setLastNativeSelection} =
1324
+ useTextInputStateSynchronization({
1325
+ props,
1326
+ inputRef,
1327
+ mostRecentEventCount,
1328
+ selection,
1329
+ text,
1330
+ viewCommands,
1331
+ });
1153
1332
 
1154
1333
  useLayoutEffect(() => {
1155
1334
  const inputRefValue = inputRef.current;
@@ -1165,7 +1344,7 @@ function InternalTextInput(props: Props): React.Node {
1165
1344
  }
1166
1345
  };
1167
1346
  }
1168
- }, [inputRef]);
1347
+ }, []);
1169
1348
 
1170
1349
  const setLocalRef = useCallback(
1171
1350
  (instance: TextInputInstance | null) => {
@@ -1202,8 +1381,8 @@ function InternalTextInput(props: Props): React.Node {
1202
1381
  inputRef.current,
1203
1382
  mostRecentEventCount,
1204
1383
  '',
1205
- -1,
1206
- -1,
1384
+ 0,
1385
+ 0,
1207
1386
  );
1208
1387
  }
1209
1388
  },
@@ -1211,7 +1390,7 @@ function InternalTextInput(props: Props): React.Node {
1211
1390
  isFocused(): boolean {
1212
1391
  return TextInputState.currentlyFocusedInput() === inputRef.current;
1213
1392
  },
1214
- getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
1393
+ getNativeRef(): ?HostInstance {
1215
1394
  return inputRef.current;
1216
1395
  },
1217
1396
  setSelection(start: number, end: number): void {
@@ -1231,10 +1410,7 @@ function InternalTextInput(props: Props): React.Node {
1231
1410
  [mostRecentEventCount, viewCommands],
1232
1411
  );
1233
1412
 
1234
- const ref = useMergeRefs<TextInputInstance | null>(
1235
- setLocalRef,
1236
- props.forwardedRef,
1237
- );
1413
+ const ref = useMergeRefs<TextInputInstance>(setLocalRef, props.forwardedRef);
1238
1414
 
1239
1415
  const _onChange = (event: ChangeEvent) => {
1240
1416
  const currentText = event.nativeEvent.text;
@@ -1255,26 +1431,6 @@ function InternalTextInput(props: Props): React.Node {
1255
1431
  setMostRecentEventCount(event.nativeEvent.eventCount);
1256
1432
  };
1257
1433
 
1258
- const _onChangeSync = (event: ChangeEvent) => {
1259
- const currentText = event.nativeEvent.text;
1260
- props.unstable_onChangeSync && props.unstable_onChangeSync(event);
1261
- props.unstable_onChangeTextSync &&
1262
- props.unstable_onChangeTextSync(currentText);
1263
-
1264
- if (inputRef.current == null) {
1265
- // calling `props.onChange` or `props.onChangeText`
1266
- // may clean up the input itself. Exits here.
1267
- return;
1268
- }
1269
-
1270
- setLastNativeText(currentText);
1271
- // This must happen last, after we call setLastNativeText.
1272
- // Different ordering can cause bugs when editing AndroidTextInputs
1273
- // with multiple Fragments.
1274
- // We must update this so that controlled input updates work.
1275
- setMostRecentEventCount(event.nativeEvent.eventCount);
1276
- };
1277
-
1278
1434
  const _onSelectionChange = (event: SelectionChangeEvent) => {
1279
1435
  props.onSelectionChange && props.onSelectionChange(event);
1280
1436
 
@@ -1312,7 +1468,7 @@ function InternalTextInput(props: Props): React.Node {
1312
1468
 
1313
1469
  const multiline = props.multiline ?? false;
1314
1470
 
1315
- let blurOnSubmit = props.blurOnSubmit; // RNOH patch
1471
+ let blurOnSubmit = props.blurOnSubmit; // RNC_patch
1316
1472
 
1317
1473
  let submitBehavior: SubmitBehavior;
1318
1474
  if (props.submitBehavior != null) {
@@ -1332,7 +1488,7 @@ function InternalTextInput(props: Props): React.Node {
1332
1488
  } else {
1333
1489
  // Single line
1334
1490
  if (props.blurOnSubmit !== false) {
1335
- blurOnSubmit = true; // RNOH patch: The default value is true for single-line fields
1491
+ blurOnSubmit = true; // RNC_patch: The default value is true for single-line fields
1336
1492
  submitBehavior = 'blurAndSubmit';
1337
1493
  } else {
1338
1494
  submitBehavior = 'submit';
@@ -1342,25 +1498,37 @@ function InternalTextInput(props: Props): React.Node {
1342
1498
  const accessible = props.accessible !== false;
1343
1499
  const focusable = props.focusable !== false;
1344
1500
 
1501
+ const {
1502
+ editable,
1503
+ hitSlop,
1504
+ onPress,
1505
+ onPressIn,
1506
+ onPressOut,
1507
+ rejectResponderTermination,
1508
+ } = props;
1509
+
1345
1510
  const config = React.useMemo(
1346
1511
  () => ({
1512
+ hitSlop,
1347
1513
  onPress: (event: PressEvent) => {
1348
- if (props.editable !== false) {
1514
+ onPress?.(event);
1515
+ if (editable !== false) {
1349
1516
  if (inputRef.current != null) {
1350
1517
  inputRef.current.focus();
1351
1518
  }
1352
1519
  }
1353
1520
  },
1354
- onPressIn: props.onPressIn,
1355
- onPressOut: props.onPressOut,
1356
- cancelable:
1357
- OS === 'ios' ? !props.rejectResponderTermination : null,
1521
+ onPressIn: onPressIn,
1522
+ onPressOut: onPressOut,
1523
+ cancelable: DELEGATE.shouldBeCancellable(rejectResponderTermination),
1358
1524
  }),
1359
1525
  [
1360
- props.editable,
1361
- props.onPressIn,
1362
- props.onPressOut,
1363
- props.rejectResponderTermination,
1526
+ editable,
1527
+ hitSlop,
1528
+ onPress,
1529
+ onPressIn,
1530
+ onPressOut,
1531
+ rejectResponderTermination,
1364
1532
  ],
1365
1533
  );
1366
1534
 
@@ -1373,7 +1541,7 @@ function InternalTextInput(props: Props): React.Node {
1373
1541
 
1374
1542
  // TextInput handles onBlur and onFocus events
1375
1543
  // so omitting onBlur and onFocus pressability handlers here.
1376
- const {onBlur, onFocus, ...eventHandlers} = usePressability(config) || {};
1544
+ const {onBlur, onFocus, ...eventHandlers} = usePressability(config);
1377
1545
 
1378
1546
  let _accessibilityState;
1379
1547
  if (
@@ -1393,114 +1561,181 @@ function InternalTextInput(props: Props): React.Node {
1393
1561
  };
1394
1562
  }
1395
1563
 
1396
- // $FlowFixMe[underconstrained-implicit-instantiation]
1397
- let style = flattenStyle(props.style);
1398
-
1399
- if (OS === 'ios') {
1400
- // RNOH patch
1401
- const _accessibilityLabelledBy =
1402
- props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
1403
-
1404
- const RCTTextInputView =
1405
- props.multiline === true
1406
- ? RCTMultilineTextInputView
1407
- : RCTSinglelineTextInputView;
1408
-
1409
- style = props.multiline === true ? [styles.multilineInput, style] : style;
1410
-
1411
- const useOnChangeSync =
1412
- (props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
1413
- !(props.onChange || props.onChangeText);
1414
-
1415
- textInput = (
1416
- <RCTTextInputView
1417
- // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1418
- ref={ref}
1419
- {...otherProps}
1420
- {...eventHandlers}
1421
- accessibilityState={_accessibilityState}
1422
- accessibilityLabelledBy={_accessibilityLabelledBy} // RNOH patch
1423
- accessible={accessible}
1424
- submitBehavior={submitBehavior}
1425
- caretHidden={caretHidden}
1426
- dataDetectorTypes={props.dataDetectorTypes}
1427
- focusable={tabIndex !== undefined ? !tabIndex : focusable}
1428
- mostRecentEventCount={mostRecentEventCount}
1429
- nativeID={id ?? props.nativeID}
1430
- onBlur={_onBlur}
1431
- onKeyPressSync={props.unstable_onKeyPressSync}
1432
- onChange={_onChange}
1433
- onChangeSync={useOnChangeSync === true ? _onChangeSync : null}
1434
- onContentSizeChange={props.onContentSizeChange}
1435
- onFocus={_onFocus}
1436
- onScroll={_onScroll}
1437
- onSelectionChange={_onSelectionChange}
1438
- onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
1439
- selection={selection}
1440
- style={style}
1441
- text={text}
1442
- blurOnSubmit={blurOnSubmit} // RNOH patch
1443
- />
1444
- );
1445
- } else if (OS === 'android') {
1446
- const autoCapitalize = props.autoCapitalize || 'sentences';
1447
- const _accessibilityLabelledBy =
1448
- props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
1449
- const placeholder = props.placeholder ?? '';
1450
- let children = props.children;
1451
- const childCount = React.Children.count(children);
1452
- invariant(
1453
- !(props.value != null && childCount),
1454
- 'Cannot specify both value and children.',
1455
- );
1456
- if (childCount > 1) {
1457
- children = <Text>{children}</Text>;
1564
+ // Keep the original (potentially nested) style when possible, as React can diff these more efficiently
1565
+ let _style = props.style;
1566
+ const flattenedStyle = flattenStyle<TextStyleProp>(props.style);
1567
+ if (flattenedStyle != null) {
1568
+ let overrides: ?{...TextStyleInternal} = null;
1569
+ if (typeof flattenedStyle?.fontWeight === 'number') {
1570
+ overrides = overrides || ({}: {...TextStyleInternal});
1571
+ overrides.fontWeight =
1572
+ // $FlowFixMe[incompatible-cast]
1573
+ (flattenedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
1458
1574
  }
1459
1575
 
1460
- textInput = (
1461
- /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
1462
- * exactly with the props for TextInput. This will need to get fixed */
1463
- /* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't
1464
- * match up exactly with the props for TextInput. This will need to get
1465
- * fixed */
1466
- /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't
1467
- * match up exactly with the props for TextInput. This will need to get
1468
- * fixed */
1469
- <AndroidTextInput
1470
- // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1471
- ref={ref}
1472
- {...otherProps}
1473
- {...eventHandlers}
1474
- accessibilityState={_accessibilityState}
1475
- accessibilityLabelledBy={_accessibilityLabelledBy}
1476
- accessible={accessible}
1477
- autoCapitalize={autoCapitalize}
1478
- submitBehavior={submitBehavior}
1479
- caretHidden={caretHidden}
1480
- children={children}
1481
- disableFullscreenUI={props.disableFullscreenUI}
1482
- focusable={tabIndex !== undefined ? !tabIndex : focusable}
1483
- mostRecentEventCount={mostRecentEventCount}
1484
- nativeID={id ?? props.nativeID}
1485
- numberOfLines={props.rows ?? props.numberOfLines}
1486
- onBlur={_onBlur}
1487
- onChange={_onChange}
1488
- onFocus={_onFocus}
1489
- /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match
1490
- * up exactly with the props for TextInput. This will need to get fixed
1491
- */
1492
- /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput
1493
- * don't match up exactly with the props for TextInput. This will need
1494
- * to get fixed */
1495
- onScroll={_onScroll}
1496
- onSelectionChange={_onSelectionChange}
1497
- placeholder={placeholder}
1498
- style={style}
1499
- text={text}
1500
- textBreakStrategy={props.textBreakStrategy}
1501
- />
1502
- );
1576
+ if (flattenedStyle.verticalAlign != null) {
1577
+ overrides = overrides || ({}: {...TextStyleInternal});
1578
+ overrides.textAlignVertical =
1579
+ verticalAlignToTextAlignVerticalMap[flattenedStyle.verticalAlign];
1580
+ overrides.verticalAlign = undefined;
1581
+ }
1582
+
1583
+ if (overrides != null) {
1584
+ // $FlowFixMe[incompatible-type]
1585
+ _style = [_style, overrides];
1586
+ }
1503
1587
  }
1588
+
1589
+ // RNC_patch
1590
+ const _accessibilityLabelledBy =
1591
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
1592
+ const useMultilineDefaultStyle =
1593
+ props.multiline === true &&
1594
+ (_style == null ||
1595
+ (_style.padding == null &&
1596
+ _style.paddingVertical == null &&
1597
+ _style.paddingTop == null));
1598
+ textInput = DELEGATE.createNativeTextInput({
1599
+ ref,
1600
+ ...otherProps,
1601
+ ...eventHandlers,
1602
+ accessibilityState,
1603
+ accessibilityLabelledBy: _accessibilityLabelledBy,
1604
+ accessible,
1605
+ submitBehavior,
1606
+ caretHidden,
1607
+ dataDetectorTypes: props.dataDetectorTypes,
1608
+ focusable: tabIndex !== undefined ? !tabIndex : focusable,
1609
+ mostRecentEventCount,
1610
+ nativeID: id ?? props.nativeID,
1611
+ onBlur: _onBlur,
1612
+ onChange: _onChange,
1613
+ onContentSizeChange: props.onContentSizeChange,
1614
+ onFocus: _onFocus,
1615
+ onScroll: _onScroll,
1616
+ onSelectionChange: _onSelectionChange,
1617
+ onSelectionChangeShouldSetResponder: emptyFunctionThatReturnsTrue,
1618
+ selection,
1619
+ selectionColor: selectionColor,
1620
+ cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
1621
+ style: StyleSheet.compose(
1622
+ useMultilineDefaultStyle ? styles.multilineDefault : null,
1623
+ _style,
1624
+ ),
1625
+ text,
1626
+ blurOnSubmit,
1627
+ });
1628
+ // if (Platform.OS === 'ios') {
1629
+ // const RCTTextInputView =
1630
+ // props.multiline === true
1631
+ // ? RCTMultilineTextInputView
1632
+ // : RCTSinglelineTextInputView;
1633
+
1634
+ // const useMultilineDefaultStyle =
1635
+ // props.multiline === true &&
1636
+ // (flattenedStyle == null ||
1637
+ // (flattenedStyle.padding == null &&
1638
+ // flattenedStyle.paddingVertical == null &&
1639
+ // flattenedStyle.paddingTop == null));
1640
+
1641
+ // textInput = (
1642
+ // <RCTTextInputView
1643
+ // // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1644
+ // ref={ref}
1645
+ // {...otherProps}
1646
+ // {...eventHandlers}
1647
+ // accessibilityState={_accessibilityState}
1648
+ // accessible={accessible}
1649
+ // submitBehavior={submitBehavior}
1650
+ // caretHidden={caretHidden}
1651
+ // dataDetectorTypes={props.dataDetectorTypes}
1652
+ // focusable={tabIndex !== undefined ? !tabIndex : focusable}
1653
+ // mostRecentEventCount={mostRecentEventCount}
1654
+ // nativeID={id ?? props.nativeID}
1655
+ // onBlur={_onBlur}
1656
+ // onChange={_onChange}
1657
+ // onContentSizeChange={props.onContentSizeChange}
1658
+ // onFocus={_onFocus}
1659
+ // onScroll={_onScroll}
1660
+ // onSelectionChange={_onSelectionChange}
1661
+ // onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
1662
+ // selection={selection}
1663
+ // selectionColor={selectionColor}
1664
+ // style={StyleSheet.compose(
1665
+ // useMultilineDefaultStyle ? styles.multilineDefault : null,
1666
+ // _style,
1667
+ // )}
1668
+ // text={text}
1669
+ // />
1670
+ // );
1671
+ // } else if (Platform.OS === 'android') {
1672
+ // const autoCapitalize = props.autoCapitalize || 'sentences';
1673
+ // const _accessibilityLabelledBy =
1674
+ // props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
1675
+ // const placeholder = props.placeholder ?? '';
1676
+ // let children = props.children;
1677
+ // const childCount = React.Children.count(children);
1678
+ // invariant(
1679
+ // !(props.value != null && childCount),
1680
+ // 'Cannot specify both value and children.',
1681
+ // );
1682
+ // if (childCount > 1) {
1683
+ // children = <Text>{children}</Text>;
1684
+ // }
1685
+ // // For consistency with iOS set cursor/selectionHandle color as selectionColor
1686
+ // const colorProps = {
1687
+ // selectionColor,
1688
+ // selectionHandleColor:
1689
+ // selectionHandleColor === undefined
1690
+ // ? selectionColor
1691
+ // : selectionHandleColor,
1692
+ // cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
1693
+ // };
1694
+ // textInput = (
1695
+ // /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
1696
+ // * exactly with the props for TextInput. This will need to get fixed */
1697
+ // /* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't
1698
+ // * match up exactly with the props for TextInput. This will need to get
1699
+ // * fixed */
1700
+ // /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't
1701
+ // * match up exactly with the props for TextInput. This will need to get
1702
+ // * fixed */
1703
+ // <AndroidTextInput
1704
+ // // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1705
+ // ref={ref}
1706
+ // {...otherProps}
1707
+ // {...colorProps}
1708
+ // {...eventHandlers}
1709
+ // accessibilityState={_accessibilityState}
1710
+ // accessibilityLabelledBy={_accessibilityLabelledBy}
1711
+ // accessible={accessible}
1712
+ // autoCapitalize={autoCapitalize}
1713
+ // submitBehavior={submitBehavior}
1714
+ // caretHidden={caretHidden}
1715
+ // children={children}
1716
+ // disableFullscreenUI={props.disableFullscreenUI}
1717
+ // focusable={tabIndex !== undefined ? !tabIndex : focusable}
1718
+ // mostRecentEventCount={mostRecentEventCount}
1719
+ // nativeID={id ?? props.nativeID}
1720
+ // numberOfLines={props.rows ?? props.numberOfLines}
1721
+ // onBlur={_onBlur}
1722
+ // onChange={_onChange}
1723
+ // onFocus={_onFocus}
1724
+ // /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match
1725
+ // * up exactly with the props for TextInput. This will need to get fixed
1726
+ // */
1727
+ // /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput
1728
+ // * don't match up exactly with the props for TextInput. This will need
1729
+ // * to get fixed */
1730
+ // onScroll={_onScroll}
1731
+ // onSelectionChange={_onSelectionChange}
1732
+ // placeholder={placeholder}
1733
+ // style={_style}
1734
+ // text={text}
1735
+ // textBreakStrategy={props.textBreakStrategy}
1736
+ // />
1737
+ // );
1738
+ // }
1504
1739
  return (
1505
1740
  <TextAncestor.Provider value={true}>{textInput}</TextAncestor.Provider>
1506
1741
  );
@@ -1517,14 +1752,14 @@ const enterKeyHintToReturnTypeMap = {
1517
1752
  };
1518
1753
 
1519
1754
  const inputModeToKeyboardTypeMap = {
1520
- none: 'default',
1521
- text: 'default',
1522
- decimal: 'decimal-pad',
1523
- numeric: 'number-pad',
1524
- tel: 'phone-pad',
1525
- search: OS === 'ios' ? 'web-search' : 'default',
1526
- email: 'email-address',
1527
- url: 'url',
1755
+ none: DELEGATE.getKeyboardTypeByInputMode('none'),
1756
+ text: DELEGATE.getKeyboardTypeByInputMode('text'),
1757
+ decimal: DELEGATE.getKeyboardTypeByInputMode('decimal'),
1758
+ numeric: DELEGATE.getKeyboardTypeByInputMode('numeric'),
1759
+ tel: DELEGATE.getKeyboardTypeByInputMode('tel'),
1760
+ search: DELEGATE.getKeyboardTypeByInputMode('search'),
1761
+ email: DELEGATE.getKeyboardTypeByInputMode('email'),
1762
+ url: DELEGATE.getKeyboardTypeByInputMode('url'),
1528
1763
  };
1529
1764
 
1530
1765
  // Map HTML autocomplete values to Android autoComplete values
@@ -1565,7 +1800,20 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
1565
1800
  const autoCompleteWebToTextContentTypeMap = {
1566
1801
  'address-line1': 'streetAddressLine1',
1567
1802
  'address-line2': 'streetAddressLine2',
1803
+ bday: 'birthdate',
1804
+ 'bday-day': 'birthdateDay',
1805
+ 'bday-month': 'birthdateMonth',
1806
+ 'bday-year': 'birthdateYear',
1807
+ 'cc-csc': 'creditCardSecurityCode',
1808
+ 'cc-exp-month': 'creditCardExpirationMonth',
1809
+ 'cc-exp-year': 'creditCardExpirationYear',
1810
+ 'cc-exp': 'creditCardExpiration',
1811
+ 'cc-given-name': 'creditCardGivenName',
1812
+ 'cc-additional-name': 'creditCardMiddleName',
1813
+ 'cc-family-name': 'creditCardFamilyName',
1814
+ 'cc-name': 'creditCardName',
1568
1815
  'cc-number': 'creditCardNumber',
1816
+ 'cc-type': 'creditCardType',
1569
1817
  'current-password': 'password',
1570
1818
  country: 'countryName',
1571
1819
  email: 'emailAddress',
@@ -1588,10 +1836,11 @@ const autoCompleteWebToTextContentTypeMap = {
1588
1836
  username: 'username',
1589
1837
  };
1590
1838
 
1591
- const ExportedForwardRef: React.AbstractComponent<
1592
- React.ElementConfig<typeof InternalTextInput>,
1593
- TextInputInstance,
1594
- > = React.forwardRef(function TextInput(
1839
+ const ExportedForwardRef: component(
1840
+ ref: React.RefSetter<TextInputInstance>,
1841
+ ...props: React.ElementConfig<typeof InternalTextInput>
1842
+ // $FlowFixMe[incompatible-call]
1843
+ ) = React.forwardRef(function TextInput(
1595
1844
  {
1596
1845
  allowFontScaling = true,
1597
1846
  rejectResponderTermination = true,
@@ -1609,25 +1858,14 @@ const ExportedForwardRef: React.AbstractComponent<
1609
1858
  },
1610
1859
  forwardedRef: ReactRefSetter<TextInputInstance>,
1611
1860
  ) {
1612
- // $FlowFixMe[underconstrained-implicit-instantiation]
1613
- let style = flattenStyle(restProps.style);
1614
1861
 
1615
- if (style?.verticalAlign != null) {
1616
- style.textAlignVertical =
1617
- verticalAlignToTextAlignVerticalMap[style.verticalAlign];
1618
- delete style.verticalAlign;
1619
- }
1620
-
1621
- // RNOH patch: invalid `keyboardType` prop values crash the app
1862
+ // RNC_patch: invalid `keyboardType` prop values crash the app
1622
1863
  {
1623
1864
  // supported keyboard types from `textinput/conversions.h`
1624
- const SUPPORTED_KEYBOARD_TYPES = ["default", "email-address", "numeric", "phone-pad", "number-pad", "url", "decimal-pad", "ascii-capable", "numbers-and-punctuation", "name-phone-pad", "twitter", "web-search", "ascii-capable-number-pad", "visible-password"];
1625
- if (keyboardType && !SUPPORTED_KEYBOARD_TYPES.includes(keyboardType)) {
1626
- keyboardType = "default";
1627
- }
1865
+ if (keyboardType && !DELEGATE.getSupportedKeyboardTypes().includes(keyboardType)) {
1866
+ keyboardType = 'default';
1867
+ }
1628
1868
  }
1629
- // END RNOH patch
1630
-
1631
1869
  return (
1632
1870
  <InternalTextInput
1633
1871
  allowFontScaling={allowFontScaling}
@@ -1644,40 +1882,34 @@ const ExportedForwardRef: React.AbstractComponent<
1644
1882
  inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
1645
1883
  }
1646
1884
  autoComplete={
1647
- OS === 'android'
1648
- ? // $FlowFixMe[invalid-computed-prop]
1649
- // $FlowFixMe[prop-missing]
1650
- autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
1651
- autoComplete
1652
- : undefined
1885
+ DELEGATE.getNativeAutocomplete(autoComplete)
1886
+ // Platform.OS === 'android'
1887
+ // ? // $FlowFixMe[invalid-computed-prop]
1888
+ // // $FlowFixMe[prop-missing]
1889
+ // autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
1890
+ // autoComplete
1891
+ // : undefined
1653
1892
  }
1654
1893
  textContentType={
1655
- textContentType != null
1656
- ? textContentType
1657
- : OS === 'ios' &&
1658
- autoComplete &&
1659
- autoComplete in autoCompleteWebToTextContentTypeMap
1660
- ? // $FlowFixMe[invalid-computed-prop]
1661
- // $FlowFixMe[prop-missing]
1662
- autoCompleteWebToTextContentTypeMap[autoComplete]
1663
- : textContentType
1894
+ DELEGATE.getNativeTextContentType(textContentType, {autocomplete: autoComplete, autocompleteWebToTextContentTypeMap: autoCompleteWebToTextContentTypeMap})
1895
+ // textContentType != null
1896
+ // ? textContentType
1897
+ // : Platform.OS === 'ios' &&
1898
+ // autoComplete &&
1899
+ // autoComplete in autoCompleteWebToTextContentTypeMap
1900
+ // ? // $FlowFixMe[invalid-computed-prop]
1901
+ // // $FlowFixMe[prop-missing]
1902
+ // autoCompleteWebToTextContentTypeMap[autoComplete]
1903
+ // : textContentType
1664
1904
  }
1665
1905
  {...restProps}
1666
1906
  forwardedRef={forwardedRef}
1667
- style={style}
1668
1907
  />
1669
1908
  );
1670
1909
  });
1671
1910
 
1672
1911
  ExportedForwardRef.displayName = 'TextInput';
1673
1912
 
1674
- /**
1675
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
1676
- * releases. This is deprecated and will be removed in the future.
1677
- */
1678
- ExportedForwardRef.propTypes =
1679
- require('deprecated-react-native-prop-types').TextInputPropTypes;
1680
-
1681
1913
  // $FlowFixMe[prop-missing]
1682
1914
  ExportedForwardRef.State = {
1683
1915
  currentlyFocusedInput: TextInputState.currentlyFocusedInput,
@@ -1697,7 +1929,7 @@ export type TextInputComponentStatics = $ReadOnly<{|
1697
1929
  |}>;
1698
1930
 
1699
1931
  const styles = StyleSheet.create({
1700
- multilineInput: {
1932
+ multilineDefault: {
1701
1933
  // This default top inset makes RCTMultilineTextInputView seem as close as possible
1702
1934
  // to single-line RCTSinglelineTextInputView defaults, using the system defaults
1703
1935
  // of font size 17 and a height of 31 points.